
:root{--navy:#0e192b;--navy2:#1b2d45;--paper:#f4f6fa;--surface:#fff;--ink:#1e293b;--muted:#66758a;--line:#e1e7ef;--teal:#0c817a;--teal-bg:#e8f5f2;--blue:#225c9f;--blue-bg:#eaf2fb;--amber:#a96516;--amber-bg:#fff5e5;--red:#ac3d43;--red-bg:#fff0f0;--purple:#76529d;--radius:16px;--shadow:0 12px 32px rgba(30,49,76,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}.layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:26px 17px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:3px 9px 29px;text-decoration:none;color:white}.brand-mark{width:43px;height:43px;border:1px solid #688da7;border-radius:13px;display:grid;place-items:center;letter-spacing:-1px;font-weight:800;font-size:18px}.brand-label{font-weight:760;font-size:15px;letter-spacing:.04em}.brand small{display:block;color:#9cadc2;font-weight:450;font-size:11px;letter-spacing:.08em}.nav-head{font-size:10px;font-weight:740;letter-spacing:.17em;color:#829ab4;margin:16px 12px 10px}.nav-btn{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#b4c4d5;border-radius:11px;text-align:left;padding:11px 12px;font-size:13px;font-weight:620;margin-bottom:5px}.nav-btn:hover{background:#20334b;color:white}.nav-btn.active{background:#233e53;color:#fff;box-shadow:inset 3px 0 #53cfbf}.nav-btn svg{width:17px;height:17px;flex-shrink:0}.sidebar-foot{padding:22px 12px;color:#96aabe;font-size:11px;line-height:1.7}.dot{display:inline-block;width:7px;height:7px;background:#5dd2b6;border-radius:50%;margin-right:7px}.main{min-width:0}.topbar{background:#fff;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px clamp(18px,3vw,42px)}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs strong{font-weight:650;color:#263d58}.toolbox{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.content{max-width:1620px;margin:0 auto;padding:29px clamp(16px,3vw,42px) 60px}.eyebrow{color:var(--teal);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:820}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:5px 0 7px;font-size:clamp(26px,2.5vw,35px);line-height:1.17;letter-spacing:-.036em;color:var(--navy)}.page-heading p{margin:0;max-width:770px;color:var(--muted)}.small-note{font-size:12px;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 13px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{border-color:#a5b7cc;background:#f5faff}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:#274161}.btn.teal{background:var(--teal);color:#fff;border-color:var(--teal)}.btn.danger{color:var(--red)}.btn.small{padding:6px 9px;font-size:11px}.btn:focus-visible,.nav-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #83cfc5;outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:20px;min-width:0}.card h2,.card h3{color:#192c44;margin:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-title h2{font-size:17px;letter-spacing:-.015em}.card-title span{font-size:11px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.stat{min-height:142px;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;right:-35px;top:-45px;width:105px;height:105px;border:20px solid #e6f0f1;border-radius:50%;opacity:.7}.stat .label{color:var(--muted);font-size:12px;font-weight:650}.stat .value{font-size:35px;font-weight:790;line-height:1.2;letter-spacing:-.05em;margin:9px 0;color:#172b43;font-variant-numeric:tabular-nums}.stat .foot{font-size:11px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-bottom:18px}.grid-2.equal{grid-template-columns:1fr 1fr}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}.badge{display:inline-block;padding:4px 8px;border-radius:30px;background:#edf2f7;color:#4a5b70;font-size:11px;font-weight:740;white-space:nowrap}.badge.critique{background:var(--red-bg);color:var(--red)}.badge.important{background:#fff4d2;color:#89620c}.badge.eleve{background:var(--amber-bg);color:var(--amber)}.badge.modere{background:var(--blue-bg);color:var(--blue)}.badge.faible{background:var(--teal-bg);color:var(--teal)}.badge.neutre{background:#f1f3f6;color:#546578}.legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:13px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}.heatgrid{display:grid;grid-template-columns:36px repeat(4,minmax(0,1fr));gap:5px;max-width:560px}.cell{min-height:70px;border:0;position:relative;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;color:#16324b}.cell:hover{filter:brightness(.96);outline:2px solid #355f7c;outline-offset:-2px}.cell small{font-size:10px;font-weight:650;opacity:.74}.cell strong{font-size:18px}.axis{display:flex;align-items:center;justify-content:center;font-size:12px;color:#637389;font-weight:750}.h-low{background:#d9f2e8}.h-mod{background:#e7f0fb}.h-important{background:#fff0ce}.h-high{background:#ffdfba}.h-crit{background:#ffe0df}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-size:10px;font-weight:780;letter-spacing:.07em;text-transform:uppercase;color:#758498;border-bottom:1px solid var(--line);padding:11px 9px;white-space:nowrap}.table td{font-size:12px;padding:13px 9px;border-bottom:1px solid #edf0f4;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#f8fafc}.table .link{color:#1b557c;font-weight:760;text-decoration:none;cursor:pointer;border:0;background:none;padding:0;text-align:left}.table .link:hover{text-decoration:underline}.row-title{font-weight:720;color:#253650}.row-sub{color:var(--muted);font-size:11px;margin-top:2px;max-width:350px}.risk-score{font-weight:820;font-variant-numeric:tabular-nums}.bar{height:8px;background:#edf1f5;border-radius:10px;overflow:hidden}.bar div{height:100%;border-radius:10px;background:#138f84}.progress{display:flex;align-items:center;gap:9px}.progress .bar{width:100%;min-width:90px}.progress .pct{font-size:11px;color:#596d80;font-weight:700;min-width:30px;text-align:right}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field span,.field label{font-size:11px;font-weight:700;color:#54647a}.field input,.field select,.field textarea{border:1px solid #d6dfeb;background:#fff;border-radius:9px;padding:10px;color:#24364e;width:100%;outline:0}.field textarea{min-height:90px;resize:vertical}.filters .field{min-width:170px;flex:1}.filters .field.wide{flex:2;min-width:215px}.kri{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff}.kri .number{font-size:27px;font-weight:780;letter-spacing:-.04em;margin:12px 0 5px}.kri .klabel{font-size:12px;font-weight:710}.kri .desc{font-size:11px;color:var(--muted)}.section-label{font-size:12px;color:var(--muted);font-weight:750;margin:20px 0 10px}.timeline{display:flex;gap:0;margin:14px 0 10px;overflow-x:auto}.milestone{flex:1;min-width:130px;border-top:3px solid #cddbe7;padding:14px 12px 6px;position:relative}.milestone:before{content:"";width:11px;height:11px;border:3px solid #fff;background:#0d847e;box-shadow:0 0 0 2px #0d847e;border-radius:50%;position:absolute;top:-7px;left:12px}.milestone strong{display:block;font-size:11px;color:var(--teal)}.milestone b{display:block;margin-top:3px;font-size:12px}.milestone p{margin:5px 0 0;font-size:11px;color:var(--muted)}.callout{border-left:3px solid var(--teal);background:#eef7f5;padding:13px 15px;border-radius:0 11px 11px 0;font-size:12px;color:#275453;margin:16px 0}.callout.warn{border-color:#c68938;background:#fff6e7;color:#77511f}.callout p{margin:4px 0}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f4;font-size:12px}.mini-row:last-child{border:0}.mini-row strong{font-size:13px}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail{background:#f6f8fb;padding:12px;border-radius:10px}.detail label{display:block;color:#6b7c90;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:760}.detail strong{display:block;margin-top:4px;font-size:13px}.chart-holder svg{width:100%;height:auto;max-height:265px}.score-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.score-box{background:#f5f8fa;text-align:center;padding:14px 8px;border-radius:11px}.score-box strong{font-size:23px;display:block}.score-box small{color:var(--muted)}.score-box .small{font-size:12px;font-weight:740}.notice{background:#e9f4f5;border:1px solid #c9e3e2;color:#255c60;border-radius:12px;padding:15px;font-size:12px;margin:14px 0}.empty{text-align:center;padding:48px;color:#65778e}.empty strong{display:block;color:#283d55;font-size:16px;margin:4px 0}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(7,20,36,.63);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:35px 15px}.modal{width:min(760px,100%);background:#fff;border-radius:17px;padding:23px;box-shadow:0 35px 90px #0004}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.modal-head h2{margin:0;font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span2{grid-column:span 2}.modal-foot{margin-top:20px;display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.sim-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sim-inputs select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.footer{color:#8491a2;font-size:11px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:15px 0}.kpi-mini{background:#f7fafb;border-radius:11px;padding:12px}.kpi-mini strong{display:block;font-size:23px}.kpi-mini small{color:var(--muted)}.print-only{display:none}.pilltabs{display:flex;gap:7px;flex-wrap:wrap}.pilltabs button{background:#f1f5f8;border:1px solid #e5edf3;border-radius:20px;padding:7px 12px;font-size:11px;font-weight:750;color:#53677b}.pilltabs button.selected{background:#e2f2ef;border-color:#9bcec3;color:#0e7367}.danger-text{color:var(--red)}.muted{color:var(--muted)}.intro{max-width:910px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1050px){.layout{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:18px 8px}.brand{padding:3px 5px 26px}.brand-label,.brand small,.nav-head,.nav-btn span:last-child,.sidebar-foot{display:none}.nav-btn{justify-content:center;padding:14px 5px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-2.equal{grid-template-columns:1fr}}
@media(max-width:610px){.layout{display:block}.sidebar{position:static;height:auto;display:flex;align-items:center;padding:9px 12px;gap:8px;overflow-x:auto}#sideNav{display:flex;gap:4px;align-items:center;white-space:nowrap}.brand{padding:0;margin-right:4px}.brand-mark{width:34px;height:34px;border-radius:9px;font-size:13px}.nav-btn{margin:0;min-width:45px}.topbar{padding:12px 15px;display:block}.toolbox{margin-top:9px;justify-content:flex-start}.content{padding:23px 13px 40px}.page-heading{display:block}.page-heading .btn{margin-top:12px}.stats{gap:9px}.stat{padding:15px;min-height:116px}.stat .value{font-size:29px}.grid-3{grid-template-columns:1fr}.card{padding:15px}.heatgrid{grid-template-columns:25px repeat(4,minmax(0,1fr));gap:3px}.cell{min-height:53px}.cell strong{font-size:14px}.form-grid,.sim-inputs,.details-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}.modal-backdrop{padding:12px}}
@media print{body{background:white}.layout{display:block}.sidebar,.topbar,.toolbox,.filters,.btn,.modal-backdrop{display:none!important}.content{padding:0;max-width:100%}.card{box-shadow:none;break-inside:avoid}.print-only{display:block}.page-heading h1{font-size:25px}}

:root{--navy:#123554;--teal:#177db4;--radius:0px} .brand-mark{border-radius:50%;font-family:Georgia,serif}.btn,.nav-btn{border-radius:0}.nav-btn.active{box-shadow:inset 3px 0 #7dd0ef}.table-scroll{max-width:100%}.btn{white-space:normal;text-align:center}.content,.card,.field{overflow-wrap:anywhere;min-width:0}.modal{max-width:calc(100vw - 24px)}:focus-visible{outline:3px solid #177db4;outline-offset:3px}.skip-link{position:fixed;top:-100px;left:12px;z-index:9999;background:white;padding:12px}.skip-link:focus{top:12px}@media(max-width:600px){.topbar{align-items:flex-start;flex-direction:column}.content{padding:20px 12px}.grid-2,.grid-3,.grid-2.equal{grid-template-columns:minmax(0,1fr)}.page-heading{align-items:stretch;flex-direction:column}.card{padding:14px}.card-title{align-items:flex-start;flex-direction:column}.timeline{grid-template-columns:1fr}.modal-foot{flex-wrap:wrap}.score-compare{gap:5px}.score-box{padding:10px 4px}.sim-inputs{grid-template-columns:1fr}}
@media(max-width:610px){.nav-btn span:last-child{display:inline;font-size:12px}#sideNav .nav-btn{width:auto;padding:12px;flex:0 0 auto}.brand{flex-shrink:0}#sideNav{flex-shrink:0}.sidebar{max-width:100%;scrollbar-width:thin}}

.table-scroll .table{min-width:560px}.table-scroll .table:has(th:nth-child(5)){min-width:880px}.table td{overflow-wrap:normal;word-break:normal}.table .link{white-space:nowrap}
