/* Portail client Assurago — charte : bleu #003057, vert #66CB2D. Aucune police web externe. */
:root{
  --bleu:#003057; --bleu-2:#0d4474; --bleu-clair:#e9eff6; --bleu-trait:#c9d6e4;
  --vert:#66CB2D; --vert-fonce:#347a0e; --vert-clair:#edf8e5;
  --encre:#0f1d2b; --gris:#5a6978; --gris-2:#8795a3; --ligne:#e2e8ef; --fond:#f2f5f8; --blanc:#fff;
  --ambre:#9a5b00; --ambre-clair:#fff3dc; --rouge:#b42318; --rouge-clair:#fdecea;
  --rayon:16px; --ombre:0 1px 2px rgba(15,29,43,.06),0 4px 14px rgba(15,29,43,.06);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Calibri,Arial,sans-serif;
  color:var(--encre);background:var(--fond);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--bleu)}
button{font:inherit;cursor:pointer}
.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.nw{white-space:nowrap}
.masque{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* En-tête (connecté) */
.tete{position:sticky;top:0;z-index:10;background:rgba(242,245,248,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ligne)}
.tete .rang{max-width:760px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px}
.tete .marque img{display:block;height:24px;width:auto}
.tete .sortie{margin-left:auto}
.tete .sortie button{border:1px solid var(--ligne);background:var(--blanc);border-radius:10px;padding:7px 12px;
  font-size:14px;font-weight:600;color:var(--bleu);display:flex;gap:6px;align-items:center}
.onglets{display:flex;gap:4px}
.onglets a{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--gris);font-weight:600;
  font-size:14px;padding:8px 10px;border-radius:10px}
.onglets a[aria-current="page"]{color:var(--bleu);background:var(--bleu-clair)}
.contenu{max-width:760px;margin:0 auto;padding:10px 16px 96px}

@media (max-width:820px){   /* en dessous, les 5 onglets + Quitter débordent (vu à 735 px) */
  /* backdrop-filter ferait de l'en-tête le repère des éléments « fixed » : la barre resterait en haut */
  .tete{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(242,245,248,.98)}
  .onglets{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--ligne);
    justify-content:space-around;padding:6px 4px calc(8px + env(safe-area-inset-bottom));z-index:20}
  .onglets a{flex-direction:column;gap:2px;font-size:11px;padding:4px 6px;min-width:56px}
  .onglets a[aria-current="page"]{background:none}
  .onglets .i{width:23px;height:23px}
}

