:root{--bg:#f5f7f5;--card:#fff;--ink:#1c2823;--muted:#5e6b64;--line:#dce3dd;
--accent:#2f6b4f;--accent-ink:#fff;--ok:#2e7d4f;--warn:#9a6212;--bad:#b3261e;
--ok-soft:#dff0e5;--warn-soft:#f6ecd9;--bad-soft:#f8e1de;--accent-soft:#e3eee7}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;
background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{font-weight:700;color:var(--ink);text-decoration:none}
nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
nav a{color:var(--accent);text-decoration:none}
.who{color:var(--muted);font-size:12px}
.inline{display:inline}
.link{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;padding:0}
.wrap{max-width:1400px;margin:0 auto;padding:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.narrow{max-width:420px;margin:40px auto}
h1{font-size:20px;margin:0 0 12px}
label{display:block;margin:10px 0;color:var(--muted);font-size:12px}
input,textarea,select{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);
border-radius:7px;background:var(--bg);color:var(--ink);font:inherit}
button.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;
padding:9px 16px;font:inherit;cursor:pointer}
.error{background:var(--bad-soft);color:var(--bad);padding:8px 10px;border-radius:7px}
.hint{color:var(--muted);font-size:12px}
.grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:980px){.grid{grid-template-columns:1fr}}
.list{list-style:none;margin:0;padding:0;max-height:calc(100vh - 180px);overflow:auto}
.list a{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:7px;
text-decoration:none;color:var(--ink)}
.list a:hover,.list a.cur{background:var(--accent-soft)}
.meta{color:var(--muted);font-size:12px}
.pill{font-size:11px;padding:1px 8px;border-radius:99px;background:var(--line);color:var(--muted);white-space:nowrap}
.p-ok{background:var(--ok-soft);color:var(--ok)}.p-fixed{background:var(--accent-soft);color:var(--accent)}
.p-bad{background:var(--bad-soft);color:var(--bad)}.p-unsure{background:var(--warn-soft);color:var(--warn)}
.shot{background:#eef1ec;border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:82vh}
.shot img{display:block;width:100%;height:auto;cursor:zoom-in}
.shot.zoom img{width:180%}
.bar{height:8px;background:var(--line);border-radius:6px;overflow:hidden;margin:8px 0}
.bar>i{display:block;height:100%;background:var(--accent);width:0}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.actions button{border:1px solid var(--line);background:var(--card);color:var(--ink);
border-radius:8px;padding:9px 14px;font:inherit;cursor:pointer}
.actions button.ok{border-color:var(--ok);color:var(--ok)}
.actions button.bad{border-color:var(--bad);color:var(--bad)}
.actions button.warn{border-color:var(--warn);color:var(--warn)}
.actions button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.save{font-size:12px;color:var(--muted);margin-left:auto;align-self:center}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);font-size:13px}
th{color:var(--muted);font-weight:500}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.card h2{font-size:16px;margin:0 0 6px}
/* 核对页主区:左原件图、右字段。窄屏(≤1180px)叠成一列,图仍在字段之前。 */
.work{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:12px;align-items:start}
@media(max-width:1180px){.work{grid-template-columns:1fr}}
.work.group-work{grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr)}
@media(max-width:1180px){.work.group-work{grid-template-columns:1fr}}
.shotbar{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.shotbar button{border:1px solid var(--line);background:var(--card);border-radius:6px;
padding:2px 10px;font:inherit;font-size:12px;cursor:pointer}
#rows td:last-child{white-space:nowrap}
#rows .drop{white-space:nowrap;min-width:64px}
#rows td input[data-key="name"]{min-width:220px}
.form{min-width:0;overflow-x:auto}
input[readonly],textarea[readonly]{background:var(--line);color:var(--muted)}
.nav a{margin-right:12px;color:var(--accent);text-decoration:none}
.q{color:var(--ink);background:var(--accent-soft);padding:8px 10px;border-radius:7px;margin:8px 0}
.ghead{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}
.ghead label{margin:4px 0}
.balance{grid-column:1/-1;display:flex;gap:14px;align-items:center;margin:6px 0}
.balance b{font-variant-numeric:tabular-nums}
tr.dropped{opacity:.55;text-decoration:line-through}
tr.dropped input{background:var(--bad-soft)}
.rfield{min-width:70px}
td input{margin-top:0;padding:5px 6px}
.traces{margin:10px 0}
.traces ul{margin:6px 0;padding-left:18px;max-height:180px;overflow:auto}
.traces li{margin:2px 0;font-size:12px}
.traces .undo{border:1px solid var(--line);background:var(--card);border-radius:6px;
padding:1px 8px;font:inherit;font-size:12px;cursor:pointer;margin-left:6px}
.pgbtns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.pgbtns .pg{border:1px solid var(--line);background:var(--card);border-radius:6px;
padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.pgbtns .pg[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.pgbtns #zoom{border:1px solid var(--line);background:var(--card);border-radius:6px;
padding:3px 10px;font:inherit;font-size:12px;cursor:pointer;margin-left:6px}
.evidence{margin-top:12px}
.warnbar{background:var(--warn-soft);color:var(--warn);padding:8px 10px;border-radius:7px}
.glmbar{background:var(--accent-soft);padding:8px 10px;border-radius:7px;font-size:13px}
.bad-text{color:var(--bad);font-weight:600}
