:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#17202a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f8}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.app-shell.loading{cursor:progress}.sidebar{background:#111827;color:#f8fafc;display:flex;flex-direction:column;gap:28px;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{align-items:center;display:flex;gap:12px;padding:4px 6px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{align-items:center;background:#0f766e;border-radius:8px;display:grid;font-size:13px;font-weight:800;height:42px;justify-items:center;width:42px}.brand strong,.brand span{display:block}.brand span,.sidebar-footer{color:#aeb9c7;font-size:12px}.sidebar nav{display:grid;gap:6px}.sidebar button{align-items:center;background:transparent;border:0;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;gap:10px;min-height:42px;padding:10px 12px;text-align:left}.sidebar button:hover,.sidebar button.active{background:#1f2937;color:#fff}.sidebar-footer{align-items:center;display:flex;gap:10px;margin-top:auto;padding:12px 8px}.workspace{display:grid;gap:18px;min-width:0;padding:24px}.topbar{align-items:start;background:#fff;border:1px solid #d9e0e7;border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(220px,1fr) auto;padding:18px}.topbar h1,.panel h2{letter-spacing:0;margin:0}.topbar h1{font-size:clamp(22px,3vw,32px)}.eyebrow{color:#526071;font-size:11px;font-weight:800;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.scope-line,.refresh-note,.panel span,.kpi-card span{color:#5c6978;font-size:13px}.topbar-actions{align-items:end;display:flex;flex-wrap:wrap;gap:10px;justify-content:end}.view-as,.filter-input{align-items:center;background:#f8fafc;border:1px solid #d9e0e7;border-radius:8px;display:flex;gap:8px;min-height:42px;padding:8px 10px}.view-as.simulated{background:#fff7ed;border-color:#fb923c}.view-as span,.filter-input span{color:#526071;font-size:12px;font-weight:700}.view-as select,.filter-input input,.filter-input select{background:transparent;border:0;color:#17202a;min-width:120px;outline:none}.icon-button{align-items:center;background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;display:grid;height:42px;justify-items:center;width:42px}.icon-button:disabled{opacity:.6}.icon-button.secondary{background:#edf2f7;color:#17202a}.simulation-banner{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#9a3412;display:none;font-size:13px;grid-column:1 / -1;padding:10px 12px}.simulation-banner.visible{display:block}.refresh-note{grid-column:1 / -1}.active-filters{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(150px,1fr))}.kpi-strip{display:grid;gap:12px}.kpi-strip-note{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.kpi-strip-note span{background:#edf2f7;border:1px solid #d9e0e7;border-radius:999px;color:#526071;font-size:12px;font-weight:800;padding:6px 10px}.kpi-strip-error{color:#991b1b;font-size:13px;font-weight:700}.kpi-hierarchy-wrap{overflow:auto;width:100%}.kpi-hierarchy-table{min-width:1040px}.kpi-hierarchy-table th,.kpi-hierarchy-table td{padding:13px 14px}.kpi-hierarchy-table td{font-variant-numeric:tabular-nums;text-align:right}.kpi-hierarchy-table th:not(:first-child){text-align:right}.kpi-hierarchy-table tbody tr:nth-child(odd){background:#fbfdff}.kpi-hierarchy-table td:first-child{min-width:300px;text-align:left}.kpi-hierarchy-table td:first-child strong{color:#17202a;font-size:15px;line-height:1.25}.kpi-hierarchy-table th:first-child{text-align:left}.kpi-secondary-indicator{background:#edf2f7;border:1px solid #d9e0e7;border-radius:999px;color:#334155!important;display:inline-block;font-weight:850;min-width:52px;padding:5px 9px;text-align:center}.kpi-card,.panel{background:#fff;border:1px solid #d9e0e7;border-radius:8px}.kpi-card{display:flex;gap:12px;min-height:116px;padding:16px}.kpi-icon{align-items:center;background:#e7f2f1;border-radius:8px;color:#0f766e;display:grid;flex:0 0 40px;height:40px;justify-items:center}.kpi-card p,.kpi-card strong,.kpi-card span{display:block}.kpi-card p{color:#526071;font-size:13px;margin:0 0 8px}.kpi-card strong{font-size:26px;line-height:1.05}.kpi-danger .kpi-icon{background:#fee2e2;color:#b91c1c}.kpi-warning .kpi-icon{background:#ffedd5;color:#c2410c}.kpi-success .kpi-icon{background:#dcfce7;color:#15803d}.panel{min-width:0;padding:16px}.freshness-panel,.hero-panel,.section-heading{align-items:center;display:flex;justify-content:space-between;gap:16px}.quality-pill{background:#e7f2f1;border-radius:999px;color:#0f766e!important;font-weight:800;padding:8px 12px}.grid-two{display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.table-wrap{margin-top:14px;overflow:auto;width:100%}table{border-collapse:collapse;min-width:1440px;width:100%}table.compact{min-width:1280px}th,td{border-bottom:1px solid #e5eaf0;padding:11px 10px;text-align:left;vertical-align:top}th{color:#526071;font-size:12px;text-transform:uppercase}th.col-primary{color:#1f3a55}th.col-kpi{color:#0f766e}td{font-size:13px}td strong,td span{display:block}.cabines-table td:nth-child(1),.cabines-table td:nth-child(2),.cabines-table td:nth-child(3),.cabines-table td:nth-child(4),.cabines-table td:nth-child(8),.cabines-table td:nth-child(9){background:#f8fafc9e}.cell-strong strong{color:#17202a;font-weight:850}.cell-subtle{color:#64748b;font-size:12px;line-height:1.35}.bts-code{color:#0f3f5f!important}.mini-badge{background:#e7f2f1;border:1px solid #99d5ce;border-radius:999px;color:#0f766e!important;display:inline-block;font-size:11px;font-weight:800;margin-top:4px;padding:3px 7px;width:fit-content}.number-normalized,.number-source{font-variant-numeric:tabular-nums}.number-source{color:#9a3412}.number-note{color:#9a3412!important;font-size:11px;font-weight:700}.badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:800;padding:5px 9px;white-space:nowrap}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#ffedd5;color:#9a3412}.badge-watch{background:#fef3c7;color:#854d0e}.badge-success{background:#dcfce7;color:#166534}.badge-neutral{background:#edf2f7;color:#475569}.metric{border-radius:7px;display:inline-block;font-weight:850;min-width:72px;padding:5px 8px;text-align:right;width:fit-content}.metric-neutral{background:#f8fafc;color:#1f2937}.metric-positive{background:#dcfce7;color:#166534}.metric-attention{background:#fef3c7;color:#92400e}.metric-alert{background:#fee2e2;color:#991b1b}.risk-row{border-left:4px solid transparent}.risk-danger{background:#fff8f8;border-left-color:#dc2626}.risk-warning{background:#fffaf4;border-left-color:#f97316}.risk-watch{background:#fffdf2;border-left-color:#eab308}.risk-neutral{background:#fff;border-left-color:#cbd5e1}.risk-success{background:#f7fdf9;border-left-color:#16a34a}.non-affecte-alert{font-size:.78rem;color:var(--color-warning, #b45309);background:var(--color-warning-bg, #fef3c7);border-radius:4px;padding:4px 8px;margin-bottom:8px}.secteur-tag{font-size:.72rem;font-weight:400;color:var(--color-text-muted, #6b7280);margin-left:2px}.panel-note{display:block;font-size:.72rem;font-weight:400;color:var(--color-text-muted, #6b7280);margin-top:2px;font-style:italic}.rank-list,.metric-stack{display:grid;gap:10px;margin-top:14px}.dimension-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(140px,1fr))}.dimension-card{align-items:center;background:#fff;border:1px solid #d9e0e7;border-radius:8px;display:grid;gap:6px;min-height:112px;padding:16px}.dimension-card svg{color:#0f766e}.dimension-card span{color:#526071;font-size:13px}.dimension-card strong{font-size:24px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{background:#edf2f7;border:1px solid #d9e0e7;border-radius:999px;color:#334155;font-size:13px;font-weight:800;padding:8px 12px}.chip.featured{background:#e7f2f1;border-color:#99d5ce;color:#0f766e}.exploration-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}tr{transition:background .15s ease}tbody tr:hover,.selected-row{background:#f1f8f7}.text-button{background:#edf2f7;border:1px solid #d9e0e7;border-radius:8px;color:#17202a;cursor:pointer;font-weight:800;min-height:34px;padding:6px 10px}.detail-panel{align-self:start;position:sticky;top:24px}.detail-title{align-items:start;display:flex;gap:14px;justify-content:space-between;margin-top:6px}.detail-grid{display:grid;gap:10px;margin-top:16px}.detail-field{background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;display:grid;gap:4px;padding:10px}.detail-field span{color:#526071;font-size:12px}.detail-field strong{color:#17202a;font-size:14px;overflow-wrap:anywhere}.rank-list div{align-items:center;background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;display:flex;justify-content:space-between;gap:14px;padding:12px}.empty-cell{color:#6b7280;text-align:center}.error-panel{align-items:center;border-color:#fecaca;color:#991b1b;display:flex;gap:14px}@media (max-width: 1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.grid-two{grid-template-columns:1fr}.dimension-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.detail-panel{position:static}}@media (max-width: 820px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:14px}.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:stretch}.view-as,.filter-input{flex:1 1 220px}.kpi-grid,.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.sidebar nav,.kpi-grid,.dimension-grid{grid-template-columns:1fr}.brand{padding-bottom:10px}.topbar h1{font-size:22px}.kpi-card{min-height:96px}.cabines-table,.cabines-table.compact{min-width:620px}.cabines-table th:nth-child(3),.cabines-table td:nth-child(3),.cabines-table th:nth-child(5),.cabines-table td:nth-child(5),.cabines-table th:nth-child(6),.cabines-table td:nth-child(6),.cabines-table th:nth-child(7),.cabines-table td:nth-child(7),.cabines-table th:nth-child(8),.cabines-table td:nth-child(8),.cabines-table th:nth-child(10),.cabines-table td:nth-child(10),.cabines-table th:nth-child(11),.cabines-table td:nth-child(11),.cabines-table th:nth-child(12),.cabines-table td:nth-child(12),.cabines-table th:nth-child(15),.cabines-table td:nth-child(15){display:none}.cabines-table th,.cabines-table td{padding:9px 8px}}
