*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;line-height:1.45;color:#1f2933;background:#f6f7f9;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}ul,ol{list-style:none;margin:0;padding:0}h1,h2,h3,h4{margin:0;font-weight:600}input,textarea,select{font:inherit;color:inherit}table{border-collapse:collapse}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#1f2933;color:#f6f7f9;border-bottom:1px solid #0f172a}.app-logo-btn{font-weight:600;font-size:15px;letter-spacing:.01em;background:none;border:none;color:#f6f7f9;cursor:pointer;padding:0}.app-logo-btn:hover{color:#fff;text-decoration:underline}.app-context{display:flex;align-items:baseline;gap:8px;font-size:13px}.ctx-label{color:#9aa5b1}.ctx-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#2d3640;padding:2px 8px;border-radius:3px}.app-body{display:grid;grid-template-columns:280px 1fr;min-height:0}.app-body--full{grid-template-columns:1fr;overflow-y:auto}.banner{padding:8px 16px;font-size:13px}.banner-error{background:#fde8e8;color:#7a1f1f;border-bottom:1px solid #f7b4b4}.empty{padding:32px;color:#6b7280;font-style:italic}.section-list{background:#fff;border-right:1px solid #e4e7eb;overflow-y:auto}.section-list-header{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;padding:14px 16px 6px}.section-item{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 16px;border-left:3px solid transparent;font-size:13px;color:#1f2933}.section-item:hover{background:#f3f5f7}.section-item.is-selected{background:#eef4ff;border-left-color:#3b82f6}.section-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-order{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:#9aa5b1}.section-empty{padding:12px 16px;color:#9aa5b1;font-style:italic}.type-pill{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;font-size:11px;font-weight:600;line-height:1;letter-spacing:0}.type-A{background:#d1ecff;color:#084b87}.type-B{background:#e2dafd;color:#4338ca}.type-C{background:#fde9c8;color:#92531a}.dashboard{max-width:900px;margin:0 auto;padding:40px 32px 64px}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:48px}.dash-board-name{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9aa5b1;margin-bottom:6px}.dash-title{font-size:28px;font-weight:700;color:#1f2933;margin:0 0 8px}.dash-subtitle{font-size:15px;color:#4a5568;margin:0}.dash-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0;min-width:200px}.dash-progress{display:flex;align-items:baseline;gap:3px}.dash-progress-count{font-size:32px;font-weight:700;color:#1f2933;line-height:1}.dash-progress-of{font-size:18px;color:#9aa5b1;line-height:1}.dash-progress-label{font-size:12px;color:#6b7280;margin-left:6px}.dash-progress-bar-track{width:100%;height:6px;background:#e4e7eb;border-radius:3px;overflow:hidden}.dash-progress-bar-fill{height:100%;background:#16a34a;border-radius:3px;transition:width .4s ease}.dash-action-row{display:flex;align-items:center;gap:8px}.dash-corpus-btn{white-space:nowrap;font-size:12px;color:#4a5568}.dash-pdf-btn{white-space:nowrap;font-size:13px;padding:8px 16px}.dash-body{display:flex;flex-direction:column;gap:32px}.dash-empty{color:#9aa5b1;font-style:italic;padding:24px 0}.dash-group-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dash-group-badge{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:9px}.dash-group-count{font-size:12px;color:#9aa5b1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.status-attention{background:#fee2e2;color:#991b1b}.status-in-progress{background:#fef9c3;color:#854d0e}.status-not-started{background:#f3f4f6;color:#374151}.status-ready{background:#dcfce7;color:#14532d}.dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.dash-card{background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,border-color .15s}.dash-card:hover{box-shadow:0 2px 8px #00000012;border-color:#cbd2d9}.dash-card--attention{border-left:3px solid #dc2626}.dash-card--in-progress{border-left:3px solid #d97706}.dash-card--ready{border-left:3px solid #16a34a;opacity:.8}.dash-card--not-started{border-left:3px solid #d1d5db}.dash-card-body{display:flex;flex-direction:column;gap:6px;flex:1}.dash-card-title{font-size:14px;font-weight:600;color:#1f2933}.dash-card-desc{font-size:13px;color:#6b7280;line-height:1.5}.dash-card-alert{font-size:12px;color:#991b1b;background:#fee2e2;padding:6px 8px;border-radius:4px;margin-top:4px}.dash-card-footer{display:flex;align-items:center;justify-content:space-between}.dash-dot{font-size:13px;font-weight:700;width:22px;text-align:center}.dash-dot--ready{color:#16a34a}.dash-dot--attention{color:#dc2626}.dash-dot--in-progress{color:#d97706}.dash-dot--not-started{color:#9aa5b1}.dash-card-action{font-size:12px}.workspace-breadcrumb{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#f6f7f9;border-bottom:1px solid #e4e7eb;font-size:13px;color:#6b7280}.breadcrumb-back{background:none;border:none;color:#3b82f6;font-size:13px;cursor:pointer;padding:0}.breadcrumb-back:hover{text-decoration:underline}.breadcrumb-sep{color:#d1d5db}.breadcrumb-current{color:#1f2933;font-weight:500}.workspace-desc{font-size:13px;color:#6b7280;margin:4px 0 0;line-height:1.5}.workspace-instruction{font-size:13px;font-weight:500;color:#1f2933;margin:6px 0 0;padding:6px 10px;background:#eef4ff;border-left:3px solid #3b82f6;border-radius:0 4px 4px 0}.workspace{display:flex;flex-direction:column;overflow:hidden;background:#f6f7f9}.workspace-inner{display:grid;grid-template-rows:auto auto 1fr auto;height:100%;min-height:0}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e4e7eb}.workspace-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-title h1{font-size:17px;font-weight:600;margin:0}.compliance-line{flex-basis:100%;margin-top:2px;font-size:12px;color:#6b7280}.workspace-actions{display:flex;gap:8px}.btn{padding:6px 14px;border-radius:4px;border:1px solid #cbd2d9;background:#fff;font-size:13px;font-weight:500;color:#1f2933;transition:background .1s,border-color .1s}.btn:hover:not(:disabled){background:#f3f5f7;border-color:#9aa5b1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#1f2933;border-color:#1f2933;color:#fff}.btn-primary:hover:not(:disabled){background:#0f172a;border-color:#0f172a}.btn-pdf{position:relative;margin-left:16px;background:#5a8fbe;border-color:#5a8fbe;color:#fff;font-weight:600;padding:8px 16px}.btn-pdf:hover:not(:disabled){background:#4a7faf;border-color:#4a7faf}.pdf-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;min-width:20px;height:20px;padding:0 6px;background:#fff;color:#1f3a5f;border-radius:10px;font-size:11px;font-weight:700;line-height:1}.draft-dot{display:inline-block;margin-left:6px;color:#2f9e44;font-size:10px;line-height:1}.btn-small{padding:4px 10px;font-size:12px}.three-pane{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:1px;background:#e4e7eb;overflow:hidden;min-height:0}.pane{display:flex;flex-direction:column;background:#fff;min-height:0}.pane-header{display:flex;align-items:baseline;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #e4e7eb;background:#fafbfc}.pane-header h2{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin:0}.pane-meta{font-size:11px;color:#9aa5b1}.pane-body{flex:1;overflow-y:auto;padding:16px}.pane-empty{color:#9aa5b1;font-style:italic;padding:16px 0}.paragraph{margin-bottom:16px;padding:12px 14px;border:1px solid #e4e7eb;border-radius:6px;background:#fff;transition:border-color .1s}.paragraph:hover{border-color:#cbd2d9}.paragraph.status-accepted{border-color:#b6e8c4;background:#f3fbf5}.paragraph.status-edited{border-color:#c8d4f7;background:#f4f7ff}.paragraph.status-regenerated{border-color:#f7d4a4;background:#fff7ec}.paragraph-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:11px;color:#6b7280}.paragraph-index{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.status-pill{display:inline-block;padding:1px 8px;border-radius:9px;font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:#eef0f2;color:#4a5568}.status-pill.status-accepted{background:#dff5e3;color:#1f6b35}.status-pill.status-edited{background:#dfe7ff;color:#2541b2}.status-pill.status-regenerated{background:#fdebd0;color:#8a4b0e}.paragraph-text{font-family:inherit;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0}.paragraph-textarea{width:100%;padding:8px;font-family:inherit;font-size:14px;border:1px solid #cbd2d9;border-radius:4px;resize:vertical}.paragraph-actions{display:flex;gap:6px;margin-top:10px}.data-table{width:100%;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.data-table th,.data-table td{padding:6px 8px;text-align:right;border-bottom:1px solid #f0f2f4}.data-table th{font-weight:600;color:#4a5568;background:#fafbfc;position:sticky;top:0}.data-table th:first-child,.data-table td:first-child{text-align:left}.cell-field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#1f2933}.cell-value{font-variant-numeric:tabular-nums}.cell-signal{font-family:inherit;font-size:11px;color:#6b7280;white-space:nowrap;text-align:left}.muted{color:#cbd2d9}.cell-editable{cursor:pointer}.cell-editable:hover{background:#f0f7ff;outline:1px dashed #93c5fd;outline-offset:-1px}.cell-overridden{background:#fefce8;color:#713f12;font-style:italic}.cell-override-marker{font-size:10px;margin-left:4px;opacity:.6}.cell-editing{padding:2px 4px}.cell-input{width:100%;min-width:60px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;padding:2px 4px;border:1px solid #3b82f6;border-radius:3px;background:#eff6ff;text-align:right;outline:none}.pane-edit-hint{font-style:italic;color:#9aa5b1}.banner-stale{background:#fefce8;color:#713f12;border-bottom:1px solid #fde68a}.prior-text{font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word;margin:0;color:#4a5568;line-height:1.6}.validation-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 24px;background:#fff;border-top:1px solid #e4e7eb;font-size:12px;min-height:44px}.validation-empty{color:#9aa5b1;font-style:italic}.rule-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:14px;font-size:11px;background:#eef0f2;color:#4a5568}.rule-pill.rule-pass{background:#dff5e3;color:#1f6b35}.rule-pill.rule-fail.severity-blocking{background:#fde0e0;color:#8a1f1f}.rule-pill.rule-fail.severity-warning{background:#fdebd0;color:#8a4b0e}.rule-icon{font-weight:700}.rule-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.rule-message{color:inherit;opacity:.85;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validation-strip{border-bottom:1px solid #e4e7eb;background:#fafbfc}.validation-strip.strip-blocking{background:#fff5f5;border-bottom-color:#fca5a5}.validation-strip.strip-warning{background:#fffbf0;border-bottom-color:#fcd34d}.validation-strip.strip-pass{background:#f0fdf4;border-bottom-color:#86efac}.validation-strip-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 24px;background:transparent;border:none;font-size:12px;color:#4a5568;text-align:left;cursor:pointer}.validation-strip-toggle:hover{background:#00000008}.strip-indicator{display:flex;align-items:center}.strip-icon{font-weight:700;font-size:13px}.strip-icon-idle{color:#9aa5b1}.strip-icon-pass{color:#16a34a}.strip-icon-block{color:#dc2626}.strip-icon-warn{color:#d97706}.strip-summary{flex:1;font-weight:500}.strip-chevron{font-size:9px;color:#9aa5b1}.validation-rules{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 10px}.section-list-header{display:flex;align-items:center;justify-content:space-between;padding-right:16px}.section-list-progress{font-size:11px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9aa5b1;background:#f3f5f7;padding:1px 6px;border-radius:9px}.section-item{grid-template-columns:32px 1fr auto}.sec-status{font-size:12px;font-weight:700;width:18px;text-align:center;flex-shrink:0}.sec-status--done{color:#16a34a}.sec-status--review{color:#d97706}.sec-status--errors{color:#dc2626}.sec-status--brief{color:#9aa5b1}.sec-status--empty{color:#d1d5db}.ctx-select{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#2d3640;color:#f6f7f9;border:1px solid #4a5568;border-radius:3px;padding:2px 6px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ctx-select:focus{outline:2px solid #5a8fbe;outline-offset:1px}.btn-warn{border-color:#fca5a5;color:#991b1b;background:#fff5f5}.btn-warn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.data-table tr.row-highlighted td{background:#fffbeb;transition:background .12s}.data-table tr.row-highlighted td.cell-field{font-weight:600}.brief-badge{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:#fde9c8;color:#92531a;padding:2px 8px;border-radius:9px}.brief-body{display:flex;flex-direction:column;gap:0}.brief-section{padding:14px 0;border-bottom:1px solid #f0f2f4}.brief-section:last-child{border-bottom:none}.brief-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin:0 0 10px}.brief-facts{list-style:decimal;padding-left:18px;margin:0;display:flex;flex-direction:column;gap:6px}.brief-fact{font-size:13px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.brief-fact-field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:#4a5568}.brief-fact-value{font-weight:600;font-variant-numeric:tabular-nums;color:#1f2933}.brief-fact-year{font-size:11px;color:#9aa5b1}.brief-fact-signal{font-size:10px;font-weight:600;background:#fde9c8;color:#92531a;padding:1px 6px;border-radius:9px}.brief-prior{font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word;margin:0;color:#4a5568;line-height:1.6;background:#f9fafb;padding:10px 12px;border-radius:4px;border:1px solid #e4e7eb}.brief-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.brief-check-item{font-size:13px}.brief-check-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.brief-check-input{margin-top:2px;flex-shrink:0;accent-color:#1f2933}.brief-check-text--done{text-decoration:line-through;color:#9aa5b1}.brief-questions{list-style:decimal;padding-left:18px;margin:0;display:flex;flex-direction:column;gap:10px}.brief-question{font-size:13px;line-height:1.5;color:#1f2933}.brief-muted{font-size:12px;color:#9aa5b1;font-style:italic;margin:0}.corpus-panel{display:flex;flex-direction:column;min-height:0}.corpus-inner{max-width:800px;margin:0 auto;padding:32px 32px 64px;width:100%}.corpus-page-header{margin-bottom:28px}.corpus-title{font-size:22px;font-weight:700;color:#1f2933;margin:0 0 6px}.corpus-subtitle{font-size:14px;color:#4a5568;line-height:1.6;margin:0}.corpus-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:36px 24px;border:2px dashed #cbd2d9;border-radius:8px;background:#fafbfc;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:16px}.corpus-dropzone:hover,.corpus-dropzone--over{border-color:#3b82f6;background:#eff6ff}.corpus-drop-icon{font-size:28px;color:#9aa5b1;line-height:1}.corpus-dropzone--over .corpus-drop-icon{color:#3b82f6}.corpus-drop-label{font-size:14px;font-weight:500;color:#1f2933}.corpus-drop-hint{font-size:12px;color:#9aa5b1}.corpus-year-row{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-size:13px}.corpus-year-label{color:#4a5568}.corpus-year-select{background:#f3f5f7;color:#1f2933;border-color:#cbd2d9}.corpus-empty{color:#9aa5b1;font-style:italic;font-size:14px;padding:16px 0}.corpus-table{width:100%;border-collapse:collapse;font-size:13px}.corpus-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#6b7280;border-bottom:2px solid #e4e7eb;background:#fafbfc}.corpus-table td{padding:10px 12px;border-bottom:1px solid #f0f2f4;vertical-align:middle;color:#1f2933}.corpus-table tr:last-child td{border-bottom:none}.corpus-table tr:hover td{background:#fafbfc}.corpus-col-file{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.corpus-col-year{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;width:56px}.corpus-col-date{white-space:nowrap;color:#6b7280;font-size:12px}.corpus-col-sections{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center;width:64px;color:#6b7280}.corpus-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:9px}.corpus-status--pending{background:#fef9c3;color:#854d0e}.corpus-status--ready{background:#dcfce7;color:#14532d}.corpus-status--error{background:#fee2e2;color:#991b1b}.corpus-error-msg{font-size:11px;color:#991b1b}.corpus-del-btn{color:#6b7280;border-color:transparent;background:transparent;padding:2px 6px}.corpus-del-btn:hover:not(:disabled){background:#fee2e2;color:#991b1b;border-color:#fca5a5}.workspace-inner--with-strip{grid-template-rows:auto auto auto auto 1fr}
