:root{--bg:#030812;--panel:#091424c7;--panel2:#0c1c32eb;--line:#5ba3ff30;--muted:#8fa6bd;--text:#f4f8ff;--green:#25f59d;--blue:#22b7ff;--purple:#7057ff;--red:#ff3f4f;--orange:#ff9d1b}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;background:radial-gradient(circle at 78% 9%,#7057ff47,#0000 33%),radial-gradient(circle at 45% 32%,#22b7ff1f,#0000 36%),linear-gradient(135deg,#030812 0%,#061120 45%,#090b1d 100%);position:fixed;inset:0}button{font:inherit}.app{z-index:1;grid-template-columns:288px 1fr;min-height:100vh;display:grid;position:relative}.sidebar{border-right:1px solid var(--line);background:linear-gradient(#06101ff0,#030812fa);padding:26px 24px}.logo{align-items:center;gap:14px;margin-bottom:32px;display:flex}.logo-mark{background:linear-gradient(135deg, var(--blue), var(--purple));border-radius:12px;width:42px;height:42px;position:relative;box-shadow:0 0 28px #22b7ff59}.logo-mark:after{content:"";background:linear-gradient(135deg,#55f0ff,#7b61ff);border-radius:4px;width:24px;height:13px;position:absolute;top:13px;left:9px;transform:skew(-18deg)}.logo-title{letter-spacing:.06em;font-size:20px;font-weight:900;line-height:1}.logo-title small{color:#b9c7d8;letter-spacing:.34em;margin-top:5px;font-size:10px;display:block}.nav{gap:8px;margin:28px 0;display:grid}.nav-item{color:#dbe8f8;background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;gap:12px;padding:14px 15px;text-decoration:none;display:flex}.nav-item.active,.nav-item:hover{background:linear-gradient(135deg,#22b7ff2e,#7057ff8c);border-color:#5ba3ff52}.sidebar-card{border:1px solid var(--line);background:#0a1728cc;border-radius:16px;margin-top:34px;padding:16px}.company-card{align-items:center;gap:12px;display:flex}.company-icon{background:#ffffff14;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.muted{color:var(--muted)}.main{padding:24px 28px 48px}.hero{text-align:center;padding:2px 0 18px}.hero h1{letter-spacing:.22em;background:linear-gradient(90deg,#30cbff,#8c78ff,#fff);color:#0000;-webkit-background-clip:text;margin:0;font-size:clamp(34px,3vw,54px);font-weight:900}.hero p{letter-spacing:.2em;color:#fff;margin:2px 0 0;font-size:18px}.toolbar{justify-content:flex-end;gap:16px;margin:0 0 14px;display:flex}.select,.primary{border:1px solid var(--line);color:#fff;background:#081220cc;border-radius:12px;padding:12px 18px}.primary{background:linear-gradient(135deg,#345cff,#7147e9);border:0}.dashboard{grid-template-columns:minmax(0,1fr) 460px;gap:16px;display:grid}.section-title{letter-spacing:.02em;margin:0 0 12px;font-size:18px}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(160deg,#0c1c32d6,#050d18c7);border-radius:16px;box-shadow:inset 0 1px #ffffff0a,0 28px 70px #0000003d}.kpi{min-height:144px;padding:18px 18px 14px;position:relative;overflow:hidden}.kpi-label{text-transform:uppercase;letter-spacing:.04em;color:#eaf3ff;margin-bottom:18px;font-size:12px}.kpi-value{font-size:36px;font-weight:900;line-height:.95}.kpi-value small{color:#bdc8d6;font-size:19px;font-weight:500}.kpi-sub{color:var(--muted);margin-top:13px;font-size:13px}.spark{opacity:.9;position:absolute;bottom:12px;right:12px}.green{color:var(--green)}.blue{color:var(--blue)}.purple{color:var(--purple)}.red{color:var(--red)}.orange{color:var(--orange)}.mid{grid-template-columns:1.45fr .9fr;gap:12px;margin-top:14px;display:grid}.panel{padding:18px}.twin{min-height:292px;position:relative;overflow:hidden}.twin h3,.risks h3,.advisor h3,.reports h3{text-transform:uppercase;margin:0 0 12px;font-size:16px}.twin-grid{grid-template-columns:1fr 160px 1fr;align-items:center;gap:12px;margin-top:14px;display:grid}.entity-list{gap:13px;display:grid}.entity{grid-template-columns:28px 1fr auto;align-items:center;gap:9px;font-size:14px;display:grid}.dot{color:#02101d;border-radius:999px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid;box-shadow:0 0 18px}.core{place-items:center;height:154px;display:grid;position:relative}.core:before{content:"";background:radial-gradient(circle,#7057ff59,#03081266 55%,#0000 70%);border:2px solid #22b7ffa6;border-radius:999px;width:138px;height:138px;position:absolute;box-shadow:0 0 34px #7057ffa6,inset 0 0 35px #22b7ff33}.core span{z-index:2;font-size:22px;font-weight:800;position:relative}.flowline{filter:drop-shadow(0 0 6px #22b7ffcc);transform-origin:50%;background:linear-gradient(90deg,#0000,#25f59db3,#22b7ffcc,#0000);width:310px;height:1px;position:absolute}.flowline.l1{transform:rotate(10deg)}.flowline.l2{transform:rotate(-9deg)}.flowline.l3{transform:rotate(22deg)}.flowline.l4{transform:rotate(-22deg)}.risk-list{gap:10px;display:grid}.risk{background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:34px 1fr 58px;align-items:center;gap:12px;padding:12px;display:grid}.badge{background:#ff525259;border-radius:999px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.risk-score{border:3px solid var(--red);border-radius:999px;place-items:center;width:52px;height:52px;font-size:20px;display:grid}.risk:nth-child(3) .risk-score{border-color:var(--orange)}.risk-title{font-weight:800}.risk-detail{color:#b7c4d3;font-size:13px}.advisor{min-height:570px;padding:18px;position:sticky;top:20px}.brain{filter:drop-shadow(0 0 24px #7057ff99);opacity:.9;font-size:64px;position:absolute;top:16px;right:16px}.advisor-title{color:#9c7cff;text-transform:uppercase;letter-spacing:.04em;margin-bottom:38px;font-size:18px}.action{background:#ffffff08;border:1px solid #5ba3ff2e;border-radius:12px;margin-bottom:16px;padding:18px}.action-head{grid-template-columns:32px 1fr;gap:12px;font-weight:800;display:grid}.action-n{background:#ffffff21;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.action-value{color:var(--green);margin:10px 0 0 44px;font-size:24px;font-weight:900}.action-meta{color:#90f7b8;justify-content:space-between;margin-left:44px;font-size:12px;display:flex}.reports{margin-top:18px}.report-grid{grid-template-columns:250px repeat(5,1fr);gap:12px;display:grid}.report-cover,.report-page{border-radius:12px;min-height:378px;overflow:hidden}.report-cover{border:1px solid var(--line);background:linear-gradient(155deg,#071221f2,#08162cd1);padding:24px;position:relative}.report-cover:after{content:"";background:radial-gradient(circle,#22b7ff8c,#7057ff40,#0000 70%);border-radius:999px;width:190px;height:190px;position:absolute;bottom:-40px;right:-40px}.report-page{color:#09153b;background:#f7f8fb;padding:20px;box-shadow:0 20px 50px #00000059}.report-num{color:#06135b;margin-right:12px;font-size:21px;font-weight:900}.report-title{text-transform:uppercase;color:#06135b;font-size:13px;font-weight:900}.report-line{background:#d8dce8;height:1px;margin:16px 0}.mini-kpis{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mini-box{text-align:center;border:1px solid #dce2ef;border-radius:7px;padding:9px;font-size:11px}.mini-box strong{color:#198a40;font-size:18px;display:block}.donut{background:conic-gradient(#182a83 0 78deg, #dfe3ee 78deg);border-radius:999px;width:112px;height:112px;margin:22px auto}.bars{align-items:flex-end;gap:10px;height:150px;margin-top:22px;display:flex}.bar{background:linear-gradient(#4f8dff,#1649a7);border-radius:4px 4px 0 0;width:18px}.footer-action{place-items:center;margin-top:18px;display:grid}.cta{color:#fff;background:linear-gradient(135deg,#5538f1,#4120c7);border:0;border-radius:9px;padding:14px 36px}@media (max-width:1300px){.dashboard{grid-template-columns:1fr}.advisor{min-height:auto;position:relative}.kpis,.report-grid{grid-template-columns:repeat(2,1fr)}}.upload-bar{z-index:2;align-items:center;gap:12px;margin-top:18px;display:flex;position:relative}.upload-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f6cff,#7b61ff);border:1px solid #36b7ff59;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;font-weight:800;display:inline-flex;box-shadow:0 10px 25px #2f6cff40}.upload-btn input{display:initial}.pill{color:#9fffd7;background:#28f5a414;border:1px solid #28f5a459;border-radius:999px;padding:7px 10px;font-size:12px}.pill.demo{color:#ffd19a;background:#ff9d2e14;border-color:#ff9d2e59}.error-box{color:#ffd1d6;z-index:2;background:#ff4d5f1f;border:1px solid #ff4d5f59;border-radius:12px;margin-top:12px;padding:12px 14px;position:relative}.method-box{color:#cfe7ff;background:#081321b8;border:1px solid #5da7ff2e;border-radius:16px;margin-top:16px;padding:14px 16px}.method-warning{color:#ffd19a;margin-top:8px}.kpi-card h4{text-transform:uppercase;letter-spacing:.04em;color:#9fb3c8;margin:0 0 12px;font-size:11px}.kpi-card .kpi{min-height:0;padding:0;font-size:30px;font-weight:900;line-height:1}.panel-title{text-transform:uppercase;letter-spacing:.04em;color:#cfe0f2;margin-bottom:16px;font-size:13px}.view-empty{color:var(--muted);padding:40px 8px}.bars{align-items:flex-end;gap:26px;height:190px;padding:0 6px;display:flex}.bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.bar-pair{align-items:flex-end;gap:6px;height:150px;display:flex}.bar{border-radius:5px 5px 0 0;width:26px;min-height:3px}.bar.ca{background:linear-gradient(#30cbff,#2f6cff)}.bar.ebe{background:linear-gradient(#25f59d,#198a40)}.bar-label{color:#cfe0f2;margin-top:8px;font-size:13px}.bar-marge{color:#9fb3c8;font-size:11px}.legend{color:#cfe0f2;align-items:center;gap:16px;margin-top:14px;font-size:12px;display:flex}.legend .dot{border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend .dot.ca{background:#30cbff}.legend .dot.ebe{background:#25f59d}.zscore-row{align-items:center;gap:18px;display:flex}.zscore-big{font-size:52px;font-weight:900;line-height:1}.zscore-big.green{color:var(--green)}.zscore-big.orange{color:var(--orange)}.zscore-big.red{color:var(--red)}.zscore-meta{flex-direction:column;gap:6px;display:flex}.pill.green{color:#25f59d;background:#25f59d29}.pill.orange{color:var(--orange);background:#f0b25429}.pill.red{color:var(--red);background:#f06a7e29}.zscore-detail{margin-top:14px}.reserve{color:#b9c8d8;background:#f0b25414;border:1px solid #f0b25438;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:12px}.cost-row{margin-bottom:13px}.cost-top{color:#dbe8f8;justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.cost-top .num{color:#9fb3c8}.cost-bar{background:#ffffff0f;border-radius:6px;height:8px;overflow:hidden}.cost-bar i{background:linear-gradient(90deg,#30cbff,#7057ff);border-radius:6px;height:100%;display:block}.pill.blue{color:#30cbff;background:#30cbff29}.pill.violet{color:#9b8cff;background:#7057ff33}.signal-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.signal-card{border:1px solid var(--line);background:#0a172880;border-radius:14px;padding:15px 16px}.signal-head{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.signal-rubrique{text-transform:uppercase;letter-spacing:.04em;color:#9fb3c8;font-size:11px}.signal-text{color:#eaf3ff;margin-bottom:6px;font-size:14px;font-weight:600}.signal-impact{color:#30cbff;margin-bottom:8px;font-size:20px;font-weight:800}.signal-reco{line-height:1.45}.plan-list{gap:10px;display:grid}.plan-row{border:1px solid var(--line);background:#0a172866;border-radius:12px;align-items:flex-start;gap:14px;padding:13px 15px;display:flex}.plan-prio{text-align:center;letter-spacing:.03em;text-transform:uppercase;border-radius:8px;flex-shrink:0;min-width:96px;padding:6px 8px;font-size:11px;font-weight:800}.plan-prio.red{color:#f06a7e;background:#f06a7e29}.plan-prio.blue{color:#30cbff;background:#30cbff24}.plan-prio.orange{color:#f0b254;background:#f0b25429}.plan-prio.violet{color:#9b8cff;background:#7057ff33}.plan-body{flex:1}.plan-action{color:#eaf3ff;margin-bottom:4px;font-size:14px}.scenario-row{border:1px solid var(--line);background:#0a172873;border-radius:12px;align-items:stretch;gap:14px;padding:13px 15px;display:flex}.scenario-score{border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:74px;display:flex}.scenario-score.red{background:#f06a7e24}.scenario-score.orange{background:#f0b25424}.scenario-score.blue{background:#30cbff1f}.scenario-score-num{color:#eaf3ff;font-size:24px;font-weight:900}.scenario-score-lbl{letter-spacing:.03em;color:#9fb3c8;text-transform:uppercase;font-size:9px}.scenario-body{flex:1;min-width:0}.scenario-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:5px;display:flex}.scenario-tiers{color:#eaf3ff;font-size:14px;font-weight:700}.scenario-hypo{color:#dbe8f8;margin-bottom:4px;font-size:13px;line-height:1.4}.note-proba{color:#b9c8d8;margin-top:7px;font-size:11px;font-style:italic}.reg-table{gap:1px;display:grid}.reg-head,.reg-row{grid-template-columns:1.5fr 1.3fr 2fr .8fr .6fr;align-items:center;gap:10px;padding:9px 6px;display:grid}.reg-head{text-transform:uppercase;letter-spacing:.03em;color:#9fb3c8;border-bottom:1px solid var(--line);font-size:11px}.reg-row{color:#dbe8f8;border-bottom:1px solid #ffffff0a;font-size:12.5px}.reg-row:hover{background:#ffffff08}.reg-table .num{text-align:right}.reg-row .pill{padding:3px 7px;font-size:10px}.link-btn{color:#30cbff;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:4px 0;font-size:13px}.link-btn:hover{text-decoration:underline}.carto-legend{color:#cfe0f2;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:12px;font-size:12px;display:flex}.carto-legend .dot{vertical-align:middle;border-radius:50%;width:11px;height:11px;margin-right:6px;display:inline-block}.carto-svg{background:radial-gradient(circle at 30% 40%,#306cff0f,#0000 60%);border-radius:12px;width:100%;height:auto;display:block}.chantier-empty{text-align:center;padding:40px 30px}.chantier-empty-icon{margin-bottom:14px;font-size:46px}.chantier-empty-title{color:#eaf3ff;margin-bottom:12px;font-size:20px;font-weight:800}.chantier-empty-text{color:#c4d2e2;max-width:640px;margin:0 auto 24px;font-size:14px;line-height:1.6}.chantier-checklist{text-align:left;border:1px solid var(--line);background:#0a172880;border-radius:14px;max-width:480px;margin:0 auto;padding:18px 20px}.checklist-title{text-transform:uppercase;letter-spacing:.04em;color:#9fb3c8;margin-bottom:14px;font-size:12px}.checklist-row{color:#dbe8f8;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.checklist-row .ok{color:#25f59d;width:16px;font-weight:800}.checklist-row .ko{color:#5a6b7b;width:16px;font-weight:800}.pm-head{align-items:baseline;gap:18px;margin-bottom:16px;display:flex}.pm-big{color:#30cbff;font-size:34px;font-weight:900}.pm-meta{flex-direction:column;gap:3px;display:flex}.pm-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.pm-card{border:1px solid var(--line);background:#0a172880;border-radius:12px;padding:13px 14px}.pm-card-lbl{text-transform:uppercase;letter-spacing:.03em;color:#9fb3c8;min-height:26px;margin-bottom:8px;font-size:11px}.pm-card-val{color:#eaf3ff;font-size:19px;font-weight:800}.pm-evol{gap:8px;display:grid}.pm-evol-row{align-items:center;gap:12px;display:flex}.pm-evol-year{color:#cfe0f2;width:42px;font-size:13px}.pm-evol-bar{background:#ffffff0f;border-radius:6px;flex:1;height:9px;overflow:hidden}.pm-evol-bar i{background:linear-gradient(90deg,#30cbff,#7057ff);border-radius:6px;height:100%;display:block}.pm-evol-val{text-align:right;color:#9fb3c8;width:150px;font-size:12px}.bridge-block{border:1px solid var(--line);background:#0a172873;border-radius:14px;margin-bottom:12px;padding:16px 18px}.bridge-head{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.bridge-years{color:#eaf3ff;font-size:15px;font-weight:800}.bridge-delta{color:#cfe0f2;font-size:13px}.bridge-delta.green strong{color:#25f59d}.bridge-delta.red strong{color:#f06a7e}.bridge-bars{gap:9px;display:grid}.bridge-row{grid-template-columns:170px 1fr 70px;align-items:center;gap:12px;display:grid}.bridge-poste{color:#dbe8f8;font-size:13px}.bridge-track{height:16px;position:relative}.bridge-axis{background:#ffffff2e;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.bridge-fill{border-radius:3px;height:10px;position:absolute;top:3px}.bridge-fill.pos{background:linear-gradient(90deg,#198a40,#25f59d)}.bridge-fill.neg{background:linear-gradient(270deg,#b23047,#f06a7e)}.bridge-val{text-align:right;font-size:13px;font-weight:700}.bridge-val.green{color:#25f59d}.bridge-val.red{color:#f06a7e}.claude-constat{border-left:2px solid #30cbff;margin-bottom:14px;padding:4px 0 4px 14px}.claude-titre{color:#eaf3ff;margin-bottom:4px;font-size:14px;font-weight:700}.claude-text{color:#c4d2e2;font-size:13.5px;line-height:1.5}.claude-pistes-panel{background:#7057ff0f;border:1px solid #7057ff33}.claude-piste{border-left:2px solid #9b8cff;margin-bottom:14px;padding:4px 0 4px 14px}.claude-condition{color:#9b8cff;margin-top:6px;font-size:12px;font-style:italic}.chantier-row:hover{background:#ffffff08}.chantier-row span[title]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zbanner{border:1px solid var(--line);background:#0a17288c;border-radius:14px;align-items:center;gap:20px;margin-bottom:18px;padding:16px 20px;display:flex}.zbanner-score{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.zbanner-num{font-size:38px;font-weight:900;line-height:1}.zbanner-zone{text-transform:uppercase;letter-spacing:.03em;border-radius:8px;padding:3px 10px;font-size:11px;font-weight:700}.zbanner-mid{flex:1}.zbanner-title{color:#cfe0f2;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700}.zbanner-detail{margin-bottom:3px;font-size:13px}.zbanner-warn{color:#b9c8d8;border-left:2px solid #f0b25480;flex-shrink:0;max-width:280px;padding-left:12px;font-size:11px;font-style:italic;line-height:1.4}.v360-hero{grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 18px;display:grid}.v360-hero-item{border:1px solid var(--line);background:#0a17288c;border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.v360-lbl{color:#9fb3c8;letter-spacing:.04em;font-size:11px;font-weight:700}.v360-val{color:#eaf3ff;font-size:26px;font-weight:900}.v360-val.green{color:#25f59d}.v360-sub{color:#9fb3c8;font-size:12px}.v360-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.v360-card{padding:18px 20px}.v360-z{align-items:center;gap:14px;margin:8px 0 14px;display:flex}.v360-z-num{font-size:34px;font-weight:900;line-height:1}.v360-z-zone{text-transform:uppercase;border-radius:8px;padding:3px 10px;font-size:11px;font-weight:700}.v360-rows{flex-direction:column;gap:8px;display:flex}.v360-rows>div{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:13px;display:flex}.v360-rows>div span:last-child{color:#eaf3ff;font-weight:700}.v360-note{margin-top:12px;font-style:italic}.v360-chantier-kpis{gap:22px;display:flex}.v360-chantier-kpis>div{flex-direction:column;display:flex}.v360-big{color:#eaf3ff;font-size:28px;font-weight:900;line-height:1}.v360-big.red{color:#f06a7e}.v360-risks{flex-direction:column;gap:12px;display:flex}.v360-risk{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.v360-risk-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.v360-risk-title{color:#eaf3ff;font-size:13px;font-weight:700}.v360-risk-exp{font-size:12px}@media (max-width:1100px){.v360-hero,.v360-grid{grid-template-columns:1fr 1fr}}.reportv-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.reportv-actions{align-items:center;gap:12px;display:flex}.reportv-toggle{border:1px solid var(--line);background:#0a17288c;border-radius:10px;display:flex;overflow:hidden}.reportv-toggle button{color:#9fb3c8;cursor:pointer;background:0 0;border:none;padding:9px 16px;font-size:13px}.reportv-toggle button.on{background:var(--accent,#2f6df6);color:#fff;font-weight:700}.reportv-export{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2f6df6,#25c2a0);border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700}.reportv-export:disabled{opacity:.6;cursor:default}.reportv-export-xls{background:#0f7a5a}.reportv-export-xls:disabled{background:#7f8c93}.reportv-err{color:#f06a7e;background:#f06a7e1f;border:1px solid #f06a7e66;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.reportv-doc{color:#1c2b3a;background:#fff;border-radius:12px;max-width:880px;padding:40px 48px;box-shadow:0 8px 40px #0000004d}.reportv-doc-head{text-align:center;border-bottom:2px solid #1f8a70;margin-bottom:20px;padding-bottom:16px}.reportv-doc-head h1{color:#0a1424;margin:0 0 6px;font-size:26px}.reportv-doc-head p{color:#5a6b7b;margin:0;font-size:12px}.reportv-kpis{background:#d4deea;border:1px solid #d4deea;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.reportv-kpis>div{text-align:center;background:#f3f7fc;padding:14px 10px}.reportv-kpis span{color:#0a1424;font-size:18px;font-weight:800;display:block}.reportv-kpis label{color:#5a6b7b;letter-spacing:.03em;font-size:9px}.reportv-sec{margin-bottom:18px}.reportv-sec h3{color:#1f8a70;margin:0 0 6px;font-size:14px}.reportv-sec p{color:#1c2b3a;margin:0 0 6px;font-size:12.5px;line-height:1.6}.reportv-note{font-style:italic;color:#5a6b7b!important;font-size:10.5px!important}.reportv-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11.5px}.reportv-table th{color:#fff;text-align:left;background:#0a1424;padding:6px 8px;font-weight:600}.reportv-table th.num,.reportv-table td.num{text-align:right}.reportv-table td{border-bottom:1px solid #eef2f7;padding:6px 8px}.reportv-table tbody tr:nth-child(2n){background:#f3f7fc}.bench-card{padding:18px 20px}.bench-exos{gap:14px;display:flex}.bench-exo{border:1px solid var(--line);text-align:center;background:#0a17288c;border-radius:12px;flex:1;padding:14px 16px}.bench-exo-an{color:#9fb3c8;font-size:13px;font-weight:700}.bench-exo-val{color:#25f59d;margin:4px 0;font-size:26px;font-weight:900}.bench-exo-rn{margin-top:6px}.bench-sect{flex-direction:column;gap:18px;display:flex}.bench-sect-row{grid-template-columns:1.4fr 2.6fr auto;align-items:center;gap:16px;display:grid}.bench-sect-lbl{color:#eaf3ff;font-size:13px;font-weight:600}.bench-sect-bars{flex-direction:column;gap:6px;display:flex}.bench-sect-bar{grid-template-columns:80px 1fr 60px;align-items:center;gap:8px;display:grid}.bench-sect-tag{color:#cfe0f2;font-size:11px}.bench-sect-track{background:#ffffff0f;border-radius:6px;height:10px;overflow:hidden}.bench-sect-fill{border-radius:6px;height:100%}.bench-sect-num{color:#eaf3ff;text-align:right;font-size:12px;font-weight:700}.bench-sect-situ{text-transform:uppercase;letter-spacing:.03em;text-align:right;font-size:12px;font-weight:700}.deep-card{padding:18px 20px}.deep-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.deep-pill{letter-spacing:.04em;color:#06121f;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:800}.deep-titre{color:#eaf3ff;font-size:15px;font-weight:700}.deep-level{grid-template-columns:32px 1fr;align-items:start;gap:12px;margin-bottom:12px;display:grid}.deep-num{color:#06121f;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:flex}.deep-num-1{background:#25f59d}.deep-num-2{background:#5fb8ff}.deep-num-3{background:#9fb3c8}.deep-lbl{letter-spacing:.05em;text-transform:uppercase;color:#cfe0f2;margin-bottom:3px;font-size:11px;font-weight:700}.deep-txt{color:#eaf3ff;font-size:13px;line-height:1.55}.deep-txt.muted{color:#9fb3c8}.fi-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.fi-table th,.fi-table td{text-align:left;border-bottom:1px solid #94a3b829;padding:10px 12px}.fi-table th{color:#9fb4d8;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.deep-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.deep-kpi{background:#0f172a6b;border:1px solid #63b3ed2e;border-radius:16px;padding:14px}.deep-kpi span{color:#94a3b8;margin-bottom:6px;font-size:12px;display:block}.deep-kpi strong{color:#e2e8f0;font-size:18px}@media (max-width:980px){.deep-grid{grid-template-columns:1fr}}.cac-counters{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px;display:grid}.cac-counter{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-top:2px solid #5fb8ff;border-radius:10px;padding:14px 16px}.cac-counter-num{color:#e6eef7;font-size:28px;font-weight:800;line-height:1}.cac-counter-lbl{text-transform:uppercase;letter-spacing:.5px;color:#8aa0b6;margin-top:6px;font-size:11px}.cac-card{background:#ffffff05;border:1px solid #ffffff12;border-left:3px solid #5fb8ff;border-radius:10px;margin-top:12px;padding:16px 18px}.cac-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.cac-niveau{text-transform:uppercase;letter-spacing:.4px;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.cac-controle{color:#e6eef7;font-size:15px;font-weight:700}.cac-mater{color:#cfe0f2;margin-left:auto;font-size:14px;font-weight:700}.cac-lecture{color:#8aa0b6;border-bottom:1px solid #ffffff0d;margin-bottom:12px;padding-bottom:8px;font-size:12px;font-style:italic}.cac-levels{flex-direction:column;gap:9px;display:flex}.cac-level{color:#c4d2e0;grid-template-columns:24px 1fr;align-items:start;gap:10px;font-size:13px;line-height:1.55;display:grid}.cac-n{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:12px;font-weight:700;display:flex}.cac-n1{color:#5fb8ff;background:#5fb8ff22}.cac-n2{color:#5aa0e0;background:#2e75b622}.cac-n3{color:#f0b254;background:#f0b25422}.cac-pieces{border-top:1px solid #ffffff0d;margin-top:12px;padding-top:10px}.cac-piece{color:#9fb4c8;background:#ffffff0d;border-radius:5px;padding:2px 8px;font-size:11px}@media (max-width:800px){.cac-counters{grid-template-columns:repeat(2,1fr)}}.progress-track{border:1px solid #ffffff26;border-radius:10px;height:20px;margin-top:10px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#38bdf8,#22c55e);height:100%;transition:width .3s}.progress-track span{text-align:center;font-size:12px;line-height:20px;position:absolute;inset:0}.upload-zone{z-index:3;background:#14223759;border:1px dashed #36b7ff52;border-radius:14px;margin-top:18px;padding:12px 14px;position:relative}.upload-zone .upload-bar{flex-wrap:wrap;margin-top:0}.upload-picker{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.upload-picker.disabled{opacity:.55;cursor:not-allowed}.upload-native-hidden{clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.upload-diagnostic{color:#7f98b2;word-break:break-all;margin-top:8px;font-size:11px}.upload-btn:disabled{opacity:.55;cursor:not-allowed}.porte{z-index:2;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.porte-card{background:var(--panel2);border:1px solid var(--line);border-radius:18px;gap:12px;width:400px;max-width:100%;padding:30px 32px;display:grid;box-shadow:0 24px 80px #0208148c}.porte-card.large{width:760px}.porte-card label{color:var(--muted);gap:6px;font-size:13px;display:grid}.porte-card input{border:1px solid var(--line);color:var(--text);font:inherit;background:#050d1ad9;border-radius:10px;padding:11px 13px}.porte-card .primary{cursor:pointer}.porte-card .primary:disabled{opacity:.5;cursor:default}.porte-err{color:#ffb3ba;background:#ff3f4f1f;border:1px solid #ff3f4f66;border-radius:10px;padding:9px 12px;font-size:13px}.porte-ok{color:#a9f5d3;background:#25f59d1a;border:1px solid #25f59d59;border-radius:10px;padding:9px 12px;font-size:13px}.porte-head{justify-content:space-between;align-items:center;display:flex}.porte-link{color:var(--blue);cursor:pointer;font:inherit;background:0 0;border:none;padding:2px 4px;font-size:13px}.porte-link:hover{text-decoration:underline}.porte-offres{grid-template-columns:1fr 1fr;gap:14px;display:grid}.porte-offre{border:1px solid var(--line);background:#0a1728b3;border-radius:14px;align-content:start;gap:8px;padding:16px;display:grid}.porte-offre b{font-size:17px}.porte-offre .muted{font-size:13px;line-height:1.5}.porte-prix{gap:8px;margin-top:6px;display:grid}.porte-chip{z-index:50;background:var(--panel2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:13px;display:flex;position:fixed;top:10px;right:14px}.small{font-size:12px}@media (max-width:760px){.porte-offres{grid-template-columns:1fr}.porte-card.large{width:100%}}
