:root{--ink:#10263d;--ink2:#1b3856;--line:#dde3ea;--bg:#f2f4f7;--accent:#2e7d62;--amber:#e0a43a;--muted:#6b7a8c}
html,body{height:100%}
body{background:var(--bg);font-family:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:.94rem;color:#1d2a3a;font-variant-numeric:tabular-nums}
.sidebar{position:fixed;top:0;bottom:0;left:0;width:248px;background:var(--ink);color:#c5d1e0;overflow-y:auto;z-index:1030;transition:transform .2s}
.sidebar .brand{padding:18px 20px;color:#fff;font-weight:600;font-size:1.02rem;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar .brand small{display:block;color:#8fa3bb;font-weight:400;font-size:.74rem;margin-top:3px}
.sidebar a{display:flex;gap:10px;align-items:center;padding:9px 20px;color:#c5d1e0;text-decoration:none;border-left:3px solid transparent}
.sidebar a:hover{background:var(--ink2);color:#fff}
.sidebar a.active{background:var(--ink2);color:#fff;border-left-color:var(--amber)}
.sidebar .grp{padding:14px 20px 4px;font-size:.74rem;color:#7f93ab}
.main{margin-left:248px;min-height:100%}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:10px 24px;display:flex;gap:16px;align-items:center;position:sticky;top:0;z-index:1020}
.topbar form{flex:1;max-width:520px}
.content{padding:24px}
.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.page-title h1{font-size:1.4rem;margin:0;font-weight:600}
.page-title .sub{color:var(--muted);font-size:.88rem}
.cardx{background:#fff;border:1px solid var(--line);border-radius:6px}
.cardx .hd{padding:12px 16px;border-bottom:1px solid var(--line);font-weight:600;display:flex;justify-content:space-between;align-items:center}
.cardx .bd{padding:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px 16px;display:block;color:inherit;text-decoration:none;height:100%}
.kpi:hover{border-color:var(--ink2)}
.kpi .n{font-size:1.7rem;font-weight:600;line-height:1.1}
.kpi .l{color:var(--muted);font-size:.84rem}
.table>:not(caption)>*>*{padding:.55rem .7rem}
.table thead th{font-weight:600;color:#44566b;background:#f7f9fb;border-bottom:1px solid var(--line);white-space:nowrap}
.dual{display:grid;gap:4px}
.dual .lbl{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.dual .track{height:10px;background:#e8edf2;border-radius:2px;position:relative;overflow:hidden}
.dual .op{position:absolute;inset:0 auto 0 0;background:#b8c9dd}
.dual .rv{position:absolute;inset:0 auto 0 0;background:var(--accent)}
.stagebar{display:flex;gap:0;margin:6px 0 4px}
.stagebar .st{flex:1;padding:8px 6px;text-align:center;font-size:.8rem;border:1px solid var(--line);background:#fff;margin-left:-1px;position:relative}
.stagebar .st.done{background:#e6f3ee;border-color:#bfe0d3}
.stagebar .st.cur{background:var(--ink);color:#fff;border-color:var(--ink)}
.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--ink)}
.login-box{width:min(420px,92vw);background:#fff;border-radius:8px;padding:30px}
.wp-scroll{overflow:auto;max-height:72vh;border:1px solid var(--line);background:#fff}
.wp-grid{border-collapse:collapse;table-layout:fixed;font-size:.82rem}
.wp-grid td{padding:2px 5px;vertical-align:top;overflow-wrap:anywhere;border:1px solid transparent;white-space:pre-wrap}
.wp-grid td.bd{border-color:#b7c1cd}
.wp-grid td.b{font-weight:600}
.wp-grid td.num,.wp-grid td.calc-td.num{text-align:right}
.wp-grid td.calc-td{background:#f4f8fb}
.wp-grid .calc.err{color:#b02a37}
.wp-grid td.in-td{background:#fffdf3;padding:0}
.wp-in{width:100%;border:0;background:transparent;padding:3px 5px;font:inherit;outline:0;min-height:24px;resize:none}
.wp-in:focus{background:#fff6d6;box-shadow:inset 0 0 0 2px var(--amber)}
.wp-in:disabled{color:#222;background:#f6f6f6}
.wp-pane{display:none}.wp-pane.show{display:block}
.wp-doc{background:#fff;border:1px solid var(--line);padding:22px;max-width:1000px}
.wp-doc .wp-p{margin:.35rem 0}
.wp-doc .wp-par-in{border:1px solid #d6dbe1;border-radius:4px;background:#fffdf3;margin-bottom:8px}
.wp-dtable{width:100%}
.wp-dtable td{padding:4px 6px}
.dtxt{white-space:pre-wrap}
.review-note{border-left:4px solid var(--amber);background:#fffaf0;padding:10px 12px;border-radius:0 4px 4px 0;margin-bottom:8px}
.section-row td{background:#eef2f6;font-weight:600}
@media (max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.main{margin-left:0}.content{padding:14px}}
@media print{.sidebar,.topbar,.no-print,.wp-tabs{display:none!important}.main{margin:0}.content{padding:0}.wp-scroll{max-height:none;overflow:visible;border:0}.wp-pane{display:block!important;page-break-after:always}body{background:#fff}}
