@font-face{font-family:Inter;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--ink:#f3f4f9;--ink-soft:#fff;--ink-mid:#eef0f6;--paper:#fff;--border:#dbdfe9;--muted:#667085;--text:#1b1e2b;--violet:#7c5cfc;--violet-lt:#6d46e8;--amber:#ffb020;--amber-lt:#b45f06;--gradient-primary:linear-gradient(135deg, var(--violet) 0%, var(--amber) 100%);--gradient-glow:radial-gradient(circle at 30% 20%, #7c5cfc12, transparent 60%), radial-gradient(circle at 80% 80%, #ffb0200d, transparent 55%);--on-gradient:#171a2b;--success:#15803d;--error:#dc2626;--warning:var(--amber);--neutral:var(--muted);--radius:10px;--radius-lg:18px;--shadow:0 4px 24px #11182714;--shadow-glow:0 0 20px #7c5cfc2e}:root[data-theme=dark]{--ink:#0d0f1a;--ink-soft:#171a2b;--ink-mid:#232742;--paper:#f7f8fc;--border:#2e3350;--muted:#8b8fa8;--text:#eceef6;--violet-lt:#a98bfd;--amber-lt:#ffd166;--gradient-glow:radial-gradient(circle at 30% 20%, #7c5cfc59, transparent 60%), radial-gradient(circle at 80% 80%, #ffb02040, transparent 55%);--success:#22c55e;--error:#ef4444;--shadow:0 4px 32px #0d0f1a73;--shadow-glow:0 0 24px #7c5cfc40}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body,.card,.btn,.badge,.stat,.info-box,.onglet,.tableau th{transition:background-color .2s,border-color .2s,color .2s}body{background:var(--ink);background-image:var(--gradient-glow);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}button{font-family:inherit;font-size:inherit;cursor:pointer}.card{background:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.btn{border-radius:var(--radius);border:none;padding:8px 16px;font-weight:600;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--gradient-primary);color:var(--on-gradient)}.btn-primary:hover{box-shadow:var(--shadow-glow)}.btn-ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--violet-lt)}.btn-secondaire{background:var(--ink-mid);border:1px solid var(--border);color:var(--text)}.btn-secondaire:hover{border-color:var(--violet-lt)}.btn-secondaire:disabled{opacity:.55;cursor:not-allowed}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.badge{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.82em;font-weight:600;display:inline-flex}.theme-toggle{z-index:60;border:1px solid var(--border);background:var(--ink-soft);width:38px;height:38px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.1em;line-height:1;display:flex;position:fixed;top:14px;right:14px}.theme-toggle:hover{border-color:var(--violet-lt)}@media (width<=480px){.theme-toggle{width:34px;height:34px;top:8px;right:8px}}.demo-tuto-float{z-index:55;color:#dceeff;background:#0d1b2aee;border:1px solid #1e3a5f88;border-radius:10px;width:300px;max-height:65vh;padding:12px 16px 16px;position:fixed;bottom:1rem;right:1rem;overflow-y:auto;box-shadow:0 4px 20px #00000073}.demo-tuto-float__btn.btn-ghost{color:#dceeff;background:#13263c;border:1px solid #2e5878}.demo-tuto-float__btn.btn-ghost:hover{color:#fff;background:#1a3a5c}@media (width<=640px){.demo-tuto-float{width:88vw;bottom:.75rem;right:6vw}}.demo-tuto-float--pastille{cursor:pointer;width:auto;max-height:none;padding:8px 14px;font-size:.85em;font-weight:600}.demo-tuto-float--pastille:hover{background:#13263c}.app-shell{min-height:100vh}.app-main{padding-right:calc(var(--rail-largeur,216px) + 40px)}.page{max-width:1000px;margin:0 auto;padding:28px 24px 64px}@media (width<=880px){.app-main{padding-right:0}.audit-header{padding-right:60px}}.chargement-ecran{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.login-ecran{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-carte{flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex}.login-titre{background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.6em;font-weight:700}.login-carte label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9em;display:flex}.login-carte input{background:var(--ink-mid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 12px;font-size:1em}.login-carte input:focus{border-color:var(--violet-lt);outline:none}.muted{color:var(--muted);font-size:.92em}.erreur{color:var(--error)}.audit-header{border-bottom:1px solid var(--border);background:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;display:flex}.audit-header h1{font-size:1.05em;font-weight:700}.audit-header .badges{flex-wrap:wrap;gap:8px;display:flex}.badge--btn{background:var(--ink-mid);cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.badge--btn:hover{border-color:var(--violet-lt)!important}.reprise-bandeau{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:14px 18px;display:flex}.reprise-bandeau__actions{gap:10px;display:flex}.form-section{margin-bottom:28px;padding:22px}.form-section h2{margin-bottom:16px;font-size:1em}.form-grid{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}.form-grid>*{min-width:0}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-champ{color:var(--muted);flex-direction:column;gap:5px;font-size:.85em;display:flex}.form-champ input,.form-champ select,.form-champ textarea{background:var(--ink-mid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 11px;font-family:inherit;font-size:.95em}.form-champ input:focus,.form-champ select:focus,.form-champ textarea:focus{border-color:var(--violet-lt);outline:none}.form-champ--full{grid-column:1/-1}.info-box{border-radius:var(--radius);border:1px solid var(--border);background:var(--ink-mid);margin-bottom:16px;padding:12px 16px;font-size:.85em;line-height:1.5}.info-box--succes{border-color:var(--success);color:var(--success)}.info-box--avertissement{border-color:var(--amber);color:var(--amber-lt)}.info-box--bloquant{border-color:var(--error);color:var(--error)}.form-actions{justify-content:flex-end;margin-top:12px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.stat{background:var(--ink-mid);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-valeur{font-size:1.4em;font-weight:700}.stat-label{color:var(--muted);margin-top:4px;font-size:.82em}.onglets{flex-wrap:wrap;gap:6px;display:flex}.onglet{background:var(--ink-soft);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:8px 16px;font-size:.85em;font-weight:600}.onglet.is-active{background:var(--gradient-primary);color:var(--on-gradient);border-color:#0000}.bar-chart{align-items:flex-end;gap:6px;height:180px;padding-top:20px;display:flex}.bar-chart__col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.bar-chart__valeur{color:var(--muted);white-space:nowrap;margin-bottom:4px;font-size:.68em}.bar-chart__bar{background:var(--gradient-primary);border-radius:4px 4px 0 0;width:100%;min-height:2px;transition:height .3s}.bar-chart__label{color:var(--muted);margin-top:6px;font-size:.72em}.heatmap{flex-direction:column;gap:3px;display:flex}.heatmap__ligne{align-items:center;gap:8px;display:flex}.heatmap__jour{width:32px;color:var(--muted);flex-shrink:0;font-size:.75em}.heatmap__cellules{flex:1;gap:2px;min-width:0;display:flex}.heatmap__cellule{aspect-ratio:1;border-radius:2px;flex:1;min-width:0}@media (width<=640px){.heatmap__jour{width:24px;font-size:.68em}}.tableau{border-collapse:collapse;font-size:.88em}.tableau th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--ink-soft);padding:8px 12px;font-weight:600;position:sticky;top:0}.tableau td{border-bottom:1px solid var(--border);padding:6px 12px}:root{--rail-largeur:216px}.rail{width:var(--rail-largeur);box-sizing:border-box;background:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:30;flex-direction:column;max-height:calc(100vh - 32px);padding:16px 14px;display:flex;position:fixed;top:50%;right:16px;overflow-y:auto;transform:translateY(-50%)}.rail__progres{margin-bottom:16px;padding:0 3px}.rail__progres-texte{align-items:baseline;gap:6px;margin-bottom:7px;display:flex}.rail__progres-compte{color:var(--text);font-variant-numeric:tabular-nums;font-size:.94em;font-weight:700}.rail__progres-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.64em;font-weight:700}.rail__progres-piste{background:var(--ink-mid);border-radius:999px;height:6px;overflow:hidden}.rail__progres-remplissage{background:var(--gradient-primary);background-size:220% 100%;border-radius:999px;height:100%;transition:width .7s cubic-bezier(.22,.9,.35,1);animation:3.4s linear infinite rail-progres-chatoiement}@keyframes rail-progres-chatoiement{0%{background-position:0%}to{background-position:220%}}.rail__legende{flex-direction:column;gap:3px;margin-bottom:14px;padding:0 3px;display:flex}.rail__legende span{color:var(--muted);align-items:center;gap:7px;font-size:.68em;display:flex}.rail__legende-pastille{background:var(--ink-mid);border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px}.rail__groupe+.rail__groupe{margin-top:14px}.rail__groupe-titre{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px 17px;font-size:.66em;font-weight:700}.rail__ligne{flex-direction:column;display:flex}.rail__segment{background:var(--border);width:2px;height:8px;margin-left:5px;position:relative;overflow:hidden}.rail__segment--pulse:after{content:"";background:var(--gradient-primary);animation:.9s forwards rail-flux;position:absolute;inset:-4px 0}@keyframes rail-flux{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.rail__lien{cursor:pointer;border-radius:var(--radius);margin-left:-4px;padding:3px 0 3px 4px;transition:background .15s,transform .15s;display:block}.rail__lien--inactif{cursor:not-allowed}.rail__lien:not(.rail__lien--inactif):hover{background:var(--ink-mid);transform:translate(3px)}.rail__noeud{align-items:center;gap:10px;display:flex}.rail__pastille{background:var(--ink-mid);border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:9px;height:9px;transition:background .2s,border-color .2s,box-shadow .2s}.rail__pastille--complet{background:var(--gradient-primary);border-color:#0000}.rail__pastille--complet-non-visite{background-image:linear-gradient(var(--ink-soft), var(--ink-soft)), var(--gradient-primary);background-origin:border-box;background-clip:padding-box,border-box;border-color:#0000}.rail__pastille--actif{border-color:var(--amber);animation:1.8s ease-in-out infinite rail-respire;box-shadow:0 0 0 4px #ffb0202e}.rail__pastille--terne{opacity:.32}@keyframes rail-respire{0%,to{box-shadow:0 0 0 4px #ffb0202e}50%{box-shadow:0 0 0 9px #ffb0200a}}.rail__pastille--vient-de-finir{animation:.6s rail-pastille-pop}@keyframes rail-pastille-pop{0%{transform:scale(1)}40%{transform:scale(1.7);box-shadow:0 0 0 6px #ffb02040}to{transform:scale(1)}}.rail__etiquette{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.78em;overflow:hidden}.rail__etiquette--actif{color:var(--amber-lt);font-weight:600}.rail__etiquette--terne{color:var(--muted)}@media (prefers-reduced-motion:reduce){.rail__pastille--actif,.rail__segment--pulse:after,.rail__pastille--vient-de-finir{animation:none}.rail__progres-remplissage{transition:none;animation:none}.rail__lien:not(.rail__lien--inactif):hover{transform:none}}.rail-toggle-mobile,.rail-backdrop-mobile{display:none}@media (width<=880px){.rail{display:none}.rail-toggle-mobile{background:var(--gradient-primary);width:50px;height:50px;color:var(--on-gradient);cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3em;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 18px #0006}.rail-backdrop-mobile{z-index:39;background:#0a0a148c;display:block;position:fixed;inset:0}.rail--ouvert-mobile{z-index:45;border-radius:0;width:min(78vw,300px);max-height:100vh;display:flex;position:fixed;top:0;bottom:0;right:0;transform:none}}.help-bubble{margin-left:6px;display:inline-block;position:relative}.help-bubble__trigger{border:1px solid var(--border);background:var(--ink-mid);width:20px;height:20px;color:var(--violet-lt);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72em;font-weight:700;line-height:1;display:inline-flex}.help-bubble__trigger:hover{border-color:var(--violet-lt);box-shadow:var(--shadow-glow)}.help-bubble__popover{z-index:40;background:var(--ink-mid);border:1px solid var(--violet-lt);border-radius:var(--radius);width:260px;box-shadow:var(--shadow);padding:12px 14px;font-weight:400;position:absolute;top:26px;left:0}.help-bubble__texte{color:var(--text);margin-bottom:10px;font-size:.82em;line-height:1.5}.help-bubble__dismiss{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.72em;display:flex}@media (width<=480px){.help-bubble__popover{width:220px;left:-80px}}.color-pickers{display:inline-block;position:relative}.color-pickers__trigger{padding:4px 12px;font-size:.82em}.color-pickers__popover{z-index:40;background:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:180px;margin-top:6px;padding:12px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000059}.color-pickers__item{color:var(--text);align-items:center;gap:8px;font-size:.85em;display:flex}.color-pickers__item input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:28px;height:28px;padding:0}
