.menu-burger{display:none;width:42px;height:42px;border:1px solid var(--gris-200);border-radius:8px;background:var(--blanc);font-size:1.3rem;line-height:1;cursor:pointer;flex-shrink:0}.topbar-gauche{display:flex;align-items:center;gap:.75rem;min-width:0}.sidebar-backdrop{display:none}@media (max-width: 860px){.app-shell .menu-burger{display:inline-grid;place-items:center}.app-shell>.sidebar{display:flex;position:fixed;top:0;left:0;bottom:0;width:min(290px,85vw);height:100dvh;max-height:100dvh;z-index:60;transform:translate(-105%);transition:transform .2s ease;box-shadow:0 0 30px #0003}.app-shell>.sidebar.ouvert{transform:none}.app-shell .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:55}.app-shell .topbar{padding:.6rem 1rem;position:sticky;top:0;z-index:40}.app-shell .topbar-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .topbar-role{display:none}.app-shell .content{padding:1rem}}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--rouge: #ed1f24;--rouge-fonce: #b8151a;--rouge-doux: #fdecec;--orange: #f9a825;--vert: #00cc66;--bleu: #3b5998;--gris-900: #000000;--gris-700: #555555;--gris-500: #777777;--gris-300: #c0c0c0;--gris-200: #e8e8e8;--gris-100: #f5f5f5;--blanc: #ffffff;--ok: #00cc66;--ok-fonce: #00994d;--warn: #f9a825;--warn-fonce: #c47a00;--info: #3b5998;--shadow: 0 2px 12px rgba(237, 31, 36, .08);font-family:Poppins,system-ui,-apple-system,sans-serif;color:var(--gris-900);background:var(--gris-100)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--blanc);border-right:1px solid var(--gris-200);display:flex;flex-direction:column;padding:1.25rem 1rem;gap:.5rem;position:sticky;top:0;height:100vh;max-height:100vh;overflow:hidden}.sidebar nav{flex:1 1 auto;overflow-y:auto;min-height:0;padding-bottom:.5rem}.brand{display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem 1.25rem;border-bottom:1px solid var(--gris-200);margin-bottom:.75rem}.brand-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.brand-mark{width:40px;height:40px;border-radius:10px;background:var(--rouge);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0}.brand h1{margin:0;font-size:1.05rem;font-weight:700;color:var(--rouge);letter-spacing:.04em}.brand p{margin:0;font-size:.68rem;color:var(--gris-500);line-height:1.3}.nav-link{display:block;padding:.65rem .85rem;border-radius:8px;color:var(--gris-700);font-weight:500;font-size:.9rem}.nav-link:hover{background:var(--gris-100)}.nav-badge{float:right;min-width:1.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--rouge);color:#fff;font-size:.72rem;font-weight:700;text-align:center}.nav-link.active{background:#fdecec;color:var(--rouge)}.sidebar-footer{flex-shrink:0;margin-top:auto;padding-top:1rem;border-top:1px solid var(--gris-200);font-size:.8rem;color:var(--gris-500);background:var(--blanc);position:sticky;bottom:0;z-index:2;padding-bottom:.25rem;text-align:center}.sidebar-user{text-align:center;line-height:1.35;margin-bottom:.75rem}.sidebar-user-name{font-weight:600;color:var(--gris-900);margin-bottom:.15rem}.sidebar-logout{width:100%;display:block;margin:0 auto;text-align:center}.main{display:flex;flex-direction:column;min-width:0}.topbar{background:var(--blanc);border-bottom:1px solid var(--gris-200);padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar-title{font-weight:600;font-size:1.05rem}.badge{display:inline-flex;align-items:center;gap:.35rem;background:#fdecec;color:var(--rouge);border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.content{padding:1.5rem}.card{background:var(--blanc);border-radius:12px;box-shadow:var(--shadow);padding:1.25rem}.card h2{margin:0 0 1rem;font-size:1.1rem}.grid-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi{background:var(--blanc);border-radius:12px;padding:1rem 1.15rem;box-shadow:var(--shadow)}.kpi .label{font-size:.75rem;color:var(--gris-500)}.kpi .value{font-size:1.6rem;font-weight:700;margin-top:.25rem}.kpi .value.rouge{color:var(--rouge)}table.data{width:100%;border-collapse:collapse;font-size:.875rem}table.data th,table.data td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--gris-200)}table.data th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--gris-500);background:var(--gris-100)}table.data tr:hover td{background:#fafafa}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:8px;padding:.55rem 1rem;font-weight:600;font-size:.875rem;cursor:pointer;background:var(--gris-200);color:var(--gris-900)}.btn:hover{filter:brightness(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--rouge);color:#fff}.btn-primary:hover{background:var(--rouge-fonce)}.btn-ghost{background:transparent;border:1px solid var(--gris-200)}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#ffffff 0%,var(--rouge-doux) 42%,var(--gris-100) 100%);padding:1.5rem}.login-card{width:min(420px,100%);background:var(--blanc);border-radius:16px;box-shadow:var(--shadow);padding:2rem 2rem 1.75rem;border-top:4px solid var(--rouge)}.login-brand{text-align:center;margin-bottom:1.5rem;padding-bottom:1.15rem;border-bottom:1px solid var(--gris-200)}.login-card .logo,.login-card .logo-img{width:64px;height:64px;object-fit:contain;margin:0 auto .75rem;display:block}.login-card .logo{border-radius:12px;background:var(--rouge);color:#fff;display:grid;place-items:center;font-weight:700}.login-card h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:var(--rouge);letter-spacing:.06em;text-align:center}.login-card .sub{color:var(--gris-500);font-size:.78rem;margin:0 auto;line-height:1.45;text-align:center;max-width:22rem}.login-footer{margin:1.25rem 0 0;text-align:center;font-size:.8rem;font-weight:500;color:var(--gris-500)}.field{margin-bottom:1rem}.field label{display:block;font-size:.8rem;font-weight:500;margin-bottom:.35rem;color:var(--gris-700)}.field input:not([type=checkbox]):not([type=radio]){width:100%;padding:.65rem .85rem;border:1px solid var(--gris-200);border-radius:8px;outline:none}.field input:not([type=checkbox]):not([type=radio]):focus{border-color:var(--rouge);box-shadow:0 0 0 3px #fdecec}.field input[type=checkbox],.field input[type=radio]{width:1.1rem;height:1.1rem;flex:0 0 auto;margin:0;accent-color:var(--rouge);cursor:pointer}.field input[type=checkbox]:disabled,.field input[type=radio]:disabled{cursor:not-allowed}.field>div:has(>label>input[type=checkbox]){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem!important;margin-bottom:.6rem}.field label:has(>input[type=checkbox]){display:flex!important;align-items:center;gap:.6rem!important;margin:0;padding:.55rem .75rem;border:1px solid var(--gris-200);border-radius:8px;font-size:.875rem;color:var(--gris-900);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.field label:has(>input[type=checkbox]:hover:not(:disabled)){border-color:var(--gris-300)}.field label:has(>input[type=checkbox]:checked){border-color:var(--rouge);background:var(--rouge-doux)}.field label:has(>input[type=checkbox]:disabled){background:var(--gris-100);color:var(--gris-500);cursor:not-allowed}.field label:has(>input[type=checkbox]) span{line-height:1.25}.field>small{display:block;color:var(--gris-500);font-size:.78rem}.alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.alert-error{background:#fdecec;color:var(--rouge-fonce)}.alert-info{background:#eef6ff;color:#1a4a7a}.statut{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--gris-100)}.statut.soumis,.statut.en_attente{background:#fff3cd;color:#856404}.statut.valide,.statut.traitee,.statut.acceptee{background:#d4edda;color:#155724}.statut.brouillon,.statut.classee{background:var(--gris-100);color:var(--gris-700)}.statut.a_corriger,.statut.refusee,.statut.facture_en_correction{background:#fdecec;color:var(--rouge-fonce)}.empty{text-align:center;padding:2.5rem 1rem;color:var(--gris-500)}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head h1{margin:0;font-size:1.35rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap}.back{font-size:.8rem;color:var(--gris-500);text-decoration:none}.actions-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-bottom:1rem}.two-col>.card,.card+.card{margin-bottom:0}.card h3{margin:0 0 .75rem;font-size:1rem}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0;font-size:.9rem}.kv dt{color:var(--gris-500)}.kv dd{margin:0}.kpi-inline{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.75rem}.kpi-inline .label{display:block;font-size:.75rem;color:var(--gris-500)}.kpi-inline strong{font-size:1.15rem}.rouge{color:var(--rouge)}.progress{height:8px;background:var(--gris-100);border-radius:4px;overflow:hidden;margin-bottom:.25rem}.progress>div{height:100%;background:#28a745}.timeline{list-style:none;margin:0 0 .75rem;padding:0}.timeline li{display:flex;flex-direction:column;gap:.1rem;padding:.5rem 0 .5rem .9rem;border-left:2px solid var(--gris-100);font-size:.88rem}.timeline small{color:var(--gris-500)}.upload-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}tr.clickable:hover{background:var(--gris-100)}textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--gris-300, #ccc);border-radius:6px;font:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:#fff;border-radius:10px;padding:1.25rem;width:100%;max-width:460px;max-height:90vh;overflow:auto}.modal h2{margin:0 0 1rem;font-size:1.1rem}.modal select,.field select{width:100%;padding:.55rem .65rem;border:1px solid var(--gris-300, #ccc);border-radius:6px;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.alert-warn{background:#fff3cd;color:#856404;padding:.75rem;border-radius:6px;margin-bottom:1rem}.alert-warn ul{margin:.35rem 0 0;padding-left:1.2rem}.statut.fiche_disponible,.statut.projet_etabli,.statut.a_payer{background:var(--gris-100);color:var(--gris-700)}.statut.facture_validee,.statut.facture_positionnee,.statut.facture_transmise{background:#fff3cd;color:#856404}.statut.moratoire_en_cours{background:#d1ecf1;color:#0c5460}.statut.en_justice,.statut.en_retard{background:#fdecec;color:var(--rouge-fonce)}.statut.cloture,.statut.paye{background:#d4edda;color:#155724}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem;margin-bottom:.5rem}.form-grid .field input,.form-grid .field select{width:100%}.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin:.35rem 0}.alert-ok{background:#d4edda;color:#155724;padding:.75rem 1rem;border-radius:6px}.verif-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--gris-100)}.verif-box{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:560px;text-align:center}.verif-box h1{font-size:1.25rem;margin:0 0 1rem}.verif-box .kv{text-align:left}.card-sub{background:var(--gris-100);border-radius:6px;padding:.75rem 1rem;font-size:.9rem;margin-bottom:.75rem}.page-head h1{margin:0;font-size:1.45rem}.page-subtitle{margin:.35rem 0 0;color:var(--gris-500);font-size:.88rem}.admin-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid var(--gris-200)}.admin-tab{border:0;background:transparent;padding:.7rem .9rem;color:var(--gris-700);font:inherit;cursor:pointer;border-bottom:3px solid transparent}.admin-tab:hover{background:var(--gris-100)}.admin-tab.active{color:var(--rouge);font-weight:600;border-bottom-color:var(--rouge)}.admin-layout{align-items:start}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--gris-200)}.card-heading h2{margin:0;font-size:1rem}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.data td small{display:block;color:var(--gris-500);margin-top:.15rem}.admin-json{margin-top:1rem;border-top:1px solid var(--gris-200);padding-top:.75rem}.admin-json summary{cursor:pointer;font-weight:600}.admin-json pre,.audit-detail{background:var(--gris-100);border-radius:6px;padding:.75rem;overflow:auto;font-size:.75rem}.timbre-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,220px) auto;align-items:center;gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--gris-200)}.empty-state-card{max-width:560px;margin:8vh auto;background:var(--blanc);border:1px solid var(--gris-200);border-radius:12px;padding:2rem;text-align:center}.empty-state-card h1{margin:.25rem 0 .5rem;font-size:1.4rem}.empty-state-card p{color:var(--gris-500);margin:0 0 1.25rem}.empty-state-code{color:var(--rouge);font-size:2.5rem;font-weight:700}@media (max-width: 700px){.timbre-row{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{width:100%}}.catalogue-heading{margin-top:1.5rem;border-top:1px solid var(--gris-200);padding-top:1.25rem}.table-scroll{width:100%;overflow-x:auto}.catalogue-table{min-width:760px}.catalogue-table td input,.catalogue-table td select{width:100%;min-width:100px;padding:.55rem .65rem;border:1px solid var(--gris-200);border-radius:7px;background:#fff}.catalogue-table td:first-child{min-width:220px}.catalogue-note{color:var(--gris-500);font-size:.82rem;margin:.9rem 0 0}.input-suffix{display:flex;align-items:center;gap:.55rem}.input-suffix input{width:100%;min-width:0}.input-suffix span{color:var(--gris-500);font-size:.82rem}.timbre-list{display:grid;gap:.65rem}.timbre-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.6fr) auto;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--gris-200);border-radius:9px}.timbre-region{display:grid;gap:.2rem}.timbre-region small{color:var(--gris-500);font-size:.75rem}.timbre-row input{min-width:0;width:100%;padding:.6rem .7rem;border:1px solid var(--gris-200);border-radius:7px}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 760px){.timbre-row{grid-template-columns:1fr}.catalogue-heading{align-items:flex-start}}.badge-protocole{display:inline-block;margin:.15rem .25rem 0 0;padding:.05rem .45rem;border-radius:10px;font-size:.72rem;background:var(--gris-100);color:var(--gris-700)}.badge-protocole.escalade{background:#fff3cd;color:#856404}.badge-protocole.alerte{background:#fdecec;color:var(--rouge-fonce)}.historique-liste{margin:.5rem 0 0;padding-left:1rem;font-size:.8rem}.dash-header{background:linear-gradient(135deg,#c00000,#a00000 60%,#7f0000);border-radius:16px;padding:1.35rem 1.6rem;margin-bottom:1.1rem;color:#fff;box-shadow:0 8px 24px #c0000029}.dash-header-title{font-size:1.55rem;font-weight:800;margin-bottom:.2rem}.dash-header-sub{font-size:.9rem;opacity:.92}.dash-filters{background:var(--blanc);border:1px solid var(--gris-200);border-radius:14px;padding:1rem 1.15rem;margin-bottom:1.25rem;box-shadow:0 3px 12px #0000000a}.dash-filters-title{font-size:.92rem;font-weight:700;margin-bottom:.65rem}.dash-filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.dash-field{display:flex;flex-direction:column;gap:.3rem;min-width:180px}.dash-field span{font-size:.75rem;font-weight:600;color:var(--gris-500);text-transform:uppercase;letter-spacing:.03em}.dash-field select,.dash-field strong{padding:.5rem .75rem;border:1px solid var(--gris-200);border-radius:8px;background:#fff;font-size:.9rem}.dash-field strong{border:none;padding-left:0;font-weight:600}.dash-filters-caption{margin-top:.65rem;font-size:.8rem;color:var(--gris-500)}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.dash-kpi{min-height:130px;border-radius:14px;padding:1.05rem 1.1rem;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #eeeeee;border-left:5px solid #c00000;box-shadow:0 4px 14px #0000000d;transition:transform .15s ease,box-shadow .15s ease}.dash-kpi:hover{transform:translateY(-2px);box-shadow:0 7px 20px #00000014}.dash-kpi-top{display:flex;align-items:center;gap:.65rem}.dash-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0}.dash-kpi-title{color:#666;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.25}.dash-kpi-value{color:#202020;font-size:1.65rem;line-height:1.2;font-weight:800;margin-top:.85rem;word-break:break-word}.dash-kpi-sub{color:#888;font-size:.78rem;margin-top:.3rem}.dash-section-header{margin:1.1rem 0 .85rem;padding-bottom:.55rem;border-bottom:1px solid #eeeeee}.dash-section-title{font-size:1.05rem;font-weight:750;color:#252525;display:flex;align-items:center;gap:.4rem}.dash-section-icone{font-size:1rem}.dash-section-sub{color:#888;font-size:.8rem;margin-top:.2rem}.dash-metrics-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem}.dash-metric{background:var(--blanc);border-radius:12px;padding:.9rem 1rem;box-shadow:var(--shadow);border:1px solid var(--gris-200)}.dash-metric-label{font-size:.72rem;color:var(--gris-500);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.dash-metric-value{font-size:1.25rem;font-weight:700;margin-top:.25rem}.dash-alerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin-bottom:1.25rem}.dash-alert-card{border-radius:12px;padding:.9rem 1rem;border:1px solid #eeeeee;background:var(--blanc);box-shadow:0 2px 8px #00000008}.dash-alert-critique{border-left:4px solid var(--rouge);background:#fdecec}.dash-alert-warning{border-left:4px solid var(--warn);background:#fff8e8}.dash-alert-ok{border-left:4px solid var(--ok);background:#eaf6ec}.dash-alert-title{font-weight:700;font-size:.9rem;margin-bottom:.25rem}.dash-alert-text{font-size:.82rem;color:#666}.dash-alertes-list{margin:0;padding-left:1.1rem;font-size:.88rem}.dash-alertes-list li{margin-bottom:.4rem}.dash-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .85rem;border-bottom:1px solid var(--gris-200);padding-bottom:.35rem}.dash-tab{border:none;background:transparent;padding:.55rem .95rem;border-radius:8px 8px 0 0;font-weight:600;font-size:.88rem;color:var(--gris-700);cursor:pointer}.dash-tab:hover{background:var(--gris-100)}.dash-tab.active{background:#fdecec;color:var(--rouge)}.dash-tab-panel{margin-bottom:1.5rem}.dash-synthese{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.dash-minibars{display:flex;flex-direction:column;gap:.55rem}.dash-minibar-row{display:grid;grid-template-columns:110px 1fr 48px;align-items:center;gap:.5rem}.dash-minibar-label{font-size:.8rem;color:var(--gris-700)}.dash-minibar-track{height:10px;background:var(--gris-100);border-radius:999px;overflow:hidden}.dash-minibar-fill{height:100%;border-radius:999px;min-width:2px;transition:width .25s ease}.dash-minibar-value{font-size:.8rem;font-weight:700;text-align:right}.dash-empty{color:var(--gris-500);font-size:.9rem;margin:.5rem 0}.dash-loading{padding:2rem;text-align:center;color:var(--gris-500)}@media (max-width: 640px){.dash-minibar-row{grid-template-columns:1fr;gap:.2rem}.dash-minibar-value{text-align:left}}.db{max-width:1120px;margin:0 auto}.db-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:.5rem}.db-eyebrow{margin:0 0 .15rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rouge)}.db-title{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.025em;color:var(--gris-900)}.db-meta{margin:.3rem 0 0;font-size:.84rem;color:var(--gris-500)}.db-hero-filters{display:flex;flex-wrap:wrap;gap:.65rem}.db-field{display:flex;flex-direction:column;gap:.2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gris-500)}.db-field select{min-width:148px;padding:.5rem .8rem;border:1px solid var(--gris-200);border-radius:10px;background:#fff;font-size:.875rem;font-weight:500;color:var(--gris-900);text-transform:none;letter-spacing:normal;box-shadow:0 1px 2px #0000000a}.db-field select:focus{outline:none;border-color:var(--rouge);box-shadow:0 0 0 3px #fdecec}.db-scope{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin:0 0 1.25rem;font-size:.8rem;color:var(--gris-500)}.db-scope strong{color:var(--gris-700);font-weight:600}.db-scope-sep{opacity:.5}.db-row{display:grid;gap:1rem;margin-bottom:1rem}.db-row--top{grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr)}.db-row--2{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}@media (max-width: 900px){.db-row--top,.db-row--2{grid-template-columns:1fr}}.db-panel{background:#fff;border:1px solid var(--gris-200);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 2px 12px #0000000b}.db-panel-head{margin-bottom:.95rem}.db-panel-head h2{margin:0 0 .15rem;font-size:1rem;font-weight:700;color:var(--gris-900)}.db-panel-head p{margin:0;font-size:.8rem;color:var(--gris-500)}.db-status{display:flex;gap:.85rem;align-items:flex-start;border:none;background:linear-gradient(135deg,#f0fdf4,#fff 55%)}.db-status--warn{background:linear-gradient(135deg,#fffbeb,#fff 55%)}.db-status--crit{background:linear-gradient(135deg,#fef2f2,#fff 55%)}.db-status-dot{width:11px;height:11px;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:var(--ok);box-shadow:0 0 0 4px #1b8a4a2e}.db-status--warn .db-status-dot{background:var(--warn);box-shadow:0 0 0 4px #c47a002e}.db-status--crit .db-status-dot{background:var(--rouge);box-shadow:0 0 0 4px #ed1f242e}.db-status h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:750}.db-status p{margin:0;font-size:.88rem;color:var(--gris-700);line-height:1.45}.db-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.65rem;align-content:center}.db-kpi{display:flex;flex-direction:column;padding:.65rem .75rem;border-radius:12px;background:var(--gris-100);border:1px solid transparent;transition:border-color .15s,background .15s}.db-kpi:hover{border-color:var(--gris-200);background:#fafafa}.db-kpi-v{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;color:var(--gris-900);font-variant-numeric:tabular-nums}.db-kpi-l{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gris-500);margin-top:.1rem}.db-kpi-s{font-size:.75rem;color:var(--gris-500);margin-top:.15rem}.db-priorites{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.db-prio{display:flex;gap:.75rem;padding:.75rem .8rem;border-radius:12px;background:var(--gris-100);border-left:3px solid transparent}.db-prio--critique{background:#fef2f2;border-left-color:var(--rouge)}.db-prio--attention{background:#fffbeb;border-left-color:var(--warn)}.db-prio--stable{background:#f0fdf4;border-left-color:var(--ok)}.db-prio-n{width:26px;height:26px;border-radius:8px;background:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:750;color:var(--gris-700);flex-shrink:0;box-shadow:0 1px 3px #0000000f}.db-prio-top{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:.15rem}.db-prio-top strong{font-size:.9rem}.db-tag{font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;padding:.12rem .45rem;border-radius:999px}.db-tag--critique{background:#fecaca;color:#991b1b}.db-tag--attention{background:#fde68a;color:#92400e}.db-tag--stable{background:#bbf7d0;color:#166534}.db-prio-d{margin:0;font-size:.84rem;color:var(--gris-700);line-height:1.4}.db-prio-p{margin:.3rem 0 0;font-size:.78rem;color:var(--gris-500);font-style:italic;line-height:1.35}.db-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem}.db-metric-block h3{margin:0 0 .5rem;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--gris-500)}.db-metric-block ul{list-style:none;margin:0;padding:0}.db-metric-block li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--gris-200);font-size:.84rem}.db-metric-block li:last-child{border-bottom:none}.db-metric-block li span{color:var(--gris-700)}.db-metric-block li strong{font-variant-numeric:tabular-nums;color:var(--gris-900)}.db-metric-block li.is-hot span,.db-metric-block li.is-hot strong{color:var(--rouge);font-weight:700}.db-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.db-chart-card{border:1px solid var(--gris-200);border-radius:14px;padding:.9rem 1rem .85rem;background:linear-gradient(180deg,#fafafa,#fff 40%)}.db-chart-card h3{margin:0 0 .5rem;font-size:.8rem;font-weight:700;color:var(--gris-700)}.db-chart-wrap{width:100%}.db-chart-svg{width:100%;height:auto;max-height:150px;display:block}.db-chart-val{font-size:10px;font-weight:700;fill:var(--gris-700)}.db-chart-lab{font-size:9px;fill:var(--gris-500)}.db-chart-detail{margin-top:.55rem;padding-top:.55rem;border-top:1px dashed var(--gris-200);font-size:.8rem;color:var(--gris-700);line-height:1.4;min-height:2.4em;display:flex;flex-direction:column;gap:.15rem}.db-chart-detail strong{color:var(--gris-900);font-size:.84rem}.db-muted{color:var(--gris-500);font-style:italic}.db-empty{margin:1rem 0;font-size:.85rem;color:var(--gris-500);text-align:center}.db-alertes{list-style:none;margin:0;padding:0}.db-alerte{display:flex;gap:.65rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid var(--gris-200);font-size:.86rem;color:var(--gris-700);line-height:1.4}.db-alerte:last-child{border-bottom:none;padding-bottom:0}.db-alerte:first-child{padding-top:0}.db-alerte-dot{width:8px;height:8px;border-radius:50%;margin-top:.4rem;flex-shrink:0;background:#2563eb}.db-alerte--critique .db-alerte-dot{background:var(--rouge)}.db-alerte--warning .db-alerte-dot{background:var(--warn)}.db-loading{padding:2.5rem;text-align:center;color:var(--gris-500)}.db-kpi--hot{background:#fef2f2!important;border-color:#fecaca!important}.db-kpi--hot .db-kpi-v{color:var(--rouge)}.db-delais-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.db-delai-card{display:flex;flex-direction:column;gap:.15rem;padding:.85rem .95rem;border-radius:12px;background:var(--gris-100);border:1px solid transparent}.db-delai-card.is-hot{background:#fef2f2;border-color:#fecaca}.db-delai-card.is-warn{background:#fffbeb;border-color:#fde68a}.db-delai-v{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gris-900)}.db-delai-card.is-hot .db-delai-v{color:var(--rouge)}.db-delai-card.is-warn .db-delai-v{color:#b45309}.db-delai-l{font-size:.78rem;font-weight:600;color:var(--gris-700);line-height:1.3}.db-delai-s{font-size:.72rem;color:var(--gris-500);margin-top:.15rem}.system-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000075;animation:system-dialog-fade-in .12s ease-out}.system-dialog{width:min(100%,460px);max-height:min(90vh,720px);overflow:auto;background:#fff;border-radius:12px;padding:1.35rem 1.25rem 1.2rem;box-shadow:0 18px 55px #00000038;border:1px solid rgba(0,0,0,.06);animation:system-dialog-slide-in .14s ease-out}.system-dialog h2{margin:0 0 1rem;font-size:1.08rem;line-height:1.35;font-weight:800;color:#111}.system-dialog-message{color:var(--gris-600, #555);font-size:.94rem;line-height:1.55;white-space:pre-line}.system-dialog .modal-actions{margin-top:1.25rem}.system-dialog-error h2{color:var(--rouge-fonce, #a61919)}.system-dialog-success h2{color:#1f6b3a}.system-dialog-warning h2{color:#7a5a00}@keyframes system-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes system-dialog-slide-in{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 600px){.system-dialog-backdrop{padding:.75rem;align-items:flex-end}.system-dialog{max-height:88vh;border-radius:12px}}.page-chargement{padding:2rem;text-align:center;color:#667085}.sx-page{display:flex;flex-direction:column;gap:1rem;min-width:0}.sx-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.sx-hero-texte{min-width:0}.sx-eyebrow{color:var(--rouge);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}.sx-hero h1{margin:0;font-size:1.45rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sx-hero p{margin:.25rem 0 0;color:var(--gris-500);font-size:.88rem;max-width:72ch;line-height:1.45}.sx-hero-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.sx-back{display:inline-block;margin-bottom:.35rem;font-size:.8rem;color:var(--gris-500)}.sx-back:hover{color:var(--rouge)}.sx-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin-top:.6rem}.sx-meta span{padding:.2rem .6rem;border-radius:999px;background:var(--blanc);border:1px solid var(--gris-200);font-size:.75rem;color:var(--gris-700)}.sx-meta b{color:var(--gris-900);font-weight:650}.sx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.sx-kpis .kpi{margin:0;text-align:left;font:inherit;border:2px solid transparent;min-width:0}.sx-kpis .kpi .value{font-size:1.35rem;overflow-wrap:anywhere}.sx-kpis .kpi .sub{font-size:.74rem;color:var(--gris-500);margin-top:.2rem}.kpi.cliquable{cursor:pointer;border:2px solid transparent;text-align:left;font:inherit}.kpi.cliquable:hover{border-color:#f4b6b8}.kpi.cliquable.actif{border-color:var(--rouge)}.kpi .value.alerte{color:var(--rouge)}.kpi .value.ok{color:var(--ok-fonce)}.card.sx-card{padding:0;overflow:hidden;margin:0}.sx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem;border-bottom:1px solid var(--gris-200)}.sx-head h2,.sx-head h3{margin:0;font-size:1.02rem}.sx-head p{margin:.25rem 0 0;color:var(--gris-500);font-size:.84rem;line-height:1.4}.sx-head-droite{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.sx-body{padding:1rem 1.15rem 1.15rem}.sx-table-wrap{overflow-x:auto}.sx-card table.data{margin:0}.sx-card table.data th:first-child,.sx-card table.data td:first-child{padding-left:1.15rem}.sx-card table.data th:last-child,.sx-card table.data td:last-child{padding-right:1.15rem}.sx-card table.data td.empty,.sx-card .empty{padding:2rem 1rem}.sx-card table.data td.num,.sx-card table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.sx-card table.data tr.total td{font-weight:700;background:var(--gris-100)}.sx-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;align-items:start}.sx-cols>.card{margin:0}.sx-liste{display:flex;flex-direction:column}.sx-ligne{display:flex;justify-content:space-between;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.95rem 1.15rem;border-bottom:1px solid var(--gris-200)}.sx-ligne:last-child{border-bottom:0}.sx-ligne:hover{background:#fafafa}.sx-ligne-titre{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 260px}.sx-ligne-titre strong{font-size:.92rem}.sx-ligne-titre span{color:var(--gris-500);font-size:.78rem}.sx-filtres{background:var(--blanc);border:1px solid var(--gris-200);border-radius:12px;padding:.9rem 1.1rem;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.sx-champ{display:grid;gap:.3rem;font-size:.76rem;font-weight:650;color:var(--gris-700);min-width:160px;flex:0 1 220px}.sx-champ.large{flex:1 1 260px}.sx-champ input,.sx-champ select,.sx-champ textarea,.sx-form input,.sx-form select,.sx-form textarea,.sx-inline-input{width:100%;box-sizing:border-box;padding:.58rem .75rem;border:1px solid var(--gris-200);border-radius:8px;background:#fff;font:inherit;font-weight:400;color:inherit}.sx-inline-input{width:auto;min-width:180px}.sx-champ input:focus,.sx-champ select:focus,.sx-champ textarea:focus,.sx-form input:focus,.sx-form select:focus,.sx-form textarea:focus,.sx-inline-input:focus{outline:none;border-color:var(--rouge);box-shadow:0 0 0 3px #fdecec}.sx-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:500;cursor:pointer;padding:.55rem .75rem;border:1px solid var(--gris-200);border-radius:8px;background:#fff}.sx-check input{width:1.05rem;height:1.05rem;accent-color:var(--rouge);margin:0}.sx-filtres-pied{margin-left:auto;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sx-form{display:grid;gap:.9rem}.sx-form label{display:grid;gap:.35rem;font-size:.8rem;font-weight:650;color:var(--gris-700)}.sx-form-ligne{display:flex;gap:.75rem 1rem;flex-wrap:wrap;align-items:flex-end}.sx-form-ligne>label{flex:1 1 200px;min-width:0}.sx-form-ligne>.btn{flex:0 0 auto}.sx-tabs{display:inline-flex;flex-wrap:wrap;padding:.2rem;border-radius:999px;background:var(--blanc);border:1px solid var(--gris-200);gap:.15rem;align-self:flex-start;max-width:100%}.sx-tabs button{border:0;background:transparent;padding:.45rem .95rem;border-radius:999px;font:inherit;font-size:.84rem;font-weight:600;color:var(--gris-700);cursor:pointer}.sx-tabs button:hover{background:var(--gris-100)}.sx-tabs button.actif{background:var(--rouge);color:#fff;box-shadow:0 1px 4px #ed1f244d}.sx-note{margin:0;padding:.8rem 1rem;border-radius:8px;background:#f8f9fa;border:1px solid var(--gris-200);border-left:3px solid var(--rouge);color:var(--gris-700);font-size:.84rem;line-height:1.5}.sx-note strong{color:var(--gris-900)}.sx-muted{color:var(--gris-500);font-size:.82rem}.sx-pied{color:var(--gris-500);font-size:.78rem;margin:0}.sx-page>.alert{margin:0}.sx-chargement{padding:2.5rem 1rem;text-align:center;color:var(--gris-500)}.sx-stats{display:flex;gap:1rem 1.75rem;flex-wrap:wrap}.sx-stats>div{display:flex;flex-direction:column;gap:.1rem}.sx-stats .label{font-size:.72rem;color:var(--gris-500);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sx-stats strong{font-size:1.15rem}.sx-stats strong.rouge{color:var(--rouge)}.badge-niveau{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-niveau.fiable,.badge-niveau.faible{background:#d4edda;color:#155724}.badge-niveau.moyen{background:#fff3cd;color:#856404}.badge-niveau.eleve{background:#ffe5cc;color:#a04a00}.badge-niveau.peu_fiable,.badge-niveau.critique{background:#fdecec;color:var(--rouge-fonce)}.badge-niveau.a_evaluer{background:var(--gris-100);color:var(--gris-700)}.chips{display:flex;flex-wrap:wrap;gap:.3rem}.chip{background:var(--gris-100);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;color:var(--gris-700);white-space:nowrap}.sous-texte{display:block;color:var(--gris-500);font-size:.75rem}th.triable{cursor:pointer;-webkit-user-select:none;user-select:none}th.triable:hover{color:var(--rouge)}tr.clickable{cursor:pointer}a.lien,.link-btn{color:var(--rouge);font-weight:600}a.lien:hover,.link-btn:hover{text-decoration:underline}@media (max-width: 700px){.sx-hero{align-items:flex-start;flex-direction:column}.sx-hero-actions{width:100%}.sx-hero-actions .btn{flex:1 1 auto}.sx-champ{flex:1 1 100%}.sx-filtres-pied{margin-left:0;width:100%}.sx-cols{grid-template-columns:1fr}.sx-tabs{border-radius:14px}}.nav-groupe{margin:.9rem 0 .25rem;padding:0 .85rem;font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gris-500)}.nav-groupe:first-child{margin-top:.1rem}.nav-link{position:relative}.nav-link.active{font-weight:600;box-shadow:inset 3px 0 0 var(--rouge)}.sx-sous-titre{margin:1.1rem 0 .55rem;padding-top:.9rem;border-top:1px solid var(--gris-200);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-500)}.sx-defs{margin:.75rem 0 0;padding-left:1.1rem;font-size:.86rem;line-height:1.6;color:var(--gris-700)}.nav-groupe-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.1rem 0;padding:.65rem .85rem;border:0;border-radius:8px;background:transparent;font:inherit;font-size:.9rem;font-weight:600;color:var(--gris-900);cursor:pointer;text-align:left}.nav-groupe-btn:hover{background:var(--gris-100)}.nav-groupe-btn.contient-actif{color:var(--rouge)}.nav-chevron{font-size:.8rem;color:var(--gris-500);transition:transform .15s ease}.nav-rubrique.ouverte>.nav-groupe-btn{background:var(--gris-100)}.nav-rubrique.ouverte .nav-chevron{transform:rotate(180deg)}.nav-sous-menu{margin:.15rem 0 .35rem .6rem;padding-left:.5rem;border-left:2px solid var(--gris-200)}.nav-sous-menu .nav-link{padding:.5rem .75rem;font-size:.86rem}
