:root{--bg: #eef2f3;--surface: #fff;--surface-2: #f6f8f9;--surface-3: #eef3f4;--border: #e0e7ea;--border-strong: #c9d4d8;--text: #14222a;--text-2: #51636c;--text-3: #85959d;--brand: #0f5c63;--brand-deep: #08343a;--brand-light: #3f9aa2;--brand-soft: #e6f2f2;--red: #c8423a;--red-soft: #fdeeec;--red-line: #f0c6c0;--amber: #b97a14;--amber-soft: #fdf5e4;--amber-line: #ecd7a2;--blue: #2f6fb0;--blue-soft: #ecf3fa;--blue-line: #bed4ea;--green: #2b8660;--green-soft: #e8f5ef;--green-line: #b5dbc7;--violet: #6d4fb0;--violet-soft: #f1edfa;--violet-line: #d3c7ef;--r: 10px;--r-sm: 6px;--sh-1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .05);--sh-2: 0 2px 5px rgba(16, 24, 40, .05), 0 10px 24px rgba(16, 24, 40, .09);--mono: "SFMono-Regular", "Cascadia Mono", Consolas, monospace;--display: "DIN Alternate", "Bahnschrift SemiBold", "Bahnschrift", "Segoe UI", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:13.5px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:5px 8px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand-light);box-shadow:0 0 0 3px #3f9aa226}input[type=checkbox],input[type=range]{padding:0;box-shadow:none;accent-color:var(--brand)}textarea{width:100%;resize:vertical}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#c5d1d5;border-radius:8px;border:2px solid transparent;background-clip:content-box}h2,h3,h4{margin:0}h4{font-size:12.5px;margin:14px 0 8px;color:var(--text-2)}p{margin:0 0 6px}ul,ol{margin:0;padding-left:18px}.grow{flex:1}.muted{color:var(--text-3)}.sm{font-size:12px}.mono{font-family:var(--mono);font-size:12px}.red{color:var(--red)}.amber{color:var(--amber)}.click{cursor:pointer}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pad{padding:12px 16px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}.link{background:none;border:0;color:var(--blue);cursor:pointer;padding:0 4px;font-size:12.5px}.link:hover{text-decoration:underline}.note{background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:var(--r-sm);padding:8px 12px;font-size:12.5px;color:#6f4b0c}.app{display:flex;min-height:100%}.sidebar{width:212px;flex:0 0 212px;background:linear-gradient(178deg,#062a2f,#0a3f46 60%,#0f5058);color:#d6e8ea;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.side-brand{padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:11px}.brand-mark{width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:linear-gradient(140deg,#3fb4ad,#0f5c63 75%);position:relative;box-shadow:0 2px 8px #00000040}.brand-mark:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:2.2px solid #fff;border-radius:50%}.brand-mark:after{content:"";position:absolute;width:5px;height:5px;background:#fff;border-radius:50%;left:12px;top:12px;box-shadow:5px 4px 0 -1px #fff}.brand-name{font-weight:700;font-size:16px;letter-spacing:1px;color:#fff}.brand-sub{font-size:11.5px;color:#9cc3c6}.nav{padding:8px 10px;flex:1;overflow:auto}.nav-group{font-size:11px;color:#79a3a7;padding:12px 10px 5px;letter-spacing:1px}.nav-item{display:flex;width:100%;align-items:center;justify-content:space-between;background:none;border:0;color:#cfe3e5;padding:7px 12px;border-radius:7px;cursor:pointer;font-size:13.5px;text-align:left}.nav-item:hover{background:#ffffff0f}.nav-item.on{background:#ffffff21;color:#fff;font-weight:600;box-shadow:inset 3px 0 #5fd0c5}.nav-count{font-size:11px;background:#ffffff2e;padding:0 7px;border-radius:99px;font-family:var(--display)}.nav-count.red{background:var(--red);color:#fff}.sidebar-foot{padding:14px 18px;font-size:11px;color:#79a3a7;border-top:1px solid rgba(255,255,255,.08);line-height:1.8}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:10px 22px;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.topbar-title{min-width:0;flex:0 1 auto}.topbar-title h1{font-size:18px;margin:0;white-space:nowrap}.topbar-title .sub{font-size:12px;color:var(--text-3)}.clock{display:flex;flex-direction:column;background:var(--brand-deep);color:#fff;border-radius:9px;padding:3px 12px;line-height:1.3}.clock small{font-size:10px;color:#9cc3c6}.clock b{font-family:var(--display);font-size:14px;letter-spacing:.5px}.icon-btn{background:none;border:0;cursor:pointer;font-size:18px;color:var(--text-2);padding:2px 6px;border-radius:6px;line-height:1}.icon-btn:hover{background:var(--surface-3)}.bell-wrap{position:relative}.bell{position:relative;font-size:17px}.bell i{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-style:normal;font-size:10px;border-radius:99px;padding:0 5px;font-family:var(--display)}.bell-pop{position:absolute;right:0;top:34px;width:360px;background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-2);max-height:440px;overflow:auto}.bell-head{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff}.bell-item{padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;font-size:12.5px;color:var(--text-2)}.bell-item.unread{color:var(--text);background:var(--brand-soft)}.bell-item small{color:var(--text-3)}.bell-item:hover{background:var(--surface-2)}.viewer{display:flex;flex-direction:column;font-size:10.5px;color:var(--text-3)}.viewer select{font-size:13px;padding:4px 6px;max-width:230px}.content{padding:18px 22px 120px}.stack{display:flex;flex-direction:column;gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-side{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}.grid-side.wide-left{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr)}.grid-side.narrow-left{grid-template-columns:minmax(240px,.75fr) minmax(0,2.25fr);align-items:start}.grid-data{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:16px;align-items:start}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crumbs{font-size:12.5px;color:var(--text-3)}.crumbs .link{padding:0}.btn{border:1px solid var(--border-strong);background:#fff;border-radius:7px;padding:6px 13px;cursor:pointer;font-size:13px;white-space:nowrap}.btn:hover{border-color:var(--brand-light);color:var(--brand)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#0b4a50;color:#fff}.btn.danger{color:var(--red);border-color:var(--red-line)}.btn.ghost-dark{background:var(--surface-3);border-color:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:3px 10px;font-size:12px}.btn.block{width:100%;margin-top:8px;padding:9px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-1);min-width:0}.panel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.panel-head h2{font-size:14.5px;display:flex;align-items:center;gap:8px}.panel-head .desc{font-size:12px;color:var(--text-3)}.panel-body{padding:14px 16px}.panel-body.flush{padding:0}.tag{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;line-height:1.5;padding:0 7px;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);white-space:nowrap;margin-right:3px;font-weight:500}.tag.red{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}.tag.amber{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber)}.tag.blue{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue)}.tag.green{background:var(--green-soft);border-color:var(--green-line);color:var(--green)}.tag.violet{background:var(--violet-soft);border-color:var(--violet-line);color:var(--violet)}.tag.brand{background:var(--brand-soft);border-color:#bcdcdc;color:var(--brand)}.tag.gray{background:#f2f4f5;border-color:#dde3e6;color:var(--text-3)}.tag.solid.red{background:var(--red);color:#fff}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;box-shadow:var(--sh-1);border-top:3px solid var(--brand)}.kpi.click{cursor:pointer}.kpi.click:hover{box-shadow:var(--sh-2)}.kpi.red{border-top-color:var(--red)}.kpi.amber{border-top-color:var(--amber)}.kpi.green{border-top-color:var(--green)}.kpi-value{font-family:var(--display);font-size:26px;font-weight:600;line-height:1.2}.kpi.red .kpi-value{color:var(--red)}.kpi-label{font-size:12.5px;color:var(--text-2)}.kpi-sub{font-size:11.5px;color:var(--text-3)}.tabs{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}.tab{border:0;background:none;padding:5px 14px;border-radius:7px;cursor:pointer;color:var(--text-2);font-size:13px}.tab.on{background:var(--brand);color:#fff;font-weight:600}.seg{display:inline-flex;gap:2px;background:var(--surface-3);padding:3px;border-radius:8px;flex-wrap:wrap}.seg button{border:0;background:none;padding:3px 11px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--text-2)}.seg button.on{background:#fff;color:var(--brand);font-weight:600;box-shadow:var(--sh-1)}.ai-list .seg{margin:10px 12px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:600;color:var(--text-2);font-size:12px;background:var(--surface-2);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}.table tr.click:hover td{background:var(--brand-soft)}.table.compact td,.table.compact th{padding:5px 8px;font-size:12px}.table.kvt td:first-child{color:var(--text-3);width:110px;white-space:nowrap}.table tr.changed td{background:#fff8db}.table .row-done td{color:var(--text-2)}.table .row-fail td{background:#fff6f5}.table .row-off td{opacity:.55}.table.compare td:first-child{width:140px}.table.diff tr.changed td:last-child{font-weight:600}.scroll-x{overflow-x:auto}.empty{color:var(--text-3);text-align:center;padding:28px 16px;font-size:13px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#08191e73;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:50px 20px;overflow:auto}.modal{background:#fff;border-radius:12px;width:520px;max-width:100%;box-shadow:0 20px 60px #00000040}.modal.wide{width:820px}.modal.xl{width:1120px}.modal-head{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h3{font-size:15px;flex:1}.modal-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.modal-foot{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 12px 12px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;color:var(--text-2);font-weight:600}.field-hint{font-size:11.5px;color:var(--amber)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.checks{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px}.checks label{display:inline-flex;align-items:center;gap:4px}.preview-line{background:var(--brand-soft);border-radius:var(--r-sm);padding:8px 12px;font-size:12.5px}.err{color:var(--red);font-size:12.5px}.blockers{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--red);background:var(--red-soft);border:1px solid var(--red-line);border-radius:var(--r-sm);padding:4px 10px}.blockers.ok{color:var(--green);background:var(--green-soft);border-color:var(--green-line)}.sensitive{display:inline-flex;align-items:center;gap:4px;font-size:12px}.sensitive .mask{color:var(--text-3);letter-spacing:.5px}.sensitive.open{color:#6f2c1f;background:#fff4ef;border-radius:4px;padding:1px 6px}.w-sens{max-width:220px}.sign-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px}.sign-who{font-size:12px;color:var(--text-2)}.kv{display:grid;gap:8px 18px}.kv-item{display:flex;flex-direction:column;min-width:0}.kv-item>span{font-size:11.5px;color:var(--text-3)}.kv-item>b{font-weight:500;font-size:13px;word-break:break-all}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{font-size:12px;background:var(--surface-3);border-radius:5px;padding:1px 8px;display:inline-flex;align-items:center;gap:4px}.timeline{display:flex;flex-direction:column}.tl{display:flex;gap:10px;position:relative;padding-bottom:12px}.tl>i{width:10px;height:10px;border-radius:50%;background:var(--brand-light);margin-top:6px;flex:0 0 10px;box-shadow:0 0 0 3px var(--brand-soft)}.tl:not(:last-child):before{content:"";position:absolute;left:4.5px;top:18px;bottom:0;width:1px;background:var(--border-strong)}.tl small{color:var(--text-3)}.tl p{margin:2px 0 0;font-size:12.5px;color:var(--text-2)}.stepper{display:flex;gap:0;margin-bottom:14px}.stp{flex:1;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3);position:relative}.stp:not(:last-child):after{content:"";flex:1;height:2px;background:var(--border);margin:0 8px}.stp.done:not(:last-child):after{background:var(--brand-light)}.stp i{width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;font-style:normal;font-size:11px;background:#fff}.stp.done i{background:var(--brand-light);border-color:var(--brand-light);color:#fff}.stp.cur i{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.stp.cur{color:var(--brand);font-weight:600}.stp.bad i{border-color:var(--red);color:var(--red)}.stp span{white-space:nowrap}.action-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);justify-content:flex-end}.action-bar .blockers{margin-right:auto}.qr{display:block}.qr-box{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;text-align:center;max-width:140px}.toasts{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--brand-deep);color:#fff;padding:9px 18px;border-radius:9px;box-shadow:var(--sh-2);font-size:13px;animation:toastIn .25s ease}.toast.warn{background:#8a5a0b}.toast.err{background:#a3302a}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}}.evidence-row{display:flex;gap:8px;flex-wrap:wrap}.evidence{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--border-strong);font-size:12px}.evidence b{padding:2px 8px;background:var(--surface-3);font-weight:600}.evidence i{font-style:normal;padding:2px 8px}.evidence.green{border-color:var(--green-line)}.evidence.green i{background:var(--green-soft);color:var(--green)}.evidence.amber{border-color:var(--amber-line)}.evidence.amber i{background:var(--amber-soft);color:var(--amber)}.evidence.gray i{background:#f4f6f7;color:var(--text-3)}.disclaimer{background:#fff8e8;border:1px solid #efd9a6;border-left:4px solid var(--amber);border-radius:var(--r-sm);padding:10px 14px;font-size:12.5px;color:#5d4310;display:flex;flex-direction:column;gap:2px;-webkit-user-select:none;user-select:none}.disclaimer.compact{font-size:11.5px;padding:7px 12px}.chart svg{display:block;overflow:visible;max-height:400px}.chart .grid{stroke:#e6ecee;stroke-width:1}.chart .axis{font-size:11px;fill:var(--text-3)}.chart .axis.small{font-size:9.5px}.chart .threshold{stroke:var(--red);stroke-dasharray:5 4;stroke-width:1.2;opacity:.7}.chart .threshold-label{font-size:10.5px;fill:var(--red)}.chart .bar-val{font-size:10.5px;fill:var(--text-2);font-family:var(--display)}.chart .nodata{font-size:10px;fill:#b5c0c5}.chart .click{cursor:pointer}.chart .bar.click:hover rect{opacity:1;filter:brightness(1.1)}.chart .pt.click:hover circle{r:7}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--text-2);margin-top:6px;justify-content:center}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:12px;height:12px;border-radius:3px;border:1.5px solid transparent}.legend i.dashed{border-style:dashed}.legend i.box{background:transparent!important;border-width:2px;border-style:solid}.legend i.box.dashed{border-style:dashed}.legend i.round{border-radius:50%}.radar{display:flex;flex-direction:column;align-items:center}.heatmap{border-collapse:separate;border-spacing:3px;width:100%;font-size:12px}.heatmap th{font-weight:500;color:var(--text-2);padding:4px 6px;white-space:nowrap}.heatmap tbody th{text-align:right}.heatmap td{text-align:center;padding:9px 4px;border-radius:5px;font-family:var(--display)}.heatmap td.click:hover{outline:2px solid var(--brand-deep);cursor:pointer}.heatmap td.hm-null{background:repeating-linear-gradient(45deg,#f4f6f7,#f4f6f7 4px,#eceff1 4px,#eceff1 8px);color:#aab5ba;font-family:inherit;font-size:11px}.hbars{display:flex;flex-direction:column;gap:9px}.hbar{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center}.hbar-label{font-size:13px}.hbar-track{height:12px;background:var(--surface-3);border-radius:99px;overflow:hidden}.hbar-track i{display:block;height:100%;border-radius:99px}.hbar-val{font-family:var(--display);font-size:14px;display:flex;align-items:center;gap:4px;min-width:210px}.hbar-val em{font-style:normal;font-size:12px;color:var(--text-3);font-family:inherit}.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;background:linear-gradient(120deg,#08343a,#0f5c63 55%,#1d7f86);color:#fff;border-radius:14px;padding:26px 28px;box-shadow:var(--sh-2)}.hero-kicker{font-size:12px;color:#a7dcd8;letter-spacing:1px}.hero h2{font-size:24px;margin:6px 0 10px;line-height:1.35}.hero p{color:#d5ecec;font-size:14px}.hero p b{color:#fff}.hero-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.hero-tags .tag{background:#ffffff1f;border-color:#ffffff40;color:#fff}.hero-bound{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px 18px}.hero-bound ul{list-style:none;padding:0;margin-top:6px;font-size:12.5px;line-height:1.95;color:#e3f4f3}.hero-bound li.no{color:#ffd2c9}.flow{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.flow-step{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:3px;cursor:pointer;text-align:left;position:relative}.flow-step:hover{border-color:var(--brand-light);background:var(--brand-soft)}.flow-step i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;font-family:var(--display)}.flow-step b{font-size:13.5px}.flow-step span{font-size:11.5px;color:var(--text-2);line-height:1.45}.flow-step small{font-size:11px;color:var(--brand);margin-top:auto}.scenarios{display:flex;flex-direction:column;gap:8px}.scenario{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:9px;padding:10px 12px}.scenario>div{flex:1;display:flex;flex-direction:column}.scenario span{font-size:12px;color:var(--text-2)}.scenario small{font-size:11px;color:var(--text-3)}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.role-card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px;display:flex;flex-direction:column;text-align:left;cursor:pointer}.role-card:hover{border-color:var(--brand-light)}.role-card.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.role-card span{font-size:12px;color:var(--text-2)}.role-card small{font-size:11px;color:var(--text-3)}.milestones{display:flex;flex-direction:column;gap:10px}.ms{display:flex;align-items:center;gap:12px}.ms>i{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);flex:0 0 14px}.ms.done>i{background:var(--green);border-color:var(--green)}.ms.late:not(.done)>i{border-color:var(--red)}.ms>div{flex:1;display:flex;flex-direction:column}.ms span{font-size:12px;color:var(--text-3)}.todo-list{max-height:330px;overflow:auto}.todo{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13px}.todo:hover{background:var(--brand-soft)}.todo>i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.todo>i.red{background:var(--red)}.todo>i.amber{background:var(--amber)}.todo>i.blue{background:var(--blue)}.todo span{flex:1}.todo small{color:var(--text-3)}.status-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.status-strip>div{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--surface-2);border-radius:8px;padding:8px 2px}.status-strip b{font-family:var(--display);font-size:20px}.activity{display:flex;flex-direction:column;gap:5px;font-size:12.5px}.activity>div{display:flex;gap:10px}.activity small{color:var(--text-3);white-space:nowrap;font-family:var(--display)}.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.mat-card{border:1px solid var(--border);border-top:4px solid var(--brand);border-radius:10px;background:#fff;transition:box-shadow .15s}.mat-card:hover{box-shadow:var(--sh-2)}.mat-card.sel{outline:2px solid var(--brand-light)}.mat-head{display:flex;gap:10px;padding:12px 14px 6px;align-items:flex-start}.mat-head input{margin-top:4px}.mat-head b{display:block;font-size:14px}.mat-body{padding:0 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:7px}.mat-body p{font-size:12.5px;color:var(--text-2);margin:0}.mat-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--text-3)}.mat-score{display:flex;align-items:center;gap:6px;border-top:1px dashed var(--border);padding-top:8px;font-size:12px;color:var(--text-3)}.mat-score b{font-family:var(--display);font-size:20px;color:var(--text);margin-right:4px}.maturity{display:inline-flex;align-items:center;gap:3px}.maturity i{width:18px;height:6px;border-radius:3px;background:var(--surface-3)}.maturity i.on{background:var(--brand-light)}.maturity span{font-size:12px;color:var(--brand);margin-left:6px;font-weight:600}.sample-head{display:flex;gap:18px;align-items:flex-start}.tpl-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tpl{border:1px dashed var(--border-strong);border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.tpl span{font-size:12px;color:var(--text-2)}.ver-switch{display:flex;gap:6px}.ver-switch button{border:1px solid var(--border);background:#fff;border-radius:7px;padding:3px 9px;cursor:pointer;font-size:12.5px;display:inline-flex;align-items:center;gap:5px}.ver-switch button.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.proto-flow{display:flex;flex-direction:column;gap:8px}.proto-flow .stepper{margin-bottom:0;max-width:620px}.proto-flow-log{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;color:var(--text-2)}.proto-flow .row{justify-content:flex-end}.change-note{margin-top:12px;background:#fff8db;border:1px solid #f0e2a8;border-radius:var(--r-sm);padding:8px 12px;font-size:12.5px}.checklist{font-size:12.5px;line-height:1.95}.calc-steps{display:flex;flex-direction:column;gap:4px;background:var(--brand-soft);padding:10px 14px;border-radius:var(--r-sm);font-family:var(--mono);font-size:12.5px}.board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.board-col{background:#e5ebed;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:200px}.board-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;font-size:12px;color:var(--text-2)}.card{background:#fff;border-radius:8px;padding:9px 10px;border-left:4px solid var(--brand);box-shadow:var(--sh-1);cursor:pointer;display:flex;flex-direction:column;gap:4px}.card:hover{box-shadow:var(--sh-2)}.card.live{outline:2px solid #5fd0c5}.card b{font-size:12.5px;line-height:1.45}.card-meta{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-3)}.progress{height:4px;background:var(--surface-3);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--brand-light)}.data-table input.num{width:82px;padding:3px 6px}.data-table select{padding:2px 4px}.data-table .group-first td{border-top:2px solid var(--border-strong)}.data-table .group-cell{background:var(--surface-2);width:140px}.history-row td{background:#fffaf0;font-size:12px;color:var(--text-2)}.stat-row{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dashed var(--border);font-size:12.5px}.stat-row span{flex:1;color:var(--text-2)}.stat-row b{font-family:var(--display);font-size:14px}.stat-row small{color:var(--text-3);width:30px}.big-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 10px}.big-result>div{background:var(--brand-soft);border-radius:9px;padding:10px 12px;display:flex;flex-direction:column}.big-result span{font-size:12px;color:var(--text-2)}.big-result b{font-family:var(--display);font-size:28px;color:var(--brand);line-height:1.2}.judge{border-radius:var(--r-sm);padding:6px 10px;font-size:12.5px;font-weight:600}.judge.ok{background:var(--green-soft);color:var(--green)}.judge.bad{background:var(--red-soft);color:var(--red)}.judge.gray{background:var(--surface-3);color:var(--text-3)}.check{display:flex;gap:8px;padding:4px 0;font-size:12.5px}.check>span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;flex:0 0 18px;margin-top:2px}.check.ok>span{background:var(--green-soft);color:var(--green)}.check.bad>span{background:var(--red-soft);color:var(--red)}.check div{display:flex;flex-direction:column}.check small{color:var(--text-3)}.plate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.plate-card{border:1px solid var(--border);border-radius:9px;padding:6px;cursor:pointer;background:#fff}.plate-card:hover{box-shadow:var(--sh-2)}.plate-card.warn{border-color:var(--red);box-shadow:0 0 0 2px var(--red-soft)}.plate-card svg{border-radius:6px;display:block}.plate-meta{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:4px 2px 0;flex-wrap:wrap}.plate .det.click{cursor:pointer}.plate.editable{cursor:crosshair}.scanline{animation:scan 1.4s linear infinite}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(400px)}}.ai-layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto auto;gap:16px;align-items:start}.ai-list{grid-row:span 2}.ai-items{max-height:calc(100vh - 220px);overflow:auto}.ai-item{display:flex;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--border);cursor:pointer}.ai-item:hover{background:var(--surface-2)}.ai-item.on{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.ai-item.warn .mono{color:var(--red)}.ai-item .thumb{width:54px;flex:0 0 54px}.ai-item .thumb svg{border-radius:6px;display:block}.conf{font-family:var(--display);font-size:15px;color:var(--green)}.conf.low{color:var(--red)}.ai-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:18px}.plate-big svg{border-radius:10px;display:block;max-width:560px;margin:0 auto}.plate-big p{text-align:center;margin-top:6px}.ai-side{display:flex;flex-direction:column;gap:12px}.count-cmp{display:flex;align-items:center;gap:10px}.count-cmp>div:not(.arrow){flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}.count-cmp>div.chg{background:var(--blue-soft);border-color:var(--blue-line)}.count-cmp span{font-size:12px;color:var(--text-2)}.count-cmp b{font-family:var(--display);font-size:30px;line-height:1.15}.count-cmp small{font-size:11px;color:var(--text-3)}.count-cmp .arrow{color:var(--text-3);font-size:18px}.mini-stats{display:flex;gap:12px;font-size:12px;color:var(--text-2)}.quality{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--amber-soft);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px}.quality small{width:100%;color:var(--text-3)}.review-box{border-top:1px dashed var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.review-box .field{width:100%}.trace{display:flex;flex-direction:column}.trace-step{display:flex;gap:12px;position:relative;padding-bottom:14px}.trace-step>i{width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--brand);color:#fff;font-style:normal;display:grid;place-items:center;font-family:var(--display);font-size:13px;z-index:1}.trace-step:not(:last-child):before{content:"";position:absolute;left:12.5px;top:26px;bottom:0;width:2px;background:var(--brand-soft)}.trace-head{display:flex;align-items:center;gap:8px;margin:2px 0 6px}.trace-body{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:13px}.trace-grid{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.eval-table td{min-width:120px}.eval-table td b{font-family:var(--display);font-size:16px}.eval-table td b.big{font-size:24px;color:var(--brand)}.eval-table .missing{display:inline-block;background:repeating-linear-gradient(45deg,#f4f6f7,#f4f6f7 4px,#eceff1 4px,#eceff1 8px);color:var(--text-3);font-size:12px;padding:2px 8px;border-radius:4px}.total-row td{background:var(--brand-soft)}.adjust{margin-top:6px;background:var(--violet-soft);border-radius:5px;padding:4px 8px;font-size:12px}.ai-text{display:flex;flex-direction:column;gap:10px}.ai-text-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ai-sec p{margin:2px 0 0;font-size:13px;line-height:1.75}.ai-sec.suggest{background:var(--violet-soft);border-left:3px solid var(--violet);padding:6px 10px;border-radius:0 6px 6px 0}.claim{margin-top:10px;border-radius:var(--r-sm);padding:10px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:3px}.claim.bad{background:var(--red-soft);border:1px solid var(--red-line);color:#8c2b24}.claim.ok{background:var(--green-soft);border:1px solid var(--green-line);color:var(--green)}.rules{font-size:12.5px;color:var(--text-2);line-height:1.9}.doctor{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.doc-top{display:flex;align-items:flex-end;gap:12px}.doc-kicker{font-size:12px;color:var(--brand)}.doc-top h2{font-size:22px}.doc-tabs{display:flex;gap:10px;flex-wrap:wrap}.doc-tabs button{border:2px solid var(--border);background:#fff;border-radius:99px;padding:7px 18px;font-size:14.5px;cursor:pointer}.doc-tabs button.on{font-weight:700;box-shadow:var(--sh-1)}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.doc-card{background:#fff;border-radius:14px;padding:18px 20px;border:1px solid var(--border);box-shadow:var(--sh-1)}.doc-card h3{font-size:16px;margin-bottom:10px}.doc-card.principle p{font-size:15px;line-height:1.85;margin-bottom:12px}.hl-row{display:grid;grid-template-columns:80px auto 1fr auto;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px dashed var(--border);border-radius:6px}.hl-row:hover{background:var(--brand-soft)}.hl-row b{font-family:var(--display);font-size:26px;color:var(--brand)}.hl-row small{color:var(--text-3);font-size:12px}.plate-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:12.5px}.plate-pair svg{border-radius:10px;display:block;margin-bottom:4px}.doc-list{font-size:14px;line-height:1.95}.fb-form{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.fb-form .field{width:100%}.stars button{border:0;background:none;font-size:24px;color:#d5dde0;cursor:pointer;padding:0 2px}.stars button.on{color:#f0a500}.fb-list{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:12.5px}.fb-list>div{background:var(--surface-2);border-radius:8px;padding:8px 12px}.fb-list small{color:var(--text-3)}.doctor-mode .sidebar{background:linear-gradient(178deg,#20323a,#2d4650)}.doctor-mode .content{background:linear-gradient(180deg,#f3f7f8,#eef2f3)}.pick-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px}.pick-list label{display:flex;gap:6px;align-items:center}.report-doc{position:relative;background:#fff;border:1px solid var(--border);padding:30px 36px;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;gap:14px}.watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:84px;font-weight:800;color:#c8423a17;transform:rotate(-24deg);pointer-events:none;letter-spacing:12px;white-space:nowrap}.rpt-head{display:flex;gap:16px;border-bottom:2px solid var(--brand);padding-bottom:12px}.rpt-head>div:first-child{flex:1}.rpt-org{font-size:12px;color:var(--brand)}.rpt-head h2{font-size:20px;margin:4px 0}.rpt-meta{font-size:12px;color:var(--text-3);font-family:var(--mono)}.rpt-sec h3{font-size:14.5px;margin-bottom:8px;border-left:3px solid var(--brand);padding-left:8px}.rpt-sec p{font-size:13px;margin-top:8px}.rpt-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--border);padding-top:12px;font-size:12.5px}.verify{display:flex;flex-direction:column;gap:10px}.verify-ok{background:var(--green-soft);color:var(--green);font-weight:700;font-size:16px;padding:12px;border-radius:9px;text-align:center}.filters{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);align-items:center;flex-wrap:wrap}.filters input:not([type]){width:200px}.table.audit td{font-size:12.5px}.matrix td{text-align:center}.matrix td:first-child{text-align:left;white-space:nowrap}.matrix td.yes{color:var(--green);font-weight:700;background:#f3faf6}.matrix td.no{color:#c5cfd3}.org{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px dashed var(--border)}.org span{font-size:12px;color:var(--text-2)}.org small{font-size:11.5px;color:var(--text-3)}.weights{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weights label{display:flex;flex-direction:column;font-size:12px;gap:2px}.svc{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--border);font-size:13px}.svc i{width:9px;height:9px;border-radius:50%}.svc i.ok{background:var(--green)}.svc i.warn{background:var(--amber)}.svc b{width:110px}.svc span{flex:1;color:var(--text-2);font-size:12.5px}.script-fab{position:fixed;right:20px;bottom:20px;background:var(--brand);color:#fff;border:0;border-radius:99px;padding:10px 20px;box-shadow:var(--sh-2);cursor:pointer;z-index:60;font-weight:600}.script{position:fixed;right:16px;bottom:16px;width:340px;max-height:calc(100vh - 100px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #08282e38;z-index:60}.script-head{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--brand-deep);border-radius:12px 12px 0 0;position:sticky;top:0}.script-head select{flex:1;font-weight:600;background:#fffffff2;border:0}.script-head .icon-btn{color:#fff}.script-sub{font-size:11.5px;color:var(--text-3);padding:8px 14px 2px}.script-steps{list-style:none;padding:6px 10px 10px;margin:0;display:flex;flex-direction:column;gap:4px}.script-steps li{border-radius:8px;padding:6px 8px}.script-steps li.cur{background:var(--brand-soft);border:1px solid #bfdfdf}.script-title{display:flex;gap:8px;align-items:center;font-size:13px}.script-title i{font-style:normal;width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;font-size:11px}.script-steps li.done .script-title{color:var(--text-3)}.script-steps li.done .script-title i{background:var(--green);border-color:var(--green);color:#fff}.script-steps li.cur .script-title i{background:var(--brand);border-color:var(--brand);color:#fff}.script-body{padding:6px 0 2px 28px;font-size:12.5px;color:var(--text-2)}.script-who{font-size:12px;color:var(--brand);font-weight:600;margin-bottom:3px}.script-btns{display:flex;gap:6px;margin-top:6px}.script-more{text-align:center;font-size:12px;color:var(--blue);cursor:pointer}.script-done{margin:0 12px 12px;background:var(--green-soft);color:var(--green);border-radius:8px;padding:10px;font-size:12.5px}@media (max-width: 1380px){.flow{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-data,.ai-main{grid-template-columns:1fr}}@media (max-width: 1100px){.grid2,.grid3,.grid-side,.grid-side.wide-left,.grid-side.narrow-left,.doc-grid,.hero,.ai-layout{grid-template-columns:1fr}.ai-list{grid-row:auto}.sidebar{width:180px;flex-basis:180px}.clock{display:none}}@media (max-width: 860px){.topbar{flex-wrap:wrap}.topbar-title .sub{display:none}.sidebar{width:150px;flex-basis:150px}.brand-sub,.sidebar-foot{display:none}.script-fab{padding:8px 14px;right:12px;bottom:12px}}@media print{body *{visibility:hidden}.report-doc,.report-doc *{visibility:visible}.report-doc{position:absolute;left:0;top:0;width:100%;border:0}.no-print{display:none!important}.modal-mask{position:static;background:none;padding:0}}.demo-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:99px;border:1px dashed #d9a441;background:repeating-linear-gradient(135deg,#fff8e6,#fff8e6 6px,#fdf0cc 6px,#fdf0cc 12px);color:#8a5a00;font-size:12px;font-weight:600;white-space:nowrap}.demo-badge.top{font-size:11.5px;padding:2px 8px}.missing{display:inline-block;background:repeating-linear-gradient(45deg,#f4f6f7,#f4f6f7 4px,#eceff1 4px,#eceff1 8px);color:var(--text-3);font-size:12px;padding:2px 8px;border-radius:4px}.note.warn{background:var(--amber-soft)}.note.danger{background:var(--red-soft);border-color:var(--red-line);color:#8e2a23;font-weight:600}.tbc{margin-top:10px;font-size:12px;color:#8a5a00;background:#fff8e6;border-radius:6px;padding:6px 10px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.table tr.sel td{background:var(--brand-soft)}.link.danger{color:var(--red);margin-left:10px}.pick-rows{display:flex;flex-direction:column}.pick-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left;border:0;border-bottom:1px solid var(--border);background:none;padding:10px 14px;cursor:pointer}.pick-row span{grid-column:1;font-size:12.5px;color:var(--text-2)}.pick-row .tag{grid-row:1 / span 2;grid-column:2;align-self:center}.pick-row.on{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.clin-tl-wrap{width:100%;min-width:0;overflow:hidden;contain:inline-size}.clin-tl{display:block;max-width:100%;height:auto}.clin-tl .tl-lane{font-size:11px;fill:var(--text-2);font-weight:600}.clin-tl .tl-in{font-size:10.5px;fill:#fff;font-weight:600}.clin-tl .tl-in.dark{fill:#4a3b33}.clin-tl .tl-axis{font-size:10.5px;fill:var(--text-3)}.clin-tl .tl-legend text{font-size:10.5px;fill:var(--text-2)}.signs{display:flex;flex-direction:column;gap:8px}.sign{display:flex;gap:10px;align-items:flex-start}.sign>i{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--surface-3);color:var(--text-3)}.sign.done>i{background:var(--green);color:#fff}.sign div{display:flex;flex-direction:column;font-size:12.5px}.sign span{color:var(--text-2)}.sign small{color:var(--text-3)}.bnd-table td{vertical-align:top}.bnd-table td.changed-cell{background:#fff3c4;font-weight:700}.num-in{width:78px}.num-in.changed{border-color:var(--amber);background:#fff8e6}.match-total{display:flex;align-items:baseline;gap:10px}.match-total b{font-family:var(--display);font-size:36px;color:var(--brand)}.gap-list{margin:4px 0;padding-left:18px;font-size:12.5px;color:var(--red)}.screen-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.screen-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh-1);border-top:4px solid var(--border-strong)}.screen-card.st-推荐{border-top-color:var(--green)}.screen-card.st-条件通过{border-top-color:var(--blue)}.screen-card.st-待补证{border-top-color:#9aa7ad}.screen-card.st-淘汰{border-top-color:var(--red);background:linear-gradient(180deg,#fff,#fff7f6)}.sc-head{display:flex;align-items:center;gap:6px}.sc-rank{font-family:var(--display);font-size:18px;color:var(--brand);min-width:28px}.sc-score{display:flex;align-items:baseline;gap:8px}.sc-score b{font-family:var(--display);font-size:26px}.st-淘汰 .sc-score b{color:var(--text-3);text-decoration:line-through}.sc-score span,.sc-meta{font-size:11.5px;color:var(--text-3)}.sc-line{font-size:12px;border-radius:4px;padding:2px 6px}.sc-line.red{background:var(--red-soft);color:var(--red);font-weight:600}.sc-line.gray{background:var(--surface-3);color:var(--text-2)}.sc-line.violet{background:var(--violet-soft);color:var(--violet)}.sc-line.amber{background:var(--amber-soft);color:#8a5a00}.matrix-clin th{font-size:12px;min-width:96px;vertical-align:bottom;line-height:1.35}.matrix-clin th small{display:block;font-weight:400}td.zc{text-align:center;cursor:pointer;border-left:2px solid #fff}td.zc b{display:block;font-family:var(--display);font-size:15px}td.zc small{font-size:11px}td.zc:hover{outline:2px solid var(--brand-light);outline-offset:-2px}.z-达标{background:var(--green-soft);color:var(--green)}.z-接近边界{background:var(--blue-soft);color:var(--blue)}.z-警戒{background:var(--amber-soft);color:#8a5a00}.z-不可接受{background:#f9d9d5;color:#a3271f}.z-缺失{background:repeating-linear-gradient(45deg,#f4f6f7,#f4f6f7 4px,#eceff1 4px,#eceff1 8px);color:var(--text-3)}.z-不可比{background:var(--violet-soft);color:var(--violet)}.z-不适用{background:#fafbfb;color:var(--text-3)}.legend-zones{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sens-head{font-size:13px;font-weight:600;border-radius:6px;padding:6px 10px;margin-bottom:8px}.sens-head.ok{background:var(--green-soft);color:var(--green)}.sens-head.warn{background:var(--amber-soft);color:#8a5a00}.confirm-ctx{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:8px 0 12px;font-size:13px}.case-switch{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.case-switch>button{display:grid;grid-template-columns:1fr auto;gap:0 10px;text-align:left;background:#fff;border:2px solid var(--border);border-radius:12px;padding:8px 14px;cursor:pointer;min-width:220px}.case-switch>button b{font-size:15px}.case-switch>button span{grid-column:1;font-size:12.5px;color:var(--text-2)}.case-switch>button small{grid-column:1;font-size:11px;color:var(--text-3)}.case-switch>button .tag{grid-column:2;grid-row:1 / span 3;align-self:center}.case-switch>button.on{border-color:var(--brand);box-shadow:var(--sh-1);background:var(--brand-soft)}.case-head{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:start}.case-feature{display:flex;flex-direction:column;gap:6px;background:var(--surface-2);border-radius:8px;padding:10px 12px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover,th.sortable.on{color:var(--brand)}th.sortable.on:after{content:" ▼";font-size:10px}.key-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (min-width: 1680px){.key-cards:not(.doc){grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 720px){.key-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;background:#fff}.key-card>span{font-size:12.5px;color:var(--text-2)}.key-card>b{font-family:var(--display);font-size:20px;color:var(--brand)}.key-card>small{font-size:11.5px;color:var(--text-3);line-height:1.45}.key-card>i{font-style:normal;font-size:11px;color:var(--text-3);font-family:var(--mono)}.key-card>.tag{align-self:flex-start}.key-card.miss{background:repeating-linear-gradient(45deg,#fafbfb,#fafbfb 6px,#f2f4f5 6px,#f2f4f5 12px)}.key-card.miss>b{color:var(--text-3);font-size:16px}.key-card.click{cursor:pointer}.key-card.click:hover{border-color:var(--brand-light);box-shadow:var(--sh-1)}.key-cards.doc .key-card>b{font-size:22px}.img-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coat-img{margin:0;display:flex;flex-direction:column;gap:4px}.coat-img svg{width:100%;height:auto;display:block;border-radius:8px}.coat-img figcaption{font-size:12px;color:var(--text-2);line-height:1.5}.schematic-fig svg{border:1px solid var(--line)}.mech-steps{list-style:none;margin:4px 0 2px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mech-steps li{display:flex;gap:6px;font-size:12px;line-height:1.5;color:var(--text-2)}.mech-steps li b{flex:none;width:18px;height:18px;border-radius:50%;background:#1f3a44;color:#fff;font-size:11px;display:grid;place-items:center;margin-top:1px}@media (max-width: 720px){.mech-steps{grid-template-columns:1fr}}.img-kind{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:0 6px;margin-right:6px}.img-kind.raw{background:#263238;color:#ffd27a}.img-kind.schematic{background:var(--violet-soft);color:var(--violet);border:1px dashed var(--violet-line)}.cat-matrix td.zc{min-width:60px}.cat-matrix th,.cat-matrix td:first-child{white-space:nowrap}.trace-chain{display:flex;flex-direction:column;gap:8px}.trace-node{display:flex;gap:10px;align-items:flex-start}.trace-node>i{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--brand);color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center}.trace-node div{display:flex;flex-direction:column;font-size:13px}.trace-node span{color:var(--text-2)}.ack{display:flex;gap:8px;align-items:flex-start;margin-top:12px;background:#fff8e6;border:1px dashed #d9a441;border-radius:8px;padding:8px 10px;font-size:12.5px}.doc-kv{width:100%;font-size:14px;border-collapse:collapse}.doc-kv td{padding:5px 0;border-bottom:1px dashed var(--border);vertical-align:top}.doc-kv td:first-child{color:var(--text-3);width:84px}.snap-meta{margin-top:10px;font-size:11.5px;color:var(--text-3);font-family:var(--mono);word-break:break-all}@media (max-width: 1100px){.case-head{grid-template-columns:1fr}.doctor .doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.doctor .doc-grid{grid-template-columns:1fr}}
