/*
 * mod-scheme 模块样式 — 来源 frontend/legacy/scheme.html <style>（:7-95，脚本批量前缀生成）
 * 规则：
 *  - 删除页面级 chrome：:root、*、body、header、footer、.ptop/.pnav/.hero、页面级 @media print
 *  - 其余每条选择器的每个逗号分段前缀 "#view-mod-scheme "（含 #calcBook 组规则、
 *    @media(max-width:960px) 断点内部）；.btn/.badge 等与平台同名类靠前缀提升特异性消解冲突
 *  - legacy :root 自定义属性改挂 #view-mod-scheme：平台 app.css 无 --navy/--steel/--mist/
 *    --card/--line/--warn，且 --accent/--ok 同名异值（legacy #c0392b 红 / #2e7d5b vs
 *    平台 #0f4c81 蓝 / #2e6b4f），不作用域隔离则失败态变蓝、部分变量解析失败
 *  - .scheme-compliance 为 frag 自建类（legacy 中该文案挂 footer，模块内改挂此类）
 *  - 末尾按契约追加打印规则（legacy 页面级 print 隐藏规则不移植，见 README 行为变更）
 */
#view-mod-scheme{--ink:#1a2332;--muted:#6b7688;--line:#dfe4ea;--bg:#f4f6f8;--card:#fff;--navy:#0a4f96;
      --steel:#5b7288;--mist:#eef1f4;--accent:#c0392b;--ok:#2e7d5b;--warn:#b45309;}
#view-mod-scheme .wrap{max-width:1280px;margin:0 auto;padding:28px 20px 60px;}
#view-mod-scheme nav{display:flex;gap:16px;align-items:center;margin-bottom:18px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
#view-mod-scheme nav a{color:var(--steel);font-size:13px;text-decoration:none;}
#view-mod-scheme nav a.here{color:var(--navy);font-weight:700;}
#view-mod-scheme nav a.tool{color:var(--accent);font-weight:600;border:1px solid var(--accent);padding:2px 12px;border-radius:999px;}
#view-mod-scheme .engine-badge{display:inline-block;margin-left:10px;font-size:11px;padding:1px 10px;border-radius:999px;background:#e3f2ea;color:var(--ok);font-weight:600;}
#view-mod-scheme .engine-badge.bad{background:#fdecea;color:var(--accent);}
#view-mod-scheme .layout{display:grid;grid-template-columns:330px 1fr;gap:16px;align-items:start;}
@media(max-width:960px){#view-mod-scheme .layout{grid-template-columns:1fr;}}
#view-mod-scheme .card{background:var(--card);border:1px solid var(--line);padding:16px 18px;margin-bottom:14px;}
#view-mod-scheme .card h2{font-size:13px;color:var(--navy);letter-spacing:1px;margin-bottom:12px;border-left:3px solid var(--navy);padding-left:8px;display:flex;justify-content:space-between;align-items:center;}
#view-mod-scheme .frow{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
#view-mod-scheme .frow label{width:92px;font-size:12px;color:var(--muted);flex-shrink:0;}
#view-mod-scheme .frow input, #view-mod-scheme .frow select{flex:1;min-width:70px;padding:5px 8px;border:1px solid var(--line);font-size:13px;background:#fff;}
#view-mod-scheme .frow input:focus, #view-mod-scheme .frow select:focus{outline:none;border-color:var(--navy);}
#view-mod-scheme .unit{font-size:11px;color:var(--steel);width:32px;}
#view-mod-scheme .btn{display:inline-block;background:var(--navy);color:#fff;border:none;padding:9px 20px;font-size:13.5px;cursor:pointer;letter-spacing:1px;}
#view-mod-scheme .btn:hover{background:#2c4f7c;}
#view-mod-scheme .btn:disabled{background:#9fb0c0;cursor:not-allowed;}
#view-mod-scheme .btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--navy);}
#view-mod-scheme .btn.ok{background:var(--ok);}
#view-mod-scheme .btn.ok:hover{background:#256b4a;}
#view-mod-scheme .upload{border:2px dashed var(--steel);border-radius:10px;padding:16px 12px;text-align:center;font-size:12px;color:var(--muted);}
#view-mod-scheme .upload.on{border-color:var(--ok);background:#f0f9f4;}
#view-mod-scheme .sep{border-top:1px dashed var(--line);margin:12px 0;}
#view-mod-scheme .stages{display:flex;flex-direction:column;gap:14px;}
#view-mod-scheme .stage{background:var(--card);border:1px solid var(--line);padding:14px 16px;}
#view-mod-scheme .stage.active{border-color:var(--navy);box-shadow:0 0 0 2px rgba(31,58,95,.08);}
#view-mod-scheme .stage h3{font-size:14px;color:var(--navy);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
#view-mod-scheme .stage h3 .who{font-size:11px;color:var(--steel);font-weight:400;}
#view-mod-scheme .badge{margin-left:auto;font-size:11px;padding:1px 10px;border-radius:999px;font-weight:600;background:var(--mist);color:var(--muted);}
#view-mod-scheme .badge.run{background:#fff7e0;color:var(--warn);}
#view-mod-scheme .badge.done{background:#e3f2ea;color:var(--ok);}
#view-mod-scheme .badge.confirm{background:#e8eef7;color:var(--navy);}
#view-mod-scheme .badge.fail{background:#fdecea;color:var(--accent);}
#view-mod-scheme .badge.skip{background:var(--mist);color:var(--steel);}
#view-mod-scheme .stage .body{font-size:12.5px;color:var(--muted);}
#view-mod-scheme .stats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin:8px 0;}
#view-mod-scheme .stat{flex:1;background:#fff;padding:8px;text-align:center;}
#view-mod-scheme .stat .v{font-size:16px;font-weight:800;color:var(--navy);}
#view-mod-scheme .stat .k{font-size:10px;color:var(--muted);}
#view-mod-scheme table.tbl{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0;}
#view-mod-scheme table.tbl th{background:var(--navy);color:#fff;padding:5px 8px;text-align:left;font-weight:600;white-space:nowrap;}
#view-mod-scheme table.tbl td{padding:4px 8px;border-bottom:1px solid var(--mist);vertical-align:top;}
#view-mod-scheme table.tbl tr:nth-child(even) td{background:#fafbfc;}
#view-mod-scheme table.tbl tr.rec td{background:#eef7f0;}
#view-mod-scheme table.tbl input[type=radio]{accent-color:var(--navy);}
#view-mod-scheme .pill{display:inline-block;padding:0 8px;border-radius:999px;font-size:11px;font-weight:600;}
#view-mod-scheme .pill.pass{background:#e3f2ea;color:var(--ok);}
#view-mod-scheme .pill.fail{background:#fdecea;color:var(--accent);}
#view-mod-scheme .log{background:#0f1826;color:#c9d6e3;padding:12px;font-family:Consolas,monospace;font-size:11.5px;max-height:220px;overflow:auto;line-height:1.8;margin-top:8px;}
#view-mod-scheme .log .ok{color:#6fcf97;}
#view-mod-scheme .log .err{color:#f28b82;}
#view-mod-scheme .log .warn{color:#f7d060;}
#view-mod-scheme .dlrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
#view-mod-scheme #calcBook{display:none;}
#view-mod-scheme .scheme-compliance{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
#view-mod-scheme .scheme-compliance span{max-width:640px;}
@media print{ #view-mod-scheme.active{display:block;} }
