/*! Task’in — © 2026 Fandry Ekwalla. Tous droits réservés. Copie, modification et diffusion interdites sans autorisation écrite (voir LICENSE). */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --tk-build:"TKN-FE-0FDECC3202AA";
  --ocean:#2563EB;
  --ocean-dim:#DBEAFE;
  --ocean-deep:#1D4ED8;
  /* Encre : la couleur de marque utilisée pour du TEXTE (titres, liens, chiffres). */
  --ocean-ink:#2563EB;
  --ocean-deep-ink:#1D4ED8;
  --green-ink:#15803D;
  --amber-ink:#B45309;
  --red-ink:#DC2626;
  --clay:#EF4444;
  --clay-dim:#FEE2E2;
  --bloom:#8B5CF6;
  --bloom-dim:#EDE9FE;
  --amber:#F59E0B;
  --amber-dim:#FEF3C7;
  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --surface2:#F1F5F9;
  --border:#E2E8F0;
  --border2:#CBD5E1;
  --text:#0F172A;
  --text2:#64748B;
  --text3:#7A889C;
  --red:#EF4444;
  --red-dim:#FEE2E2;
  --green:#22C55E;
  --green-dim:#DCFCE7;
  --radius:12px;
  --display:'Inter',system-ui,sans-serif;
  --font:'Inter','Public Sans',system-ui,sans-serif;
  --mono:'Spline Sans Mono',monospace;
}
[data-theme="dark"]{
  /* Palette marine Task'in : fond #0B233A (hsl 209 68% 14%), surfaces et bordures de la même teinte, de plus en plus claires. */
  color-scheme:dark;
  --ocean:#3B82F6;
  --ocean-deep:#2563EB;
  --ocean-dim:#173863;
  --ocean-ink:#60A5FA;
  --ocean-deep-ink:#93C5FD;
  --green-ink:#4ADE80;
  --amber-ink:#FBBF24;
  --red-ink:#F87171;
  --clay-dim:#501B1B;
  --bloom-dim:#38235C;
  --amber-dim:#4E3513;
  --bg:#0B233A;
  --surface:#132D47;
  --surface2:#1B3852;
  --border:#294660;
  --border2:#3E5D7A;
  --text:#F4F7FB;
  --text2:#BDCDDB;
  --text3:#8B9FB1;
  --red-dim:#501B1B;
  --green-dim:#123F29;
  --shadow-dark:rgba(3,14,26,.45);
}
.theme-toggle-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.theme-toggle-btn:hover{border-color:var(--ocean);color:var(--ocean-ink)}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;transition:background .2s,color .2s}

/* Sélecteurs de fichiers : remplacer le rendu navigateur brut par un contrôle Task'in. */
input[type="file"]:not(.hidden):not([hidden]){display:block;width:100%;min-height:40px;padding:5px 8px;border:1px solid var(--border2);border-radius:4px;background:var(--surface);color:var(--text2);font:500 12px var(--font);line-height:28px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
input[type="file"]:not(.hidden):not([hidden]):hover{border-color:var(--ocean);background:var(--surface2)}
input[type="file"]:not(.hidden):not([hidden]):focus-visible{outline:2px solid var(--ocean);outline-offset:2px;box-shadow:0 0 0 3px var(--ocean-dim)}
input[type="file"]:not(.hidden):not([hidden])::file-selector-button{margin-right:10px;padding:7px 12px;border:1px solid var(--ocean);border-radius:4px;background:var(--ocean);color:#fff;font:600 12px var(--font);line-height:1;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
input[type="file"]:not(.hidden):not([hidden])::file-selector-button:hover{border-color:var(--ocean-deep);background:var(--ocean-deep)}
input[type="file"]:not(.hidden):not([hidden])::file-selector-button:active{transform:translateY(1px)}
[data-theme="dark"] input[type="file"]:not(.hidden):not([hidden]){background:var(--surface2)}

/* Mode sombre marine : éléments dont la couleur était figée pour le thème clair. */
[data-theme="dark"] .topbar{background:var(--surface);border-bottom-color:var(--border)}
[data-theme="dark"] .role-badge{color:var(--ocean-deep-ink)}
