/* ============================================================
   THÈME ONN COMMUN — repris du Pilotage Cabinet (onn-cabinet)
   Couleurs (thème clair / sombre), polices IBM Plex, fond, ombres.
   Chargé par le Timesheet, la plateforme de présence et l'accueil,
   AVANT leur propre feuille de style.
   Thème choisi : bouton « Thème » du Pilotage Cabinet (cookie
   cabinet_theme), sinon réglage de Windows / du navigateur.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@500;600&display=swap");

:root{
  --bg:#F5F7FC; --surface:#FFFFFF; --surface-2:#EEF2FA; --surface-raised:#ffffff;
  --text:#15140f; --text-2:#52514e; --muted:#87857d; --grid:#E1E6F0; --baseline:#c3c2b7;
  --border:rgba(11,11,11,0.11);
  --accent:#002597; --accent-2:#2B4FC0; --accent-ink:#ffffff;
  --navy-deep:#001B6E; --gold:#FBBB11;
  --good:#51A126; --warning:#FBBB11; --serious:#ec835a; --critical:#d03b3b; --info:#2B4FC0;
  --shadow-sm:0 1px 2px rgba(20,20,15,0.05), 0 1px 1px rgba(20,20,15,0.04);
  --shadow-md:0 4px 14px rgba(20,20,15,0.07), 0 1px 3px rgba(20,20,15,0.05);
  --shadow-lg:0 16px 40px rgba(20,20,15,0.14), 0 4px 12px rgba(20,20,15,0.08);
  --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  /* En-tête bleu (identique en clair et en sombre, comme le bandeau du Pilotage Cabinet) */
  --entete:linear-gradient(135deg, #001B6E 0%, #002597 68%, #2B4FC0 100%);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0c0c0b; --surface:#191917; --surface-2:#221f1e; --surface-raised:#201f1e;
    --text:#f8f7f4; --text-2:#c3c2b7; --muted:#8c8a82; --grid:#2c2c2a; --baseline:#3d3c38;
    --border:rgba(255,255,255,0.11);
    --accent:#7590F0; --accent-2:#4F6FDB; --accent-ink:#0b0b0b;
    --good:#51A126; --warning:#FBBB11; --serious:#ec835a; --critical:#e66767; --info:#4F6FDB;
    --shadow-sm:0 1px 2px rgba(0,0,0,0.3);
    --shadow-md:0 6px 18px rgba(0,0,0,0.35);
    --shadow-lg:0 20px 48px rgba(0,0,0,0.5);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0c0c0b; --surface:#191917; --surface-2:#221f1e; --surface-raised:#201f1e;
  --text:#f8f7f4; --text-2:#c3c2b7; --muted:#8c8a82; --grid:#2c2c2a; --baseline:#3d3c38;
  --border:rgba(255,255,255,0.11);
  --accent:#7590F0; --accent-2:#4F6FDB; --accent-ink:#0b0b0b;
  --good:#51A126; --warning:#FBBB11; --serious:#ec835a; --critical:#e66767; --info:#4F6FDB;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.3);
  --shadow-md:0 6px 18px rgba(0,0,0,0.35);
  --shadow-lg:0 20px 48px rgba(0,0,0,0.5);
  color-scheme:dark;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--font);font-weight:700}
/* Fine bande dégradée en haut de page (comme le Pilotage Cabinet) */
.masthead{height:6px;background:linear-gradient(90deg, var(--accent) 0%, var(--good) 55%, var(--gold) 100%)}
@media print{.masthead{display:none}}
