:root{--ink: #16202c;--ink-soft: #5b6b7c;--ink-faint: #8b9aa9;--line: #dfe5ec;--line-soft: #eef2f6;--paper: #ffffff;--canvas: #f5f7fa;--accent: #1e4d7b;--accent-soft: #eaf1f8;--warn: #9a6208;--warn-soft: #fdf5e6;--danger: #a32b2b;--danger-soft: #fdeeee;--ok: #1f6b46;--ok-soft: #eaf5ef;--radius: 8px;--shadow: 0 1px 2px rgba(22, 32, 44, .06), 0 4px 14px rgba(22, 32, 44, .05)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;line-height:1.3}h1{font-size:20px}h2{font-size:16px}h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}a{color:var(--accent)}.topbar{display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:600;letter-spacing:-.01em}.brand span{color:var(--ink-faint);font-weight:400;margin-left:8px}.nav{display:flex;gap:4px;margin-left:auto}.nav button{background:none;border:0;padding:7px 12px;border-radius:6px;font:inherit;color:var(--ink-soft);cursor:pointer}.nav button:hover{background:var(--line-soft)}.nav button.on{background:var(--accent-soft);color:var(--accent);font-weight:500}.page{max-width:1400px;margin:0 auto;padding:24px}.page.narrow{max-width:820px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft)}.card-head .spacer{margin-left:auto}.card-body{padding:18px}button.btn{font:inherit;font-weight:500;cursor:pointer;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}button.btn:hover:not(:disabled){border-color:var(--ink-faint)}button.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.btn.primary:hover:not(:disabled){background:#17405f}button.btn.danger{color:var(--danger)}button.btn.small{padding:5px 10px;font-size:13px}button.btn:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=password],textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-size:13px;font-weight:500;color:var(--ink-soft);margin-bottom:5px}.row{display:flex;gap:10px;align-items:center}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px}.banner{padding:11px 14px;border-radius:6px;font-size:14px;margin-bottom:16px}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.info{background:var(--accent-soft);color:var(--accent)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--line-soft);color:var(--ink-soft)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.err{background:var(--danger-soft);color:var(--danger)}.empty{text-align:center;padding:56px 24px;color:var(--ink-soft)}.empty h2{margin-bottom:8px}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px}.login{width:100%;max-width:340px}.login h1{margin-bottom:4px}.login p{margin:0 0 20px;color:var(--ink-soft);font-size:14px}.job-list{display:grid;gap:1px;background:var(--line-soft)}.job-row{display:flex;align-items:center;gap:14px;padding:13px 18px;background:var(--paper);border:0;width:100%;font:inherit;text-align:left;cursor:pointer}.job-row:hover{background:#fbfcfd}.job-row .title{font-weight:500}.job-row .spacer{margin-left:auto}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);padding:34px;text-align:center;color:var(--ink-soft);background:var(--paper);cursor:pointer;transition:.12s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.panes{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:start}@media(max-width:1200px){.panes{grid-template-columns:1fr}}.scan{width:100%;display:block;border-radius:6px;border:1px solid var(--line)}.scan-frame{width:100%;height:74vh;border:1px solid var(--line);border-radius:6px}.tri{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.tri button{flex:1;font:inherit;font-size:13px;padding:6px 4px;border:0;border-right:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer}.tri button:last-child{border-right:0}.tri button:hover{background:var(--line-soft)}.tri button.on{background:var(--accent);color:#fff;font-weight:500}.tri button.on.no{background:var(--ink-faint)}.tri button.on.unclear{background:var(--warn)}.flagged>span:first-child:after{content:"check";margin-left:7px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--warn-soft);color:var(--warn);padding:1px 6px;border-radius:999px}.caps{display:flex;flex-wrap:wrap;gap:6px}.caps button{font:inherit;font-size:13px;padding:5px 11px;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-soft)}.caps button.on{background:var(--accent);border-color:var(--accent);color:#fff}.signatory{display:grid;grid-template-columns:1fr 130px auto;gap:6px;margin-bottom:6px}.draft-text{width:100%;min-height:46vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.65}.notes{margin:0;padding:0;list-style:none;font-size:13.5px}.notes li{padding:9px 0;border-bottom:1px solid var(--line-soft)}.notes li:last-child{border-bottom:0}.notes .excerpt{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--ink)}details.block{border-top:1px solid var(--line-soft)}details.block>summary{padding:12px 18px;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-soft)}details.block>summary:hover{background:#fbfcfd}details.block>div{padding:0 18px 18px}.stack>*+*{margin-top:16px}
