:root{--bg:#f3f6fa;--card:#fff;--ink:#13243a;--muted:#6a788b;--line:#dbe3ec;--navy:#173a61;--blue:#2f75b5;--green:#2d7b45;--red:#b42318;--orange:#c45d16;--yellow:#9a7400;--shadow:0 8px 25px rgba(20,38,60,.08)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Microsoft YaHei","PingFang SC",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.appbar{position:sticky;top:0;z-index:30;background:linear-gradient(135deg,#173a61,#176b75);color:#fff;padding:13px 15px;box-shadow:0 2px 10px #0002}.appbar b{font-size:18px}.appbar small{display:block;opacity:.83;margin-top:2px}.wrap{max-width:920px;margin:auto;padding:12px 11px 90px}.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:8px 0 12px}.tab{border:0;border-radius:9px;padding:8px 2px;background:#e5edf5;color:#36506e;font-size:10px;font-weight:800}.tab.active{background:var(--navy);color:#fff}.view{display:none}.view.active{display:block}.card{background:var(--card);border:1px solid #e0e7ef;border-radius:15px;padding:14px;margin-bottom:11px;box-shadow:var(--shadow)}.card h2{font-size:16px;margin:0 0 10px}.card h3{font-size:13px;margin:12px 0 7px}.hero{background:linear-gradient(135deg,#234d7f,#156c75);color:#fff;padding:18px;border-radius:17px;margin-bottom:11px}.hero h1{margin:0 0 5px;font-size:21px}.hero p{margin:0;font-size:12px;line-height:1.65;opacity:.92}.grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field label{display:block;font-size:12px;font-weight:800;color:#344c67;margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid #cad5e1;border-radius:9px;padding:10px;background:#fff;color:var(--ink)}.field textarea{min-height:72px}.field small,.hint{font-size:10.5px;line-height:1.55;color:var(--muted);display:block;margin-top:4px}.note{font-size:11px;line-height:1.55;background:#fff7dc;border-left:4px solid #d5a51a;border-radius:7px;padding:9px}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.actions button{border:0;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer;flex:1;min-width:120px}.primary{background:var(--blue);color:#fff}.secondary{background:#e8eef5;color:#24425f}.danger{background:#fce9e7;color:var(--red)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:11px;text-align:center;padding:9px}.kpi b{font-size:18px;display:block}.kpi span{font-size:9.5px;color:var(--muted)}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.flow .step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.flow b{font-size:12px;display:block}.flow span{font-size:9.5px;color:var(--muted);line-height:1.4}.gate{border:2px solid;border-radius:13px;padding:12px;margin:9px 0}.gate.red{background:#fff0ee;border-color:#db6b62}.gate.orange{background:#fff2e8;border-color:#dd884d}.gate.yellow{background:#fff8dc;border-color:#d0b244}.gate.green{background:#edf8f0;border-color:#67a77a}.gate strong{font-size:16px}.gate p{font-size:11px;margin:4px 0 0;line-height:1.5}.issue{border:1px solid var(--line);border-left:5px solid #98a7b8;border-radius:11px;padding:10px;margin:7px 0;background:#fff}.issue.block{border-left-color:var(--red)}.issue.high{border-left-color:var(--orange)}.issue.warn{border-left-color:#d1a100}.issue.pass,.issue.ok{border-left-color:var(--green)}.issue .top{display:flex;gap:7px;justify-content:space-between;align-items:flex-start}.issue h4{font-size:12px;margin:0}.issue p{font-size:10.5px;line-height:1.5;margin:4px 0;color:#465970}.level{font-size:9px;font-weight:900;background:#edf2f6;border-radius:10px;padding:3px 6px;white-space:nowrap}.basis{font-size:9.5px!important;color:#7c8998!important}.bigdim{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.dim{background:#f3f7fb;border-radius:10px;padding:9px;text-align:center}.dim b{font-size:18px;display:block}.dim span{font-size:9px;color:var(--muted)}.source{padding:9px 0;border-bottom:1px solid var(--line)}.source:last-child{border:0}.source b{font-size:11px}.source p,.source a{font-size:9.5px;line-height:1.45;color:var(--muted);word-break:break-all}.record{border:1px solid var(--line);border-radius:11px;padding:10px;margin:7px 0}.record b{font-size:12px}.record p{font-size:10px;color:var(--muted);margin:3px 0}.matrix{overflow-x:auto}.matrix table{width:100%;border-collapse:collapse;font-size:10px}.matrix th,.matrix td{padding:7px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.matrix th:first-child,.matrix td:first-child{text-align:left}.test-pass{color:var(--green);font-weight:900}.test-fail{color:var(--red);font-weight:900}.hidden{display:none!important}.pill{display:inline-block;border-radius:999px;padding:3px 8px;background:#edf2f6;font-size:10px;font-weight:800;margin:2px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;white-space:pre-wrap;background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:10px;overflow:auto}
@media(max-width:650px){.grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.tabs{grid-template-columns:repeat(6,1fr);gap:2px}.tab{font-size:8.7px;padding:8px 1px}.bigdim{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}}
@media print{.appbar,.tabs,.actions,.no-print{display:none!important}.view{display:none!important}#resultView{display:block!important}.wrap{max-width:none;padding:0}.card,.issue,.gate{box-shadow:none;break-inside:avoid}}
.modebar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modebtn{border:1px solid var(--line);background:#fff;padding:12px;border-radius:12px;font-weight:900;color:var(--ink)}.modebtn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.metric-note{font-size:12px;color:var(--muted);margin-top:4px}.chiprow{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:6px 9px;border-radius:999px;background:#eef4fb;font-size:12px;font-weight:800}.dangertext{color:#a52a2a;font-weight:800}.goodtext{color:#16794b;font-weight:800}.warntext{color:#a56600;font-weight:800}.mode-section.hidden{display:none!important}.mini{font-size:11px}.equation{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f6f8fb;border:1px solid var(--line);padding:10px;border-radius:10px;overflow:auto}.source a{word-break:break-all}
