.ws{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr) var(--panel-w);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;font:var(--fs,13px)/1.45 var(--font);color:var(--ink);background:var(--bg);position:relative}.ws *{box-sizing:border-box}.ws button,.ws input,.ws select,.ws textarea{font:inherit;color:inherit}.ws button{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:4px 10px;cursor:pointer;white-space:nowrap}.ws button:hover{border-color:var(--line-strong)}.ws button:focus-visible,.ws input:focus-visible,.ws select:focus-visible,.ws textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ws button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ws button.primary:hover{background:var(--accent-hover)}.ws button.ghost{background:transparent;border-color:transparent}.ws button.ghost:hover{background:var(--hover);border-color:transparent}.ws button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.ws button:disabled{opacity:.5;cursor:default}.ws input,.ws select,.ws textarea{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:5px 7px}.ws textarea{width:100%;min-height:84px;resize:vertical;line-height:1.45}.ws .mono{font-family:var(--mono)}.ws .muted{color:var(--ink-3)}.ws .sp{flex:1}.ws .ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}.ws .chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;border:1px solid var(--line);border-radius:10px;padding:1px 8px;background:var(--surface);color:var(--ink-2);white-space:nowrap}.ws .seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}.ws .seg button{border:0;border-radius:0;border-right:1px solid var(--line)}.ws .seg button:last-child{border-right:0}.ws .seg button.on{background:var(--accent-soft);color:var(--ink)}.ws .bar{height:4px;background:var(--line-soft);border-radius:2px;overflow:hidden;min-width:60px}.ws .bar i{display:block;height:100%;background:var(--accepted)}.ws .kbd{font:11px var(--mono);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:0 4px;color:var(--ink-2);background:var(--surface)}.ws-top{grid-column:1/-1}.ws-head{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.ws-banner{display:flex;gap:8px;align-items:center;padding:5px 12px;font-size:12px;background:var(--pending-soft);border-bottom:1px solid var(--line)}.ws-banner b{color:var(--pending)}.ws-banner.err{background:var(--critical-soft)}.ws-banner.err b{color:var(--critical)}.ws .rail{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:8px;min-height:0}.ws .railtabs{display:flex;flex-wrap:wrap;margin:-8px -8px 8px;border-bottom:1px solid var(--line)}.ws .railtabs button{flex:1 1 33%;border:0;border-radius:0;background:transparent;padding:7px 4px;border-bottom:2px solid transparent;font-size:12px}.ws .railtabs button.on{border-bottom-color:var(--accent);font-weight:500;background:var(--surface)}.ws .thumb{display:block;width:100%;padding:4px;margin-bottom:7px;text-align:left;background:var(--surface)}.ws .thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#fff;border:1px solid var(--line-soft)}.ws .thumb .meta{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:11px;color:var(--ink-2)}.ws .thumb .meta .mono{color:var(--ink);font-weight:500}.ws .thumb .meta .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ws .thumb.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ws .badge{font:600 10px var(--mono);padding:0 5px;border-radius:8px;background:var(--pending);color:#fff}.ws .badge.done{background:var(--accepted)}.ws .docrow{border:1px solid var(--line);background:var(--surface);padding:7px 8px;margin-bottom:6px;display:grid;gap:4px;border-left:3px solid var(--line-strong)}.ws .docrow.markup{border-left-color:var(--accent)}.ws .docrow.on{border-left-color:var(--reviewer);background:var(--reviewer-soft)}.ws .docrow .r{display:flex;gap:4px}.ws .docrow .r button{font-size:11.5px;padding:2px 7px}.ws .chest-set{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:10px 0 4px;display:flex;justify-content:space-between}.ws .chest-item{display:block;width:100%;text-align:left;white-space:normal;font-size:12px;line-height:1.35;padding:6px 7px;margin-bottom:4px;border-left:3px solid var(--reviewer)}.ws .chest-item small{display:block;color:var(--ink-3);font-size:10.5px;margin-top:3px}.ws .chest-item.on{background:var(--reviewer-soft);border-color:var(--reviewer)}.ws .railnote{font-size:11px;color:var(--ink-3);margin-bottom:8px}.ws .canvas{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--sunken)}.ws .canvas .stage-wrap{flex:1;min-height:0}.ws .ctools{display:flex;align-items:center;gap:5px;padding:5px 8px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.ws .ctools .sep{width:1px;height:20px;background:var(--line);margin:0 3px}.ws .ctools .z{font:12px var(--mono);min-width:44px;text-align:center}.ws .ctools .tool{padding:4px 7px}.ws .ctx{display:flex;gap:6px;align-items:center;font-size:12px;max-width:520px;overflow:hidden;white-space:nowrap}.ws .ctx select{padding:2px 4px;font-size:12px}.ws .doctabs{display:flex;gap:0;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}.ws .doctabs button{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:6px 12px;border-bottom:2px solid transparent}.ws .doctabs button.on{background:var(--surface);border-bottom-color:var(--accent);font-weight:500}.ws .stage-wrap{overflow:auto;position:relative}.ws .stage{position:relative;margin:22px auto 18px;box-shadow:var(--sh2);background:#fff;-webkit-user-select:none;user-select:none}.ws .stage canvas,.ws .stage img.page{display:block;width:100%;height:100%}.ws .stage .ovl{position:absolute;top:0;right:0;bottom:0;left:0}.ws .stage.drawing{cursor:crosshair}.ws .stage .loading{position:absolute;left:12px;top:10px;font-size:12px;color:#4b535c}.ws .scan-flag{position:absolute;left:0;top:-17px;font-size:11px;line-height:15px;padding:0 6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;color:var(--ink-2);white-space:nowrap}.ws .cloud{position:absolute;border:0;background:transparent;cursor:pointer}.ws svg.vec .rcloud{fill:#b07a120d;stroke:var(--pending);stroke-width:2.5;stroke-linejoin:round}.ws svg.vec .rcloud.accept{stroke:var(--accepted);fill:#2e85560d}.ws svg.vec .rcloud.edit{stroke:var(--edited);fill:#3f78cf0d}.ws svg.vec .rcloud.reviewer{stroke:var(--reviewer);fill:#6d4fc20d}.ws svg.vec .rcloud.reject{stroke:var(--rejected);stroke-dasharray:6 4;fill:none}.ws svg.vec .rcloud.sel{stroke-width:4;filter:drop-shadow(0 0 4px rgb(63 120 207/.55))}.ws .cloud .where{position:absolute;top:-12px;left:16px;font:600 10.5px var(--font);color:var(--ink-2);background:#ffffffd9;padding:0 4px;border-radius:3px;white-space:nowrap;pointer-events:none}.ws .cloud .num{position:absolute;top:-12px;left:-12px;min-width:22px;height:22px;border-radius:11px;padding:0 5px;display:flex;align-items:center;justify-content:center;font:600 11px var(--mono);color:#fff;background:var(--pending);box-shadow:0 0 0 2px #fff}.ws .cloud.accept{background:transparent}.ws .cloud.accept .num{background:var(--accepted)}.ws .cloud.reject{background:transparent}.ws .cloud.reject .num{background:var(--rejected)}.ws .cloud.edit{background:transparent}.ws .cloud.edit .num{background:var(--edited)}.ws .cloud.reviewer{background:transparent}.ws .cloud.reviewer .num{background:var(--reviewer)}.ws .cloud.sel{animation:ws-pulse 1.2s ease-out 1}@keyframes ws-pulse{0%{box-shadow:0 0 0 14px #3f78cf00}40%{box-shadow:0 0 0 6px #3f78cf73}to{box-shadow:0 0 0 4px #3f78cf59}}.ws .dragbox{position:absolute;border:2px dashed var(--reviewer);background:#6d4fc214;pointer-events:none}.ws .hlbox{border-color:#e0b000;background:#ffd6004d}.ws .tbox{position:absolute;background:#fffbe6;border:2px solid var(--pending);color:#1d2126;font-size:12px;line-height:1.25;padding:3px 6px;overflow:hidden;cursor:pointer;border-radius:2px;white-space:pre-line}.ws .tbox.reviewer{border-color:var(--reviewer)}.ws .tbox.accept{border-color:var(--accepted)}.ws .tbox.edit{border-color:var(--edited)}.ws .tbox.reject{border-color:var(--rejected);opacity:.6}.ws .tbox .num{position:absolute;top:-11px;left:-11px;min-width:20px;height:20px;border-radius:10px;padding:0 5px;display:flex;align-items:center;justify-content:center;font:600 10px var(--mono);color:#fff;background:var(--reviewer)}.ws .tbox.sel{box-shadow:0 0 0 4px #3f78cf59;overflow:visible}.ws .stampmk{position:absolute;border:3px double;border-radius:4px;padding:2px 10px;font-weight:700;letter-spacing:.06em;background:#ffffffbf;transform:rotate(-4deg);white-space:nowrap;line-height:1.2;cursor:pointer}.ws .stampmk small{display:block;font-size:.55em;font-weight:500;letter-spacing:0}.ws .lnk{position:absolute;border-bottom:2px solid transparent;cursor:pointer;border-radius:2px}.ws .lnk:hover{background:#3f78cf26;border-bottom-color:var(--accent)}.ws .stage.drawing .lnk{pointer-events:none}.ws .snapmark{position:absolute;right:-10px;top:-10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:1px 3px;line-height:0}.ws svg.vec{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.ws svg.vec .hl{fill:#ffd60061;pointer-events:auto;cursor:pointer}.ws svg.vec .meas{stroke:#d61f69;stroke-width:2}.ws svg.vec .measpt{fill:#d61f69}.ws svg.vec .measa{fill:#d61f691f;stroke:#d61f69;stroke-width:2}.ws svg.vec .measlab{font:600 12px var(--mono);fill:#d61f69;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px}.ws svg.vec .cnt{fill:#3f78cfd9;stroke:#fff;stroke-width:2}.ws svg.vec .cntlab{font:600 10px var(--mono);fill:#fff;text-anchor:middle}.ws svg.vec .rubber{fill:none;stroke:#d61f69;stroke-width:1.5;stroke-dasharray:5 4}.ws svg.vec .leader{stroke-width:2;stroke:var(--pending)}.ws svg.vec .leader.accept{stroke:var(--accepted)}.ws svg.vec .leader.edit{stroke:var(--edited)}.ws svg.vec .leader.reviewer{stroke:var(--reviewer)}.ws svg.vec .leader.reject{stroke:var(--rejected)}.ws svg.vec .evid{fill:#6d4fc21a;stroke:var(--reviewer);stroke-width:3}.ws svg.vec .evidlab{font:600 12px var(--font);fill:var(--reviewer);paint-order:stroke;stroke:#fff;stroke-width:4px}.ws svg.vec .sel-mark{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}.ws .refpane{border-left:2px solid var(--line-strong)}.ws .refhead{display:flex;gap:6px;align-items:center;padding:5px 10px;background:var(--reviewer-soft);border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap;overflow:hidden}.ws .refhead .muted{overflow:hidden;text-overflow:ellipsis}.ws .refpane .stage img.page{height:auto}.ws .refquote{padding:6px 10px;font-size:12px;border-bottom:1px solid var(--line);background:var(--surface);display:grid;gap:3px}.ws .refquote q{font-family:var(--mono);font-size:11.5px}.ws .evid-note{font-size:12px;color:var(--reviewer)}.ws .panel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.ws .panel-head{padding:8px 10px;border-bottom:1px solid var(--line);display:grid;gap:6px}.ws .panel-head .r{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ws .panel-head input[type=search]{flex:1}.ws .panel-list{overflow-y:auto;flex:1}.ws .panel .grp{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;cursor:pointer}.ws .panel .grp .dot{width:8px;height:8px;border-radius:2px}.ws .card{padding:9px 10px 9px 11px;border-bottom:1px solid var(--line);border-left:3px solid var(--pending);background:var(--surface);cursor:pointer}.ws .card.accept{border-left-color:var(--accepted)}.ws .card.reject{border-left-color:var(--rejected)}.ws .card.reject .body{opacity:.6}.ws .card.edit{border-left-color:var(--edited)}.ws .card.reviewer{border-left-color:var(--reviewer)}.ws .card.compact .txt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-2)}.ws .card.compact{border-left-style:dashed}.ws .card .meta{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.ws .card .meta .n{font:600 12px var(--mono);color:var(--ink)}.ws .card .meta .sh{font-family:var(--mono);color:var(--ink-2)}.ws .card .txt{margin-top:3px;line-height:1.45;white-space:pre-line}.ws .card .orig{margin-top:4px;font-size:11.5px;color:var(--ink-3)}.ws .card .loc{margin-top:4px;font-size:12px;color:var(--ink-2);display:flex;gap:5px;align-items:center}.ws .src{font-size:10.5px;padding:0 6px;border-radius:3px;border:1px solid;white-space:nowrap}.ws .src.cross_sheet,.ws .src.llm_cited{color:var(--accent);border-color:var(--accent)}.ws .src.past_comment{color:var(--pending);border-color:var(--pending)}.ws .src.judgment{color:var(--critical);border-color:var(--critical)}.ws .src.reviewer{color:var(--reviewer);border-color:var(--reviewer)}.ws .src.rule{color:var(--accepted);border-color:var(--accepted)}.ws .cites{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.ws .cite{font:11px var(--mono);padding:1px 6px;border-radius:3px;border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);cursor:pointer}.ws .cite:hover{text-decoration:underline}.ws .cite.bad{border-color:var(--critical);color:var(--critical);background:var(--critical-soft)}.ws .seen{margin-top:4px;font-size:11.5px;color:var(--ink-3)}.ws .verify-why{margin-top:4px;font-size:11.5px;color:var(--pending);display:flex;gap:4px;align-items:flex-start}.ws .acts{display:flex;gap:4px;margin-top:7px;align-items:center}.ws .acts button{padding:2px 9px;font-size:12px}.ws .acts .state{font-size:12px;font-weight:500}.ws .reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ws .reasons button{font-size:11.5px;padding:2px 8px}.ws .reasons .reject-note{flex:1 1 100%;font-size:12px;padding:3px 6px}.ws .evid{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.ws .evid-chip{font-size:11.5px;padding:1px 7px;border-color:var(--reviewer);color:var(--reviewer);background:var(--reviewer-soft);white-space:normal;text-align:left}.ws .evid-pending{font-size:11.5px;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:3px;padding:1px 7px;display:inline-flex;gap:4px;align-items:center}.ws .empty{padding:28px;text-align:center;color:var(--ink-3)}.ws .keyhelp{padding:6px 10px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px 10px}.ws .pop{position:absolute;z-index:30;width:380px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh2);border-radius:4px;padding:10px;display:grid;gap:7px;cursor:default;color:var(--ink)}.ws .pop .r{display:flex;gap:6px;align-items:center}.ws .snapimg{display:block;max-width:100%;max-height:180px;margin-top:6px;border:1px solid var(--line-strong)}.ws .scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:40}.ws .drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--sh2);z-index:41;display:flex;flex-direction:column}.ws .drawer header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.ws .drawer header h3{margin:0;font:600 15px var(--mono)}.ws .drawer .dbody{padding:14px;overflow:auto;flex:1}.ws .drawer .crumb{font-size:12px;color:var(--ink-3);margin-bottom:8px}.ws .drawer .codetext{white-space:pre-wrap;font-size:12.5px;line-height:1.55;border-left:3px solid var(--accent);padding:2px 0 2px 12px}.ws .callout{border:1px solid;border-radius:3px;padding:8px 10px;margin-bottom:10px;font-size:12.5px}.ws .callout.bad{border-color:var(--critical);background:var(--critical-soft)}.ws .callout.info{border-color:var(--accent);background:var(--accent-soft)}.ws .toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:7px 12px;border-radius:4px;font-size:12.5px;box-shadow:var(--sh2);max-width:560px;z-index:60}.ws .dock{height:250px;border-top:2px solid var(--line-strong);background:var(--surface);display:flex;flex-direction:column;min-height:0;flex:none}.ws .dock-head{display:flex;gap:6px;align-items:center;padding:5px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.ws .dock-body{overflow:auto;flex:1}.ws table.ml{table-layout:fixed;border-collapse:collapse;font-size:12px}.ws .ml th{position:sticky;top:0;overflow:hidden;text-overflow:ellipsis;background:var(--panel);text-align:left;font-weight:500;padding:4px 7px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:1}.ws .ml tr.filters th{top:25px;cursor:default;padding:2px 4px}.ws .ml tr.filters select,.ws .ml tr.filters input{font-size:11px;padding:1px 3px;width:100%;min-width:0;box-sizing:border-box}.ws .ml td{padding:3px 7px;border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:top;overflow:hidden;text-overflow:ellipsis}.ws .ml td.cm{white-space:normal;overflow-wrap:anywhere}.ws .ml tr[data-row]{cursor:pointer}.ws .ml tr[data-row]:hover td{background:var(--hover)}.ws .ml tr.sel td{background:var(--accent-soft)}.ws .ml select{font-size:11.5px;padding:1px 3px}.ws .stat.accept{color:var(--accepted)}.ws .stat.reject{color:var(--rejected)}.ws .stat.edit{color:var(--edited)}.ws .stat.reviewer{color:var(--reviewer)}.ws .stat.pending{color:var(--pending)}.ws .sgroup{margin-bottom:6px}.ws .sgroup-h{display:flex;align-items:center;gap:4px;width:100%;border:0;background:transparent;padding:5px 2px;font-size:12px;font-weight:600;color:var(--ink-2);text-align:left}.ws .sgroup-h .caret{width:12px;color:var(--ink-3)}.ws .sgroup-h .sp{flex:1}.ws .sg-open{font-weight:500;font-size:11px;color:var(--pending)}.ws .thumb .sstat{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px;font-size:10.5px;color:var(--pending)}.ws .thumb .sstat .sv{color:var(--accent)}.ws .ss{font-size:10.5px;color:var(--ink-3);border:1px solid var(--line);border-radius:8px;padding:0 5px;margin-left:4px}.ws .search-f{display:flex;gap:4px;margin-bottom:6px}.ws .search-f input{flex:1;min-width:0}.ws .search-n{margin:2px 0 8px}.ws .sres{margin-bottom:8px;border:1px solid var(--line);background:var(--surface)}.ws .sres-h{padding:5px 7px;overflow-wrap:anywhere;font-size:11.5px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;flex-wrap:wrap}.ws .sres-line{display:block;width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;border:0;border-radius:0;background:transparent;padding:5px 7px;font-size:12px;line-height:1.35;border-bottom:1px solid var(--line-soft)}.ws .sres-line:last-child{border-bottom:0}.ws .sres-line:hover{background:var(--hover)}.ws .sres mark{background:var(--pending-soft);color:inherit;padding:0 1px}.ws .ml-export{display:inline-flex;gap:4px;align-items:center;margin-right:8px}.ws .ml-export button{font-size:11.5px;padding:2px 9px}.ws .ml thead tr:first-child th{position:sticky}.ws .ml .col-rs{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:2;touch-action:none}.ws .ml .col-rs:after{content:"";position:absolute;top:4px;bottom:4px;left:3px;width:1px;background:var(--line)}.ws .ml .col-rs:hover:after,.ws .ml .col-rs:focus-visible:after{background:var(--teal,#2f97ac);width:2px;left:2px}.ws .ml td select{max-width:100%}.ws .pane-rs{position:absolute;bottom:0;width:8px;max-width:8px;padding:0;margin:0;border:0;z-index:6;cursor:col-resize;touch-action:none;box-sizing:border-box}.ws .pane-rs.rail{left:calc(var(--rail-w) - 8px)}.ws .pane-rs.panel{right:calc(var(--panel-w) - 8px)}.ws .pane-rs:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:transparent;transition:background .15s .1s}.ws .pane-rs.rail:after{left:3px}.ws .pane-rs.panel:after{left:3px}.ws .pane-rs:hover:after,.ws .pane-rs:focus-visible:after,body.pane-dragging .ws .pane-rs:active:after{background:var(--teal,#2f97ac)}.ws .pane-rs:focus{outline:none}body.pane-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}body.pane-dragging iframe,body.pane-dragging canvas{pointer-events:none}.ws .stage-wrap.pan-ready,.ws .stage-wrap.pan-ready *{cursor:grab!important}.ws .stage-wrap.pan-drag,.ws .stage-wrap.pan-drag *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.ws .keys-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim);display:flex;align-items:center;justify-content:center}.ws .keys-card{background:var(--surface);border-radius:6px;box-shadow:var(--sh2);padding:12px 16px;width:min(520px,92vw);max-height:80vh;overflow:auto}.ws .keys-card header{display:flex;align-items:center;margin-bottom:6px}.ws .keys-card header .sp{flex:1}.ws .keys-card table{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:8px}.ws .keys-card td{padding:4px 6px;border-bottom:1px solid var(--line-soft);vertical-align:top}.ws .keys-card td.mono{white-space:nowrap;width:42%;font-weight:500}.ws .pop.cpop{width:440px}.ws .sug-head{display:flex;gap:6px;align-items:baseline;font-size:11px}.ws .sug-head>span:first-child{font-weight:600;color:var(--ink-2)}.ws .sug-head .sp{flex:1}.ws .linkish{font-size:11px;padding:0 4px;color:var(--accent)}.ws .sug{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow:auto}.ws .sug-use{display:grid;gap:3px;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);padding:5px 7px;border-radius:3px;white-space:normal}.ws .sug-use:hover,.ws .sug-use:focus-visible{border-color:var(--accent);background:var(--edited-soft)}.ws .sug-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.35}.ws .sug-m{display:flex;gap:8px;align-items:center;font-size:10.5px;color:var(--ink-3)}.ws .sug-codes{display:flex;gap:4px;flex-wrap:wrap;align-items:center;font-size:11px}.ws .sug-codes .cite{cursor:pointer;border:1px solid var(--line);background:var(--surface);font-size:11px;padding:1px 6px}.ws .sug-codes .cite.on{border-color:var(--accent);background:var(--edited-soft)}.ws .cite-check{font-size:11px;padding:3px 6px;border-radius:3px}.ws .cite-check.ok{color:var(--accepted,var(--accepted));background:var(--accepted-soft)}.ws .cite-check.bad{color:var(--critical);background:var(--critical-soft)}.ws .canvas{background:#3b4559}:root[data-theme=dark] .ws .canvas{background:#0b0f1a}.ws .ws-head{background:var(--surface);border-bottom:1px solid var(--line)}.ws .ws-head .t{font-family:var(--mono);font-weight:500}.ws .railtabs button.on{border-bottom-color:var(--indigo);color:var(--ink)}:root[data-theme=dark] .ws .railtabs button.on{border-bottom-color:var(--accent)}.ws .thumb{border-radius:var(--radius);border:1px solid var(--line-soft)}.ws .thumb.on{border-color:var(--indigo);box-shadow:0 0 0 1px var(--indigo)}.ws .grp{font-family:var(--mono);letter-spacing:.06em}.ws .card{transition:background .12s}.ws .card.sel{background:var(--accent-soft)}.ws .docrow{border-radius:var(--radius)}.ws .sres{border-radius:var(--radius);overflow:hidden}.ws .pop{border-radius:8px;border-color:var(--line)}.ws .ctools .pagenav{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}:root{--bg: #e7eef0;--panel: #f7f8f9;--panel-2: #ffffff;--line: #c9cdd3;--line-strong: #8f959e;--ink: #1c2545;--ink-2: #4b535c;--ink-3: #7a8290;--accent: #2b3570;--accent-soft: #e6e9f3;--pending: #d98b1c;--accepted: #2f8f4e;--rejected: #8f959e;--edited: #3f78cf;--reviewer: #7a3fa8;--critical: #b3261e;--font: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--fs: 13px;--rail-w: 168px;--panel-w: 400px}@media (prefers-color-scheme: dark){:root{--bg: #1c1f23;--panel: #23272c;--panel-2: #2b3036;--line: #3a4048;--line-strong: #5a626c;--ink: #e8eaed;--ink-2: #b8bec6;--ink-3: #8a919a;--accent-soft: #233a56}}:root{--navy:#1c2545;--indigo:#2b3570;--teal:#2f97ac;--brand-blue:#3f78cf;--mist:#e7eef0;--brand-grad:linear-gradient(95deg,#2b3570 0%,#2f97ac 49%,#3f78cf 100%);--bg:#e7eef0;--panel:#f3f7f8;--surface:#ffffff;--sunken:#d9e3e7;--hover:rgb(28 37 69/.05);--line:#cdd8dc;--line-soft:#e1e9ec;--line-strong:#8b98a6;--ink:#1c2545;--ink-2:#3d4a5c;--ink-3:#5b6573;--accent:#2b3570;--accent-hover:#232c5e;--accent-soft:#e6e9f3;--on-accent:#ffffff;--focus:#2f97ac;--link:#2f66b8;--pending:#b07a12;--pending-soft:#f7efdc;--accepted:#2e8556;--accepted-soft:#e3f1e8;--rejected:#7d8796;--rejected-soft:#eef1f4;--edited:#3f78cf;--edited-soft:#e6eefa;--reviewer:#6d4fc2;--reviewer-soft:#efeafa;--verify:#2f97ac;--verify-soft:#e3f2f5;--critical:#b3261e;--critical-soft:#fbeeed;--paper:#ffffff;--paper-ink:#111111;--top-bg:#1c2545;--top-ink:#ffffff;--top-ink-2:#c9d3e6;--top-line:#3a4568;--radius:6px;--sh1:0 1px 3px rgb(28 37 69/.08);--sh2:0 12px 32px rgb(28 37 69/.2),0 0 0 1px rgb(28 37 69/.08);--scrim:rgb(12 17 32/.5);--font:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--display:"AristaPro","IBM Plex Sans",system-ui,sans-serif;--doc:Arial,"Helvetica Neue",sans-serif;--fs:13px;--rail-w:184px;--panel-w:430px;--top-h:52px}:root[data-theme=dark]{--bg:#121828;--panel:#161d2e;--surface:#1e2638;--sunken:#0b0f1a;--hover:rgb(255 255 255/.05);--line:#2c3650;--line-soft:#232c42;--line-strong:#4a5675;--ink:#e7eef0;--ink-2:#b9c3d6;--ink-3:#8f9bb3;--accent:#8fa0e6;--accent-hover:#a6b4ee;--accent-soft:#2a3458;--on-accent:#0c1120;--focus:#4fc0d4;--link:#9cbcf0;--pending:#e0a83a;--pending-soft:#3a2f1c;--accepted:#4fbf7f;--accepted-soft:#1d3528;--rejected:#8f9bb3;--rejected-soft:#252d40;--edited:#6fa0ea;--edited-soft:#1b2a45;--reviewer:#a78bea;--reviewer-soft:#2c2547;--verify:#4fc0d4;--verify-soft:#1b2c3a;--critical:#ef7b72;--critical-soft:#3d2321;--top-bg:#0c1120;--top-ink:#ffffff;--top-ink-2:#b9c3d6;--top-line:#262f47;--sh1:0 1px 3px rgb(0 0 0/.4);--sh2:0 12px 32px rgb(0 0 0/.55),0 0 0 1px rgb(255 255 255/.06)}@font-face{font-family:AristaPro;src:url(/assets/AristaProLight-B27BPM58.ttf) format("truetype");font-weight:300;font-display:swap}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:var(--fs)/1.45 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:4px 10px;cursor:pointer;white-space:nowrap}button:hover{border-color:var(--line-strong)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}button.primary:hover{background:var(--accent-hover)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--hover);border-color:transparent}button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}button:disabled{opacity:.5;cursor:default}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:5px 7px}textarea{width:100%;min-height:84px;resize:vertical;line-height:1.45}.mono{font-family:var(--mono)}.muted{color:var(--ink-3)}.kbd{font:11px var(--mono);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:0 4px;color:var(--ink-2);background:var(--surface)}.ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}.sp{flex:1}.shell{display:grid;grid-template-rows:var(--top-h) 1fr;height:100%}.top{display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--top-bg);color:var(--top-ink);border-bottom:1px solid var(--top-line)}.top .nav a{color:var(--top-ink-2)}.top .nav a:hover{color:var(--top-ink)}.top .nav a.on{color:var(--top-ink);background:transparent;box-shadow:inset 0 -2px 0 var(--teal)}.top .crumbs{color:var(--top-ink-2);padding-left:14px;border-left:1px solid var(--top-line)}.top .crumbs b{color:var(--top-ink)}.top .crumbs a{color:var(--top-ink-2)}.top .crumbs a:hover{color:var(--top-ink)}.top .seg{border-color:var(--top-line)}.top .seg a{color:var(--top-ink-2);background:transparent;border-color:var(--top-line)}.top .seg a:hover{color:var(--top-ink);background:#ffffff0f}.top .seg a.on{background:var(--indigo);color:var(--top-ink)}.top .chip{background:transparent;border-color:var(--top-line);color:var(--top-ink-2)}.top .iconbtn{color:var(--top-ink)}.top .iconbtn:hover{background:#ffffff14}.top .reviewer-chip{background:transparent;border:1px solid var(--top-line);color:var(--top-ink);border-radius:16px;padding:3px 12px;font-size:12px}.wordmark{display:inline-flex;align-items:center;font-family:var(--display);font-weight:300;font-size:24px;line-height:1;color:var(--top-ink);white-space:nowrap;text-decoration:none}.wordmark svg{width:16px;height:16px;margin:0 0 0 1px;flex:none;transform:translateY(1px)}.wordmark .gap{width:7px}.app-name{font-size:12px;color:var(--top-ink-2);padding-left:10px;border-left:1px solid var(--top-line);white-space:nowrap}.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.01em;cursor:pointer}.brand{text-decoration:none}.crumbs{display:flex;align-items:center;gap:6px;color:var(--ink-3)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs b{color:var(--ink);font-weight:600}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;border:1px solid var(--line);border-radius:10px;padding:1px 8px;background:var(--surface);color:var(--ink-2);white-space:nowrap}.chip.blue{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.iconbtn{border:0;background:transparent;padding:6px;border-radius:4px;position:relative;display:inline-flex}.iconbtn:hover{background:var(--hover)}.iconbtn .pip{position:absolute;top:2px;right:0;font:600 9px var(--mono);background:var(--accent);color:var(--on-accent);border-radius:8px;padding:0 4px}.banner{display:flex;gap:8px;align-items:center;padding:5px 12px;font-size:12px;background:var(--pending-soft);color:var(--ink);border-bottom:1px solid var(--line)}.banner b{color:var(--pending)}#view{min-height:0;overflow:hidden;position:relative}.page{height:100%;overflow:auto;padding:20px 24px 40px}.page h1{font-family:var(--display);font-size:34px;line-height:1.15;margin:0 0 4px;font-weight:300;letter-spacing:-.01em}.page .sub{color:var(--ink-3);margin-bottom:16px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{padding:14px 16px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--sh1);border-top:3px solid var(--accent)}.kpi b{display:block;font:500 26px var(--mono);color:var(--ink)}.kpi span{color:var(--ink-3);font-size:12px}.toolbar{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.toolbar input[type=search]{width:260px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.seg button{border:0;border-radius:0;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent-soft);color:var(--ink)}table.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--sh1);overflow:hidden}.grid th{text-align:left;font-weight:500;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:7px 10px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0}.grid td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.grid tr.row{cursor:pointer}.grid tr.row:hover td{background:var(--hover)}.grid tr.dim td{color:var(--ink-3)}.pill{display:inline-block;font-size:11px;font-weight:500;padding:2px 9px;border-radius:12px;border:1px solid}.pill.new{color:var(--accent);border-color:transparent;background:var(--accent-soft)}.pill.back{color:var(--reviewer);border-color:var(--reviewer);background:var(--reviewer-soft)}.pill.warn{color:var(--critical);border-color:var(--critical);background:var(--critical-soft)}.bar{height:4px;background:var(--line-soft);border-radius:2px;overflow:hidden;min-width:60px}.bar i{display:block;height:100%;background:var(--indigo)}.ws{display:grid;grid-template-columns:var(--rail-w) 1fr var(--panel-w);grid-template-rows:auto 1fr;height:100%}.ws-head{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.ws-head .t{font-weight:600}.ws-head .prog{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:12px}.ws-head .prog .bar{width:120px}.rail{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;padding:8px}.rail h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:500;display:flex;justify-content:space-between}.thumb{display:block;width:100%;padding:4px;margin-bottom:7px;text-align:left;background:var(--surface)}.thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#fff;border:1px solid var(--line-soft)}.thumb .meta{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:11px;color:var(--ink-2)}.thumb .meta .mono{color:var(--ink);font-weight:500}.thumb .meta .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.thumb.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.badge{font:600 10px var(--mono);padding:0 5px;border-radius:8px;background:var(--pending);color:#fff;min-width:16px;text-align:center}.badge.done{background:var(--accepted)}.canvas{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0;background:var(--sunken)}.ctools{display:flex;align-items:center;gap:5px;padding:5px 8px;background:var(--panel);border-bottom:1px solid var(--line)}.ctools .sep{width:1px;height:20px;background:var(--line);margin:0 3px}.ctools .z{font:12px var(--mono);min-width:44px;text-align:center}.stage-wrap{overflow:auto;position:relative}.stage{position:relative;margin:22px auto 18px;box-shadow:var(--sh2);background:#fff;-webkit-user-select:none;user-select:none}.stage img{display:block;width:100%;height:100%}.stage .ovl{position:absolute;top:0;right:0;bottom:0;left:0}.stage.drawing{cursor:crosshair}.scan-flag{position:absolute;left:0;top:-17px;font-size:11px;line-height:15px;padding:0 6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:3px;color:var(--ink-2);white-space:nowrap}.cloud{position:absolute;border:2.5px solid var(--pending);border-radius:10px;background:#b07a120f;cursor:pointer}.cloud .num{position:absolute;top:-12px;left:-12px;min-width:22px;height:22px;border-radius:11px;padding:0 5px;display:flex;align-items:center;justify-content:center;font:600 11px var(--mono);color:#fff;background:var(--pending);box-shadow:0 0 0 2px #fff}.cloud.accept{border-color:var(--accepted);background:#2e85560f}.cloud.accept .num{background:var(--accepted)}.cloud.reject{border-color:var(--rejected);border-style:dashed;background:transparent}.cloud.reject .num{background:var(--rejected)}.cloud.edit{border-color:var(--edited);background:#3f78cf0f}.cloud.edit .num{background:var(--edited)}.cloud.reviewer{border-color:var(--reviewer);background:#6d4fc20f}.cloud.reviewer .num{background:var(--reviewer)}.cloud.sel{box-shadow:0 0 0 4px #3f78cf59;animation:pulse 1.2s ease-out 1}@keyframes pulse{0%{box-shadow:0 0 0 14px #3f78cf00}40%{box-shadow:0 0 0 6px #3f78cf73}to{box-shadow:0 0 0 4px #3f78cf59}}.dragbox{position:absolute;border:2px dashed var(--reviewer);background:#6d4fc214}.panel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.panel-head{padding:8px 10px;border-bottom:1px solid var(--line);display:grid;gap:6px}.panel-head .r{display:flex;gap:6px;align-items:center}.panel-head input[type=search]{flex:1}.panel-list{overflow-y:auto;flex:1}.grp{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;cursor:pointer}.grp .dot{width:8px;height:8px;border-radius:2px}.card{padding:10px 12px;border-bottom:1px solid var(--line-soft);border-left:3px solid var(--pending);background:var(--surface);cursor:pointer}.card.accept{border-left-color:var(--accepted)}.card.reject{border-left-color:var(--rejected)}.card.reject .body{opacity:.6}.card.edit{border-left-color:var(--edited)}.card.reviewer{border-left-color:var(--reviewer)}.card.sel{background:var(--accent-soft)}.card .meta{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.card .meta .n{font:600 12px var(--mono);color:var(--ink)}.card .meta .sh{font-family:var(--mono);color:var(--ink-2)}.card .ttl{font-weight:600;margin-top:4px}.card .txt{margin-top:3px;line-height:1.45;white-space:pre-line}.card .loc{margin-top:4px;font-size:12px;color:var(--ink-2);display:flex;gap:5px;align-items:center}.src{font-size:10.5px;padding:0 6px;border-radius:3px;border:1px solid;white-space:nowrap}.src.llm_cited{color:var(--accent);border-color:var(--accent)}.src.past_comment{color:var(--pending);border-color:var(--pending)}.src.judgment{color:var(--critical);border-color:var(--critical)}.src.reviewer{color:var(--reviewer);border-color:var(--reviewer)}.src.rule{color:var(--accepted);border-color:var(--accepted)}.cites{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.cite{font:11px var(--mono);padding:1px 6px;border-radius:3px;border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);cursor:pointer}.cite:hover{text-decoration:underline}.cite.bad{border-color:var(--critical);color:var(--critical);background:var(--critical-soft)}.cite .x{margin-left:4px;opacity:.7}.seen{margin-top:4px;font-size:11.5px;color:var(--ink-3)}.acts{display:flex;gap:4px;margin-top:7px;align-items:center}.acts button{padding:2px 9px;font-size:12px}.acts .state{font-size:12px;font-weight:500}.reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.reasons button{font-size:11.5px;padding:2px 8px}.empty{padding:28px;text-align:center;color:var(--ink-3)}#layer .scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--sh2);z-index:41;display:flex;flex-direction:column}.drawer header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.drawer header h3{margin:0;font:600 15px var(--mono)}.drawer .dbody{padding:14px;overflow:auto;flex:1}.drawer .crumb{font-size:12px;color:var(--ink-3);margin-bottom:8px}.drawer .codetext{white-space:pre-wrap;font-size:12.5px;line-height:1.55;border-left:3px solid var(--accent);padding:2px 0 2px 12px}.callout{border:1px solid;border-radius:3px;padding:8px 10px;margin-bottom:10px;font-size:12.5px}.callout.bad{border-color:var(--critical);background:var(--critical-soft)}.callout.info{border-color:var(--accent);background:var(--accent-soft)}.callout.good{border-color:var(--accepted);background:var(--accepted-soft)}.modal{position:fixed;left:50%;top:6vh;transform:translate(-50%);width:min(760px,94vw);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh2);z-index:41;border-radius:4px}.modal header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.modal header h3{margin:0;font-size:15px}.modal .mbody{padding:16px;display:grid;gap:12px}.modal footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line)}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form label{display:grid;gap:3px;font-size:12px;color:var(--ink-2)}.drop{border:1.5px dashed var(--line-strong);padding:10px 12px;border-radius:4px;display:grid;gap:4px;font-size:12px}.drop .f{display:flex;gap:8px;align-items:center}.drop .f .mono{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps{display:grid;gap:0;border:1px solid var(--line)}.step{display:grid;grid-template-columns:22px 1fr auto;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line-soft);align-items:start}.step:last-child{border-bottom:0}.step .st{width:18px;height:18px;border-radius:9px;border:2px solid var(--line-strong);margin-top:1px}.step.run .st{border-color:var(--accent);border-top-color:transparent;animation:spin .8s linear infinite}.step.done .st{border-color:var(--accepted);background:var(--accepted)}.step .d{font-size:12px;color:var(--ink-3)}.step .api{font:11px var(--mono);color:var(--ink-3)}.pop{position:absolute;z-index:30;width:380px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh2);border-radius:4px;padding:10px;display:grid;gap:7px;cursor:default}.pop .r{display:flex;gap:6px;align-items:center}.ac{border:1px solid var(--line);max-height:150px;overflow:auto;background:var(--surface)}.ac div{padding:3px 7px;font:12px var(--mono);cursor:pointer}.ac div:hover,.ac div.on{background:var(--accent-soft)}.sugg{border-top:1px solid var(--line-soft);padding-top:6px;display:grid;gap:4px}.sugg h5{margin:0;font-size:11px;color:var(--ink-3);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.sugg button{text-align:left;white-space:normal;font-size:12px;line-height:1.35;padding:5px 7px}.sugg button small{display:block;color:var(--ink-3);font-size:11px;margin-top:2px}.bc-item{padding:10px 11px;border-bottom:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface);cursor:pointer}.bc-item.resolved{border-left-color:var(--accepted)}.bc-item.partial{border-left-color:var(--pending)}.bc-item.open{border-left-color:var(--critical)}.bc-item.sel{background:var(--accent-soft)}.bc-item .orig{color:var(--ink-2);margin-top:3px}.bc-item .resp{margin-top:6px;padding:6px 9px;background:var(--panel);border-left:2px solid var(--line-strong);font-size:12.5px}.bc-item .resp b{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);display:block;font-weight:500}.bc-item .resp.none{color:var(--critical)}.sheetlink{font:11px var(--mono);color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:0 5px;margin-right:4px;background:transparent;cursor:pointer}.bc-sum{display:flex;gap:10px;font-size:12px;color:var(--ink-2)}.bc-sum b{font-family:var(--mono)}.letter-wrap{height:100%;overflow:auto;background:var(--sunken);padding:18px}.letter-tools{display:flex;gap:8px;align-items:center;max-width:1040px;margin:0 auto 12px;flex-wrap:wrap}.paper{max-width:816px;min-height:1056px;margin:0 auto;background:var(--paper);color:var(--paper-ink);box-shadow:var(--sh2);padding:64px 72px;font:12.5px/1.5 var(--doc);position:relative}.paper .lh{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:10px;margin-bottom:14px}.paper .lh b{font-size:15px}.paper .kv{display:grid;grid-template-columns:200px 1fr;gap:2px 10px;margin:10px 0 14px}.paper .kv span:nth-child(odd){font-weight:700}.paper h4{margin:18px 0 6px;font-size:12.5px;text-decoration:underline}.paper h5{margin:16px 0 6px;font-size:12.5px;font-weight:700;letter-spacing:.02em}.paper ol{padding-left:24px;margin:0}.paper li{margin-bottom:9px}.paper .resp{margin-top:3px;font-weight:700}.paper .follow{color:#9a3b00;margin-top:2px}.paper .draft-mark{position:absolute;top:30px;right:40px;font:700 12px var(--mono);color:#c47a10;border:2px solid #c47a10;padding:2px 8px;transform:rotate(4deg)}.paper .pend{color:#8a6100}.nav{display:flex;gap:2px;margin-left:10px}.nav a{padding:5px 10px;border-radius:3px;color:var(--ink-2);text-decoration:none}.nav a:hover{background:var(--hover)}.nav a.on{background:var(--accent-soft);color:var(--ink)}.note{margin-top:12px;padding:9px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:flex;gap:8px;align-items:flex-start}.note a{color:var(--accent)}.libgrid{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}.libgrid section{background:var(--surface);border:1px solid var(--line);padding:10px 12px}.libgrid h3{margin:0 0 8px;font-size:14px}.frole{margin-top:8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.fpath{font-size:11.5px;padding:2px 0;word-break:break-all;color:var(--ink-2)}.libgrid .grid td{font-size:12.5px}.canvas{display:flex;flex-direction:column}.canvas .stage-wrap{flex:1;min-height:0}.doctabs{display:flex;gap:0;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}.doctabs button{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:6px 12px;border-bottom:2px solid transparent}.doctabs button.on{background:var(--surface);border-bottom-color:var(--accent);font-weight:500}.ctools{flex-wrap:wrap}.ctools .tool{padding:4px 7px}.ctx{display:flex;gap:6px;align-items:center;font-size:12px;max-width:520px;overflow:hidden;white-space:nowrap}.ctx select{padding:2px 4px;font-size:12px}.menu{position:relative}.menu-pop{display:none;position:absolute;top:100%;left:0;z-index:20;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh2);padding:6px 10px;border-radius:4px;min-width:180px}.menu-pop.open{display:grid;gap:4px}.menu-pop label{display:flex;gap:6px;align-items:center;white-space:nowrap}.railtabs{display:flex;margin:-8px -8px 8px;border-bottom:1px solid var(--line)}.railtabs button{flex:1;border:0;border-radius:0;background:transparent;padding:7px 4px;border-bottom:2px solid transparent;font-size:12px}.railtabs button.on{border-bottom-color:var(--accent);font-weight:500;background:var(--surface)}.chest-set{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:10px 0 4px;display:flex;justify-content:space-between}.chest-item{display:block;width:100%;text-align:left;white-space:normal;font-size:12px;line-height:1.35;padding:6px 7px;margin-bottom:4px;border-left:3px solid var(--reviewer)}.chest-item small{display:block;color:var(--ink-3);font-size:10.5px;margin-top:3px}.chest-item.on{background:var(--reviewer-soft);border-color:var(--reviewer)}.badge.chg{background:var(--reviewer)}svg.vec{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}svg.vec .hl{fill:#ffd60061;pointer-events:auto;cursor:pointer}svg.vec .meas{stroke:#d61f69;stroke-width:2}svg.vec .measpt{fill:#d61f69}svg.vec .measa{fill:#d61f691f;stroke:#d61f69;stroke-width:2}svg.vec .measlab{font:600 12px var(--mono);fill:#d61f69;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px}svg.vec .cnt{fill:#3f78cfd9;stroke:#fff;stroke-width:2}svg.vec .cntlab{font:600 10px var(--mono);fill:#fff;text-anchor:middle}svg.vec .rubber{fill:none;stroke:#d61f69;stroke-width:1.5;stroke-dasharray:5 4}svg.vec .leader{stroke-width:2;stroke:var(--pending)}svg.vec .leader.accept{stroke:var(--accepted)}svg.vec .leader.edit{stroke:var(--edited)}svg.vec .leader.reviewer{stroke:var(--reviewer)}svg.vec .leader.reject{stroke:var(--rejected)}svg.vec .arrhead{fill:var(--pending)}svg.vec .arrhead.accept{fill:var(--accepted)}svg.vec .arrhead.edit{fill:var(--edited)}svg.vec .arrhead.reviewer{fill:var(--reviewer)}svg.vec .arrhead.reject{fill:var(--rejected)}svg.vec .chg{fill:#6d4fc20f;stroke:var(--reviewer);stroke-width:2;stroke-dasharray:7 4}svg.vec .chg.revision_block{fill:none;stroke:var(--line-strong);stroke-dasharray:2 3}.tbox{position:absolute;background:#fffbe6;border:2px solid var(--pending);color:#1d2126;font-size:12px;line-height:1.25;padding:3px 6px;overflow:hidden;cursor:pointer;border-radius:2px}.tbox.reviewer{border-color:var(--reviewer)}.tbox.accept{border-color:var(--accepted)}.tbox.edit{border-color:var(--edited)}.tbox.reject{border-color:var(--rejected);opacity:.6}.tbox .num{position:absolute;top:-11px;left:-11px;min-width:20px;height:20px;border-radius:10px;padding:0 5px;display:flex;align-items:center;justify-content:center;font:600 10px var(--mono);color:#fff;background:var(--reviewer)}.tbox.sel{box-shadow:0 0 0 4px #3f78cf59}.stampmk{position:absolute;border:3px double;border-radius:4px;padding:2px 10px;font-weight:700;letter-spacing:.06em;background:#ffffffbf;transform:rotate(-4deg);white-space:nowrap;line-height:1.2;cursor:pointer}.stampmk small{display:block;font-size:.55em;font-weight:500;letter-spacing:0}.lnk{position:absolute;border-bottom:2px solid transparent;cursor:pointer;border-radius:2px}.lnk:hover{background:#3f78cf26;border-bottom-color:var(--accent)}.stage.drawing .lnk{pointer-events:none}.hlbox{border-color:#e0b000;background:#ffd6004d}.snapimg{display:block;max-width:100%;max-height:180px;margin-top:6px;border:1px solid var(--line-strong)}.snapmark{position:absolute;right:-10px;top:-10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:1px 3px;line-height:0}.cmp-legend{position:sticky;left:12px;bottom:12px;float:left;margin:-40px 0 0 12px;background:var(--surface);border:1px solid var(--line-strong);padding:4px 10px;font-size:12px;display:flex;gap:8px;align-items:center;z-index:5}.cmp-legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-left:6px}.dock{display:none;height:250px;border-top:2px solid var(--line-strong);background:var(--surface);flex-direction:column;min-height:0}.dock-head{display:flex;gap:6px;align-items:center;padding:5px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.dock-head select,.dock-head input{padding:2px 5px;font-size:12px}.dock-body{overflow:auto;flex:1}table.ml{width:100%;border-collapse:collapse;font-size:12px}.ml th{position:sticky;top:0;background:var(--panel);text-align:left;font-weight:500;padding:4px 7px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.ml td{padding:3px 7px;border-bottom:1px solid var(--line-soft);white-space:nowrap;vertical-align:top}.ml td.cm{white-space:normal;min-width:320px}.ml tr[data-row]{cursor:pointer}.ml tr[data-row]:hover td{background:var(--hover)}.ml tr.sel td{background:var(--accent-soft)}.ml select{font-size:11.5px;padding:1px 3px}.ml .rep{padding:0 4px}.ml tr.thread td{white-space:normal;background:var(--panel)}.reply{padding:3px 0}.stat.accept{color:var(--accepted)}.stat.reject{color:var(--rejected)}.stat.edit{color:var(--edited)}.stat.reviewer{color:var(--reviewer)}.card.compact .txt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-2)}.card.compact{border-left-style:dashed}.sheetlink.ok{color:var(--accepted);border-color:var(--accepted)}.sheetlink.warn{color:var(--pending);border-color:var(--pending)}.paper .lsnap{max-width:300px;max-height:200px;border:1px solid #999;margin-top:4px}.ws.split{grid-template-columns:var(--rail-w) minmax(0,1fr) minmax(0,1fr) var(--panel-w)}.refpane{border-left:2px solid var(--line-strong);background:var(--sunken)}.refhead{display:flex;gap:6px;align-items:center;padding:5px 10px;background:var(--reviewer-soft);border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap;overflow:hidden}.refhead .muted{overflow:hidden;text-overflow:ellipsis}.refcv{display:flex;flex-direction:column;flex:1;min-height:0}.refcv .stage-wrap{flex:1;min-height:0}.docrow{border:1px solid var(--line);background:var(--surface);padding:7px 8px;margin-bottom:6px;display:grid;gap:4px;border-left:3px solid var(--line-strong)}.docrow.markup{border-left-color:var(--accent)}.docrow.on{border-left-color:var(--reviewer);background:var(--reviewer-soft)}.docrow select{font-size:11.5px;padding:2px 4px;width:100%}.docrow .r{display:flex;gap:4px}.docrow .r button{font-size:11.5px;padding:2px 7px}.evid{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.evid-chip{font-size:11.5px;padding:1px 7px;border-color:var(--reviewer);color:var(--reviewer);background:var(--reviewer-soft)}.evid-pending{font-size:11.5px;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:3px;padding:1px 7px;display:inline-flex;gap:4px;align-items:center}.evid-note{font-size:12px;color:var(--reviewer);display:grid;gap:4px}.src.doc{color:var(--ink-2);border-color:var(--line-strong)}.card.doclevel{border-left-style:double;border-left-width:4px}svg.vec .evid{fill:#6d4fc21a;stroke:var(--reviewer);stroke-width:3}svg.vec .evidlab{font:600 12px var(--font);fill:var(--reviewer);paint-order:stroke;stroke:#fff;stroke-width:4px}.small{font-size:12px}a.brand{color:inherit;text-decoration:none}a.btn{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:4px 10px;color:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}a.btn:hover{border-color:var(--line-strong)}a.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}a.btn.primary:hover{background:var(--accent-hover)}.seg a{padding:3px 10px;color:var(--ink-2);text-decoration:none;border-right:1px solid var(--line);background:var(--surface)}.seg a:last-child{border-right:0}.seg a.on{background:var(--accent-soft);color:var(--ink);font-weight:500}.crumbs .steps-nav{margin-left:6px}.reviewer-chip{cursor:pointer;font-size:12px;padding:2px 10px}label.inline{display:flex;gap:5px;align-items:center}.field{display:grid;gap:3px;font-size:12px;color:var(--ink-2)}.pagehead{display:flex;align-items:flex-end;gap:12px;margin-bottom:4px}.pill.done{color:var(--accepted);border-color:var(--accepted);background:var(--accepted-soft)}.pill.edited{color:var(--edited);border-color:var(--edited);background:var(--edited-soft);margin-left:6px}.pill.ai{color:var(--reviewer);border-color:var(--reviewer);background:var(--reviewer-soft);margin-left:6px}.pill.muted{color:var(--ink-3);border-color:var(--line)}.chip.warnchip{border-color:var(--critical);color:var(--critical);background:var(--critical-soft)}.grid td.actions{white-space:nowrap;text-align:right}.grid td.actions .btn{padding:2px 9px;font-size:12px;margin-left:4px}.progress-cell{display:flex;gap:6px;align-items:center}#layer .modal footer{display:flex;gap:8px;justify-content:flex-end}.intake-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-top:12px}.box{background:var(--surface);border:1px solid var(--line);padding:10px 12px;margin-bottom:12px}.box h3{margin:0 0 8px;font-size:14px}.kvt th{text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--ink-2);background:var(--surface);position:static;width:190px;vertical-align:top;padding-top:10px;border-bottom:1px solid var(--line-soft)}.kvt thead th{text-transform:uppercase;letter-spacing:.04em;font-size:11px;background:var(--panel);color:var(--ink-3)}.kvt td{vertical-align:top}.kvt tr.unk th,.kvt tr.unk td{background:var(--pending-soft)}.kvt tr.unk th{box-shadow:inset 3px 0 0 var(--pending)}.kvt tr.aifill th{box-shadow:inset 3px 0 0 var(--reviewer)}.unk-tag{font-size:11px;color:var(--pending);font-weight:600;margin-top:2px}.aiconfirm{display:inline-flex;gap:5px;align-items:center;margin-left:10px;font-size:12px;color:var(--reviewer);font-weight:500}.quote{display:inline-flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--ink-2)}.quote q{font-family:var(--mono);font-size:11.5px;quotes:none;border-left:2px solid var(--line-strong);padding-left:6px}.multi{display:flex;flex-wrap:wrap;gap:4px}.chk{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--line);border-radius:3px;padding:1px 7px;font-size:12px;cursor:pointer;background:var(--surface)}.chk.on{border-color:var(--accent);background:var(--accent-soft)}.chk input{margin:0}.docrow.missing{border-left-color:var(--critical);background:var(--critical-soft)}.docrow .fname{color:var(--ink-3);word-break:break-all}.sheetlist{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.checklist{margin:0 0 10px;padding-left:18px;display:grid;gap:4px}.checklist li.warn{color:var(--pending)}.checklist li.ok{color:var(--accepted)}.confirmbox button.primary{width:100%;padding:7px}.planresult .r{display:flex;gap:12px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.plan{display:flex;flex-direction:column;min-height:0;height:100%}.planresult .plan{height:auto}.plan-head{display:grid;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.plan-counts{display:flex;gap:14px;font-size:12.5px;color:var(--ink-2)}.plan-counts b{font-size:14px;color:var(--ink)}.plan-list{overflow-y:auto;flex:1}.planresult .plan-list{max-height:60vh;border:1px solid var(--line)}.plan-grp .caret{width:10px;display:inline-block}.plan-grp .plan-grp-note{text-transform:none;letter-spacing:0;font-size:11.5px;margin-left:6px}.plan-grp.applicable .mono{color:var(--accent)}.plan-grp.unknown .mono{color:var(--pending)}.plan-item{padding:6px 10px;border-bottom:1px solid var(--line-soft);background:var(--surface);border-left:3px solid var(--accent)}.plan-item.unknown{border-left-color:var(--pending);background:var(--pending-soft)}.plan-item.waived{border-left-color:var(--line-strong)}.plan-item.waived .plan-title{color:var(--ink-3)}.plan-item .r{display:flex;gap:6px;align-items:center}.plan-title{display:inline-block}.plan-title:first-letter{text-transform:uppercase}.plan-reason{font-size:12px;color:var(--ink-3);margin-top:2px}.cite.plain{cursor:default}.cite.plain:hover{text-decoration:none}.letter-msg,.letter-issued{max-width:1040px;margin:0 auto 10px}.letter-issued .links{display:inline-flex;gap:6px;margin-left:10px}.pendnote{border-color:var(--pending);background:var(--pending-soft)}.paper-frame{max-width:880px;margin:0 auto;background:var(--paper);box-shadow:var(--sh2)}.letter-frame{display:block;width:100%;height:calc(100vh - var(--top-h) - 120px);min-height:640px;border:0;background:var(--paper)}.issued-list{max-width:880px;margin:18px auto 0}.issued-list h4{margin:0 0 6px}@media (max-width:900px){.intake-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.learning-note{margin-top:6px}.feedback{max-width:880px;margin:18px auto 0;border:1px solid var(--line);background:var(--surface);padding:12px 14px}.feedback h4{margin:0 0 2px}.feedback textarea{width:100%;margin:8px 0;font:inherit;box-sizing:border-box}.fb-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.admin .tabs{margin:0 0 14px;flex-wrap:wrap}.admin table.grid td{vertical-align:top}.admin .txt{max-width:560px;line-height:1.4}.admin .ex{font-size:12px;color:var(--ink-2);margin-top:4px}.admin .ex li{margin:2px 0}.admin .diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px;margin-top:6px}.admin .diff div{border:1px solid var(--line);padding:6px 8px;background:var(--bg)}.admin .diff b{display:block;font-size:11px;color:var(--ink-3);font-weight:600}.admin .token{display:flex;gap:8px;align-items:center;max-width:520px}.admin .token input{flex:1}.admin .help{font-size:12.5px;color:var(--ink-3);margin:-6px 0 12px;max-width:900px}@media (max-width:700px){.admin .diff{grid-template-columns:1fr}}.newsub .ns-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1.5fr;gap:10px}@media (max-width:720px){.newsub .ns-grid{grid-template-columns:1fr 1fr}}.newsub .field input,.newsub .field select{width:100%;box-sizing:border-box}.dropzone{border:2px dashed var(--line-strong);border-radius:6px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:var(--panel)}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.ns-files td{vertical-align:middle}.ns-files .fname{overflow-wrap:anywhere;max-width:340px}.ns-files tr.is-plans td{background:var(--accent-soft)}.ns-files select{margin-right:6px}.ns-note{margin:0}.ns-progress{display:flex;align-items:center;gap:10px}.ns-progress .bar{flex:1;height:6px;background:var(--line-soft);border-radius:3px;overflow:hidden}.ns-progress .bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.newsub footer .ns-why{flex:1;align-self:center}.sr{position:absolute;left:-9999px}.pill.proc{color:var(--ink-2);border-color:var(--line-strong);background:var(--panel);display:inline-flex;align-items:center;gap:5px}.spin{width:9px;height:9px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.err-line{color:var(--critical);max-width:320px}tr.is-proc td{opacity:.85}.dropzone .dz-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ns-bar{display:flex;align-items:center}.ns-bar .sp{flex:1}.ns-scroll{max-height:300px;overflow:auto;border:1px solid var(--line)}.ns-scroll table.grid{border:0}.callout{border-radius:var(--radius)}.callout.info{border-color:transparent;background:var(--accent-soft);color:var(--ink)}.note{border-radius:var(--radius);border:0;border-left:3px solid var(--teal);background:var(--surface);box-shadow:var(--sh1)}.modal{border-radius:8px;border:0}.modal header h3{font-size:16px;font-weight:600}.box{border-radius:var(--radius);box-shadow:var(--sh1);border-color:var(--line-soft)}a{color:var(--link)}.page .sub{color:var(--ink-2)}.admin .ai-form{display:grid;gap:12px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--sh1);padding:16px;margin-bottom:16px;max-width:640px}.admin .ai-form fieldset{border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px 12px;display:grid;gap:6px}.admin .ai-form legend{font-size:12px;color:var(--ink-3);padding:0 4px}.admin .ai-on{font-weight:600}.admin .ai-caps{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin .ai-form .r{display:flex;gap:10px;align-items:center}.top .top-link{background:transparent;border:0;padding:4px 6px;color:var(--top-ink-2);font-size:12px;text-decoration:none;cursor:pointer}.top .top-link:hover{color:var(--top-ink)}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:var(--top-bg)}.login-card{width:min(380px,100%);display:grid;gap:14px;background:var(--surface);border-radius:var(--radius);padding:0 28px 26px;overflow:hidden;box-shadow:0 18px 50px #00000047}.login-brand{display:flex;align-items:center;gap:0;margin:0 -28px;padding:18px 28px;background:var(--top-bg);border-bottom:3px solid transparent;border-image:var(--brand-grad) 1}.login-brand .app-name{margin-left:10px}.login h1{font-family:var(--display);font-weight:300;font-size:28px;margin:6px 0 0}.login .field input{padding:8px 10px;font-size:14px}.login button.primary{padding:8px 12px;font-size:14px}.login .callout{margin:0;border-color:var(--line);background:var(--accent-soft)}.login-error{margin:0;color:var(--danger,#b3261e);font-size:13px}.login .small{font-size:12px;margin:0}.admin .user-form{display:grid;grid-template-columns:1fr 1.4fr .8fr auto;gap:10px;align-items:end;margin:10px 0 14px}.admin tr.muted td{color:var(--ink-3)}@media (max-width:640px){.admin .user-form{grid-template-columns:1fr}}
