:root{--bg:#f6f7f9;--panel:#fff;--ink:#15171a;--muted:#667085;--line:#dde2e8;--good:#0f8a5f;--warn:#a35b00;--bad:#c73535;--blue:#2367d1;--cyan:#0f766e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Microsoft YaHei",Arial,sans-serif;letter-spacing:0}header{padding:22px 28px 14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}h1{margin:0 0 6px;font-size:22px;font-weight:700}.sub{color:var(--muted)}main{padding:22px 28px 36px}.cards{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:12px;margin-bottom:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 14px 12px}.label{color:var(--muted);font-size:12px}.value{font-size:22px;font-weight:750;margin-top:4px}.toolbar{display:flex;gap:10px;align-items:center;margin:12px 0 16px;flex-wrap:wrap}select,input{height:36px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 10px;color:var(--ink)}input{min-width:260px}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel h2{font-size:15px;margin:0;padding:13px 14px;border-bottom:1px solid var(--line)}table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:9px 10px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:top;min-width:82px;overflow:hidden;text-overflow:ellipsis}th{font-size:12px;color:#475467;background:#fbfcfd;position:sticky;top:0;z-index:3;box-shadow:0 1px 0 #dde2e8;white-space:nowrap;user-select:none;overflow:visible}td.num{text-align:right;font-variant-numeric:tabular-nums}.tablewrap{max-height:620px;overflow:auto}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;white-space:nowrap}.inc{background:#e8f7ef;color:var(--good)}.keep{background:#eef4ff;color:var(--blue)}.stop{background:#fff0ef;color:var(--bad)}.titlecell{max-width:280px}.small{font-size:12px;color:var(--muted)}.detail{padding:14px}.metricline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.mini{border:1px solid var(--line);border-radius:6px;padding:8px;background:#fbfcfd}.mini b{display:block;font-size:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.box{border:1px solid var(--line);border-radius:6px;padding:10px}.box h3{margin:0 0 8px;font-size:13px}.box ul{margin:0;padding-left:18px}.box li{margin:4px 0}.chart{width:100%;height:250px;border:1px solid var(--line);border-radius:6px;background:#fff;margin-top:10px}.actions{margin-top:12px}.actionitem{border-left:3px solid var(--warn);padding:8px 10px;background:#fff8ed;margin:8px 0;border-radius:4px}.nowrap{white-space:nowrap}.resize-handle{position:absolute;right:-3px;top:0;width:7px;height:100%;cursor:col-resize;z-index:4}.resize-handle:hover{background:rgba(35,103,209,.18)}body.resizing{cursor:col-resize;user-select:none}@media(max-width:1180px){.cards{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}.metricline{grid-template-columns:repeat(2,1fr)}th{top:0}}@media(max-width:680px){main,header{padding-left:14px;padding-right:14px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}input{min-width:0;width:100%}.toolbar{flex-wrap:wrap}}

:root{--bg:#f7f2ea;--panel:#fffdf8;--ink:#241b18;--muted:#7a6a61;--line:#e4d8ca;--good:#2f7d58;--warn:#a56a22;--bad:#9f2f35;--blue:#8b2632;--cyan:#5f3c2d;--brand:#8b2632;--brand-dark:#4b171c;--paper:#fffaf2;--cream:#f3eadc}
body{background:radial-gradient(circle at 12% 0%,rgba(139,38,50,.08),transparent 28%),linear-gradient(180deg,#fbf7ef 0%,#f5eee4 100%);color:var(--ink);font-family:"Microsoft YaHei","Noto Sans SC",Arial,sans-serif}
header{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fffaf2;border-bottom:0;box-shadow:0 10px 28px rgba(75,23,28,.18)}
header:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background:repeating-linear-gradient(115deg,rgba(255,255,255,.22) 0 1px,transparent 1px 6px)}
header>*{position:relative}.brandline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.brandmark{font-family:Georgia,"Times New Roman",serif;letter-spacing:8px;font-size:16px}.brandmark span{font-family:"Microsoft YaHei",sans-serif;letter-spacing:2px;margin-left:8px}.sectionmark{font-size:11px;letter-spacing:2px;opacity:.72}h1{color:#fffaf2}.sub{color:rgba(255,250,242,.78)}
.card,.panel{background:var(--paper);border-color:var(--line);box-shadow:0 12px 30px rgba(68,39,24,.06)}.card{border-top:3px solid rgba(139,38,50,.55)}.label{color:var(--muted)}.value{color:var(--brand-dark)}
select,input{background:#fffaf2;border-color:#d8c8b8;color:var(--ink)}select:focus,input:focus{outline:2px solid rgba(139,38,50,.18);border-color:var(--brand)}
.panel h2{background:#fbf4ea;color:var(--brand-dark);border-bottom-color:var(--line);letter-spacing:.5px}table{border-collapse:separate;border-spacing:0}th,td{text-align:center!important}th{background:#efe5d7;color:#4a2a28;border-bottom:1px solid #d8c8b8}td{background:var(--paper)}tbody tr:hover td{background:#fff4e5}.titlecell{text-align:center!important;min-width:300px;white-space:normal}.titlecell b{color:var(--brand-dark)}
.tablewrap{position:relative}.tablewrap th:first-child,.tablewrap td:first-child{position:sticky;left:0;min-width:300px;background:#fff8ec;box-shadow:1px 0 0 #d8c8b8,8px 0 18px rgba(75,23,28,.06);z-index:4}.tablewrap th:first-child{z-index:7;background:#eadccb}.tablewrap th{top:0}.tablewrap td:first-child{z-index:3}.pill.inc{background:#e6f2e9;color:#2f7d58}.pill.keep{background:#f3eadc;color:#8b2632}.pill.stop{background:#f8e8e7;color:#9f2f35}.mini,.box{background:#fffaf2;border-color:var(--line)}.chart{background:#fffaf2;border-color:var(--line)}.actionitem{background:#fff4e5;border-left-color:var(--brand)}

.tablewrap{max-height:calc(100vh - 250px);min-height:760px}.grid{align-items:start}@media(max-width:1180px){.tablewrap{max-height:760px;min-height:620px}}

button{height:36px;border:1px solid #d8c8b8;background:#fffaf2;color:#4b171c;border-radius:6px;padding:0 12px;cursor:pointer}
button.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}
button.btn-primary:hover{opacity:.9}
button.btn-outline{background:transparent;color:var(--muted);border-color:var(--line)}
button.btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.datefilter{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap}.datefilter input{min-width:130px;width:130px}.filter-note{color:var(--muted);font-size:12px;margin-top:-8px;margin-bottom:10px}
