:root{color-scheme:light;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: Georgia, "Times New Roman", serif;--t: .15s ease;--bg: #f4efe3;--surface: #fffdf8;--surface-2: #f7f2e7;--surface-input: #fffefb;--text: #2b2922;--text-muted: #6f6450;--text-faint: #877a5c;--border: #e3dac6;--border-soft: #ece4d3;--border-strong: #d8cdb4;--accent: #3f7d5a;--accent-hover: #356b4d;--accent-fg: #ffffff;--accent-weak: #e8f0e6;--accent-2: #3d7487;--danger: #a83b42;--danger-fg: #fff7f0;--danger-border: #d59f8f;--focus-ring: rgba(63, 125, 90, .55);--shadow-sm: 0 1px 2px rgba(60, 50, 30, .06);--shadow-md: 0 6px 18px rgba(60, 50, 30, .07);--shadow-lg: 0 18px 45px rgba(60, 50, 30, .12);--st-approved-bg: #cfe7d6;--st-approved-fg: #266b41;--st-ready-bg: #e7e2d4;--st-ready-fg: #6a6450;--st-draft-bg: #f3dca0;--st-draft-fg: #6a4b0f;--st-submitted-bg: #bcd9e0;--st-submitted-fg: #235669;--st-needs-bg: #f1bf8f;--st-needs-fg: #7a4410;--st-reopened-bg: #ddccef;--st-reopened-fg: #4a2f7a;--st-missing-bg: #a83b42;--st-missing-fg: #fff9f3;--prog-approved: #3f7d5a;--prog-review: #5a8fa0;--prog-draft: #c79a3e;--prog-needs: #b8694a;--prog-neutral: #cabfa6;--line-missing: #fbf2ea;--line-extra: #eef4f6;--line-grouped: #eef5ee;--line-low: #f7f0dc;--st-approved-solid: #34d399;--st-ready-solid: #9aa7b5;--st-draft-solid: #f5c542;--st-submitted-solid: #4aa3f0;--st-needs-solid: #f6884a;--st-reopened-solid: #b39ae8;--st-missing-solid: #f0606a;--cell-fg: #111827;--sel-bg: #d6409f;--sel-fg: #ffffff;--sel-glow: rgba(214, 64, 159, .5);font-family:var(--font-sans);background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility}[data-theme=studio]{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--surface-input: #ffffff;--text: #0f172a;--text-muted: #64748b;--text-faint: #7a8aa0;--border: #e2e8f0;--border-soft: #eef2f6;--border-strong: #cbd5e1;--accent: #4f46e5;--accent-hover: #4338ca;--accent-fg: #ffffff;--accent-weak: #eef2ff;--accent-2: #0284c7;--danger: #dc2626;--danger-fg: #ffffff;--danger-border: #fca5a5;--focus-ring: rgba(79, 70, 229, .5);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .07);--shadow-lg: 0 18px 40px rgba(15, 23, 42, .12);--st-approved-bg: #dcfce7;--st-approved-fg: #15803d;--st-ready-bg: #e2e8f0;--st-ready-fg: #475569;--st-draft-bg: #fef3c7;--st-draft-fg: #b45309;--st-submitted-bg: #dbeafe;--st-submitted-fg: #1d4ed8;--st-needs-bg: #ffedd5;--st-needs-fg: #c2410c;--st-reopened-bg: #ede9fe;--st-reopened-fg: #6d28d9;--st-missing-bg: #dc2626;--st-missing-fg: #ffffff;--prog-approved: #16a34a;--prog-review: #2563eb;--prog-draft: #d97706;--prog-needs: #dc2626;--prog-neutral: #cbd5e1;--line-missing: #fef2f2;--line-extra: #eff6ff;--line-grouped: #f0fdf4;--line-low: #fffbeb}[data-theme=dark]{color-scheme:dark;--bg: #0e141b;--surface: #1a212b;--surface-2: #222b37;--surface-input: #161d26;--text: #e6edf5;--text-muted: #93a3b4;--text-faint: #6b7b8c;--border: #2a3340;--border-soft: #27313d;--border-strong: #38465a;--accent: #10b981;--accent-hover: #0ea372;--accent-fg: #04241a;--accent-weak: #14342b;--accent-2: #38bdf8;--danger: #f43f5e;--danger-fg: #ffffff;--danger-border: #5e2730;--focus-ring: rgba(16, 185, 129, .55);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 45px rgba(0, 0, 0, .5);--st-approved-bg: #143726;--st-approved-fg: #4ade80;--st-ready-bg: #2a333f;--st-ready-fg: #aebccb;--st-draft-bg: #3a2f12;--st-draft-fg: #fbbf24;--st-submitted-bg: #102f3f;--st-submitted-fg: #38bdf8;--st-needs-bg: #3a2413;--st-needs-fg: #fb923c;--st-reopened-bg: #2a2440;--st-reopened-fg: #c4b5fd;--st-missing-bg: #fb7185;--st-missing-fg: #2a0a10;--prog-approved: #10b981;--prog-review: #38bdf8;--prog-draft: #fbbf24;--prog-needs: #fb7185;--prog-neutral: #3a4452;--line-missing: #241519;--line-extra: #122230;--line-grouped: #11241c;--line-low: #2a2410}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg)}:root:not([data-theme=studio]):not([data-theme=dark]) body{background-image:repeating-linear-gradient(90deg,rgba(60,80,60,.035) 0 1px,transparent 1px 20px)}button,textarea,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1800px,100%);min-height:100vh;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.admin-actions{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.admin-actions .command{min-height:30px;padding:0 9px;font-size:.8rem}.topbar h1,.panel-toolbar h2,.editor-header h2,.panel-heading h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(1.2rem,1.6vw,1.6rem);line-height:1.1}.topbar-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.title-emblem{display:inline-block;vertical-align:middle;height:1.5em;width:1.5em;margin-left:.45em;border-radius:6px;object-fit:cover;border:1px solid var(--border)}.eyebrow-inline{margin:0}.topbar h1,.login-panel h1{font-family:var(--font-display);letter-spacing:-.01em}[data-theme=studio] .topbar h1,[data-theme=dark] .topbar h1,[data-theme=studio] .login-panel h1,[data-theme=dark] .login-panel h1{font-family:var(--font-sans);letter-spacing:-.02em}.eyebrow{margin:0 0 6px;color:var(--text-faint);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.language-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-weight:700}.language-pill span:nth-child(2){color:var(--text-faint);font-size:.82rem}.role-switcher{display:inline-grid;grid-template-columns:auto auto auto auto;align-items:center;gap:4px;min-height:38px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted)}.role-switcher svg{margin:0 5px 0 4px;color:var(--accent-2)}.role-switcher button{min-height:30px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:800}.role-switcher button.active{background:var(--accent);color:var(--accent-fg)}.role-switcher span,.role-switcher strong{padding:0 8px;color:var(--text);font-size:.82rem;font-weight:850}.role-switcher strong{color:var(--accent-2)}.login-shell{display:grid;place-items:center;min-height:100vh;padding:18px}.login-panel{display:grid;gap:14px;width:min(420px,100%);padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-lg)}.login-panel h1{margin:0;font-size:1.75rem}.login-panel label{display:grid;gap:6px;color:var(--text-muted);font-size:.86rem;font-weight:850}.login-panel input,.user-row input,.user-row select{min-height:36px;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface-input);color:var(--text);padding:0 9px}.login-error{margin:0;color:var(--danger);font-weight:750}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.user-admin-panel{margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.user-table{display:grid;gap:6px;overflow-x:auto}.user-row{display:grid;grid-template-columns:120px minmax(150px,1fr) 140px 82px minmax(150px,1fr) 172px;gap:8px;align-items:center;min-width:900px;padding:8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface)}.user-add{background:var(--surface-2);border-style:dashed;border-color:var(--border-soft)}.user-actions{display:flex;gap:6px}.user-actions .command{flex:1;min-height:34px;padding:0 8px;font-size:.8rem}.users-only .user-admin-panel{margin-bottom:0}.user-head{border-color:transparent;background:var(--surface-2);color:var(--text-muted);font-size:.76rem;font-weight:850;text-transform:uppercase}.user-row input[type=checkbox]{justify-self:start;min-height:18px;width:18px}.metric{min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.metric span{display:block;color:var(--text-muted);font-size:.74rem;font-weight:700}.metric strong{display:block;margin-top:5px;font-size:1.42rem;line-height:1}.metric.green{border-top:4px solid var(--prog-approved)}.metric.amber{border-top:4px solid var(--prog-draft)}.metric.red{border-top:4px solid var(--prog-needs)}.metric.blue{border-top:4px solid var(--prog-review)}.workspace{display:grid;gap:14px;align-items:start}.top-review-strip{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);gap:14px;align-items:start}.navigator,.comparison-panel,.editor-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.navigator{max-height:300px;overflow:hidden;padding:14px}.panel-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.panel-heading h2{font-size:1rem}.chapter-list{display:grid;grid-template-columns:1fr;gap:6px;max-height:240px;overflow:auto;padding-right:2px}.chapter-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px 10px;position:relative;width:100%;padding:7px 10px 8px 13px;border:1px solid transparent;border-radius:8px;background:var(--surface);color:var(--text);text-align:left}.chapter-row:before{content:"";position:absolute;inset:6px auto 6px 0;width:3px;border-radius:0 3px 3px 0;background:transparent}.chapter-title{min-width:0;overflow-wrap:anywhere;font-weight:850;line-height:1.12}.chapter-ready{justify-self:center;color:var(--text-muted);font-size:.78rem;font-weight:700;white-space:nowrap}.chapter-row small{color:var(--text-muted);font-size:.78rem;font-weight:700}.chapter-meta{display:flex;align-items:center;justify-self:end;gap:5px}.chapter-meta strong{min-width:28px;min-height:24px;padding:3px 6px;border-radius:7px;background:var(--st-approved-bg);color:var(--st-approved-fg);text-align:center}.chapter-progress{grid-column:1 / -1;height:5px;overflow:hidden;border-radius:99px;background:var(--border-soft)}.chapter-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.chapter-row.active,.chapter-row:hover{border-color:var(--accent);background:var(--accent-weak)}.chapter-row.active:before,.chapter-row:hover:before{background:var(--accent)}.comparison-panel,.editor-panel{padding:16px}.editor-panel{display:flex;flex-direction:column}.panel-toolbar,.editor-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}.editor-header{align-items:center;margin-bottom:8px}.panel-toolbar h2,.editor-header h2{font-size:1.15rem;line-height:1.2}.segmented-control{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.segmented-control button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:750}.segmented-control button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.chip-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto;border:1px solid var(--border)}.chip-dot.approved{background:var(--st-approved-solid)}.chip-dot.ready{background:var(--st-ready-solid)}.chip-dot.draft{background:var(--st-draft-solid)}.chip-dot.submitted{background:var(--st-submitted-solid)}.chip-dot.needs{background:var(--st-needs-solid)}.chip-dot.reopened{background:var(--st-reopened-solid)}.chip-dot.missing{background:var(--st-missing-solid)}.heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:5px;padding:6px;margin:-6px -6px 0;max-height:212px;overflow:auto}.heatmap-empty{margin:4px 0;padding:18px 12px;border:1px dashed var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:.9rem;font-weight:700;text-align:center}.page-cell{aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:6px;color:var(--cell-fg);font-size:.72rem;font-weight:800}.page-cell.approved{background:var(--st-approved-solid)}.page-cell.ready{background:var(--st-ready-solid)}.page-cell.draft{background:var(--st-draft-solid)}.page-cell.submitted{background:var(--st-submitted-solid)}.page-cell.needs{background:var(--st-needs-solid)}.page-cell.reopened{background:var(--st-reopened-solid)}.page-cell.missing{background:var(--st-missing-solid)}.page-cell.selected{border-color:transparent;outline:none;position:relative;z-index:2;background:var(--sel-bg);color:var(--sel-fg);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--sel-bg),0 0 12px 3px var(--sel-glow)}.paragraph-workspace{order:2;min-height:520px}.paragraph-list,.line-comparison-panel,.paragraph-editor,.review-console{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pane-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.86rem;font-weight:800}.paragraph-list{margin-top:6px}.paragraph-buttons{display:flex;flex-wrap:wrap;gap:8px;max-height:230px;padding:10px;overflow:auto}.paragraph-card{display:grid;gap:4px;width:auto;min-width:148px;min-height:0;padding:8px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);color:var(--text);text-align:left}.paragraph-card span{font-weight:850}.paragraph-card small{color:var(--text-muted);font-size:.78rem;font-weight:700}.paragraph-card strong{justify-self:start;padding:3px 7px;border-radius:7px;font-size:.75rem}.paragraph-card strong.approved{background:var(--st-approved-bg);color:var(--st-approved-fg)}.paragraph-card strong.ready{background:var(--st-ready-bg);color:var(--st-ready-fg)}.paragraph-card strong.draft{background:var(--st-draft-bg);color:var(--st-draft-fg)}.paragraph-card strong.submitted{background:var(--st-submitted-bg);color:var(--st-submitted-fg)}.paragraph-card strong.needs{background:var(--st-needs-bg);color:var(--st-needs-fg)}.paragraph-card strong.reopened{background:var(--st-reopened-bg);color:var(--st-reopened-fg)}.paragraph-card strong.missing{background:var(--st-missing-bg);color:var(--st-missing-fg)}.paragraph-card.active,.paragraph-card:hover{border-color:var(--accent);background:var(--accent-weak)}.line-comparison-panel{display:grid;grid-template-rows:minmax(260px,1fr) minmax(170px,.44fr);gap:12px;padding:12px}.line-table{min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.line-row{display:grid;grid-template-columns:88px minmax(260px,1fr) minmax(260px,1fr);gap:0;border-bottom:1px solid var(--border-soft)}.line-row>span,.source-line-cell{min-width:0;margin:0;padding:10px 12px;color:var(--text);font-size:.91rem;line-height:1.6;white-space:pre-wrap}.line-row>span{color:var(--text-muted);font-weight:850}.sentence-range-cell{font-variant-numeric:tabular-nums;white-space:normal}.candidate-line-cell{min-width:0;border-left:1px solid var(--border-soft)}.line-editor{display:block;width:100%;min-height:58px;height:100%;margin:0;padding:10px 12px;border:0;background:transparent;color:var(--text);font-size:.91rem;line-height:1.6;resize:vertical;overflow:auto;white-space:pre-wrap}.line-editor:focus{outline:2px solid var(--focus-ring);outline-offset:-2px;background:var(--surface)}.line-editor:disabled,.line-editor[contenteditable=false]{color:var(--text-muted);cursor:not-allowed}.rich-editor-shell{min-width:0}.rich-editor-shell.compact{height:100%}.paragraph-editor .rich-editor-shell{height:calc(100% - 42px)}.rich-toolbar{display:flex;align-items:center;gap:6px;min-height:38px;padding:6px 8px;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.rich-toolbar-title{font-size:.86rem;font-weight:800;color:var(--text-muted);margin-right:4px}.rich-toolbar-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.rich-toolbar-meta{font-size:.82rem;font-weight:700;color:var(--text-muted)}.rich-format-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text)}.rich-format-button:disabled{cursor:not-allowed;opacity:.5}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--text-faint)}.line-head{position:sticky;top:0;z-index:1;background:var(--surface-2)}.line-head>span{color:var(--text-muted);font-size:.76rem;text-transform:uppercase}.candidate-head-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-add-line{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:.76rem;font-weight:850}.inline-add-line:disabled{cursor:not-allowed;opacity:.55}.line-missing{background:var(--line-missing)}.line-extra{background:var(--line-extra)}.line-grouped{background:var(--line-grouped)}.line-low-confidence{background:var(--line-low)}.paragraph-rich-editor{width:100%;height:calc(100% - 38px);min-height:126px;margin:0;padding:14px;border:0;background:transparent;color:var(--text);font-size:.93rem;line-height:1.65;white-space:pre-wrap;overflow:auto;resize:none}.paragraph-rich-editor:focus{outline:2px solid var(--focus-ring);outline-offset:-2px}.rich-preview{white-space:pre-wrap}.review-console{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,auto);gap:12px;order:3;position:sticky;bottom:0;z-index:5;margin-top:12px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 -6px 16px #141e180f}.context-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;min-width:0}.context-block{min-width:0;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface)}.workflow-block{grid-column:span 2}.context-block h3{margin:0 0 8px;color:var(--text);font-size:.86rem}.context-block p{max-height:118px;margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.45;overflow:auto}.button-grid{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:8px;align-content:start}.action-bar{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.source-actions,.workflow-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.workflow-chain{display:flex;flex-wrap:wrap;gap:6px}.workflow-chain span{min-height:28px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-size:.78rem;font-weight:850}.workflow-chain span.active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.command{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:.86rem;font-weight:800}.command.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.command.primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.command.approve{border-color:var(--accent-2);color:var(--accent-2)}.command.reject{border-color:var(--danger-border);color:var(--danger)}.command:disabled{cursor:not-allowed;opacity:.58}.status-badge{display:grid;gap:2px;min-width:124px;padding:8px 10px;border-radius:8px;text-align:right}.status-badge span{font-size:.76rem;font-weight:800}.status-badge strong{font-size:.9rem}.status-badge.approved{background:var(--st-approved-bg);color:var(--st-approved-fg)}.status-badge.ready{background:var(--st-ready-bg);color:var(--st-ready-fg)}.status-badge.draft{background:var(--st-draft-bg);color:var(--st-draft-fg)}.status-badge.submitted{background:var(--st-submitted-bg);color:var(--st-submitted-fg)}.status-badge.needs{background:var(--st-needs-bg);color:var(--st-needs-fg)}.status-badge.reopened{background:var(--st-reopened-bg);color:var(--st-reopened-fg)}.status-badge.missing{background:var(--st-missing-bg);color:var(--st-missing-fg)}.toast,.fatal,.loading{border:1px solid var(--danger-border);border-radius:8px;background:var(--surface);color:var(--danger)}.toast{position:fixed;right:18px;bottom:18px;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;box-shadow:var(--shadow-lg)}.toast.success{border-color:var(--st-approved-fg);background:var(--st-approved-bg);color:var(--st-approved-fg)}.fatal,.loading{margin:24px;padding:18px}@media(max-width:1350px){.top-review-strip,.paragraph-workspace,.review-console{grid-template-columns:1fr}.navigator{max-height:none}.chapter-list{max-height:220px}.context-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.workflow-block{grid-column:span 1}}@media(max-width:900px){.app-shell{padding:14px}.topbar,.topbar-actions,.panel-toolbar,.editor-header{align-items:stretch;flex-direction:column}.metrics-grid,.workspace,.top-review-strip,.paragraph-workspace,.context-grid{grid-template-columns:1fr}.role-switcher,.language-pill,.admin-actions{width:100%}.admin-actions{justify-content:stretch}.admin-actions .command{flex:1}.role-switcher{grid-template-columns:auto minmax(0,1fr) auto auto}.segmented-control{max-width:none;justify-content:flex-start}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-row{grid-template-columns:76px minmax(0,1fr)}.candidate-line-cell,.line-head .candidate-head-cell{grid-column:2;border-left:0;border-top:1px dashed var(--border)}.paragraph-workspace{min-height:0}}.snapshot{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.snapshot-progress{display:flex;align-items:center;gap:14px}.snapshot-bar{flex:1;display:flex;height:8px;border-radius:5px;overflow:hidden;background:var(--border-soft)}.snapshot-bar-seg{min-width:0}.snapshot-bar-seg.green{background:var(--prog-approved)}.snapshot-bar-seg.blue{background:var(--prog-review)}.snapshot-bar-seg.amber{background:var(--prog-draft)}.snapshot-bar-seg.red{background:var(--prog-needs)}.snapshot-bar-seg.neutral{background:var(--prog-neutral)}.snapshot-summary{font-size:13px;color:var(--text-muted);white-space:nowrap}.snapshot-summary strong{color:var(--text);font-weight:700}.snapshot-chips{display:flex;flex-wrap:wrap;gap:6px 18px}.snapshot-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px}.snapshot-chip .chip-label{color:var(--text-muted)}.snapshot-chip .chip-count{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:720px){.snapshot-summary{white-space:normal}}.your-work{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:8px 12px;margin-bottom:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text)}.your-work-title{font-weight:600}.your-work-stats{display:flex;flex-wrap:wrap;gap:14px}.your-work-stat strong{font-size:15px}.team-contributions{margin-top:18px}.team-table{width:100%;border-collapse:collapse;font-size:13px}.team-table th,.team-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.team-table th:nth-child(n+3),.team-table td:nth-child(n+3){text-align:right}.source-paragraph{display:flex;flex-direction:column;margin-top:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.source-paragraph .pane-title{margin-bottom:0;background:var(--surface-2)}.source-paragraph-text{margin:0;color:var(--text);font-size:.98rem;line-height:1.6;white-space:pre-wrap}.source-paragraph-textarea{display:block;flex:1 1 auto;width:100%;min-height:126px;box-sizing:border-box;margin:0;padding:14px;border:0;background:transparent;color:var(--text);font-size:.98rem;font-family:inherit;line-height:1.6;resize:none;overflow:auto}.source-paragraph-textarea:focus{outline:2px solid var(--focus-ring);outline-offset:-2px}.source-paragraph-textarea:disabled{background:transparent;color:var(--text-faint);cursor:default}.source-paragraph-actions{display:flex;gap:8px;margin-top:8px}.edited-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;background:var(--st-approved-bg);color:var(--st-approved-fg);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:lowercase}.paragraph-pair{display:grid;grid-template-columns:88px minmax(260px,1fr) minmax(260px,1fr);gap:0;align-items:stretch;min-height:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.paragraph-pair>.source-paragraph,.paragraph-pair>.paragraph-editor{min-width:0;margin-top:0;border:0;border-radius:0}.paragraph-pair>.source-paragraph{grid-column:1 / 3;overflow:hidden}.paragraph-pair>.paragraph-editor{grid-column:3 / 4;border-left:1px solid var(--border-soft)}@media(max-width:900px){.paragraph-pair{grid-template-columns:1fr}.paragraph-pair>.source-paragraph,.paragraph-pair>.paragraph-editor{grid-column:1 / -1}.paragraph-pair>.paragraph-editor{border-left:0;border-top:1px solid var(--border-soft)}}.theme-switcher{display:inline-flex;align-items:center;gap:2px;min-height:38px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.theme-option{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);transition:background-color var(--t),color var(--t)}.theme-option:hover{color:var(--text);background:var(--surface-2)}.theme-option.active{background:var(--accent);color:var(--accent-fg)}.command,.theme-option,.filter-chip,.chapter-row,.paragraph-card,.page-cell,.navigator,.comparison-panel,.editor-panel,.rich-format-button,.inline-add-line{transition:background-color var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}.command:focus-visible,.theme-option:focus-visible,.filter-chip:focus-visible,.chapter-row:focus-visible,.paragraph-card:focus-visible,.page-cell:focus-visible,.rich-format-button:focus-visible,.inline-add-line:focus-visible,.role-switcher button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}*{scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background-clip:padding-box;background-color:var(--border-strong)}::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}.page-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172aa8}.page-modal{display:flex;flex-direction:column;width:min(960px,96vw);height:min(92vh,1100px);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden}.page-modal-head,.page-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface-2)}.page-modal-head{border-bottom:1px solid var(--border);font-weight:600}.page-modal-foot{border-top:1px solid var(--border)}.page-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background var(--t),color var(--t)}.page-modal-close:hover{color:var(--text);background:var(--surface-input)}.page-modal-body{position:relative;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg)}.page-modal-image{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab}.page-modal-image:active{cursor:grabbing}.page-modal-message{position:absolute;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;padding:16px;color:var(--text-muted)}.page-modal-url{font-family:monospace;font-size:12px;word-break:break-all;color:var(--text-faint)}.page-modal-zoom{display:flex;align-items:center;gap:8px}.page-modal-zoom button,.page-modal-reset{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--t)}.page-modal-zoom button:disabled,.page-modal-reset:disabled{opacity:.5;cursor:not-allowed}.page-modal-zoom span{min-width:48px;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums}.page-modal-open{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--accent);text-decoration:none}.page-modal-open:hover{text-decoration:underline}.page-modal :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pane-title-actions{display:inline-flex;align-items:center;gap:8px}.show-original-page{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--t),border-color var(--t)}.show-original-page:hover{background:var(--accent-weak);border-color:var(--border-strong)}.save-indicator{align-self:center;font-size:12px;font-weight:600;color:var(--text-muted);transition:color var(--t)}.save-indicator.save-saving{color:var(--text-muted)}.save-indicator.save-saved{color:var(--accent)}.save-indicator.save-unsaved{color:var(--text-faint)}.save-indicator.save-error{color:var(--danger-border)}.text-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172aa8}.text-modal{display:flex;flex-direction:column;width:min(900px,96vw);max-height:88vh;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden}.text-modal-head,.text-modal-foot{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-2)}.text-modal-head{justify-content:space-between;border-bottom:1px solid var(--border);font-weight:600}.text-modal-foot{justify-content:flex-end;border-top:1px solid var(--border)}.text-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background var(--t),color var(--t)}.text-modal-close:hover{color:var(--text);background:var(--surface-input)}.text-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:auto;background:var(--border)}.text-modal-col{background:var(--surface);padding:12px 16px}.text-modal-col h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.text-modal-text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.5;color:var(--text)}.text-modal :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fr-modal{width:min(560px,96vw)}.fr-body{display:block;background:var(--surface);padding:20px 22px}.fr-langtabs{display:inline-flex;gap:4px;margin-bottom:18px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.fr-langtab{appearance:none;border:none;cursor:pointer;padding:7px 18px;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;font-size:.85rem;line-height:1.2;transition:background var(--t),color var(--t),box-shadow var(--t)}.fr-langtab:hover:not(.active){color:var(--text);background:var(--surface-input)}.fr-langtab.active{background:var(--sel-bg);color:var(--sel-fg);box-shadow:var(--shadow-sm)}.fr-langtab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.fr-form{display:grid;gap:16px}.fr-field{display:grid;gap:6px}.fr-field>span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.fr-input{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-input);color:inherit;font:inherit;font-size:.95rem;transition:border-color var(--t),box-shadow var(--t)}.fr-input:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 3px var(--focus-ring)}.fr-toggles{display:flex;gap:20px;margin-top:2px;font-size:.85rem;color:var(--text-muted)}.fr-toggles label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.fr-summary{margin:12px 0 6px;font-weight:600}.fr-error{margin-top:10px;color:var(--danger)}.fr-results{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;display:grid;gap:6px}.fr-result-row{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.fr-result-loc{font-size:.78rem;opacity:.75}.fr-result-snippet{font-size:.9rem}.cv-chips{display:inline-flex;align-items:center;gap:4px}.cv-chip{appearance:none;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:800;line-height:1;padding:5px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.cv-chip.active{background:var(--sel-bg);color:var(--sel-fg);border-color:transparent}.cv-chip.role-reviewer{border-color:var(--st-reopened-solid)}.cv-chip.role-admin{border-color:var(--st-approved-solid)}.cv-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.cv-history{color:var(--text-muted)}.cv-preview-banner{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding:6px 12px;border-radius:8px;background:var(--sel-bg);color:var(--sel-fg);font-weight:700;font-size:.85rem}.cv-return{appearance:none;cursor:pointer;border:1px solid var(--sel-fg);background:transparent;color:var(--sel-fg);font:inherit;font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:999px}.ph-empty{color:var(--text-muted)}.ph-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ph-entry{border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px}.ph-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.82rem}.ph-badge{text-transform:capitalize;font-weight:800;font-size:.7rem;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-muted)}.ph-badge.role-reviewer{background:var(--st-reopened-bg);color:var(--st-reopened-fg)}.ph-badge.role-admin{background:var(--st-approved-bg);color:var(--st-approved-fg)}.ph-actor{font-weight:800}.ph-action{color:var(--text-muted)}.ph-time{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.ph-view{appearance:none;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:6px}.ph-diff{margin:8px 0 0;line-height:1.6;white-space:pre-wrap}.ph-diff ins{text-decoration:none;background:var(--st-approved-bg);color:var(--st-approved-fg);border-radius:3px;padding:0 2px}.ph-diff del{text-decoration:line-through;background:var(--st-missing-bg);color:var(--st-missing-fg);border-radius:3px;padding:0 2px}.ph-note{margin:8px 0 0;color:var(--text-muted);font-style:italic}
