/* R9：样稿面板规则，仅在 .spx 内生效。 */
.spx { margin:0; display:grid; gap:14px; min-width:0; max-width:1180px; }
.spx > * { min-width:0; }
.spx .sp-return { margin:-4px 2px 0; }
.spx .neg { color:var(--neg); } .spx .pos { color:var(--pos); } .spx .muted { color:var(--ink3); }
/* 从样稿“抬头”起迁入，队列外壳规则由 style.css 承接。 */
.spx .sp-head { padding:18px 22px 16px; }
.spx .sp-head .r1 { display:flex; align-items:center; gap:10px; }
.spx .sp-head h2 { margin:0; font-size:22px; font-weight:600; }
.spx .sp-head .sp { flex:1; }
.spx .sp-head .meta { margin-top:6px; font-size:13px; color:var(--ink2); }
.spx .sp-head .meta b { font-weight:500; color:var(--ink); }
.spx .sp-head .qline { margin-top:10px; padding-top:10px; border-top:1px solid var(--line-soft); font-size:13px; }
.spx .sp-head .trig { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px; font-size:12px; }
.spx .sp-nav { position:sticky; top:56px; z-index:3; display:flex; gap:2px; padding:6px 8px; background:rgba(245,246,248,.94); backdrop-filter:blur(6px); margin:-6px -2px; }
.spx .sp-nav button { padding:4px 10px; border:0; border-radius:6px; background:none; font-size:12px; color:var(--ink2); cursor:pointer; }
.spx .sp-nav button:hover { background:#fff; color:var(--tab-ink); }
.spx .sp-jump { border:0; background:none; padding:0; cursor:pointer; }
.spx [id^="sp-"] { scroll-margin-top:104px; }
.spx .sp-sec { padding:16px 20px 18px; }
.spx .sp-h { display:flex; align-items:baseline; gap:10px; }
.spx .sp-h i { align-self:center; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--tab-bg); color:var(--tab-ink); font-style:normal; font-size:11px; font-weight:600; }
.spx .sp-h b { font-size:16px; font-weight:600; }
.spx .sp-h span { font-size:12px; color:var(--ink3); }
.spx .sp-read { margin:8px 0 14px; padding:8px 12px; border-radius:6px; background:var(--th); font-size:13px; line-height:1.7; color:var(--ink2); }
.spx .sp-read b { color:var(--ink); font-weight:600; }
.spx .sp-sub { display:flex; align-items:baseline; gap:8px; margin:16px 0 8px; }
.spx .sp-sub b { font-size:13px; font-weight:600; }
.spx .sp-sub span { font-size:12px; color:var(--ink3); }
.spx .g2 { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:24px; }
.spx .g2 > * { min-width:0; }
.spx .g2 > div > .sp-sub:first-child { margin-top:4px; }
.spx .tiles { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.spx .pstrip { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin-top:10px; }
.spx .pl { padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.spx .pl.bad { border-color:#F1B3AE; background:#FFFBFA; }
.spx .pl .pn { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink2); }
.spx .pl .pv { margin-top:2px; font-size:18px; font-weight:600; }
.spx .pl .pv small { font-size:12px; font-weight:400; color:var(--ink2); }
.spx .pl .pd { font-size:12px; color:var(--ink3); }
.spx .lks td { vertical-align:top; }
.spx .lks td.nm b { display:block; }
.spx .lks td.nm small { font-size:12px; }
.spx .lk .v { font-size:13px; font-weight:600; white-space:nowrap; }
.spx .lk .c { font-size:12px; white-space:nowrap; }
.spx .lk .b { font-size:11px; color:var(--ink3); white-space:nowrap; }
.spx .lk.bad { background:#FFF4F3; }
.spx .lk.bad .c { color:#B93A33; font-weight:500; }
.spx .lk.warn { background:#FFF9EE; }
.spx .lk.warn .c { color:#A86A06; }
.spx .lk.ok .b { color:var(--pos); }
.spx .kv { display:flex; align-items:baseline; gap:10px; padding:5px 0; font-size:13px; }
.spx .kv > span { width:84px; flex:none; color:var(--ink3); font-size:12px; }
.spx .kv b { font-weight:500; }
.spx .kv small { font-size:11px; color:var(--ink3); }
.spx .big { font-size:13px; color:var(--ink2); margin-bottom:6px; }
.spx .big b { font-size:24px; font-weight:600; color:var(--ink); }
.spx .big b.neg { color:var(--neg); }
.spx .dims { display:grid; gap:6px; }
.spx .dm { display:grid; grid-template-columns:40px minmax(0, 1fr) 32px; align-items:center; gap:8px; font-size:12px; color:var(--ink2); }
.spx .dm i, .spx .pace i { position:relative; height:8px; border-radius:4px; background:var(--d-track); }
.spx .dm s, .spx .pace s { position:absolute; inset:0 auto 0 0; border-radius:4px; background:var(--d-main); }
.spx .dm s.low, .spx .pace s.low { background:var(--d-hl); }
.spx .dm b { text-align:right; font-weight:600; color:var(--ink); }
.spx .rvs { display:grid; }
.spx .rv { display:grid; grid-template-columns:44px 64px 40px auto minmax(0, 1fr); align-items:center; gap:10px; padding:7px 0; border-top:1px solid var(--line-soft); font-size:12px; color:var(--ink2); }
.spx .rv .tx { color:var(--ink); }
.spx .share { display:flex; height:14px; border-radius:4px; overflow:hidden; gap:2px; }
.spx .share i { min-width:3px; }
.spx .share .w, .spx .share-l s.w { background:var(--d-main); }
.spx .share .d, .spx .share-l s.d { background:#8FB0E8; }
.spx .share .g, .spx .share-l s.g { background:#C4C9D1; }
.spx .share-l { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:8px; font-size:12px; color:var(--ink2); }
.spx .share-l s { display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:5px; }
.spx .share-l b { font-weight:600; color:var(--ink); }
.spx .pace { display:grid; grid-template-columns:32px minmax(0, 1fr) 48px; align-items:center; gap:8px; padding:6px 0; font-size:12px; color:var(--ink2); }
.spx .pace u { position:absolute; top:-4px; bottom:-4px; width:2px; background:var(--ink); text-decoration:none; }
.spx .pace b { text-align:right; font-weight:600; color:var(--ink); }
.spx .pace small { grid-column:2 / -1; margin-top:-2px; font-size:11px; color:var(--ink3); }
.spx .ckg { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.spx .ckg b { font-size:14px; font-weight:600; }
.spx .ckg span { font-size:12px; color:var(--ink3); }
.spx .ckg .sp { flex:1; }
.spx .btn.sm { height:28px; padding:0 10px; font-size:12px; }
.spx .ck { padding:10px 12px; margin-bottom:8px; border:1px solid var(--line); border-radius:8px; }
.spx .ck.bad { border-color:#F1B3AE; background:#FFFBFA; }
.spx .ck.warn { border-color:#F3D6A3; background:#FFFCF5; }
.spx .ck.ok, .spx .ck.na { padding:8px 12px; }
.spx .ckh { display:flex; align-items:center; gap:8px; }
.spx .ckh b { font-size:13px; font-weight:600; }
.spx .ckh .dot { width:7px; height:7px; border-radius:50%; background:var(--d-ctx); }
.spx .ck.bad .dot { background:var(--neg); }
.spx .ck.warn .dot { background:var(--warn); }
.spx .ck.ok .dot { background:var(--pos); }
.spx .ckh .st { margin-left:auto; font-size:11px; color:var(--ink3); }
.spx .ck.bad .st { color:#B93A33; font-weight:500; }
.spx .ck.warn .st { color:#A86A06; }
.spx .ck.ok .st { color:var(--pos); }
.spx .ckf { margin-top:3px; font-size:12px; line-height:1.6; color:var(--ink2); }
.spx .ck.ok .ckf, .spx .ck.na .ckf { color:var(--ink3); }
.spx .ckw { display:flex; gap:8px; margin-top:4px; font-size:12px; line-height:1.6; color:var(--ink2); }
.spx .ckw span { flex:none; color:var(--ink3); }
.spx .steps { margin:6px 0 0; padding-left:18px; font-size:12px; line-height:1.6; color:var(--ink); }
.spx .steps li { margin-bottom:4px; }
.spx .steps small { display:block; color:var(--ink3); }
.spx .hand { margin-top:8px; padding:12px 14px; border:1px solid var(--tab-bd); border-radius:8px; background:#FBFAFE; }
.spx .hand textarea, .spx .cmp textarea { width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:13px; line-height:1.6; resize:vertical; }
.spx .hand textarea:focus, .spx .cmp textarea:focus { outline:none; border-color:var(--tab-bd); box-shadow:0 0 0 3px var(--tab-bg); }
.spx .cmpf { display:flex; align-items:center; gap:14px; margin-top:8px; font-size:12px; color:var(--ink2); }
.spx .cmpf .sp { flex:1; }
.spx .cmpf select { height:26px; border:1px solid var(--line); border-radius:4px; font:inherit; font-size:12px; }
.spx .ai-t { margin-top:20px; }
.spx .aibox { padding:14px 16px; border-radius:8px; background:#FAFBFC; border:1px solid var(--line-soft); }
.spx .aibox .empty { padding:0; }
.spx .ai-h { display:flex; align-items:center; gap:10px; }
.spx .ai-h b { font-size:14px; font-weight:600; }
.spx .ai-a { margin:6px 0 10px; font-size:13px; line-height:1.7; color:var(--ink2); }
.spx .hy { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:10px; }
.spx .hc { padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.spx .hc.picked { border-color:var(--tab-bd); }
.spx .hch { display:flex; flex-direction:column; gap:4px; }
.spx .hch .rk { align-self:flex-start; font-size:11px; padding:0 6px; border-radius:3px; background:var(--tab-bg); color:var(--tab-ink); }
.spx .hch b { font-size:13px; font-weight:600; line-height:1.5; }
.spx .hcr { margin-top:6px; font-size:12px; line-height:1.6; color:var(--ink2); }
.spx .hcr span { display:block; font-size:11px; color:var(--ink3); }
.spx .hcb { display:flex; align-items:center; gap:6px; margin-top:10px; }
.spx .hcb button { height:26px; padding:0 10px; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:12px; color:var(--ink2); cursor:pointer; }
.spx .hcb button.on { background:var(--tab-bg); border-color:var(--tab-bd); color:var(--tab-ink); font-weight:500; }
.spx .hst { font-size:11px; color:var(--ink3); }
.spx .qk { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.spx .qk button { height:24px; padding:0 8px; border:1px solid var(--line); border-radius:12px; background:#fff; font-size:12px; color:var(--ink2); cursor:pointer; }
.spx .qk button:hover { border-color:var(--tab-bd); color:var(--tab-ink); }
.spx .tri { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.spx .tri > div { padding:10px 12px; border-radius:8px; background:var(--th); }
.spx .tri > div.on { background:var(--tab-bg); }
.spx .tri span { display:block; font-size:11px; color:var(--ink3); }
.spx .tri b { display:block; margin-top:2px; font-size:14px; font-weight:600; }
.spx .tri small { display:block; margin-top:2px; font-size:11px; line-height:1.5; color:var(--ink3); }
.spx .tl > div { display:grid; grid-template-columns:48px 120px minmax(0, 1fr); gap:10px; padding:7px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.spx .tl b { font-weight:500; }
.spx .tl span { color:var(--ink3); font-size:12px; }
.spx .tl p { margin:0; }
.spx .lk.up .c { color:var(--pos); }
.spx .t.tight td { padding:5px 10px; }
.spx .kv > span { width:96px; }
.spx .hb { display:grid; gap:6px; }
.spx .hbr { display:grid; grid-template-columns:76px minmax(0, 1fr) 64px; align-items:center; gap:10px; font-size:12px; color:var(--ink2); }
.spx .hbr i { position:relative; height:12px; border-radius:3px; background:var(--d-track); }
.spx .hbr s { position:absolute; inset:0 auto 0 0; border-radius:3px; background:var(--d-ctx); }
.spx .hbr.on s { background:var(--d-main); }
.spx .hbr.on span, .spx .hbr.on b { color:var(--ink); font-weight:600; }
.spx .hbr b { text-align:right; font-weight:500; }
.spx .cknote { margin-bottom:8px; padding:6px 10px; border-radius:6px; background:var(--warn-bg); font-size:12px; color:#7A5300; }
.spx .kv b { white-space:nowrap; }
.spx .goalrow { display:flex; align-items:center; gap:24px; margin-top:8px; font-size:12px; color:var(--ink2); }
.spx .mg { display:inline-flex; align-items:center; gap:8px; }
.spx .mg em { font-style:normal; color:var(--ink2); }
.spx .mg i { position:relative; width:96px; height:6px; border-radius:3px; background:var(--d-track); }
.spx .mg s { position:absolute; inset:0 auto 0 0; border-radius:3px; background:var(--d-main); }
.spx .mg s.low { background:var(--d-hl); }
.spx .mg u { position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); }
.spx .mg b { font-weight:600; color:var(--ink); }
.spx .mg small { font-size:11px; color:var(--ink3); }
.spx .sp-lead { margin-top:12px; padding:10px 14px; border-radius:8px; background:var(--th); font-size:14px; line-height:1.75; color:var(--ink2); }
.spx .sp-lead b { color:var(--ink); font-weight:600; }
.spx .sp-lead .lk0 { display:block; margin-bottom:2px; font-size:11px; color:var(--ink3); }
.spx .sp-alert { margin-top:12px; padding:9px 14px; border-radius:8px; background:var(--neg-bg); font-size:13px; line-height:1.6; color:#9F2F28; }
.spx .sp-alert b { margin-right:10px; font-weight:600; color:#B93A33; }
.spx .ckok { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:2px; font-size:12px; }
.spx .ckok > em { font-style:normal; color:var(--ink3); margin-right:2px; }
.spx .ckok span { padding:2px 9px; border-radius:10px; background:var(--pos-bg); color:var(--pos); cursor:default; }
.spx .ckok span.na { background:#F2F3F5; color:var(--ink3); }
.spx .sp-dims .sp-h { margin-bottom:6px; }
.spx .dim { border-top:1px solid var(--line-soft); }
.spx .dim > summary { display:grid; grid-template-columns:8px 64px minmax(0, 1fr) auto 12px; align-items:center; gap:10px; padding:11px 4px; cursor:pointer; list-style:none; font-size:13px; }
.spx .dim > summary::-webkit-details-marker { display:none; }
.spx .dim > summary:hover { background:#FAFBFC; }
.spx .dim > summary::after { content:'▸'; color:var(--ink3); }
.spx .dim[open] > summary::after { content:'▾'; }
.spx .dim .dot { width:7px; height:7px; border-radius:50%; background:var(--d-ctx); }
.spx .dim.bad .dot { background:var(--neg); }
.spx .dim.warn .dot { background:var(--warn); }
.spx .dim.ok .dot { background:var(--pos); }
.spx .dim > summary b { font-weight:600; }
.spx .dim .df { color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.spx .dim .st { font-size:11px; color:var(--ink3); white-space:nowrap; }
.spx .dim.bad .st { color:#B93A33; font-weight:500; }
.spx .dim.warn .st { color:#A86A06; }
.spx .dim.ok .st { color:var(--pos); }
.spx .dimbody { padding:4px 4px 16px 22px; }
.spx .dimbody > .sp-sec { padding:0; background:none; border-radius:0; }
.spx .dimbody .sp-h { display:none; }
.spx .dimbody .sp-read { margin-top:0; }
.spx .sp-top { padding:14px 22px; }
.spx .sp-top .r1 { display:flex; align-items:center; gap:10px; }
.spx .sp-top h2 { margin:0; font-size:20px; font-weight:600; }
.spx .sp-top .sp { flex:1; }
.spx .sp-top .goalrow { margin:0; gap:18px; }
.spx .sp-top .meta { margin-top:4px; font-size:12px; color:var(--ink2); }
.spx .sp-top .meta b { font-weight:500; color:var(--ink); }
.spx .bk { padding:14px 22px 16px; border-left:4px solid var(--d-ctx); }
.spx .bk.red { border-left-color:var(--neg); }
.spx .bk.amber { border-left-color:var(--warn); }
.spx .bk-h { display:flex; align-items:center; flex-wrap:wrap; gap:6px; font-size:13px; }
.spx .bk-h b { font-weight:600; }
.spx .bk-h .bt { margin-left:8px; font-size:16px; font-weight:600; color:var(--ink); }
.spx .bk .trig { margin-top:6px; }
.spx .bk-g { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr); gap:20px; margin-top:6px; }
.spx .bk-r { display:grid; grid-template-columns:56px minmax(0, 1fr); gap:10px; padding:9px 0; border-top:1px solid var(--line-soft); font-size:13px; line-height:1.7; color:var(--ink2); }
.spx .bk-r > span { padding-top:1px; font-size:12px; font-weight:600; color:var(--ink); }
.spx .bk-r b { color:var(--ink); font-weight:600; }
.spx .bk-g .bk-r:first-child { border-top:0; }
.spx .bk-c { padding-top:6px; min-width:0; }
.spx .bk-ct { display:flex; align-items:baseline; gap:8px; margin-bottom:2px; }
.spx .bk-ct b { font-size:12px; font-weight:600; }
.spx .bk-ct span { font-size:11px; color:var(--ink3); }
.spx .ccs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.spx .cc { padding:1px 9px; border:0; border-radius:10px; font:inherit; font-size:12px; line-height:20px; cursor:pointer; }
.spx .cc.ok { background:var(--pos-bg); color:var(--pos); }
.spx .cc.warn { background:var(--warn-bg); color:#A86A06; }
.spx .cc.bad { background:var(--neg-bg); color:#B93A33; }
.spx span.cc { cursor:default; }
.spx .cc-l { margin-left:6px; font-size:11px; color:var(--ink3); }
.spx .todo { margin:0; padding-left:18px; color:var(--ink); }
.spx .todo li { margin-bottom:3px; }
.spx .todo small { display:block; font-size:11px; color:var(--ink3); line-height:1.5; }
.spx .oth { display:flex; align-items:center; gap:10px; margin-top:6px; padding:6px 10px; border-radius:6px; background:var(--th); font-size:12px; color:var(--ink2); }
.spx .oth span { flex:1; }
.spx .ai1 { display:flex; align-items:center; gap:8px; margin-top:8px; padding:0; border:0; font-size:13px; }
.spx .ai1 .ai1t { flex:1; color:var(--ink); }
.spx .ai1 .hcb { margin-top:0; }
.spx .ai1.picked { border:0; }
.spx .aid { margin-top:4px; font-size:12px; }
.spx .aid > summary { color:var(--tab-ink); cursor:pointer; list-style:none; }
.spx .aid > summary::-webkit-details-marker { display:none; }
.spx .aid[open] > summary { margin-bottom:6px; }
.spx .bk-r .cmpf { flex-wrap:wrap; gap:8px 12px; }
.spx .qk1 { height:24px; padding:0 8px; border:1px solid var(--line); border-radius:12px; background:#fff; font-size:12px; color:var(--ink2); cursor:pointer; }
.spx .qk1:hover { border-color:var(--tab-bd); color:var(--tab-ink); }
.spx .bk-r textarea { width:100%; padding:7px 10px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:13px; line-height:1.6; resize:vertical; }
.spx .bk-r textarea:focus { outline:none; border-color:var(--tab-bd); box-shadow:0 0 0 3px var(--tab-bg); }
.spx .lastrec { margin-top:6px; font-size:12px; color:var(--ink3); }
.spx .lastrec b { color:var(--ink2); font-weight:500; }
.spx .sp-datah { display:flex; align-items:baseline; gap:10px; margin:10px 2px -4px; }
.spx .sp-datah b { font-size:16px; font-weight:600; }
.spx .sp-datah span { font-size:12px; color:var(--ink3); }
.spx .chip2 { align-self:center; padding:0 7px; border-radius:9px; font-size:11px; line-height:18px; background:#F2F3F5; color:var(--ink3); }
.spx .chip2.ok { background:var(--pos-bg); color:var(--pos); }
.spx .chip2.warn { background:var(--warn-bg); color:#A86A06; }
.spx .chip2.bad { background:var(--neg-bg); color:#B93A33; }
.spx .chip2.prim { background:var(--tab-bg); color:var(--tab-ink); }
.spx .ros-surface { --ros-ink:#172033; --ros-muted:#657087; --ros-line:#e2e7ef; --ros-soft:#f7f8fb; --ros-red:#b72f2c; color:var(--ros-ink); display:grid; gap:0; }
.spx .ros-lead { background:#1d222d; border-radius:12px 12px 0 0; color:#fff; padding:16px 20px 18px; }
.spx .ros-kicker { display:flex; align-items:center; gap:8px; color:#c9d0dc; font-size:12px; font-weight:700; }
.spx .ros-kicker em { margin-left:auto; padding:3px 9px; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font-style:normal; font-weight:500; }
.spx .ros-ai-mark { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border-radius:4px; background:#fff; color:#1d222d; font-size:10px; }
.spx .ros-lead h3 { margin:12px 0 6px; font-size:17px; line-height:1.55; }
.spx .ros-lead > p { margin:0; font-size:13px; line-height:1.75; color:#d8dde6; }
.spx .ros-modules { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); background:#fff; border:1px solid var(--ros-line); border-top:0; }
.spx .ros-module { min-width:0; padding:16px 18px; border-top:1px solid var(--ros-line); }
.spx .ros-module.wide { grid-column:1 / -1; border-top:0; }
.spx .ros-module + .ros-module:not(.wide):last-child { border-left:1px solid var(--ros-line); }
.spx .ros-module-head { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.spx .ros-module-head span { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:#edf0f5; color:#4a556b; font-size:11px; font-weight:800; }
.spx .ros-module-head h4 { margin:0; font-size:14px; }
.spx .ros-tables { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:12px; }
.spx .ros-table { width:100%; border-collapse:collapse; font-size:12px; }
.spx .ros-table th { padding:7px 6px; border-bottom:1px solid var(--ros-line); color:var(--ros-muted); font-size:11px; font-weight:600; text-align:left; white-space:nowrap; }
.spx .ros-table td { padding:8px 6px; border-bottom:1px solid #edf0f4; font-weight:650; white-space:nowrap; }
.spx .ros-table tr:last-child td { border-bottom:0; }
.spx .ros-items, .spx .ros-checks { display:grid; gap:9px; }
.spx .ros-item, .spx .ros-check { padding:10px 11px; border:1px solid #e5e9f0; border-radius:8px; background:var(--ros-soft); }
.spx .ros-item strong, .spx .ros-check strong { font-size:12px; line-height:1.55; }
.spx .ros-item p, .spx .ros-check p { margin:4px 0 0; font-size:12px; line-height:1.6; color:#4e586d; }
.spx .ros-item small { display:block; margin-top:5px; font-size:11px; color:var(--ros-muted); }
.spx .ros-check-title { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.spx .ros-check-title span, .spx .ros-confirm-option span { flex:none; padding:3px 7px; border-radius:999px; background:#e4f2ea; color:#197147; font-size:10px; font-weight:800; }
.spx .ros-check small { display:block; margin-top:6px; font-size:11px; line-height:1.5; color:#8c4a22; }
.spx .ros-note { margin:9px 0 0; font-size:11px; color:var(--ros-muted); }
.spx .ros-confirm { padding:16px 18px 18px; border:1px solid var(--ros-line); border-top:0; border-radius:0 0 12px 12px; background:#fff; }
.spx .ros-confirm-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:12px; }
.spx .ros-confirm-head span { font-size:11px; font-weight:800; color:var(--ros-red); }
.spx .ros-confirm-head h4 { margin:3px 0 0; font-size:15px; }
.spx .ros-confirm-head small { font-size:11px; color:var(--ros-muted); }
.spx .ros-confirm-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.spx .ros-confirm-option { width:100%; padding:11px; border:1px solid #e0e5ed; border-radius:8px; background:#fafbfc; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.spx .ros-confirm-option.recommended { background:#eef8f2; border-color:#b8dec9; }
.spx .ros-confirm-option:hover:not(:disabled), .spx .ros-confirm-option.selected { border-color:#b72f2c; box-shadow:0 0 0 2px rgba(183, 47, 44, .08); }
.spx .ros-confirm-option.selected { background:#fff5f4; }
.spx .ros-confirm-option:disabled { cursor:default; opacity:.8; }
.spx .ros-confirm-option > div { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.spx .ros-confirm-option strong { font-size:12px; line-height:1.55; }
.spx .ros-confirm-option p { margin:7px 0 0; font-size:11px; line-height:1.55; color:var(--ros-muted); }
.spx .ros-confirm-note { width:100%; min-height:72px; margin-top:10px; padding:10px 11px; border:1px solid #d9dee7; border-radius:8px; font:inherit; font-size:13px; line-height:1.6; resize:vertical; }
.spx .ros-confirm-actions, .spx .ros-confirm-saved { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; padding-top:12px; border-top:1px solid var(--ros-line); }
.spx .ros-confirm-actions > span, .spx .ros-confirm-saved > span { font-size:11px; color:var(--ros-muted); }
.spx .ros-confirm-saved strong { color:#197147; font-size:13px; }
.spx .ai1 .lnk { flex:none; }
.spx .card.v4 { padding:14px 16px 12px; }
.spx .ros-surface.inline { margin-top:14px; }
.spx .ros-surface.inline .ros-lead { background:#F7F8FB; color:var(--ink); border:1px solid var(--ros-line); border-left:3px solid #1d222d; border-radius:10px 10px 0 0; padding:12px 16px 14px; }
.spx .ros-surface.inline .ros-kicker { color:var(--ink2); }
.spx .ros-surface.inline .ros-kicker em { background:#EDF0F5; color:var(--ink2); }
.spx .ros-surface.inline .ros-ai-mark { background:#1d222d; color:#fff; }
.spx .ros-surface.inline .ros-lead h3 { margin:8px 0 4px; font-size:15px; }
.spx .ros-surface.inline .ros-lead > p { color:var(--ink2); font-size:12.5px; }
.spx .ros-surface.inline .ros-modules { grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); }
.spx .ros-surface.inline .ros-module { border-top:0; }
.spx .ros-surface.inline .ros-module + .ros-module { border-left:1px solid var(--ros-line); }
.spx .ai-miss { display:flex; align-items:center; gap:8px; margin-top:14px; padding:9px 12px; border:1px dashed var(--line); border-radius:8px; font-size:12px; color:var(--ink3); }
.spx .ai-miss .ros-ai-mark { background:#C9CDD4; color:#fff; flex:none; }
.spx .catrow { display:flex; flex-wrap:wrap; gap:8px; }
.spx .catrow span { padding:3px 10px; border-radius:12px; background:#F2F3F5; font-size:12px; color:var(--ink2); }
.spx .catrow span.hot { background:var(--neg-bg); color:#B93A33; }
.spx .catrow b { font-weight:600; color:inherit; }
.spx .sp-aiwrap .ros-surface.inline { margin-top:10px; }

/* 消除原型全局同名类的外壳属性。 */
.spx .empty { padding:14px 0 4px; }
.spx .aibox .empty { padding:0; }
.spx .demo { max-width:none; margin:0 0 0 4px; padding:0 5px; }
.spx .pace { position:static; height:auto; background:transparent; border-radius:0; }

/* 窄栏时门店条不折字：店名、城市、分级不换行，本月进度条整体换到下一行 */
.spx .sp-top .r1 { flex-wrap:wrap; row-gap:6px; }
.spx .sp-top h2, .spx .sp-top .r1 > .muted, .spx .sp-top .r1 > .tag { white-space:nowrap; }
.spx .mg { white-space:nowrap; }

/* R21 显示覆盖：每平台紧凑表、差评分类正文齐头。 */
.spx #sp-acts .acts-platforms { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:0 20px 16px; }
.spx #sp-acts .acts-platform + .acts-platform { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
.spx .acts-platform .acts-item { display:table-row; padding:0; border:0; }
.spx .acts-platform table { table-layout:fixed; }
.spx .acts-platform th:nth-child(1) { width:24%; }
.spx .acts-platform th:nth-child(2) { width:42%; }
.spx .acts-platform th:nth-child(3) { width:21%; }
.spx .acts-platform th:nth-child(4) { width:13%; }
.spx .acts-platform td { font-size:12px; vertical-align:top; overflow-wrap:anywhere; }
.spx .acts-platform td b,.spx .acts-platform td small { display:block; }
.spx .rv { grid-template-columns:44px 64px 40px 96px minmax(0,1fr); }
.spx .rv .tag { width:96px; justify-content:center; }
.spx .ai1 { flex-wrap:wrap; }
.spx .ai1 .uik-ai-note { flex-basis:100%; }
@media(max-width:650px) { .spx .rv { grid-template-columns:44px 64px 40px 96px; } .spx .rv .tx { grid-column:1/-1; } }

/* R26：区经理按事项进入；事实、AI 判断、核查记录各有明确位置。 */
.spx .am-issue { padding:0; overflow:hidden; }
.spx .am-work-card { padding:22px; scroll-margin-top:96px; outline:none; }
.spx .am-work-card.is-active { box-shadow:inset 3px 0 0 #2F6BD4; }
.spx .am-issue-head { margin-bottom:18px; }
.spx .am-issue-head h2 { margin:9px 0 0; font-size:20px; line-height:1.5; }
.spx .am-work-card h3 { margin:0 0 10px; font-size:15px; line-height:1.5; }
.spx .am-problem-summary p { margin:8px 0; line-height:1.8; }
.spx .am-causes { display:block; margin:18px 0; padding:16px; background:#F7F8FB; border:1px solid var(--line); border-radius:8px; }
.spx .am-causes p { margin:0; line-height:1.8; color:var(--ink2); }
.spx .am-problem-evidence,.spx .am-progress,.spx .am-procedure { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.spx .am-procedure summary { cursor:pointer; font-size:13px; font-weight:600; }
.spx .am-procedure li { margin:12px 0; line-height:1.7; }
.spx .am-procedure li small { display:block; color:var(--ink3); margin-top:5px; }
.spx .am-progress > textarea { width:100%; }
.spx .am-related-work { display:grid; gap:10px; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.spx .am-related-work > span { color:var(--ink3); font-size:12px; }
.spx .am-related-work a { color:var(--accent,#2F6BD4); line-height:1.6; }
@media(max-width:650px) { .spx .am-work-card { padding:17px; } .spx .am-issue-head h2 { font-size:18px; } }
