:root{--bg: #f4f6f9;--paper: #ffffff;--ink: #17233b;--muted: #5f6e86;--line: #dee5ef;--accent: #1357cc;--accent-soft: #eaf1ff;--good: #1d6a49;--goodbg: #e6f5ed;--warn: #8a5609;--warnbg: #fff4d9;--bad: #a63b3e;--badbg: #feeaea;--sidebar: #142139;--sidealt: #223451;--shadow: 0 2px 16px rgba(25, 48, 82, .06);--paper-alt: #f8fafd;--hover: #f3f7fe;--line-soft: #edf1f7;--input-line: #c9d3e1;--label: #4f5e77;--neutralbg: #eef1f5;--viewer-bg: #e9edf3;--focusbg: #fff7e6;--badline: #f3c6c7;--warnline: #f1dca8;--goodline: #caead9;--accent-hover: #0f4ab0;--on-accent: #ffffff;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1522;--paper: #172033;--ink: #e4eaf4;--muted: #9aa8bf;--line: #2a3650;--accent: #6b9dff;--accent-soft: #1d2d4d;--accent-hover: #8bb2ff;--on-accent: #0b1530;--good: #6fd3a2;--goodbg: #15332a;--goodline: #23503f;--warn: #f2c26b;--warnbg: #3a2e14;--warnline: #5c4820;--bad: #ff9a9c;--badbg: #3d1d22;--badline: #63303a;--sidebar: #0b111c;--sidealt: #1a2740;--shadow: 0 2px 16px rgba(0, 0, 0, .35);--paper-alt: #1b263b;--hover: #1f2c45;--line-soft: #222e45;--input-line: #3a4866;--label: #aab6ca;--neutralbg: #253149;--viewer-bg: #0b1019;--focusbg: #3a3018;color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1522;--paper: #172033;--ink: #e4eaf4;--muted: #9aa8bf;--line: #2a3650;--accent: #6b9dff;--accent-soft: #1d2d4d;--accent-hover: #8bb2ff;--on-accent: #0b1530;--good: #6fd3a2;--goodbg: #15332a;--goodline: #23503f;--warn: #f2c26b;--warnbg: #3a2e14;--warnline: #5c4820;--bad: #ff9a9c;--badbg: #3d1d22;--badline: #63303a;--sidebar: #0b111c;--sidealt: #1a2740;--shadow: 0 2px 16px rgba(0, 0, 0, .35);--paper-alt: #1b263b;--hover: #1f2c45;--line-soft: #222e45;--input-line: #3a4866;--label: #aab6ca;--neutralbg: #253149;--viewer-bg: #0b1019;--focusbg: #3a3018;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--accent)}h1{font-size:24px;letter-spacing:-.03em;margin:0 0 4px}h3{font-size:15px;margin:0 0 12px}.sub{color:var(--muted);font-size:12px;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;z-index:10}.skip:focus{left:8px}:focus-visible{outline:2px solid #5b93ff;outline-offset:2px}.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#eff5ff;display:flex;flex-direction:column}.brand{padding:18px 16px 14px;display:flex;gap:10px;align-items:center;border-bottom:1px solid #32405b}.brand small{display:block;color:#b1c4df}.mark{background:#2c5fcf;color:#fff;border-radius:10px;padding:8px 10px;font-weight:800;letter-spacing:-1px}.nav{padding:10px 8px;display:flex;flex-direction:column;gap:2px}.navitem{color:#dee8f9;padding:8px 11px;border-radius:7px;text-decoration:none;font-size:13px}.navitem:hover{background:var(--sidealt)}.navitem.active{background:#2c4b85;color:#fff}.content{display:flex;flex-direction:column;min-width:0}.top{background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;flex-wrap:wrap}.tenant{border:1px solid var(--line);border-radius:8px;padding:6px 12px;background:var(--paper-alt);font-weight:600}.body{padding:22px 28px 48px;min-width:0}.crumb{font-size:12px;color:var(--muted);margin:0 0 6px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 14px}.row-gap{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px;min-width:0}.btn{display:inline-block;border:1px solid var(--line);background:var(--paper);padding:9px 13px;border-radius:8px;cursor:pointer;color:var(--ink);font:600 13px/1.2 inherit;text-decoration:none}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{background:var(--paper-alt)}.btn.small{padding:4px 9px;font-size:12px}.btn.wide{width:100%}.field{display:block;margin-bottom:12px}.field>span{display:block;color:var(--label);font-size:12px;font-weight:600;margin-bottom:5px}.field input,.field select,.inline-field select,.searchbox{padding:9px 10px;border:1px solid var(--input-line);background:var(--paper);border-radius:7px;width:100%;font:inherit;color:var(--ink)}.inline-field select{width:auto;min-width:200px}.searchbox{max-width:280px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.tabs{display:inline-flex;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.tab{flex:none;border:0;background:none;padding:8px 12px;cursor:pointer;font:600 12px inherit;color:var(--muted)}.tab+.tab{border-left:1px solid var(--line)}.tab.active{background:var(--accent-soft);color:var(--accent)}.alert{border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:13px;border:1px solid}.alert.bad{background:var(--badbg);border-color:var(--badline);color:var(--bad)}.alert.warn{background:var(--warnbg);border-color:var(--warnline);color:var(--warn)}.status{display:inline-block;border-radius:5px;font-size:12px;padding:2px 7px;white-space:nowrap}.status.good{background:var(--goodbg);color:var(--good)}.status.warn{background:var(--warnbg);color:var(--warn)}.status.bad{background:var(--badbg);color:var(--bad)}.status.progress{background:var(--accent-soft);color:var(--accent)}.status.neutral{background:var(--neutralbg);color:var(--label)}.tablewrap{overflow:auto;padding:0;position:relative}.tbl{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.tbl th{background:var(--paper-alt);color:var(--label);font-weight:650;border-bottom:1px solid var(--line);padding:10px 12px;white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td,.tbl tbody tr:focus td{background:var(--hover)}.ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:18px;color:var(--muted);margin:0}.auth{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:400px}.brand-row{display:flex;gap:12px;align-items:center;margin-bottom:18px}.ws-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}.ws-item{width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:12px;cursor:pointer;display:grid;gap:2px;font:inherit;color:inherit}.ws-item:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.upload-card{max-width:720px}.dropzone{border:2px dashed var(--input-line);border-radius:12px;padding:28px;text-align:center;background:var(--paper-alt)}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone p{margin:0 0 10px;color:var(--muted)}.upload-list{list-style:none;padding:0;margin:10px 0 14px;display:grid;gap:6px}.upload-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-soft)}.issues{list-style:none;padding:0;margin:0;display:grid;gap:6px}.issues li.bad{color:var(--bad)}.issues li.warn{color:var(--warn)}@media (max-width: 760px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{flex-direction:row;align-items:center;overflow-x:auto}.brand{border:0;padding:10px 12px}.nav{flex-direction:row;padding:6px}.navitem{white-space:nowrap}.brand small{display:none}.brand{flex:none}.body{padding:16px}.upload-list li{grid-template-columns:1fr;gap:4px}}.editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.editor-head h1{font-size:20px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}.viewer{position:sticky;top:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:420px}.viewer-bar{display:flex;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.viewer-bar .spacer{flex:1}.viewer-scroll{overflow:auto;flex:1;background:var(--viewer-bg);padding:10px}.page{position:relative;margin:0 auto;box-shadow:0 1px 6px #00000026;background:#fff}.page img{display:block;width:100%;height:auto}.hl{position:absolute;border:2px solid #e8590c;background:#ffb3002e;border-radius:3px;pointer-events:none;outline:9999px solid rgba(20,33,57,.08)}.editor-side{min-width:0;display:grid;gap:14px}.header-form{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:14px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.hf{display:grid;gap:4px;font-size:12px;color:var(--label);font-weight:600;border-radius:8px;padding:2px}.hf.focused{background:var(--focusbg)}.hf input,.hf select{padding:7px 9px;border:1px solid var(--input-line);border-radius:7px;font:400 13px inherit;color:var(--ink);width:100%;background:var(--paper)}.hf.check{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.hf.check input{width:auto}input.invalid{border-color:var(--bad)!important;background:var(--badbg)!important}.mark-issue{font-weight:700;margin-left:2px;cursor:help}.mark-issue.bad{color:var(--bad)}.mark-issue.warn{color:var(--warn)}.lines{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.lines-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}.lines-bar h3{margin:0}.lines-scroll{overflow:auto;max-height:52vh}.tbl.edit td{padding:3px 4px}.tbl.edit thead th{position:sticky;top:0;z-index:1;padding:8px 6px}.tbl.edit tbody tr{cursor:default}.tbl.edit input:not([type=checkbox]){width:100%;min-width:64px;padding:6px 7px;border:1px solid transparent;border-radius:5px;font:13px inherit;background:transparent;color:var(--ink)}.tbl.edit input:not([type=checkbox]):focus{border-color:var(--accent);background:var(--paper)}.tbl.edit td.wide input{min-width:220px}.tbl.edit tr.focused td{background:var(--focusbg)}.tbl.edit tr.excluded td{opacity:.55;text-decoration:line-through}.issues-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}.linklike{border:0;background:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.linklike:hover{text-decoration:underline}@media (max-width: 1100px){.editor-grid{grid-template-columns:1fr}.viewer{position:static;height:60vh}}@media (max-width: 560px){.header-form{grid-template-columns:1fr}}.doc-tabs{margin-top:8px}.doc-tabs .tab{text-decoration:none;display:inline-block}.slot{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:8px 10px;margin-bottom:8px}.slot.good{border-left-color:var(--good)}.slot.warn{border-left-color:#d9a12b}.slot.bad{border-left-color:var(--bad)}.slot.pending{border-left-color:var(--accent);background:var(--paper-alt)}.slot-main{display:grid;grid-template-columns:180px auto minmax(0,1fr);gap:4px 12px;align-items:center}.slot-main>.sub{grid-column:3}.slot-main>.row-gap{grid-column:1 / -1;justify-content:flex-end}.slot-name{font-weight:600;font-size:13px}.slot-value{min-width:0;overflow-wrap:anywhere}.slot-pick{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:grid;gap:8px}.cands{list-style:none;margin:0;padding:0;display:grid;gap:4px}.cand{width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:7px 10px;cursor:pointer;display:grid;gap:2px;font:inherit;color:inherit}.cand:hover{border-color:var(--accent);background:var(--accent-soft)}.coef{width:110px;padding:6px 8px;border:1px solid var(--input-line);border-radius:6px;font:inherit}.line-group{border-top:1px solid var(--line-soft);padding-top:10px;margin-top:10px}.line-title{font-size:13px;margin-bottom:6px}.blockers summary{cursor:pointer;color:var(--bad);font-weight:600}.blockers ul{margin:8px 0 0;padding-left:20px;font-size:13px}.alert.good-box{background:var(--goodbg);border-color:var(--goodline);color:var(--good)}.alert textarea{display:block;width:100%;margin:8px 0;font:inherit;padding:6px 8px;border:1px solid var(--warnline);border-radius:6px}.export-actions{margin:8px 0}.tbl.compact td,.tbl.compact th{padding:6px 10px}.tbl.compact tbody tr{cursor:default}@media (max-width: 760px){.slot-main{grid-template-columns:1fr}.slot-main>.sub{grid-column:1}}.tbl tbody tr.static{cursor:default}.text-bad{color:var(--bad)}.invite{max-width:760px}.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.temp-pwd{margin:8px 0}.temp-pwd code{font-size:16px;background:var(--paper);border:1px solid var(--goodline);padding:6px 10px;border-radius:6px;letter-spacing:.04em;color:var(--ink)}.tbl.members td{vertical-align:top}.tbl.members select{padding:6px 8px;border:1px solid var(--input-line);border-radius:6px;font:inherit;background:var(--paper)}.tbl tr.inactive td:not([rowspan]){opacity:.55}@media (max-width: 560px){.inputs{grid-template-columns:1fr}}.field>label>span{display:block;color:var(--label);font-size:12px;font-weight:600;margin-bottom:5px}.field>select{padding:9px 10px;border:1px solid var(--input-line);background:var(--paper);border-radius:7px;width:100%;font:inherit}p.text-bad:empty{display:none}.dup-actions{margin-top:8px;display:grid;gap:6px;max-width:520px}.mfa-hint{color:var(--warn)}.save-dialog{border-color:var(--accent);max-width:900px}
