:root{--brand-navy:#272b49;--brand-navy-soft:#363b63;--brand-lime:#c4d21c;--brand-gray:#96aab2;--brand-petrole:#39747a;--brand-glacier:#dce8ea;--brand-sable:#e5dfcf;--brand-corail:#d88770;--brand-blanc-casse:#f7f8f4;--font-titre:"Bebas Neue", "Arial Narrow", sans-serif;--font-corps:"Roboto", system-ui, "Segoe UI", sans-serif;--text:#2b2b33;--text-muted:#6b6375;--bg:#f6f6f8;--carte-bg:#fff;--entete-bg:#f5f5f7;--border:#e0e0e5;--accent:var(--brand-navy);--lien:var(--brand-petrole);--ok-bg:#e3f6e8;--ok-text:#1f7a3d;--alerte-bg:#fdeaea;--alerte-text:#a3312a;--avertissement-bg:#fff4dc;--avertissement-text:#8a5a00;--positif:#1f7a3d;--negatif:#a3312a;--ligne-totale-bg:color-mix(in srgb, var(--brand-lime) 55%, transparent);--ligne-hover-bg:color-mix(in srgb, var(--brand-lime) 10%, transparent);--serie-actuel:#2a78d6;--serie-n1:#eb6834;--annee-1:#2a78d6;--annee-2:#eb6834;--annee-3:#1baf7a;--annee-4:#eda100;--annee-5:#e87ba4;--annee-6:#008300;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.5 var(--font-corps)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--brand-navy-soft:#454b7d;--brand-petrole:#4f95a0;--brand-glacier:#22323a;--brand-sable:#332e22;--brand-corail:#dc9c89;--brand-blanc-casse:#1f2028;--text:#e5e5ea;--text-muted:#9ca3af;--bg:#16171d;--carte-bg:#1f2028;--entete-bg:#262832;--border:#2e303a;--accent:var(--brand-lime);--ok-bg:#163420;--ok-text:#6fd08c;--alerte-bg:#3a1c1c;--alerte-text:#e08a84;--avertissement-bg:#3a2e12;--avertissement-text:#e0ab4c;--positif:#6fd08c;--negatif:#e08a84;--ligne-totale-bg:color-mix(in srgb, var(--brand-lime) 35%, transparent);--ligne-hover-bg:color-mix(in srgb, var(--brand-lime) 7%, transparent);--serie-actuel:#3987e5;--serie-n1:#d95926;--annee-1:#3987e5;--annee-2:#d95926;--annee-3:#199e70;--annee-4:#c98500;--annee-5:#d55181;--annee-6:#008300}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:inherit;margin:0}.app-header{background:var(--brand-navy);border-bottom:4px solid var(--brand-lime);padding:14px 0}.app-header-inner{align-items:center;gap:18px;max-width:1100px;margin:0 auto;padding:0 16px;display:flex}.app-header-separateur{background:#fff3;flex-shrink:0;align-self:stretch;width:1px}.app-header-texte{min-width:0}.app-header-eyebrow{font-family:var(--font-corps);text-transform:uppercase;letter-spacing:.12em;color:var(--brand-lime);margin-bottom:4px;font-size:11px;font-weight:600}.app-header-titre{color:#fff;font-family:var(--font-titre);letter-spacing:.015em;white-space:nowrap;text-overflow:ellipsis;font-size:34px;overflow:hidden}.app-logo-badge{background:#fff;border-radius:6px;flex-shrink:0;align-items:center;padding:6px 12px;display:inline-flex}.app-logo-img{width:auto;height:34px;display:block}.app-content{max-width:1100px;margin:0 auto;padding:24px 16px 64px}h1{font-family:var(--font-titre);letter-spacing:.03em;margin:0 0 4px;font-size:30px;font-weight:400}.entete h1,.entete-dashboard-titre{color:var(--brand-navy)}@media (prefers-color-scheme:dark){.entete h1,.entete-dashboard-titre{color:var(--text)}}h2{font-family:var(--font-titre);letter-spacing:.03em;color:var(--brand-navy);margin:0 0 12px;font-size:22px;font-weight:400}@media (prefers-color-scheme:dark){h2{color:var(--text)}}.titre-centre{text-align:center}h3{font-family:var(--font-titre);letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px;font-size:16px;font-weight:400}.muted{color:var(--text-muted);font-weight:400}.erreur{color:var(--negatif)}.carte{background:var(--carte-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:20px}.selecteur{flex-direction:column;gap:16px;max-width:420px;margin:60px auto;display:flex}.selecteur h1{color:var(--brand-navy)}@media (prefers-color-scheme:dark){.selecteur h1{color:var(--text)}}.selecteur label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.selecteur select,.selecteur input{border:1px solid var(--border);background:var(--carte-bg);color:var(--text);border-radius:4px;padding:8px;font-size:15px}.bandeau-usurpation{background:var(--avertissement-bg);color:var(--avertissement-text);border-radius:8px;margin-bottom:20px;padding:10px 16px;font-size:13px}.bandeau-usurpation button.lien{color:inherit;font-weight:600}.champ-saisie{color:var(--text-muted);flex-direction:column;gap:4px;width:150px;font-size:13px;display:flex}.champ-saisie input,.champ-saisie select{font:inherit;border:1px solid var(--border);background:var(--carte-bg);color:var(--text);border-radius:4px;padding:6px 8px;font-size:14px}.champ-avec-unite{display:block;position:relative}.champ-avec-unite input{width:100%;padding-right:26px}.champ-unite{color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.champ-saisie strong{color:var(--text);padding:6px 0;font-size:14px}details>summary{cursor:pointer;color:var(--text-muted);font-size:13px}button{font:inherit;border:1px solid var(--brand-navy);background:var(--brand-navy);color:#fff;cursor:pointer;border-radius:6px;padding:8px 14px;transition:filter .15s}button:hover:not(:disabled){filter:brightness(1.15)}button:disabled{opacity:.5;cursor:not-allowed}button.secondaire{color:var(--brand-navy);background:0 0}@media (prefers-color-scheme:dark){button.secondaire{color:var(--text)}}.entete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.entete-dashboard{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:20px;display:grid}.entete-dashboard-cote{display:flex}.entete-dashboard-cote--droite{justify-content:flex-end}.entete-dashboard-titre{text-align:center;white-space:nowrap;justify-self:center;margin:0}.compte-menu-conteneur{margin-left:auto;position:relative}.bouton-compte{color:#fff;background:0 0;border:1px solid #ffffff4d;font-size:13px}.bouton-compte:hover{filter:none;background:#ffffff1a}.menu-compte{background:var(--carte-bg);border:1px solid var(--border);z-index:10;border-radius:8px;flex-direction:column;gap:4px;min-width:220px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 12px #272b491f}.menu-compte>button{text-align:left;color:var(--text);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.menu-compte>button:hover{filter:none;background:var(--entete-bg)}.selecteurs-exercice{gap:10px;display:flex}.champ-select{flex-direction:column;gap:3px;display:flex}.champ-select label{font-family:var(--font-corps);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:500}.champ-select select{font:inherit;border:1px solid var(--border);background:var(--entete-bg);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500}.selecteur-periode{position:relative}.menu-periode{background:var(--carte-bg);border:1px solid var(--border);z-index:5;border-radius:8px;flex-direction:column;gap:2px;min-width:170px;max-height:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 4px 12px #272b491f}.menu-periode button{text-align:left;color:var(--text);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13px}.menu-periode button:hover:not(.actif){background:var(--entete-bg)}.menu-periode button.actif{background:var(--brand-lime);color:var(--brand-navy);font-weight:700}.modules-nav{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.module-onglet{color:var(--text-muted);font-family:var(--font-titre);letter-spacing:.02em;background:0 0;border:none;border-radius:6px 6px 0 0;align-items:center;gap:8px;padding:10px 18px;font-size:15px;display:flex}.module-onglet:hover:not(:disabled):not(.actif){filter:none;color:var(--text);background:#96aab21f}.module-onglet.actif{background:var(--brand-lime);color:var(--brand-navy)}.module-onglet.desactive{color:var(--text-muted);cursor:not-allowed}.module-onglet.desactive .badge{margin-left:0}.selecteur-periode-groupe{margin-bottom:16px}.selecteur-periode-groupe>.muted{margin-bottom:6px;display:block}.selecteur-periode-groupe:last-child{margin-bottom:0}.sous-onglets-suivi-ca{margin-bottom:20px;display:inline-flex}.liste-comptes-tresorerie{flex-direction:column;gap:8px;display:flex}.ligne-compte-tresorerie{align-items:center;gap:8px;display:flex}.ligne-compte-tresorerie input[type=text]{max-width:280px;font:inherit;border:1px solid var(--border);background:var(--carte-bg);color:var(--text);border-radius:4px;flex:1;padding:6px 8px;font-size:14px}.ligne-compte-tresorerie button.supprimer{color:var(--negatif)}.bascule-duree{background:var(--entete-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.bascule-duree button{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500}.bascule-duree button:hover:not(:disabled):not(.actif){filter:none;color:var(--text);background:#96aab22e}.bascule-duree button.actif{background:var(--brand-lime);color:var(--brand-navy);font-weight:700}.bascule-duree select{font:inherit;border:1px solid var(--border);background:var(--carte-bg);color:var(--text);border-radius:6px;padding:6px 10px}.grille-kpi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.carte.kpi{border-top:4px solid var(--brand-lime);transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #272b4914}.carte.kpi:hover{transform:translateY(-3px);box-shadow:0 6px 16px #c4d21c33}.kpi-label{font-family:var(--font-titre);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:8px;font-size:14px;display:flex}.kpi-icone{font-size:15px;line-height:1}.kpi-valeur{font-family:var(--font-titre);letter-spacing:.01em;margin-bottom:8px;font-size:44px;line-height:1}.kpi-valeur .muted{font-family:var(--font-corps);vertical-align:baseline;font-size:16px}.kpi-variation{font-size:13px}.kpi-variation.positif{color:var(--positif)}.kpi-variation.negatif{color:var(--negatif)}.kpi-note{margin-top:6px;font-size:11px}.kpi-avertissement{background:var(--avertissement-bg);color:var(--avertissement-text);border-radius:4px;margin-top:6px;padding:3px 6px;font-size:11px;display:inline-block}.carte.kpi-stats{border-top:4px solid var(--brand-lime)}.carte.kpi-stats h3{font-family:var(--font-titre);letter-spacing:.03em;color:var(--brand-navy);text-align:center;margin:0 0 12px;font-size:22px;font-weight:400}@media (prefers-color-scheme:dark){.carte.kpi-stats h3{color:var(--text)}}.note-centree{font-family:var(--font-titre);text-transform:uppercase;letter-spacing:.03em;text-align:center;margin:-8px 0 12px;font-size:15px}.ligne-stat{border-bottom:1px solid var(--border);padding:8px 0}.ligne-stat:last-child{border-bottom:none;padding-bottom:0}.ligne-stat--sans-bordure{border-bottom:none}.ligne-stat--petite .ligne-stat-label{font-size:12px}.ligne-stat--petite .ligne-stat-entete strong{font-size:14px}.ligne-stat-entete{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ligne-stat-label{font-family:var(--font-titre);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:15px}.ligne-stat-entete strong{font-family:var(--font-titre);white-space:nowrap;font-size:18px}.ligne-stat-sous-valeur{text-align:right;font-family:var(--font-titre);margin-top:2px;font-size:18px}.ligne-stat-note{margin-top:4px;font-size:10px;font-style:italic}.tableau-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}thead th{background:var(--entete-bg);color:var(--brand-navy);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:12px;font-weight:700}@media (prefers-color-scheme:dark){thead th{color:var(--text)}}th.petit{font-size:10px}td.petit{color:var(--text-muted);font-size:12px}.petit{color:var(--text-muted);font-size:.82em}.positif{color:var(--positif)}.negatif{color:var(--negatif)}.colonne-totale{border-left:2px solid var(--border);font-weight:700}.tableau-atterrissage .colonne-variation{border-left:2px solid var(--border)}tbody tr:nth-child(2n){background:#96aab20f}tbody tr:hover{background:var(--ligne-hover-bg)}tbody tr.ligne-totale{background:var(--ligne-totale-bg);font-weight:700}tbody tr.ligne-totale:hover{background:var(--ligne-totale-bg)}tbody tr.ligne-totale td:first-child{border-left:3px solid var(--brand-lime)}.tableau-marge-tva tbody tr.ligne-totale td{border-top:2px solid var(--brand-lime);border-bottom:2px solid var(--brand-lime)}.tableau-marge-tva th.num,.tableau-marge-tva td.num{text-align:center}.tableau-bilan{table-layout:fixed}.tableau-bilan th:first-child,.tableau-bilan td:first-child{width:160px}.titre-passif{margin-top:24px}.ratios-note{font-family:var(--font-corps);letter-spacing:normal;color:var(--text-muted);margin-left:8px;font-size:12px;font-style:italic;font-weight:400}.ratios-jauges{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=640px){.ratios-jauges{grid-template-columns:1fr}}.jauge-bloc{text-align:center}.jauge-titre{font-family:var(--font-titre);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:4px;font-size:14px}.jauge-visuel{justify-content:center;align-items:center;height:140px;display:flex}.jauge-valeur{font-family:var(--font-titre);font-size:28px}.jauge-repere{color:var(--text-muted);margin-top:2px;font-size:11px;font-style:italic}.jauge-texte-secondaire{border-top:1px solid var(--border);color:var(--text-muted);margin-top:16px;padding-top:12px;font-size:13px}.jauge-texte-secondaire strong{color:var(--text);font-weight:500}.valeur-principale{font-size:14px}.valeur-sous{color:var(--text-muted);margin-top:2px;font-size:11px}.ecart-inline{align-items:baseline;gap:6px;display:inline-flex}.ecart-inline .valeur-sous{margin-top:0}.badge-ecart{border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge-ecart.positif{background:var(--ok-bg);color:var(--ok-text)}.badge-ecart.negatif{background:var(--alerte-bg);color:var(--alerte-text)}.ligne-toggle-detail td{border-bottom:none;padding:4px 8px}.lien-toggle-detail{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.lien-toggle-detail:hover{filter:none;color:var(--brand-navy)}@media (prefers-color-scheme:dark){.lien-toggle-detail:hover{color:var(--text)}}tbody tr.ligne-detail-taux td:first-child{color:var(--text-muted);padding-left:24px;font-size:12px}tbody tr.ligne-detail-taux td.num{color:var(--text-muted);font-size:12px}.sans-zebrage tbody tr:nth-child(2n):not(.ligne-totale){background:0 0}.badge{vertical-align:middle;background:color-mix(in srgb, var(--brand-gray) 25%, transparent);color:var(--text-muted);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok-text)}.badge.alerte{background:var(--alerte-bg);color:var(--alerte-text)}.titre-info-jours-centree{font-family:var(--font-titre);letter-spacing:.03em;text-align:center;margin:4px 0 16px;font-size:22px;font-weight:400}button.lien{color:var(--lien);text-underline-offset:2px;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.lien:hover{filter:none;text-decoration-style:solid}button.lien.supprimer{color:var(--negatif);margin-left:12px}.fil-ariane{color:var(--text-muted);margin:0 0 12px;font-size:13px}.legende-graphe{color:var(--text-muted);gap:20px;margin-bottom:8px;font-size:13px;display:flex}.legende-graphe i{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:6px;display:inline-block}.legende-graphe span{cursor:pointer;align-items:center;display:inline-flex}.graphe-tresorerie{background:#fff;border:1px solid #e0e0e5;border-radius:8px;align-items:center;gap:24px;padding:16px;display:flex}.graphe-tresorerie svg{flex:1;min-width:0}.graphe-tresorerie .legende-graphe.legende-verticale{color:#2b2b33;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:10px;margin-bottom:0}details>summary{cursor:pointer;margin-top:12px}details>.tableau-scroll{margin-top:12px}