h1{font-size:26px;margin:14px 0 2px;color:var(--bleu);letter-spacing:-.3px}
.discret{color:var(--gris);font-size:14px;margin:0}
.section-t{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gris-2);margin:24px 0 8px}
.carte{background:var(--blanc);border-radius:var(--rayon);box-shadow:var(--ombre);padding:16px;margin-top:14px}
.carte.neuf{border:1.5px solid var(--vert);box-shadow:0 6px 20px -8px rgba(102,203,45,.55)}
.carte h2{font-size:18px;margin:8px 0 2px}
.pill{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}
.pill.vert{background:var(--vert-clair);color:var(--vert-fonce)}
.pill.bleu{background:var(--bleu-clair);color:var(--bleu)}
.pill.gris{background:var(--fond);color:var(--gris)}
.pill.ambre{background:var(--ambre-clair);color:var(--ambre)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:14px;
  padding:14px 16px;font-weight:650;font-size:16px;background:var(--bleu);color:#fff;margin-top:14px;text-decoration:none}
.btn:hover{background:var(--bleu-2)}
.btn.vert{background:var(--vert);color:#0b2a00}
.btn.clair{background:var(--bleu-clair);color:var(--bleu)}
.btn.danger{background:var(--rouge-clair);color:var(--rouge)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn:focus-visible,.onglets a:focus-visible,.doc:focus-visible,.tuile:focus-visible{outline:3px solid #7fb2e5;outline-offset:2px}
.tuiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.tuile{background:var(--blanc);border-radius:var(--rayon);box-shadow:var(--ombre);padding:14px;text-decoration:none;color:inherit}
.tuile .i{color:var(--bleu);width:24px;height:24px}
.tuile .gros{display:block;font-size:22px;font-weight:700;color:var(--bleu);margin-top:8px}
.tuile .petit{display:block;font-size:13px;color:var(--gris)}
.courtier{display:flex;align-items:center;gap:12px}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--vert),#3aa313);color:#fff;
  font-weight:700;display:grid;place-items:center;flex:none}
.courtier strong{display:block}
.courtier span{font-size:14px;color:var(--gris)}
.courtier .appel{margin-left:auto;width:42px;height:42px;border-radius:50%;background:var(--vert-clair);
  color:var(--vert-fonce);display:grid;place-items:center}
.groupe{background:var(--blanc);border-radius:var(--rayon);box-shadow:var(--ombre);overflow:hidden;margin-bottom:14px}
.groupe-tete{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ligne)}
.groupe-tete .ic{width:40px;height:40px;border-radius:12px;background:var(--bleu-clair);color:var(--bleu);display:grid;place-items:center;flex:none}
.groupe-tete strong{display:block;font-size:15.5px}
.groupe-tete small{color:var(--gris);font-size:13px}
.terme{padding:10px 16px 2px;font-size:12.5px;font-weight:700;color:var(--gris);display:flex;gap:8px;align-items:center}
.doc{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--ligne);text-decoration:none;color:inherit}
.terme + .doc{border-top:0}
.doc:hover{background:#f8fafc}
.doc-ic{width:36px;height:36px;border-radius:10px;background:#fbeceb;color:#c2402f;display:grid;place-items:center;flex:none}
.doc-txt{flex:1;min-width:0}
.doc-txt strong{display:block;font-size:15px;font-weight:600}
.doc-txt small{color:var(--gris);font-size:12.5px}
.doc .chev{color:var(--gris-2);width:18px;height:18px}
.pied-note{font-size:13px;color:var(--gris);text-align:center;margin:10px 8px 0}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:3px 0}
.kv span:first-child{color:var(--gris)}
.kv span:last-child{font-weight:600;text-align:right}
.montant{font-size:34px;font-weight:750;color:var(--bleu);letter-spacing:-.6px;margin:4px 0 0}
.coords{background:var(--fond);border-radius:12px;padding:10px 12px;white-space:pre-line;font-size:14px;margin-top:8px}
.liste{list-style:none;padding:0;margin:4px 0 0}
.liste li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--ligne);font-size:14px}
.liste li:first-child{border-top:0}
.liste time{color:var(--gris);font-size:12.5px;min-width:130px}
.cle-app{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--ligne)}
.cle-app:first-child{border-top:0}
.cle-app .ic{width:40px;height:40px;border-radius:12px;background:var(--vert-clair);color:var(--vert-fonce);display:grid;place-items:center;flex:none}
.cle-app .txt{flex:1;min-width:0}
.cle-app small{display:block;color:var(--gris);font-size:13px}
.cle-app small.alerte{color:var(--ambre);font-weight:600}
.mini{border:1px solid var(--ligne);background:var(--blanc);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;color:var(--rouge)}

/* Pages d'accueil (non connecté) */
.accueil-act{max-width:420px;margin:0 auto;padding:36px 20px 28px;text-align:center}
.accueil-act .logo{height:32px;width:auto}
.pastille{width:76px;height:76px;border-radius:24px;margin:30px auto 18px;display:grid;place-items:center;background:var(--bleu-clair);color:var(--bleu)}
.pastille .i{width:38px;height:38px;stroke-width:1.6}
.pastille.vert{background:var(--vert-clair);color:var(--vert-fonce)}
.pastille.rouge{background:var(--rouge-clair);color:var(--rouge)}
.accueil-act h1{font-size:24px;margin:0 0 8px}
.accueil-act p{color:var(--gris);font-size:15px;margin:0 auto 6px;max-width:330px}
.champ-code{display:block;width:100%;max-width:280px;margin:20px auto 4px;height:56px;border-radius:12px;
  border:1.5px solid var(--bleu-trait);text-align:center;font-size:26px;font-weight:700;letter-spacing:.3em;color:var(--bleu);font-family:inherit}
.champ-code:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 3px rgba(0,48,87,.15)}
.erreur{background:var(--rouge-clair);color:var(--rouge);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:14px;text-align:left}
.info{background:var(--ambre-clair);color:var(--ambre);border-radius:12px;padding:10px 12px;font-size:14px;margin-top:14px;text-align:left}
.encart{background:var(--blanc);border-radius:14px;box-shadow:var(--ombre);padding:14px;text-align:left;margin-top:22px;font-size:14px}
.encart ul{margin:6px 0 0;padding-left:20px}
.message{min-height:1.4em;margin-top:12px;font-size:14px;color:var(--rouge)}
