/* 通用审图系统：在 general/style.css 之上的补充 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:18px 0}
.dcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.dcard b{font-size:15px}.dcard span{font:600 20px var(--mono);color:var(--acc)}.dcard small{color:var(--muted);font-size:11.5px;line-height:1.5}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px;min-width:110px;color:var(--muted);font-size:12px}.stats b{display:block;font:600 22px var(--mono);color:var(--text)}
.fd{background:var(--panel);border:1px solid var(--line);border-left:4px solid #a3a29e;border-radius:10px;padding:13px 16px;margin:10px 0}
.fd.error{border-left-color:#cf222e}.fd.warning{border-left-color:#d68910}.fd.info{border-left-color:#2471a3}
.fd p{margin:6px 0}.fh{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.fh b{margin-left:4px}
.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:#efefed;color:#55544f;white-space:nowrap}
.s-error{background:#fbe4e4;color:#b42318}.s-warning{background:#fdf0dc;color:#9a5b05}.s-info{background:#e5eef8;color:#1f5f99}
.v-confirmed{background:#dff3e8;color:#1e7a4b}.v-likely{background:#e5eef8;color:#1f5f99}.v-disputed{background:#fdf0dc;color:#9a5b05}.v-rejected{background:#efefed;color:#73726e}
.votes{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:6px}.votes .up{color:#1e7a4b}.votes .down{color:#b42318}
.acts{display:flex;gap:8px;margin-top:8px}.acts button{padding:5px 11px;font-size:12px}
.log{max-height:240px;overflow:auto;background:#1f1f1e;color:#e8e8e6;font:12px/1.55 var(--mono);padding:12px;border-radius:9px;white-space:pre-wrap;margin:0}
.code{background:#1f1f1e;color:#e8e8e6;font:12px/1.6 var(--mono);padding:12px;border-radius:9px;white-space:pre-wrap;overflow-x:auto}
.drop.on{border-color:var(--acc);background:var(--soft)}.filehidden{display:none}.okc{color:#287455}
.checklabel{display:flex;gap:8px;align-items:flex-start;color:var(--text);font-size:13px}.checklabel input{width:auto;margin-top:4px}
.spin{display:inline-block;width:10px;height:10px;border:2px solid var(--acc);border-top-color:transparent;border-radius:50%;animation:sp 0.8s linear infinite;vertical-align:-1px}@keyframes sp{to{transform:rotate(360deg)}}
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#1f1f1e;color:#fff;padding:10px 18px;border-radius:999px;opacity:0;transition:.25s;pointer-events:none;font-size:13px;z-index:99}#toast.on{opacity:1;transform:translateX(-50%)}
#report{display:none}
@media print{#app,#toast{display:none!important}#report{display:block}.rp{font:10pt/1.6 "Microsoft YaHei","Noto Sans SC",sans-serif;color:#222}.rp h1{font-size:18pt}.rp h2{font-size:12.5pt;border-bottom:2px solid #E9954A;padding-bottom:3px;margin-top:16px}.rf{border:1px solid #ddd;border-left:4px solid #999;border-radius:4px;padding:6px 9px;margin:6px 0;page-break-inside:avoid}.rf.error{border-left-color:#c0392b}.rf.warning{border-left-color:#d68910}.rf.info{border-left-color:#2471a3}.tiny{font-size:8.5pt;color:#666}}
@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.grid{grid-template-columns:1fr}.content{padding:20px 16px}}
/* 红黄绿分级 · 证据回查 · 检查清单覆盖率 */
.g-green{background:#dff3e8;color:#1e7a4b}.g-yellow{background:#fdf3d0;color:#8a6100}.g-red{background:#fbe4e4;color:#b42318}.g-out,.g-rejected{background:#efefed;color:#8a8984}
.stats .g-green{border-color:#9fd5b6}.stats .g-yellow{border-color:#ecd38a}.stats .g-red{border-color:#f0b4b0}.stats .g-green b{color:#1e7a4b}.stats .g-yellow b{color:#8a6100}.stats .g-red b{color:#b42318}
.evrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.evrow span{padding:0 6px;border-radius:4px;background:#f3f3f1}
.ev-ok,.ev-indexed,.ev-rule{color:#1e7a4b}.ev-missing,.ev-abolished{color:#b42318;background:#fbe4e4!important}.ev-partial,.ev-outdated,.ev-uncatalogued,.ev-catalog,.ev-image{color:#8a6100}
details.panel summary{cursor:pointer;list-style:revert}.cv-nodata td,.cv-skip td,.cv-unknown td{color:#8a6100}.cv-issue td:nth-child(3){color:#b42318}.cv-pass td:nth-child(3),.cv-done td:nth-child(3){color:#1e7a4b}
.checkrow{display:flex;flex-wrap:wrap;gap:4px 14px;margin:4px 0 8px}
.rstat{border:1px solid #ccc;padding:6px 10px;margin:8px 0 14px}
/* v0.2：意见书阅读说明、定量核查表、工作台量测 / 补图面板 */
.rread{border:1px dashed #bbb;padding:6px 10px;margin:0 0 14px;font-size:8.5pt;color:#444}.rread p{margin:3px 0}
.rp .tbl{width:100%;border-collapse:collapse;font-size:8.5pt}.rp .tbl th,.rp .tbl td{border:1px solid #ddd;padding:3px 5px;text-align:left;vertical-align:top}.rp .tbl tr{page-break-inside:avoid}
.q-bad{color:#c0392b;font-weight:600}.q-ok{color:#1e8449}
.qtbl td.q-bad{color:#c0392b;font-weight:600}.qtbl td.q-ok{color:#1e8449}
.counter{color:#8a6d00}
.rp .qt td:nth-child(3),.rp .qt td:nth-child(4),.rp .qt td:nth-child(5),.rp .qt th{white-space:nowrap}.rp .qt td:first-child{min-width:5em}
.rp .nw{white-space:nowrap}
.rp .nd td:first-child,.rp .nd td:nth-child(3),.rp .nd th{white-space:nowrap}

/* v0.6 问题图示 */
.rfig{margin:8px 0 4px;padding:0;break-inside:avoid;page-break-inside:avoid}
.rfig img{display:block;max-width:100%;border:1px solid #c9c9c9}
.rfig figcaption{font-size:11px;color:#555;margin-top:3px}
.rorig{color:#555;margin-top:3px;border-left:2px solid #d7261e;padding-left:6px}
.figbox:empty{display:none}
.rsum td{font-size:9px}.rsum .nw,.nw{white-space:nowrap}
/* 顾骏 2026-11-04：页面左右留白减半（屏幕见 general/style.css .content；打印意见书左右边距 10 → 5 mm） */
@media print{@page{size:A4 portrait;margin:10mm 5mm}}
