/* Thème de l'application Protocole : univers de l'outil d'accréditation (invitations.tactfrance.com),
   lui-même relevé sur tactfrance.com. Montserrat (titres, boutons en capitales) et Open Sans (texte),
   bleu TACT #009dc9, rouge #d2283e (boutons pilule), jaune #ffdc00, dégradé rouge vers bleu sur photo de foule,
   filets de couleur de 3 px, cartes blanches à ombre douce. Clair par défaut, sombre selon le téléphone. */
body.proto{
  --bleu:#009dc9;--rouge:#d2283e;--jaune:#ffdc00;
  --bg:#f3f6f8;--bg2:#eaf0f4;--surface:#ffffff;--fg:#1b1f24;--muted:#5f6b76;--line:#00000017;
  --crim:#d2283e;--cyan:#0083a8;--grad:linear-gradient(90deg,#d2283e,#009dc9);
  --ok:#00875c;--ok-soft:rgba(0,135,92,.12);--gold:#a35700;--gold-soft:rgba(198,106,0,.12);
  --rose:#c4203a;--rose-soft:rgba(210,40,62,.1);--blue-soft:rgba(0,157,201,.12);
  --ombre:0 2px 14px rgba(0,40,60,.07);
  --f-d:Montserrat,"Open Sans",Arial,sans-serif;--f-b:"Open Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --foule:url(https://invitations.tactfrance.com/img/foule.jpg);
  color-scheme:light;background:var(--bg);color:var(--fg)
}
@media (prefers-color-scheme:dark){body.proto{
  --bg:#07131b;--bg2:#0b1821;--surface:#0e1e29;--fg:#eef3f6;--muted:#9fb0bd;--line:#ffffff1f;
  --cyan:#38c3ea;--ok:#2fd39a;--ok-soft:rgba(47,211,154,.14);--gold:#ffc94d;--gold-soft:rgba(255,201,77,.14);--rose:#ff6b7d;--rose-soft:rgba(255,107,125,.14);
  --ombre:0 2px 18px rgba(0,0,0,.35);color-scheme:dark}}
body.proto{font-family:var(--f-b)}
/* en-tête : filet bleu, logo TACT */
body.proto .bar{border-top:4px solid var(--bleu);background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 1px 0 var(--line);border-bottom:0}
body.proto .mark{font-family:var(--f-d);letter-spacing:.06em}
body.proto .mark i{display:none}
body.proto .mark img{height:38px;width:auto;display:block}
body.proto .mark span{font-family:var(--f-d);font-weight:700;color:var(--bleu);letter-spacing:.14em}
body.proto .chg{font-family:var(--f-d);color:var(--bleu)}
/* titres de page : bandeau en dégradé sur la foule */
body.proto .page-h{color:#fff;border-radius:1.5rem;padding:1.6rem 1.5rem;margin:0 0 1.25rem;overflow:hidden;
  background:linear-gradient(240deg,rgba(210,40,62,.93) 0%,rgba(0,157,201,.8) 79%),var(--foule) center 35%/cover;box-shadow:0 18px 40px -22px rgba(0,100,140,.7)}
