/* Mes impôts PN — design tokens
   Base : Optimus PN (iOS HIG : fonds #f2f2f7, cartes blanches, barres translucides).
   Accent : charte SNPNC Transavia (vert #3AAE5A, bleu ciel #3AB0DC, magenta #E5297B).
   Règle d'usage :
   - --tint (bleu ciel SNPNC, foncé pour le contraste AA) = tout ce qui est interactif
     (boutons, liens, onglet actif, focus). Même famille que le bleu d'Optimus PN.
   - --brand-green = marque, gain estimé, progression. Jamais pour un statut.
   - --brand-magenta = rare : bandeau de marque, badge « Nouveau ». Jamais pour un statut.
   - Statuts (ok / à vérifier / bloquant) = couleurs système iOS, toujours avec icône + texte.
   Contrastes vérifiés : --tint #0B78A8 sur blanc 4,9:1 ; texte blanc sur --tint 4,9:1 ;
   --tint sombre #3AB0DC sur #1c1c1e 6,8:1. */

:root{
  color-scheme:light;

  /* Fonds et surfaces (identiques à Optimus PN) */
  --bg:#f2f2f7;               /* fond de page groupé */
  --bg2:#ffffff;              /* cartes, cellules */
  --bg3:#f2f2f7;              /* champs dans une carte */
  --fill:#e5e5ea;
  --fill2:rgba(118,118,128,.12); /* boutons secondaires, segmented control */
  --bar:rgba(249,249,249,.82);   /* barre du haut et onglets, avec blur */
  --overlay:rgba(0,0,0,.35);     /* fond des feuilles modales */

  /* Texte */
  --label:#000000;
  --label2:rgba(60,60,67,.6);
  --label3:rgba(60,60,67,.3);
  --sep:rgba(60,60,67,.18);
  --on-tint:#ffffff;

  /* Accent SNPNC Transavia */
  --brand-green:#3AAE5A;      --brand-green-ink:#23843F; --brand-green-bg:rgba(58,174,90,.12);
  --brand-sky:#3AB0DC;        --brand-sky-bg:rgba(58,176,220,.12);
  --brand-magenta:#E5297B;    --brand-magenta-ink:#C2185B; --brand-magenta-bg:rgba(229,41,123,.10);
  --tint:#0B78A8;             /* bleu ciel SNPNC assombri : interactif */
  --tint-bg:rgba(11,120,168,.10);
  --tint-shadow:rgba(11,120,168,.35);
  --brand-stripe:linear-gradient(90deg,var(--brand-green) 0 33.3%,var(--brand-sky) 33.3% 66.6%,var(--brand-magenta) 66.6%);

  /* États des contrôles */
  --ok:#34c759;      --ok-ink:#1f8a3b;   --ok-bg:rgba(52,199,89,.14);
  --warn:#ff9500;    --warn-ink:#9e5b00; --warn-bg:rgba(255,149,0,.15);
  --ko:#ff3b30;      --ko-ink:#d42a20;   --ko-bg:rgba(255,59,48,.12);
  --info:var(--tint);--info-ink:var(--tint); --info-bg:var(--tint-bg);
  --neutral:#8e8e93; --neutral-bg:var(--fill2);  /* ignoré, non concerné */

  /* Types de documents (pastilles de la zone de dépôt) */
  --doc-activite:#5856d6;  /* relevé d'activité */
  --doc-paie:#34c759;      /* bulletin de paie */
  --doc-planning:#0B78A8;  /* planning .ics */
  --doc-banque:#ff9500;    /* relevé bancaire */
  --doc-facture:#af52de;   /* facture, reçu */

  /* Typographie système */
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,"Roboto Mono",monospace;
  --fs-hero:44px;   /* montant principal */
  --fs-large:34px;  /* titre de page (Large Title iOS) */
  --fs-title:22px;  /* titre de section, feuille */
  --fs-head:17px;   /* corps, en gras = headline */
  --fs-body:17px;
  --fs-sub:15px;    /* sous-titres, boutons */
  --fs-foot:13px;   /* notes, en-têtes de groupe (majuscules) */
  --fs-cap:11px;    /* légendes, onglets */
  --fw-reg:400; --fw-med:500; --fw-semi:600; --fw-bold:700;
  --lh:1.3; --lh-text:1.45;
  --track:-.01em; --track-hero:-.02em;

  /* Espacements (base 4) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s12:48px;
  --pad-cell:11px 16px;   /* cellule de liste iOS */
  --inset-sep:16px;       /* retrait des séparateurs */
  --page-x:20px;          /* marge latérale (12px sous 760px) */
  --page-max:760px;       /* largeur de lecture */
  --tabbar-h:56px;
  --sidebar-w:264px;      /* barre latérale ordinateur (comme SyndicHub) */
  --tap:44px;             /* cible tactile minimale */

  /* Rayons */
  --r-xs:6px;   /* pastilles, chips */
  --r-sm:8px;   /* champs, segments */
  --r:12px;     /* cartes, boutons (Optimus --r) */
  --r-lg:14px;  /* tuiles KPI, feuilles */
  --r-xl:22px;  /* zone de dépôt vide */
  --r-pill:999px;

  /* Ombres (discrètes : iOS préfère les aplats) */
  --sh-0:none;
  --sh-1:0 1px 2px rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.03);      /* carte au survol */
  --sh-seg:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);    /* segment actif */
  --sh-2:0 6px 18px rgba(0,0,0,.10);                                /* toast, menu */
  --sh-sheet:0 20px 60px rgba(0,0,0,.30);                           /* feuille modale */
  --sh-fab:0 6px 18px var(--tint-shadow);

  /* Flou des barres */
  --blur:saturate(180%) blur(20px);

  /* Mouvement */
  --ease:cubic-bezier(.2,.9,.3,1);
  --t-fast:.15s; --t:.25s; --t-sheet:.32s;

  /* Focus */
  --focus:0 0 0 3px rgba(11,120,168,.45);
}

