:root{--dark:#111f36;--nav:#16243c;--accent:#234db4;--accentSoft:#e9efff;--ink:#1e2d42;--muted:#65758a;--line:#dfe5ec;--bg:#f4f6f9;--green:#06794c;--red:#bd3846;--amber:#8c5e13}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Malgun Gothic','Apple SD Gothic Neo',Inter,system-ui,sans-serif;color:var(--ink);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:64px;background:var(--dark);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}.brandmark{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:-.6px}.brandmark small{font-size:9px;letter-spacing:2px;margin-left:5px;color:#a7bde8}.symbol{width:34px;height:34px;border:1px solid #5c789f;display:grid;place-items:center;border-radius:9px;color:#b9d3ff;font-size:22px}.toplinks{display:flex;align-items:center;gap:18px;font-size:11px}.status-indicator{color:#c7d8ef}.status-indicator:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#7dd6a2;margin-right:7px}.topbutton{color:white}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{background:#f8fafc;border-right:1px solid #dfe5ed;padding:32px 14px;position:sticky;top:64px;height:calc(100vh - 64px);display:flex;flex-direction:column}.navlabel,.smallcaps{font-size:10px;letter-spacing:1.5px;color:#71839c;font-weight:800;margin:0 12px 12px}.navlink{display:flex;align-items:center;gap:13px;color:#5a6b84;padding:13px 14px;border-radius:9px;margin-bottom:5px;font-size:13px}.navlink span{font-size:10px;color:#8394a9;font-weight:800}.navlink.active,.navlink:hover{color:#1e438e;background:#e7eefe;font-weight:700}.sidebar-bottom{margin-top:auto;color:#64758b;border-top:1px solid var(--line);padding:20px 12px 0;font-size:11px;line-height:1.7}.sidebar-bottom .smallcaps{margin:0 0 4px}.workspace{padding:38px 38px 18px;max-width:1450px;width:100%;margin:auto}.intro{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:29px}.intro h1{font-size:clamp(24px,2.6vw,36px);line-height:1.33;margin:11px 0;color:#1c304e;letter-spacing:-1px}.intro p{color:#687a91;line-height:1.65;margin:0}.eyebrow,.section-kicker{font-weight:900;font-size:10px;letter-spacing:1.7px;color:#366cc5}.version{background:#e7edfa;color:#5274a6;padding:9px 13px;border-radius:7px;font-size:11px;white-space:nowrap}.version strong{color:#17397d}.surface{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px rgba(26,49,83,.035);padding:27px 30px;margin-bottom:21px;scroll-margin-top:85px}.sectionhead{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}.sectionhead h2{font-size:21px;margin:6px 0 6px;letter-spacing:-.6px}.sectionhead p{font-size:12px;color:#6e7e92;line-height:1.6;margin:0}.chip{border-radius:30px;padding:6px 12px;background:#e9efff;color:#2756a4;font-weight:800;font-size:11px;white-space:nowrap}.chip.subtle{background:#f2f5fa;color:#627a98}.filedrop{border:2px dashed #b7c9e7;background:#f7faff;border-radius:13px;padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.filedrop.hover{border-color:#2b61b7;background:#eaf1ff}.upload-icon{background:#e5eeff;color:#2c60b4;font-size:29px;display:grid;place-items:center;border-radius:14px;width:48px;height:48px}.filedrop strong{font-size:15px}.filedrop span{color:#71829b;font-size:13px}.file-select{color:#2257bd;font-weight:800;cursor:pointer;text-decoration:underline}.filedrop p{font-size:11px;color:#8c9bb0;margin:1px 0 0}.filelist{font-size:11px;padding:13px 4px;color:#7f8ca0;line-height:1.8;word-break:break-all}.actionbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.actionhint{color:#8291a5;font-size:11px;flex:1;min-width:210px}.primary,.outline,.ghost{border:0;border-radius:8px;font-weight:800;padding:11px 16px;font-size:12px;transition:filter .15s}.primary{background:#2856bc;color:white}.primary:hover{filter:brightness(1.08)}.primary:disabled{opacity:.4;cursor:not-allowed}.outline{border:1px solid #ced9e8;background:white;color:#375378}.ghost{background:none}.note{margin-top:16px;border-radius:10px;padding:13px 14px;line-height:1.65;font-size:12px}.note.info{color:#526c93;background:#f1f5fa;border:1px solid #e2eaf5}.notice-warning{background:#fff5e4;color:#84550c;border:1px solid #f0d89f;border-radius:8px;padding:13px;margin-bottom:14px;font-size:12px}.progressrow{display:flex;align-items:center;gap:14px;padding-top:13px}.progress{height:7px;flex:1;background:#e8edf4;border-radius:15px;overflow:hidden}.progress #progressBar{height:100%;background:#2e62c4;width:0%;transition:width .2s}.progressrow span{font-size:11px;color:#6d7e94;min-width:130px}.filterbar{display:flex;align-items:center;gap:8px}.filterbar label{font-size:11px;font-weight:700;color:#6c7a92;display:flex;align-items:center;gap:6px}.filterbar select{background:white;border:1px solid #d3deea;border-radius:7px;padding:7px;max-width:135px;color:#263c5a}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0}.kpi{border:1px solid #e0e7ef;border-radius:12px;padding:20px;background:linear-gradient(170deg,#fff,#f9fbff);min-height:147px}.kpi h3{font-size:12px;color:#677b97;margin:0 0 15px}.kpi .num{font-size:29px;color:#172f54;font-weight:900;letter-spacing:-1.3px}.kpi .unit{font-size:12px;font-weight:700;color:#70829c;margin-left:4px}.kpi .change{font-size:12px;font-weight:800;margin-top:13px}.kpi small{display:block;font-size:11px;color:#8492a5;margin-top:4px}.good{color:var(--green)!important}.bad{color:var(--red)!important}.neutral{color:#65758c!important}.empty-kpi,.empty{font-size:12px;color:#8a98aa;padding:25px;text-align:center;grid-column:1/-1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.inset{border:1px solid #e3e9f0;border-radius:12px;padding:18px;background:#fdfefe}.inset h3,.subheading{font-size:14px;margin:0 0 14px}.line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f6;font-size:12px}.line:last-child{border:0}.line span{color:#728099}.line strong{color:#274063;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:6px;border-bottom:1px solid #e0e6ee;margin-bottom:14px}.tab{font-size:12px;padding:11px 16px;border:none;background:transparent;color:#6f829b;border-bottom:2px solid transparent;font-weight:800}.tab.selected{color:#2053ab;border-bottom-color:#2d63c5}.tablewrap{overflow-x:auto}.fin-table,.breaktable{width:100%;border-collapse:collapse;text-align:left;min-width:620px;font-size:12px}.fin-table th,.breaktable th{padding:12px;border-bottom:1px solid #cad6e5;background:#f5f8fc;font-weight:800;color:#536c8f}.fin-table td,.breaktable td{padding:11px 12px;border-bottom:1px solid #edf1f5;font-variant-numeric:tabular-nums}.fin-table tbody tr:hover,.breaktable tbody tr:hover{background:#fafcff}.fin-table td:first-child{font-weight:700}.fin-table td:not(:first-child),.fin-table th:not(:first-child),.breaktable td:not(:first-child),.breaktable th:not(:first-child){text-align:right}.fin-table .sourcetag{font-size:10px;color:#7390b5;text-decoration:underline;cursor:pointer}.fin-table .modify{font-size:10px;padding:3px 7px;border:1px solid #dbe5f3;background:white;border-radius:5px;color:#3767ab}.fin-table .edited{color:#b16b20}.fineprint{font-size:11px;color:#8a98ab;line-height:1.7;margin:13px 0 0}.breakpanel{margin:15px 0;border:1px solid #e4e9f0;border-radius:10px;overflow:hidden}.breaktitle{padding:13px 15px;background:#f5f8fc;border-bottom:1px solid #e4e9f0;font-weight:800;font-size:13px}.breakcontent{padding:14px}.break-meter{height:9px;background:#e9edf4;border-radius:20px;overflow:hidden;margin-top:5px}.break-meter>span{height:100%;background:#5682cf;display:block}.breakinfo{font-size:11px;margin-top:10px;color:#70829a}.auditbox,.insight{border:1px solid #e0e6ed;border-radius:10px;padding:13px;margin-bottom:9px;background:#fff}.auditbox strong,.insight strong{font-size:12px}.auditbox p,.insight p{line-height:1.6;margin:7px 0 0;color:#61728b;font-size:12px}.pass{border-left:3px solid #329c76}.fail{border-left:3px solid #d07a4e}.insight.question{border-left:3px solid #ca9953}.insight.caution,.insight.risk{border-left:3px solid #c35a62}.insight.fact{border-left:3px solid #5079ca}.evidence{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.evidence a{font-size:10px;color:#1f60ad;text-decoration:underline}.source-meta{font-size:11px;color:#90a0b2}.muted{color:#7a89a1}.tiny{font-size:11px}footer{font-size:11px;color:#97a5b7;padding:12px 0 28px}.dialog-form{min-width:min(420px,85vw)}dialog{border:1px solid #d6e1ec;border-radius:12px;box-shadow:0 18px 100px #15243a30;padding:24px}.dialog-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:12px}.dialog-form input{padding:10px;border:1px solid #cbd7e8;border-radius:6px}.dialog-actions{display:flex;justify-content:end;gap:8px;margin-top:20px}.dialog-form h3{margin:0 0 10px}.small-good{color:#0a865b}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;flex-direction:row;overflow-x:auto;padding:10px;background:white}.navlabel,.sidebar-bottom{display:none}.navlink{white-space:nowrap;font-size:12px;margin:0}.workspace{padding:22px}}
@media(max-width:720px){.topbar{padding:0 13px;height:56px}.brandmark small,.status-indicator{display:none}.brandmark{font-size:16px}.layout{display:block}.workspace{padding:17px 12px}.surface{padding:21px 16px}.intro{display:block}.version{display:inline-block;margin-top:12px}.two-col,.kpis{grid-template-columns:1fr}.sectionhead{flex-wrap:wrap}.filterbar{flex-wrap:wrap}.sidebar{top:56px;padding:8px;position:sticky;z-index:5}.navlink{padding:8px 10px}.kpi{min-height:unset}}
@media print{.topbar,.sidebar,.filedrop,.actionbar,.filelist,.progressrow,.filterbar,.tabs,.modify,.fin-table .sourcetag,#importSection,.version{display:none!important}.layout{display:block}.workspace{padding:0}.surface{break-inside:avoid;box-shadow:none;margin-bottom:12px;border:1px solid #ccc}.intro h1{font-size:24px}.two-col{grid-template-columns:1fr 1fr}}