body.proto .page-h .n{display:none}
body.proto .page-h .cap{color:var(--jaune)}
body.proto .page-h h1{font:800 clamp(26px,6.5vw,40px)/1.05 var(--f-d);text-transform:uppercase;letter-spacing:-.02em;margin:.25rem 0 .4rem;color:#fff}
body.proto .page-h .lead{color:#fff;opacity:.93;margin:0;font-size:.95rem}
body.proto .cap{font-family:var(--f-d);color:var(--bleu);letter-spacing:.12em}
body.proto h3{font-family:var(--f-d);text-transform:none;letter-spacing:-.01em;font-size:1.15rem}
body.proto h3::before{background:var(--bleu);height:3px}
/* boutons : pilule rouge en capitales, contour bleu pour le secondaire */
body.proto .btn{border-radius:999px;font:600 .75rem var(--f-d);letter-spacing:.06em;text-transform:uppercase;padding:.65rem 1.2rem;
  background:var(--rouge);color:#fff;box-shadow:0 6px 16px -8px rgba(210,40,62,.8)}
body.proto .btn:hover:not([disabled]){background:#b81f33}
body.proto .btn.ghost{background:var(--surface);color:var(--cyan);border:1.5px solid color-mix(in srgb,var(--bleu) 45%,transparent);box-shadow:none}
body.proto .btn.ghost:hover{border-color:var(--bleu)}
body.proto .btn.sm{padding:.4rem .8rem;font-size:.6875rem}
/* cartes, listes, champs */
body.proto .card,body.proto .card.plain,body.proto .login,body.proto .stats,body.proto .pr-list,body.proto .rows,body.proto .empty{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--ombre)}
body.proto .pr-list,body.proto .rows{overflow:hidden}
body.proto .pr-row,body.proto .pr-act,body.proto .row{border-color:var(--line)}
body.proto .pr-row:hover{background:color-mix(in srgb,var(--bleu) 5%,var(--surface))}
body.proto .pr-n,body.proto .row b{font-family:var(--f-d);letter-spacing:.01em;text-transform:none;font-weight:700}
body.proto .pr-h{font-family:var(--f-d);color:var(--bleu)}
body.proto .login{background:linear-gradient(240deg,rgba(210,40,62,.93) 0%,rgba(0,157,201,.8) 79%),var(--foule) center/cover;color:#fff;border:0;text-align:center}
body.proto .login h1{font:800 clamp(28px,7vw,42px)/1 var(--f-d);text-transform:uppercase;color:#fff}
body.proto .login p,body.proto .login .cap{color:#fff}
body.proto .login input{background:#fff;color:#1b1f24;border:0;border-radius:1.1rem}
body.proto .login .btn{background:#fff;color:var(--rouge)}
body.proto .login .btn:hover{background:var(--jaune);color:#1b1f24}
body.proto select,body.proto input,body.proto textarea{border-radius:1rem;border-color:var(--line);background:var(--surface)}
body.proto .f label{font-family:var(--f-d);color:var(--muted);letter-spacing:.04em;text-transform:none;font-size:.75rem}
body.proto details.org{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--ombre);padding:0 1rem;margin-bottom:1rem}
/* pastilles */
body.proto .badge{border-radius:999px;font-family:var(--f-d);letter-spacing:.04em;text-transform:none;font-size:.72rem;padding:.12rem .6rem}
body.proto .chips button,body.proto .chips .chip{border-radius:999px;font-family:var(--f-d);text-transform:none;letter-spacing:.02em;font-size:.8rem;background:var(--surface);color:var(--fg);border:1.5px solid var(--line)}
body.proto .chips button[aria-pressed="true"]{background:var(--bleu);border-color:var(--bleu);color:#fff}
/* compteurs */
body.proto .stats{gap:.6rem;background:none;border:0;box-shadow:none}
body.proto .stats a,body.proto .stats div{background:var(--surface);border-radius:1.1rem;border-top:3px solid var(--bleu);box-shadow:var(--ombre)}
body.proto .stats b{background:none;color:var(--bleu);font-family:var(--f-d);font-weight:600}
/* menu : pastilles */
body.proto nav h2{font-family:var(--f-d);color:var(--bleu)}
body.proto nav a{border-radius:999px;border-left:0 !important;font-family:var(--f-d);font-weight:600;font-size:.85rem}
body.proto nav a[aria-current="page"]{background:var(--bleu);color:#fff;border-image:none}
body.proto nav a[aria-current="page"] .st{color:#fff}
@media (max-width:860px){
  body.proto nav{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);top:61px;padding-top:6px}
  body.proto nav a{border:1.5px solid var(--line) !important;background:var(--surface)}
  body.proto nav a[aria-current="page"]{border-color:var(--bleu) !important;border-bottom:1.5px solid var(--bleu) !important}
  body.proto .page-h{border-radius:1.2rem;padding:1.3rem 1.2rem}
}
/* volet */
body.proto .pr-sheet .pan{background:var(--bg)}
body.proto .pr-sheet .pan-h{background:var(--bg)}
body.proto .pr-sheet .pan-h h2{font-family:var(--f-d);text-transform:uppercase;font-weight:800}
body.proto .pr-sheet .close{border-radius:50%;color:var(--fg)}
body.proto .pr-pick{border-radius:1rem;background:var(--surface)}
body.proto .toast{background:var(--bleu);color:#fff;border:0;border-radius:999px;font-family:var(--f-d)}
body.proto .sim{color:var(--gold)}
body.proto .pr-prog .pr-act::before{border-color:var(--bleu)}
body.proto .pr-prog .pr-act.proto::before{border-color:var(--rouge);background:var(--rouge)}