[data-theme=dark]{
  color-scheme:dark;
  --bg:#000000; --bg2:#1c1c1e; --bg3:#2c2c2e;
  --fill:#2c2c2e; --fill2:rgba(118,118,128,.24);
  --bar:rgba(22,22,24,.80); --overlay:rgba(0,0,0,.55);
  --label:#ffffff; --label2:rgba(235,235,245,.6); --label3:rgba(235,235,245,.3); --sep:rgba(84,84,88,.6);
  --on-tint:#00161f;

  --brand-green:#4CC46C; --brand-green-ink:#4CC46C; --brand-green-bg:rgba(76,196,108,.18);
  --brand-sky:#3AB0DC;   --brand-sky-bg:rgba(58,176,220,.18);
  --brand-magenta:#F0579A; --brand-magenta-ink:#F0579A; --brand-magenta-bg:rgba(240,87,154,.18);
  --tint:#3AB0DC; --tint-bg:rgba(58,176,220,.18); --tint-shadow:rgba(58,176,220,.30);

  --ok:#30d158;   --ok-ink:#30d158;   --ok-bg:rgba(48,209,88,.16);
  --warn:#ff9f0a; --warn-ink:#ff9f0a; --warn-bg:rgba(255,159,10,.18);
  --ko:#ff453a;   --ko-ink:#ff453a;   --ko-bg:rgba(255,69,58,.18);
  --neutral:#98989d;

  --doc-activite:#5e5ce6; --doc-paie:#30d158; --doc-planning:#3AB0DC; --doc-banque:#ff9f0a; --doc-facture:#bf5af2;

  --sh-1:none; --sh-2:0 6px 18px rgba(0,0,0,.5); --sh-sheet:0 20px 60px rgba(0,0,0,.6);
  --focus:0 0 0 3px rgba(58,176,220,.5);
}

/* Thème automatique si l'utilisateur n'a rien choisi */
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){ color-scheme:dark; }
}

@media (max-width:760px){
  :root{ --page-x:12px; --fs-large:28px; --fs-hero:38px; --fs-body:16px; }
}

@media (prefers-reduced-motion:reduce){
  :root{ --t-fast:0s; --t:0s; --t-sheet:0s; }
}

/* Socle minimal */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{background:var(--bg);color:var(--label);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh);letter-spacing:var(--track);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}
.num,.amt{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
