:root{--ink:#10263a;--muted:#6c7a89;--line:#dfe7ec;--surface:#fff;--canvas:#f3f6f8;--teal:#16a7a1;--blue:#3979d5;--gold:#e8aa39;--coral:#e46557;--violet:#7658ce;--navy:#0d273b;--navy-2:#153951;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--ink:#f4f8fb;--muted:#a5b3c0;--line:#b7d1e226;--surface:#101f2c;--canvas:#071019;--teal:#4ad6cd;--navy:#071019;--navy-2:#0b1722;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:color .25s,background .25s}button,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--canvas);grid-template-columns:238px 1fr;min-height:100vh;display:grid}.sidebar{z-index:8;color:#fff;background:radial-gradient(circle at 0 78%, #16a7a13b, transparent 34%), linear-gradient(160deg, var(--navy), #091d2e 80%);flex-direction:column;width:238px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.02em;align-items:center;gap:12px;padding:0 8px 28px;font-weight:760;display:flex}.brand-mark{place-items:center;width:64px;height:64px;font-size:13px;font-weight:900;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.sidebar nav{gap:6px;display:grid}.nav-item{text-align:left;color:#aabac7;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;padding:12px 14px;transition:transform .2s,color .2s,background .2s;display:flex}.nav-item span{color:#5f7a8f;font-size:10px;font-weight:800}.nav-item:hover{color:#fff;background:#ffffff0e;transform:translate(3px)}.nav-item.active{color:#fff;background:linear-gradient(90deg,#16a7a145,#ffffff0e);box-shadow:inset 3px 0 #43d0c7}.nav-item.active span{color:#57d7d0}.side-note{background:#ffffff0b;border:1px solid #ffffff1a;border-radius:14px;margin-top:auto;padding:17px}.side-note span{color:#58d7cf;letter-spacing:.15em;margin-bottom:8px;font-size:10px;font-weight:850;display:block}.side-note strong{font-size:19px;display:block}.side-note small{color:#93a9b8;margin-top:5px;line-height:1.45;display:block}.main-content{grid-column:2;min-width:0;padding:32px clamp(24px,3vw,46px) 20px}.topbar{justify-content:space-between;align-items:flex-start;gap:28px;animation:.55s both rise;display:flex}.eyebrow,.section-kicker{color:var(--teal);letter-spacing:.16em;font-size:10px;font-weight:900}h1{letter-spacing:-.042em;margin:7px 0;font-size:clamp(27px,3vw,42px);line-height:1.08}.topbar p{max-width:750px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.snapshot{border:1px solid var(--line);color:#526576;background:#ffffffb8;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:inline-flex}.snapshot i{background:var(--teal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #16a7a11f}.present-button{color:#fff;background:var(--navy);border:0;border-radius:10px;padding:10px 15px;font-weight:750;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px #0d273b24}.present-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0d273b38}.theme-button{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:11px;font-weight:780;transition:transform .2s,background .2s;display:inline-flex}.theme-button:hover{transform:translateY(-2px)}.theme-button span{color:var(--teal);font-size:15px;line-height:1}.filterbar{z-index:30;border:1px solid var(--line);background:#ffffffd4;border-radius:14px;align-items:flex-end;gap:12px;margin-top:24px;padding:12px 14px;animation:.55s 80ms both rise;display:flex;position:relative;box-shadow:0 8px 30px #1d3a4f0b}.filter-intro{min-width:140px;margin-right:auto;padding:1px 4px}.filter-intro span{color:var(--teal);letter-spacing:.14em;font-size:9px;font-weight:900;display:block}.filter-intro strong{font-size:15px}.filterbar .filter-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800;display:block}.custom-select{margin-top:5px;display:block;position:relative}.custom-select-trigger{min-width:138px;color:var(--ink);text-transform:none;text-align:left;background:#fff;border:1px solid #d5dfe5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;transition:border-color .18s,box-shadow .18s;display:flex}.custom-select-trigger:hover{border-color:var(--teal)}.custom-select-trigger[aria-expanded=true]{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #16a7a11f}.custom-select-caret{color:var(--teal);font-size:10px;transition:transform .18s}.custom-select-trigger[aria-expanded=true] .custom-select-caret{transform:rotate(180deg)}.custom-select-list{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:10px;max-height:220px;margin:0;padding:6px;list-style:none;animation:.16s both rise;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 18px 40px #0d273b2e}.custom-select-list li{color:var(--ink);cursor:pointer;border-radius:7px;padding:8px 10px;font-size:12px;transition:background .15s,color .15s}.custom-select-list li:hover{background:#16a7a11f}.custom-select-list li.selected{color:var(--teal);background:#16a7a11a;font-weight:750}.reset{color:var(--blue);background:0 0;border:0;border-radius:8px;align-self:flex-end;padding:9px 12px;font-size:12px;font-weight:750;transition:color .2s,background .2s,transform .2s}.reset:hover{color:var(--teal);background:#16a7a117;transform:translateY(-1px)}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:15px;display:grid}.kpi-card{border:1px solid var(--line);background:var(--surface);min-height:127px;animation:rise .5s var(--delay) ease both;border-radius:15px;padding:18px 18px 16px;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 10px 30px #1c394d0e}.kpi-card:before{content:"";background:var(--accent);height:4px;position:absolute;inset:0 0 auto}.kpi-card:after{content:"";background:color-mix(in srgb, var(--accent) 11%, transparent);border-radius:50%;width:72px;height:72px;position:absolute;top:-30px;right:-30px}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px #1c394d1a}.tone-teal{--accent:var(--teal)}.tone-blue{--accent:var(--blue)}.tone-gold{--accent:var(--gold)}.tone-coral{--accent:var(--coral)}.tone-violet{--accent:var(--violet)}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.075em;font-size:11px;font-weight:760}.kpi-value{letter-spacing:-.045em;margin:10px 0 6px;font-size:clamp(24px,2.3vw,34px);font-weight:820;line-height:1}.kpi-note{color:#81909d;font-size:11px}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(315px,.85fr);gap:15px;margin-top:15px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:20px;animation:.55s .34s both rise;box-shadow:0 11px 32px #1c394d0e}.panel-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel h2{letter-spacing:-.02em;margin:5px 0 0;font-size:17px}.panel-stat{color:var(--muted);font-size:11px}.line-chart{margin-top:10px}.line-chart svg{width:100%;height:245px;display:block;overflow:visible}.grid-line{stroke:#e9eef1;stroke-width:1px}.axis-value{fill:var(--muted);font-size:9px;font-weight:750}.trend-line{fill:none;stroke:var(--teal);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600px;animation:1.6s cubic-bezier(.25,.8,.25,1) .45s forwards draw-line}.trend-point circle{fill:#fff;stroke:var(--point-color,var(--teal));stroke-width:3px;transition:r .2s,fill .2s}.trend-point:hover circle{r:8;fill:var(--point-color,var(--teal))}.chart-axis{color:#8b98a4;justify-content:space-between;margin:-13px 15px 0;font-size:9px;display:flex}.chart-axis span{opacity:0}.chart-axis span.show{opacity:1}.chart-note{color:#7a5d17;background:#e8aa3921;border-radius:7px;margin-top:12px;padding:6px 9px;font-size:10px;font-weight:700;display:inline-flex}.no-chart-data{border:1px dashed var(--line);min-height:220px;color:var(--muted);border-radius:12px;place-items:center;margin-top:12px;font-size:12px;display:grid}.bar-chart{gap:18px;margin-top:25px;display:grid}.bar-row-clickable{cursor:pointer;border-radius:8px;transition:background .18s,opacity .18s}.bar-row-clickable:hover{background:#43d0c714}.bar-chart:has(.bar-row-active) .bar-row-clickable:not(.bar-row-active){opacity:.45}.bar-row-active .bar-fill{filter:brightness(1.25)}.bar-copy{color:#536677;justify-content:space-between;gap:16px;margin-bottom:7px;font-size:11px;display:flex}.bar-copy strong{color:var(--ink)}.bar-track{background:#eef2f4;border-radius:999px;height:9px;overflow:hidden}.bar-fill{border-radius:inherit;transform-origin:0;height:100%;animation:grow .75s var(--bar-delay) cubic-bezier(.2,.75,.2,1) both;background:linear-gradient(90deg,#e86b5c,#f3a078);display:block}.bars-teal .bar-fill{background:linear-gradient(90deg,#138d89,#43c9c1)}.bars-blue .bar-fill{background:linear-gradient(90deg,#3979d5,#78a8e9)}.bars-violet .bar-fill{background:linear-gradient(90deg,#7658ce,#a28be3)}.dashboard-page{min-height:560px}.page-enter{animation:.42s cubic-bezier(.2,.75,.2,1) both page-in}.empty-state{border:1px dashed var(--line);text-align:center;background:var(--surface);border-radius:18px;place-content:center;justify-items:center;min-height:410px;margin-top:15px;padding:40px;display:grid}.empty-state span{color:var(--teal);letter-spacing:.16em;font-size:10px;font-weight:900}.empty-state strong{margin-top:10px;font-size:25px}.empty-state p{color:var(--muted);margin:7px 0 18px;font-size:12px}.empty-state button{color:#fff;background:var(--navy);border:0;border-radius:9px;padding:10px 14px;font-weight:750}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.wide-panel,.span-two{grid-column:1/-1}.chart-legend{color:var(--muted);justify-content:center;gap:18px;margin-top:5px;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:99px;width:18px;height:3px}.segment-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:19px;display:grid}.segment-card{background:#f9fbfc;border:1px solid #e6ecef;border-radius:12px;padding:13px}.segment-card>div{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.segment-card strong{font-size:11px}.segment-card span{color:var(--ink);font-size:13px;font-weight:850}.mini-progress{background:#e9eef1;border-radius:999px;width:100%;height:7px;overflow:hidden}.mini-progress span{border-radius:inherit;transform-origin:0;height:100%;animation:.7s cubic-bezier(.2,.75,.2,1) .2s both grow;display:block}.donut-wrap{grid-template-columns:160px 1fr;align-items:center;gap:24px;min-height:245px;margin-top:8px;display:grid}.donut{aspect-ratio:1;border-radius:50%;place-items:center;width:158px;animation:.85s cubic-bezier(.2,.75,.2,1) .15s both spin-in;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:25px;box-shadow:0 0 0 1px #10263a0a}.donut>div{z-index:1;text-align:center;position:relative}.donut strong{letter-spacing:-.04em;font-size:25px;display:block}.donut span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.donut-legend{gap:11px;display:grid}.donut-legend>div{grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:11px;display:grid}.donut-legend i{border-radius:50%;width:8px;height:8px}.donut-legend span{color:var(--muted)}.table-panel{margin-top:15px}.content-grid .table-panel{margin-top:0}.table-scroll{border:1px solid #e6ecef;border-radius:12px;margin-top:18px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px;font-size:11px}th{z-index:1;text-align:left;color:#687987;letter-spacing:.075em;text-transform:uppercase;background:#f3f6f8;padding:11px 13px;font-size:9px;font-weight:900;position:sticky;top:0}td{color:#526575;border-top:1px solid #ebf0f2;padding:11px 13px}tbody tr{transition:background .18s}tbody tr:hover{background:#f8fbfc}td strong{color:var(--ink)}td small{color:#91a0ab;margin-top:4px;display:block}.score-chip,.risk-chip,.priority{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.score-chip.good{color:#08706b;background:#daf5ef}.score-chip.watch{color:#966611;background:#fff1cd}.score-chip.bad{color:#a33b32;background:#ffe2df}.risk-low{color:#08706b;background:#daf5ef}.risk-medium{color:#966611;background:#fff1cd}.risk-high{color:#a33b32;background:#ffe2df}.risk-chip{color:#536677;background:#edf2f5}.actions-panel{margin-top:15px;animation:.5s .1s both rise}.table-tools{grid-template-columns:minmax(240px,1fr) 170px auto;gap:10px;margin-top:18px;display:grid}.table-tools input,.table-tools select{min-width:0;color:var(--ink);background:#fff;border:1px solid #dbe4e9;border-radius:9px;outline:none;padding:10px 12px;font-size:11px}.table-tools input:focus,.table-tools select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16a7a11a}.table-tools button{color:#fff;background:var(--navy);border:0;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:780}.action-table{max-height:470px}.action-copy{min-width:260px;line-height:1.4}.priority-urgent{color:#a5352e;background:#ffe0dd}.priority-high{color:#95620f;background:#ffefc5}.priority-watch{color:#2865a9;background:#deebfc}.quality-list{gap:20px;margin-top:25px;display:grid}.quality-list.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.quality-list>div>div{justify-content:space-between;gap:14px;margin-bottom:8px;display:flex}.quality-list strong{font-size:11px}.quality-list span{color:var(--muted);font-size:10px}.quality-explainer{color:var(--muted);margin:18px 0 0;font-size:11px;line-height:1.55}.model-map{grid-template-columns:repeat(2,1fr);align-content:center;gap:12px;min-height:320px;margin-top:10px;display:grid;position:relative}.dimension-node,.fact-node{background:#f8fafb;border:1px solid #dfe8ec;border-radius:12px;justify-content:space-between;align-items:center;min-height:74px;padding:16px;font-size:11px;font-weight:800;display:flex}.dimension-node strong{color:#0b716d;background:#d8f3ee;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.fact-node{color:#fff;background:linear-gradient(135deg, var(--navy), var(--navy-2));border:0;grid-column:1/-1;min-height:96px}.fact-node strong{margin-left:auto;font-size:26px}.fact-node span{color:#9eb4c3;margin-left:10px;font-size:9px;font-weight:600;display:block}.definition-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.definition-grid>div{border-left:3px solid var(--teal);background:#f7fafb;border-radius:0 10px 10px 0;padding:15px}.definition-grid strong{font-size:11px}.definition-grid p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.55}.governance-note{color:#637482;background:#f8fafb;border:1px solid #dfe8ec;border-radius:12px;grid-column:1/-1;align-items:center;gap:18px;padding:16px 18px;font-size:10px;display:flex}.governance-note strong{color:var(--ink);flex-shrink:0}html[data-theme=dark] .sidebar{background:radial-gradient(circle at 0 78%,#16a7a133,#0000 34%),linear-gradient(160deg,#061724,#04111c 80%)}html[data-theme=dark] .filterbar{background:#112a3ceb;box-shadow:0 10px 35px #0000002e}html[data-theme=dark] .custom-select-trigger,html[data-theme=dark] .table-tools input,html[data-theme=dark] .table-tools select{color:var(--ink);background:#173348;border-color:#345064}html[data-theme=dark] .custom-select-list{background:#132b3e;border-color:#345064}html[data-theme=dark] .custom-select-list li:hover{background:#4ad6cd24}html[data-theme=dark] .custom-select-list li.selected{color:var(--teal);background:#4ad6cd1f}html[data-theme=dark] .snapshot{color:#b1c2ce;background:#132b3ee6}html[data-theme=dark] .present-button{color:#061c28;background:#16a7a1}html[data-theme=dark] .kpi-card,html[data-theme=dark] .panel{box-shadow:0 12px 32px #0000002e}html[data-theme=dark] .grid-line{stroke:#294356}html[data-theme=dark] .trend-point circle{fill:var(--surface)}html[data-theme=dark] .bar-track,html[data-theme=dark] .mini-progress{background:#284257}html[data-theme=dark] .segment-card,html[data-theme=dark] .definition-grid>div,html[data-theme=dark] .dimension-node,html[data-theme=dark] .governance-note{color:#b6c6d0;background:#10283a;border-color:#294356}html[data-theme=dark] .donut:after{background:var(--surface)}html[data-theme=dark] .table-scroll{border-color:#294356}html[data-theme=dark] th{color:#a8bac6;background:#10283a}html[data-theme=dark] td{color:#b2c2cc;border-top-color:#294356}html[data-theme=dark] tbody tr:hover{background:#173348}html[data-theme=dark] .model-map .fact-node{background:linear-gradient(135deg,#071826,#17435d)}html[data-theme=dark] .side-note{background:#ffffff09}html[data-theme=dark] .chart-note{color:#f1c96e;background:#e8aa391f}.app-shell.is-presenting{grid-template-columns:1fr}.app-shell.is-presenting .sidebar{transform:translate(-105%)}.app-shell.is-presenting .main-content{grid-column:1;padding-inline:clamp(24px,4vw,70px)}.sidebar{transition:transform .35s cubic-bezier(.2,.75,.2,1)}@keyframes page-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-in{0%{opacity:0;transform:rotate(-35deg)scale(.85)}to{opacity:1;transform:rotate(0)scale(1)}}footer{color:#80909d;justify-content:space-between;gap:24px;padding:15px 4px 0;font-size:10px;display:flex}footer strong{color:var(--ink)}.intro{z-index:50;color:#fff;background:var(--navy);pointer-events:none;place-content:center;justify-items:center;animation:.9s cubic-bezier(.7,0,.25,1) 1.25s forwards intro-away;display:grid;position:fixed;inset:0}.intro-logo{object-fit:contain;width:clamp(120px,16vw,220px);height:clamp(120px,16vw,220px);animation:.65s both intro-rise}.intro-rule{background:var(--teal);border-radius:9px;width:126px;height:4px;margin:12px 0 13px;animation:.65s .16s both rule}.intro-copy{color:#a8c0cf;letter-spacing:.35em;font-size:11px;font-weight:850;animation:.6s .25s both intro-rise}@keyframes rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes intro-away{to{opacity:0;visibility:hidden;transform:translateY(-4%)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes rule{0%{width:0}to{width:126px}}@media (width>=781px) and (width<=1050px){.main-content{padding-inline:24px}.filterbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.filter-intro{grid-column:1/-1;margin-right:0}.filterbar .filter-field,.filterbar .custom-select-trigger{width:100%;min-width:0}.reset{justify-self:start}}@media (width<=1120px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid.four{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.segment-strip{grid-template-columns:repeat(3,1fr)}.wide-panel,.span-two{grid-column:auto}.definition-grid{grid-template-columns:repeat(2,1fr)}.quality-list.compact{grid-template-columns:1fr}}@media (width<=780px){.app-shell{padding-bottom:72px;display:block}.sidebar{width:auto;height:66px;padding:7px 8px;inset:auto 0 0}.brand,.side-note{display:none}.sidebar nav{grid-template-columns:repeat(6,1fr);gap:3px;display:grid}.nav-item{justify-content:center;padding:9px 4px;font-size:9px}.nav-item span{display:none}.nav-item.active{box-shadow:inset 0 3px #43d0c7}.main-content{padding:22px 14px}.topbar,.filterbar,footer{flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between}.filter-intro{margin-right:0}.filterbar .filter-field,.filterbar .custom-select-trigger{width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr)}.segment-strip{grid-template-columns:1fr}.donut-wrap{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}.table-tools,.definition-grid{grid-template-columns:1fr}.governance-note{flex-direction:column;align-items:flex-start}.app-shell.is-presenting{padding-bottom:0}.app-shell.is-presenting .main-content{padding-inline:14px}}@media (width<=480px){.kpi-grid,.kpi-grid.four{grid-template-columns:1fr}.snapshot{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
