:root{--bg: #f3f5f9;--panel: #ffffff;--ink: #0e1a2b;--ink-2: #33404f;--muted: #4a5565;--dim: #5b6676;--line: #dfe4ec;--line-2: #eef1f6;--line-3: #cdd5e1;--blue: #1f46c8;--blue-dk: #16348f;--blue-soft: #e8eefc;--navy: #0b1b3f;--nav-dim: #a9b6d3;--ok: #0b6e4f;--ok-soft: #e3f4ec;--warn-bg: #fff6ee;--warn-line: #f4cdae;--warn-ink: #8a3409;--danger: #b42318;--danger-soft: #fdecea;--num: "DIN Alternate", "Bahnschrift", "Roboto Condensed", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.num{font-family:var(--num);font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.top{display:flex;align-items:center;gap:24px;height:52px;padding:0 20px;background:var(--navy);color:#fff}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.03em;color:#fff;text-decoration:none}.mark{width:30px;height:30px;border-radius:8px;background:var(--blue);display:grid;place-items:center;font-weight:900}.top nav{display:flex;gap:4px;flex:1}.top nav a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:8px;color:var(--nav-dim);text-decoration:none}.top nav a:hover{color:#fff;background:#ffffff12}.top nav a.on{color:#fff;background:#ffffff1f}.who{display:flex;align-items:center;gap:12px;color:var(--nav-dim)}.who button{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;height:32px;padding:0 12px}.page{max-width:1440px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line-3);background:#fff;color:var(--ink);white-space:nowrap}.btn:hover{border-color:var(--blue)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn.primary:hover{background:var(--blue-dk)}.btn.sm{height:28px;padding:0 10px;font-size:13px}.btn.danger{color:var(--danger)}.field{height:36px;padding:0 10px;border:1px solid var(--line-3);border-radius:8px;background:#fff}.field:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1f46c826}.error{color:var(--danger)}.tag{display:inline-block;padding:0 8px;border-radius:999px;font-size:12px;line-height:20px;background:var(--line-2);color:var(--ink-2);white-space:nowrap}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:#fde6d4;color:var(--warn-ink)}.tag.bad{background:var(--danger-soft);color:var(--danger)}.tag.blue{background:var(--blue-soft);color:var(--blue-dk)}.login{min-height:100%;display:grid;place-items:center;background:var(--navy)}.login form{width:min(380px,calc(100% - 32px));background:#fff;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px}.login h1{margin:0;font-size:20px}.login label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--dim)}.login .field,.login .btn{height:42px}.tabs{display:flex;flex-wrap:wrap;gap:6px}.tabs button{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff}.tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}.tabs b{margin-left:6px;font-family:var(--num)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}table.list{width:100%;border-collapse:collapse}table.list th,table.list td{padding:10px 12px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:middle}table.list th{font-size:12px;font-weight:500;color:var(--dim);background:#f8f9fb;position:sticky;top:0}table.list tr.click{cursor:pointer}table.list tr.click:hover td{background:#fafbfd}.scroll-x{overflow-x:auto}.empty{padding:40px;text-align:center;color:var(--dim)}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px 12px}.desk{display:grid;grid-template-columns:280px minmax(0,1fr) minmax(360px,42%);height:calc(100% - 52px)}.desk>section{min-height:0;overflow:auto}.deskbar{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.deskbar h1{margin:0;font-size:16px}.deskbar .grow{flex:1}.desk-wrap{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100% - 52px)}.desk-wrap .desk{height:100%}.side{border-right:1px solid var(--line);background:#fff;padding:14px;display:flex;flex-direction:column;gap:14px}.side h2{margin:0;font-size:13px;color:var(--dim);font-weight:600}.check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.check li button{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:6px;background:transparent;text-align:left}.check li button:hover{background:var(--line-2)}.check .ic{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff}.ic.found{background:var(--ok)}.ic.uncertain{background:#c27803}.ic.missing{background:var(--danger)}.ic.optional{background:var(--line-3)}.check .nm{flex:1;min-width:0;font-size:13px}.check .imp{font-size:11px;color:var(--dim)}.segs{padding:14px;display:flex;flex-direction:column;gap:10px}.seg{background:#fff;border:1px solid var(--line);border-radius:10px}.seg.on{border-color:var(--blue);box-shadow:0 0 0 2px #1f46c826}.seg.low{border-left:4px solid #c27803}.seg.ok{border-left:4px solid var(--ok)}.seg-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line-2)}.seg-h select{height:30px;max-width:280px}.seg-h .rng{font-family:var(--num);color:var(--dim)}.seg-h .grow{flex:1}.seg-reasons{padding:4px 10px 0;font-size:12px;color:var(--dim)}.thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.thumb{position:relative;width:96px;border:2px solid transparent;border-radius:6px;background:var(--line-2);padding:0}.thumb img{display:block;width:100%;aspect-ratio:210 / 297;object-fit:cover;border-radius:4px;background:#fff}.thumb.sel{border-color:var(--blue)}.thumb .pn{position:absolute;left:4px;bottom:4px;background:#0b1b3fcc;color:#fff;font-size:11px;padding:0 5px;border-radius:4px}.thumb .hn{position:absolute;right:4px;top:4px;background:#fff;color:var(--ink-2);font-size:11px;padding:0 5px;border-radius:4px;border:1px solid var(--line)}.thumb .new{position:absolute;left:4px;top:4px;background:var(--blue);color:#fff;font-size:10px;padding:0 4px;border-radius:4px}.preview{background:#e9edf3;display:flex;flex-direction:column}.preview-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.preview-bar .grow{flex:1}.preview img{display:block;margin:12px auto;max-width:calc(100% - 24px);box-shadow:0 2px 10px #0e1a2b26;background:#fff}.preview img.full{max-width:none}.ocr{margin:12px;padding:12px;background:#fff;border-radius:8px;white-space:pre-wrap;font-size:13px}.keys{font-size:12px;color:var(--dim);line-height:1.8}.keys kbd{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--line-3);border-bottom-width:2px;border-radius:4px;background:#fff;font-family:var(--num);text-align:center}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1b3f73;display:grid;place-items:center;z-index:50}.modal{width:min(460px,calc(100% - 32px));background:#fff;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px}.modal h2{margin:0;font-size:17px}.modal .choices{display:flex;flex-direction:column;gap:8px}.modal .choices label{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.modal textarea{min-height:72px;padding:8px;border:1px solid var(--line-3);border-radius:8px}.modal .row{display:flex;gap:8px;justify-content:flex-end}.notice{padding:10px 12px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);font-size:13px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.card span{display:block;font-size:12px;color:var(--dim)}.card b{font-family:var(--num);font-size:26px}.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}@media (max-width: 1100px){.desk{grid-template-columns:240px minmax(0,1fr)}.preview{grid-column:1 / -1;min-height:60vh}}@media (max-width: 760px){.desk{display:flex;flex-direction:column;height:auto}.desk-wrap{height:auto}.side{border-right:0;border-bottom:1px solid var(--line)}.top{gap:12px;padding:0 12px}.who span{display:none}}
