:root{--accent:#14adb6;--accent-strong:#0f8c93;--accent-soft:#e3f6f7;--accent-contrast:#fff;--bg:#f4f6f8;--surface:#fff;--surface-2:#f8fafb;--surface-hover:#f0f7f8;--border:#dde3e8;--border-strong:#c5cdd4;--text:#1c2630;--text-muted:#62707d;--text-faint:#8a96a1;--danger:#c93838;--danger-soft:#fdecec;--success:#25884a;--success-soft:#e7f5ec;--warn:#b26a00;--warn-soft:#fff4e0;--info:#2667c9;--info-soft:#e8f0fc;--neutral-soft:#eef1f4;--radius:6px;--radius-sm:4px;--shadow-sm:0 1px 2px #1018200f;--shadow-lg:0 12px 40px #1018202e;--font:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;--topbar-h:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#1fc2cc;--accent-strong:#3fd3dc;--accent-soft:#11363a;--accent-contrast:#062326;--bg:#12171c;--surface:#1a2027;--surface-2:#1f262e;--surface-hover:#1d2d33;--border:#2d3640;--border-strong:#3c4753;--text:#e3e8ed;--text-muted:#9aa6b2;--text-faint:#6f7b87;--danger:#f07070;--danger-soft:#3a1f22;--success:#5cc583;--success-soft:#1a3325;--warn:#f0b04a;--warn-soft:#3a2d15;--info:#7fa8f0;--info-soft:#1c2940;--neutral-soft:#262e37;--shadow-sm:0 1px 2px #0000004d;--shadow-lg:0 12px 40px #00000080}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:20px}h2{font-size:16px}code,.mono{font-family:var(--font-mono);font-size:.93em}.muted{color:var(--text-muted)}.small{font-size:12px}.strong{font-weight:600}.center{text-align:center}.nowrap{white-space:nowrap}.break{word-break:break-all}.pad{padding:24px 0}.num{text-align:right;font-variant-numeric:tabular-nums}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:24px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-part{color:inherit;text-decoration:none}.brand-part:hover{text-decoration:underline}.brand-mark{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:6px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.nav{flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.nav-link{border-radius:var(--radius);color:var(--text-muted);white-space:nowrap;padding:6px 12px;font-weight:500}.nav-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav-link.active{color:var(--accent-strong);background:var(--accent-soft)}.nav-sep{background:var(--border);width:1px;height:20px;margin:0 8px}.topbar-user{align-items:center;gap:8px;display:flex}.user-info{flex-direction:column;align-items:flex-end;margin-right:4px;line-height:1.2;display:flex}.user-name{font-weight:600}.user-role{color:var(--text-muted);font-size:11px}.main{flex:1}.page{max-width:1480px;margin:0 auto;padding:20px 24px 48px}.page-narrow{max-width:820px}.page-loading{text-align:center;color:var(--text-muted);padding:48px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.breadcrumbs{color:var(--text-muted);gap:6px;margin-bottom:6px;font-size:12px;display:flex}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:34px;color:var(--text);min-width:0;padding:6px 10px}textarea{resize:vertical;height:auto}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}input[readonly]{background:var(--surface-2)}.select-sm{font-size:13px;height:28px!important;padding:2px 6px!important}.search-input{width:300px;max-width:100%}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-hover);text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible,.icon-btn:focus-visible,.link-button:focus-visible,.chip:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92);background:var(--danger)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text)}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-block{width:100%}.btn-ms{background:var(--surface);height:40px;font-weight:600}.link-button{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.link-like{color:var(--accent-strong);text-decoration:underline}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-hover);border-color:var(--border);color:var(--accent-strong);text-decoration:none}.icon-btn-danger:hover{color:var(--danger);background:var(--danger-soft)}.checkbox{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.checkbox input{accent-color:var(--accent);margin-top:3px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--border-strong);border-radius:9px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5}.switch-label{font-size:13px}.switch-lg .switch-label{font-size:14px;font-weight:500}.form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span:first-child{color:var(--text-muted);font-size:12px;font-weight:600}.field-inline{max-width:320px}.field-invalid input{border-color:var(--danger)}.field-error,.form-error{color:var(--danger);margin:0;font-size:12px}.field-warn{color:var(--warn);font-size:12px;font-weight:500}.field-hint{color:var(--text-faint);font-size:12px}.input-group{gap:6px;display:flex}.input-group input{flex:1}.input-group .btn{height:34px}.form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.alert{border-radius:var(--radius);border:1px solid #0000;margin-bottom:12px;padding:10px 12px}.form .alert{margin-bottom:0}.alert-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.alert-success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent);color:var(--success)}.alert-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:var(--warn)}.badge{white-space:nowrap;background:var(--neutral-soft);color:var(--text-muted);vertical-align:middle;border-radius:10px;padding:1px 7px;font-size:11.5px;font-weight:600;line-height:18px;display:inline-block}td .badge+.badge,td>.badge:not(:first-child){margin-left:6px}.badge-new{background:var(--success-soft);color:var(--success)}.badge-changed{background:var(--warn-soft);color:var(--warn)}.badge-unchanged,.badge-muted{background:var(--neutral-soft);color:var(--text-muted)}.badge-carried{background:var(--info-soft);color:var(--info)}.badge-error{background:var(--danger-soft);color:var(--danger);text-overflow:ellipsis;max-width:100%;overflow:hidden}.badge-stage,.badge-access-manage{background:var(--accent-soft);color:var(--accent-strong)}.badge-access-write{background:var(--info-soft);color:var(--info)}.badge-access-read{background:var(--neutral-soft);color:var(--text-muted)}.badge-stale{background:var(--warn-soft);color:var(--warn)}.status{font-size:12.5px}.status-failed{color:var(--danger);font-weight:600}.status-ready{color:var(--success)}.status-processing,.status-queued{color:var(--info)}.version{font-family:var(--font-mono);font-size:12.5px;font-weight:600}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:600;position:sticky;top:0}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.table tbody:last-child tr:last-child td,.table tbody tr:last-child td{border-bottom:none}.table-hover tbody tr:hover td{background:var(--surface-hover)}.table th.num{text-align:right}tr.clickable{cursor:pointer}tr.row-inactive td{color:var(--text-faint)}tr.row-current td{background:var(--accent-soft)}.actions-col{white-space:nowrap;text-align:right;width:1%}.row-actions{justify-content:flex-end;gap:2px;display:inline-flex}.table-toolbar{justify-content:space-between;align-items:center;padding:10px 2px 6px;display:flex}.doc-table .doc-title{min-width:220px;font-weight:500}.doc-table .doc-title a{color:var(--text)}.doc-table .doc-title a:hover{color:var(--accent-strong)}.doc-file{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12.5px;overflow:hidden}.doc-table tbody:not(:first-of-type) .group-row td{border-top:1px solid var(--border)}.doc-table tbody tr:not(.group-row):hover td{background:var(--surface-hover)}.group-row td{background:var(--surface-2);cursor:pointer;padding:0}.group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 10px;font-weight:600;display:flex}.group-toggle:hover{color:var(--accent-strong)}.chevron{color:var(--text-muted);place-items:center;transition:transform .15s;display:inline-grid}.chevron.open{transform:rotate(90deg)}.group-code{color:var(--accent-strong);min-width:36px}.group-name{font-weight:500}.group-count{background:var(--neutral-soft);color:var(--text-muted);border-radius:10px;margin-left:4px;padding:0 7px;font-size:11.5px;line-height:18px}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);padding:48px 24px}.empty-state h2{color:var(--text);margin-bottom:8px}.empty-state p{margin:6px 0}.empty-state .btn{margin-top:10px}.empty-state.compact{padding:24px}.dialog-overlay{z-index:100;background:#0a101673;place-items:center;padding:24px;animation:.12s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);width:100%;max-width:520px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;animation:.14s ease-out pop-in;display:flex}.dialog-wide{max-width:1000px}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.dialog-header h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dialog-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.dialog-close:hover{color:var(--text)}.dialog-body{padding:16px 18px;overflow-y:auto}.dialog-footer{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 8px 8px;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.confirm-message{line-height:1.55}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.99)}}.auth-screen{background:radial-gradient(1200px 500px at 50% -10%, color-mix(in srgb, var(--accent) 16%, transparent), transparent), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;gap:16px;padding:28px;display:flex}.auth-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.auth-brand .brand-mark{border-radius:8px;width:40px;height:40px;font-size:15px}.auth-title{font-size:20px;font-weight:700}.auth-subtitle{color:var(--text-muted);font-size:12.5px}.auth-heading{font-size:18px}.auth-card .alert,.auth-card .muted{margin:0}.auth-divider{color:var(--text-faint);align-items:center;gap:10px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-footer{text-align:center;font-size:13px}.project-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.project-code{color:var(--accent-strong);margin-right:4px}.project-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;font-size:13px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:500}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.submission-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.submission-chips{gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:16px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.chip-number{font-weight:700;font-family:var(--font-mono)}.chip-date{color:var(--text-muted);font-size:12px}.chip-count{background:var(--neutral-soft);color:var(--text-muted);border-radius:9px;padding:0 6px;font-size:11px;line-height:16px}.submission-notes{border-left:3px solid var(--accent);background:var(--surface);color:var(--text-muted);white-space:pre-wrap;margin:0 0 12px;padding:8px 12px}.upload{margin-bottom:8px}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:14px;padding:14px 18px;transition:border-color .12s,background .12s;display:flex}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);outline:none}.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{color:var(--accent);flex:none}.upload-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:8px}.upload-list-header{border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.upload-list ul{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.upload-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 80px minmax(160px,260px);align-items:center;gap:12px;padding:5px 12px;font-size:13px;display:grid}.upload-item:last-child{border-bottom:none}.upload-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-size{text-align:right;font-size:12px}.upload-status{justify-content:flex-end;min-width:0;display:flex}.progress{background:var(--neutral-soft);border-radius:3px;width:100%;height:6px;display:block;overflow:hidden}.progress-bar{background:var(--accent);height:100%;transition:width .15s linear;display:block}.members{flex-direction:column;gap:12px;display:flex}.members .alert{margin:0}.add-member{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.add-member-row{flex-wrap:wrap;gap:8px;display:flex}.add-member .form-error{margin-top:6px}.combo{flex:1;min-width:260px;position:relative}.combo input{width:100%}.combo-list{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-list button{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;gap:12px;width:100%;padding:6px 8px;display:flex}.combo-list button:hover,.combo-list button:focus{background:var(--surface-hover);outline:none}.combo-empty{color:var(--text-muted);padding:6px 8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-title{font-size:15px}.one-time p{margin:0 0 12px}.one-time-secret{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;display:flex}.one-time-secret code{letter-spacing:.04em;-webkit-user-select:all;user-select:all;flex:1;font-size:16px;font-weight:600}.tags{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:4px 6px;display:flex}.tags:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.tags-invalid{border-color:var(--danger)}.tags input{flex:1;min-width:140px;box-shadow:none!important;background:0 0!important;border:none!important;height:24px!important;padding:0 4px!important}.tag{background:var(--accent-soft);color:var(--accent-strong);border-radius:10px;align-items:center;gap:4px;padding:1px 4px 1px 8px;font-size:12.5px;font-weight:500;display:inline-flex}.tag button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0 3px;font-size:14px;line-height:1}.changes-row td{background:var(--surface-2);padding:8px 12px 10px 24px}.changes-table{border-collapse:collapse;font-size:12.5px}.changes-table th,.changes-table td{text-align:left;vertical-align:top;padding:3px 14px 3px 0}.changes-table th{color:var(--text-muted);font-weight:600}.diff-old{color:var(--danger);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 50%, transparent);word-break:break-word}.diff-new{color:var(--success);word-break:break-word}.load-more{justify-content:center;padding:16px;display:flex}.ingest-col{min-width:150px}.ingest{flex-direction:column;gap:3px;min-width:130px;display:inline-flex}.progress-thin{border-radius:2px;height:3px}.progress-thin .progress-bar{background:var(--info);transition:width .4s ease-out}.icon-btn.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-strong)}.icon-btn:disabled{opacity:.4;cursor:default;color:var(--text-muted);background:0 0;border-color:#0000}.submission-actions{flex:none;align-items:center;gap:8px;display:flex}.doc-search{position:relative}.search-box{align-items:center;display:flex;position:relative}.search-box-icon{color:var(--text-faint);pointer-events:none;display:inline-grid;position:absolute;left:9px}.search-box input.search-input[type=search]{padding-left:30px}.search-results{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(680px,92vw);max-height:65vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0}.search-results .alert{margin:8px 12px}.search-results-header{border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.search-empty{margin:0;padding:14px 12px}.search-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.search-hit{border-radius:var(--radius-sm);color:var(--text);flex-direction:column;gap:3px;padding:7px 8px;display:flex}.search-hit:hover,.search-hit:focus-visible{background:var(--surface-hover);outline:none;text-decoration:none}.search-hit-head{align-items:baseline;gap:8px;min-width:0;display:flex}.search-hit-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.search-snippet{color:var(--text-muted);font-size:12.5px;line-height:1.5}.search-snippet mark{background:color-mix(in srgb, var(--warn) 28%, transparent);color:var(--text);border-radius:2px;padding:0 1px}.viewer{height:calc(100vh - var(--topbar-h));flex-direction:column;min-height:0;display:flex}.viewer-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;display:flex}.viewer-header .breadcrumbs{margin-bottom:2px}.viewer-title-block{min-width:0}.viewer-title{align-items:center;gap:4px;min-width:0;font-size:16px;display:flex}.viewer-title .icon-btn{margin-left:-6px}.viewer-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-meta{flex:none;align-items:center;gap:10px;display:flex}.viewer-empty{padding:32px 24px}.viewer-body{flex:1;grid-template-columns:196px minmax(0,1fr) 300px;min-height:0;display:grid}.viewer-main{min-width:0;min-height:0;display:flex}.rail{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.rail-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.mini-chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:11px;align-items:center;gap:4px;height:22px;padding:0 7px;font-size:11.5px;display:inline-flex}.mini-chip:hover{border-color:var(--accent)}.mini-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.mini-chip-count{color:var(--text-faint);font-variant-numeric:tabular-nums}.rail-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex;overflow-y:auto}.thumb{border-radius:var(--radius);cursor:pointer;text-align:left;content-visibility:auto;contain-intrinsic-size:auto 240px;background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;width:100%;padding:6px;display:flex}.thumb:hover{background:var(--surface-hover)}.thumb.active{background:var(--accent-soft);border-color:var(--accent)}.thumb:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.thumb-img{border:1px solid var(--border);width:100%;max-height:220px;box-shadow:var(--shadow-sm);background:#fff;place-items:center;display:grid;position:relative;overflow:hidden}.thumb-img img{object-fit:contain;width:100%;height:100%;display:block}.thumb-placeholder{color:#8a96a1;font-size:11px}.thumb-ocr{background:var(--warn-soft);width:20px;height:20px;color:var(--warn);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:inline-grid;position:absolute;top:3px;right:3px}.thumb-meta{justify-content:space-between;align-items:center;gap:6px;display:flex}.thumb-no{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.thumb-sheet{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.kind-badge{padding:0 6px;font-size:10.5px;line-height:16px}.kind-cover{background:var(--accent-soft);color:var(--accent-strong)}.kind-drawing{background:var(--info-soft);color:var(--info)}.kind-table{background:var(--success-soft);color:var(--success)}.kind-scan{background:var(--warn-soft);color:var(--warn)}.kind-mixed{background:color-mix(in srgb, var(--info) 14%, var(--surface));color:var(--text)}.mini-chip.kind-cover,.mini-chip.kind-drawing,.mini-chip.kind-table,.mini-chip.kind-scan,.mini-chip.kind-mixed{background:var(--surface);color:var(--text)}.mini-chip.active[class*=kind-]{background:var(--accent-soft);color:var(--accent-strong)}.pv{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pv-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:5px 10px;display:flex}.pv-toolbar-group{align-items:center;gap:6px;display:flex}.pv-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.pv-pageno{text-align:center;font-variant-numeric:tabular-nums;min-width:56px}.pv-zoom{text-align:center;min-width:44px}.pv-hint{margin-right:6px}.pv-viewport{scrollbar-gutter:stable;background:color-mix(in srgb, var(--bg) 70%, #7f8a94 30%);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:1;min-height:0;overflow:auto}.pv-viewport.dragging{cursor:grabbing}.pv-canvas{width:max-content;min-width:100%;min-height:100%;padding:24px;display:flex}.pv-stage{background:#fff;flex:none;margin:auto;position:relative;box-shadow:0 2px 10px #00000040}.pv-img,.pv-tile,.pv-overlay{pointer-events:none;display:block;position:absolute}.pv-img{width:100%;height:100%;inset:0}.pv-img-hidden{visibility:hidden}.pv-overlay{width:100%;height:100%;inset:0;overflow:visible}.pv-message{margin:auto;padding:24px}.pv-page-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:6px 10px;font-size:12.5px;position:absolute;top:8px;left:8px;right:8px}.ov-words rect{fill:#2667c91f;stroke:#2667c9;stroke-width:.75px}.page-info{background:var(--surface);border-left:1px solid var(--border);min-height:0;padding:12px 14px 24px;overflow-y:auto}.page-info-title{margin-bottom:10px;font-size:15px}.page-info .alert{margin-bottom:10px}.page-info-sub{color:var(--text-muted);margin:16px 0 6px;font-size:12px;font-weight:600}.info-list{grid-template-columns:auto minmax(0,1fr);gap:5px 12px;margin:0;font-size:13px;display:grid}.info-list dt{color:var(--text-muted);padding-top:1px;font-size:12px}.info-list dd{word-break:break-word;margin:0}.titleblock{white-space:pre-wrap;word-break:break-word;max-height:320px;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:11.5px;line-height:1.45;overflow:auto}@media (width<=1100px){.viewer-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:150px minmax(0,1fr)}.page-info{border-left:none;border-top:1px solid var(--border);grid-column:1/-1;max-height:30vh}}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-header p{margin:0}.section-title{margin:28px 0 8px}.small-heading{color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.section-header .small-heading{margin:0}.fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0;padding:10px 12px 12px;display:flex}.fieldset legend{color:var(--text-muted);padding:0 4px;font-size:12px;font-weight:600}.check-row{flex-wrap:wrap;gap:8px 18px;display:flex}.json-input{font-size:12.5px;line-height:1.45}.field-invalid textarea{border-color:var(--danger)}input.input-sm{font-size:13px;height:28px!important;padding:2px 6px!important}input.input-num{text-align:right;font-variant-numeric:tabular-nums;width:84px}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-faint);cursor:not-allowed}.provider-card{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.provider-card .alert{margin:0}.provider-off{background:var(--surface-2)}.provider-off .provider-title h2{color:var(--text-muted)}.provider-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.provider-title{align-items:center;gap:8px;min-width:0;display:flex}.kind-anthropic{background:var(--warn-soft);color:var(--warn)}.kind-openai{background:var(--success-soft);color:var(--success)}.kind-gemini{background:var(--info-soft);color:var(--info)}.kind-openai_compatible{background:var(--accent-soft);color:var(--accent-strong)}.provider-info{max-width:640px}.key-status{font-weight:500}.key-set{color:var(--success)}.key-unset{color:var(--warn)}.provider-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.provider-key{flex:360px;max-width:520px}.provider-test{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.test-result .badge{margin-left:8px}.test-raw{opacity:.85;margin-top:4px}.provider-models-head{margin:4px 0 0}.cap-chips{flex-wrap:wrap;gap:3px;display:inline-flex}.cap-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);white-space:nowrap;border-radius:9px;padding:0 6px;font-size:11px;line-height:16px}.models-table .badge svg,.tasks-table .badge svg{vertical-align:-2px}.model-notes{max-width:260px;margin-top:2px}.remote-models{max-height:55vh;overflow-y:auto}.tasks-table td{vertical-align:top}.tasks-table td.task-cell{min-width:220px}.tasks-table .select-sm{max-width:220px}.tasks-table .model-select{min-width:150px}.task-desc{max-width:320px;margin-top:2px}.texts-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.texts-list{top:calc(var(--topbar-h) + 12px);max-height:calc(100vh - var(--topbar-h) - 24px);position:sticky;overflow-y:auto}.key-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.key-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:8px 10px;display:flex}.key-item:hover{border-color:var(--accent)}.key-item.active{background:var(--accent-soft);border-color:var(--accent)}.key-item-head{justify-content:space-between;gap:8px;width:100%;display:flex}.key-item-meta{flex-wrap:wrap;gap:4px;display:flex}.key-item-meta .badge+.badge{margin-left:0}.texts-detail{min-width:0}.text-detail{flex-direction:column;gap:12px;display:flex}.text-detail .alert{margin:0}.versions-table{max-height:240px;overflow-y:auto}.version-editor{flex-direction:column;gap:10px;display:flex}.version-editor .alert{margin:0}.editor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.text-editor{tab-size:2;white-space:pre;width:100%;min-height:480px;font-size:12.5px;line-height:1.5;overflow:auto}.editor-save{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.editor-note{flex:280px}.editor-save .checkbox{padding-bottom:7px}.diff-view{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:560px;font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow:auto}.diff-empty{font-family:var(--font);padding:16px;font-size:13px}.diff-summary{background:var(--surface-2);border-bottom:1px solid var(--border);font-family:var(--font);padding:5px 10px;position:sticky;top:0}.diff-old-count{color:var(--danger)}.diff-line{white-space:pre-wrap;word-break:break-word;grid-template-columns:40px 40px 16px minmax(0,1fr);display:grid}.diff-no{text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;padding-right:6px}.diff-mark{text-align:center;-webkit-user-select:none;user-select:none}.diff-line.diff-add{background:var(--success-soft)}.diff-line.diff-add .diff-mark,.diff-line.diff-add .diff-text{color:var(--success)}.diff-line.diff-del{background:var(--danger-soft)}.diff-line.diff-del .diff-mark,.diff-line.diff-del .diff-text{color:var(--danger)}.diff-line.diff-skip{background:var(--surface-2);color:var(--text-faint);font-family:var(--font);padding:2px 10px;font-size:11.5px;display:block}.usage-grid{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:16px;margin-bottom:16px;display:grid}.stat-card{flex-direction:column;justify-content:center;gap:4px;display:flex}.stat-label{color:var(--text-muted);font-size:12px;font-weight:600}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.limits-form .small-heading{margin:0}.chart-card{margin-bottom:16px}.chart-readout{font-variant-numeric:tabular-nums;min-height:20px;margin-bottom:4px}.chart-svg{width:100%;height:auto;max-height:220px;display:block}.chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.chart-baseline{stroke:var(--border-strong);stroke-width:1px}.chart-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.chart-hit{fill:#0000}.chart-bar{fill:var(--accent)}.chart-bar.active{fill:var(--accent-strong)}.usage-tables{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;display:grid}.call-ok{background:var(--success-soft);color:var(--success)}.call-error{background:var(--danger-soft);color:var(--danger)}.call-refusal{background:var(--warn-soft);color:var(--warn)}pre.call-error{border-radius:var(--radius-sm);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:8px 10px;font-size:12px}@media (width<=900px){.texts-layout,.usage-grid{grid-template-columns:minmax(0,1fr)}.texts-list{max-height:none;position:static}}@media (width<=760px){.topbar{gap:12px;padding:0 12px}.brand-name,.user-info{display:none}.page{padding:16px 12px 40px}.submission-bar{flex-direction:column;align-items:stretch}.upload-item{grid-template-columns:minmax(0,1fr) auto}.upload-size{display:none}}:root{--sev-critical:#c92a2a;--sev-major:#e8590c;--sev-medium:#d9a000;--sev-minor:#2667c9;--sev-info:#7a8793;--hl-primary:var(--accent);--hl-conflict:#f76707;--hl-context:#7048e8}@media (prefers-color-scheme:dark){:root{--sev-critical:#ff6b6b;--sev-major:#ff922b;--sev-medium:#fcc419;--sev-minor:#74a4f5;--sev-info:#9aa6b2;--hl-conflict:#ff922b;--hl-context:#9775fa}}.viewer-body.no-info{grid-template-columns:196px minmax(0,1fr)}.viewer-body.rail-collapsed{grid-template-columns:minmax(0,1fr) 300px}.viewer-body.rail-collapsed.no-info{grid-template-columns:minmax(0,1fr)}.viewer-body:focus{outline:none}.pv-viewport.drawing{cursor:crosshair}.ov-hl{fill:color-mix(in srgb, var(--hl-primary) 16%, transparent);stroke:var(--hl-primary);stroke-width:2px}.ov-hl-conflict{fill:color-mix(in srgb, var(--hl-conflict) 16%, transparent);stroke:var(--hl-conflict)}.ov-hl-context{fill:color-mix(in srgb, var(--hl-context) 14%, transparent);stroke:var(--hl-context);stroke-width:2.5px;stroke-dasharray:6 4}.ov-hl-active{stroke-width:3.5px;animation:1.2s ease-out 2 hl-pulse}@keyframes hl-pulse{0%{stroke-opacity:1}50%{stroke-opacity:.25}to{stroke-opacity:1}}.ov-draft{fill:color-mix(in srgb, var(--hl-primary) 14%, transparent);stroke:var(--hl-primary);stroke-width:2px;stroke-dasharray:5 3}button.search-hit{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none}.object-page{height:calc(100vh - var(--topbar-h));flex-direction:column;min-height:0;display:flex}.object-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:8px 16px;display:flex}.object-header .breadcrumbs{margin-bottom:2px}.object-title-block{min-width:0}.object-title{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.object-meta{margin-top:0}.object-address{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.obj-mobile-tabs{background:var(--surface);margin:0;padding:0 12px}.obj-cols{flex:1;min-height:0;display:grid}.obj-cols-single{grid-template-columns:minmax(0,1fr)}.obj-col{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.obj-col[hidden]{display:none}.obj-col-inner{flex-direction:column;flex:1;min-height:0;display:flex}.obj-col-head{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 6px;display:flex}.obj-col-head h2{font-size:15px}.obj-col-head-actions{align-items:center;gap:6px;display:flex}.obj-scroll{flex:1;min-height:0;padding:8px 12px 24px;overflow-y:auto}.obj-tabs{flex:none;margin:0;padding:0 8px}.obj-left-tools{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:0 12px 8px;display:flex}.obj-left-tools .search-input{width:100%}.obj-left-tools .search-results{width:auto;max-height:45vh;box-shadow:none;margin-top:6px;position:static}.obj-left-tools .upload{margin:0}.obj-left-tools .dropzone{padding:10px 12px;font-size:13px}.obj-left-tools .upload-item{grid-template-columns:minmax(0,1fr) auto}.obj-left-tools .upload-size{display:none}.obj-left-tools .submission-notes{margin:0}.submission-select{gap:6px;display:flex}.submission-select select{flex:1;min-width:0}.submission-select .btn{height:34px}.splitter{cursor:col-resize;background:var(--border);touch-action:none;z-index:2;position:relative}.splitter:after{content:"";background:var(--border-strong);border-radius:2px;width:4px;height:36px;margin-top:-18px;position:absolute;top:50%;left:1px}.splitter:hover,.splitter:focus-visible{background:var(--accent);outline:none}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.col-resizing .pv-viewport{pointer-events:none}.proj-groups,.proj-rows{margin:0;padding:0;list-style:none}.proj-group+.proj-group{margin-top:4px}.proj-group-head{padding:5px 4px;font-size:13px}.proj-row{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px;padding:2px 4px 2px 0;display:flex;position:relative}.proj-row:hover{background:var(--surface-hover)}.proj-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.proj-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:none;flex-direction:column;flex:1;gap:1px;padding:5px 4px 5px 26px;display:flex}.proj-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.proj-row.active .proj-title{color:var(--accent-strong);font-weight:600}.proj-meta{flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:12px;display:flex}.proj-meta .badge{padding:0 6px;font-size:10.5px;line-height:16px}.proj-meta .ingest{min-width:120px}.proj-actions{border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);gap:1px;padding:1px;display:none;position:absolute;top:3px;right:34px}.proj-row:hover .proj-actions,.proj-row:focus-within .proj-actions{display:flex}.proj-actions .icon-btn{width:24px;height:24px}.an-badge{cursor:default;flex:none;justify-content:flex-end;align-items:center;gap:3px;min-width:28px;font-size:13px;line-height:1;display:inline-flex}.an-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.an-none .an-glyph{color:var(--text-faint)}.an-current .an-glyph{color:var(--success)}.an-running .an-glyph{color:var(--info);animation:1.1s linear infinite spin;display:inline-block}.an-stale .an-glyph{background:var(--warn-soft);width:16px;height:16px;color:var(--warn);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.an-failed .an-glyph{color:var(--danger)}.an-summary-error{margin:0 0 6px}@keyframes spin{to{transform:rotate(360deg)}}.obj-right>.empty-state{margin:16px}.obj-pdf-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:41px;padding:6px 10px;display:flex}.obj-pdf-title{align-items:center;gap:6px;min-width:0;display:flex}.obj-pdf-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.obj-pdf-actions{flex:none;align-items:center;gap:6px;display:flex}.obj-pdf-body{flex-direction:column;flex:1;min-height:0;display:flex}.obj-pdf-body>.viewer-body{flex:1}.hl-legend{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.hl-key{border:2px solid var(--hl-primary);border-radius:2px;width:12px;height:10px;margin-left:6px;display:inline-block}.hl-key.hl-conflict{border-color:var(--hl-conflict)}.hl-key.hl-context{border-color:var(--hl-context);border-style:dashed}.draw-banner{background:var(--accent-soft);color:var(--accent-strong);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.analysis-panel{flex-direction:column;gap:10px;display:flex}.run-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.run-bar-title{flex:1;min-width:0}.run-subject{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.run-bar-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.run-history{max-width:260px}.run-header{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.run-header .alert{margin:0}.run-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:flex}.run-status{background:var(--neutral-soft);color:var(--text-muted);border-radius:10px;align-items:center;gap:6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.run-done{background:var(--success-soft);color:var(--success)}.run-queued,.run-running{background:var(--info-soft);color:var(--info)}.run-failed{background:var(--danger-soft);color:var(--danger)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;animation:.9s linear infinite spin}.run-facts{grid-template-columns:auto minmax(0,1fr);gap:3px 12px;margin:0;font-size:13px;display:grid}.run-facts dt{color:var(--text-muted);font-size:12px}.run-facts dd{text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.run-progress{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.run-progress .progress{height:8px}.run-progress-text{justify-content:space-between;gap:8px;width:100%;display:flex}.analysis-wait{margin:4px 0}.findings{flex-direction:column;gap:8px;display:flex}.findings-toolbar{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.sev-filters,.findings-filters{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.findings-filters .select-sm{max-width:170px}.findings-filters .switch{margin-left:auto}.findings-add{justify-content:flex-end;display:flex}.draw-hint{color:var(--accent-strong);align-items:center;gap:6px;display:inline-flex}.sev-dot{background:var(--sev-info);border-radius:50%;width:8px;height:8px}.sev-filter.sev-critical .sev-dot{background:var(--sev-critical)}.sev-filter.sev-major .sev-dot{background:var(--sev-major)}.sev-filter.sev-medium .sev-dot{background:var(--sev-medium)}.sev-filter.sev-minor .sev-dot{background:var(--sev-minor)}.finding-list{flex-direction:column;gap:8px;display:flex}.finding{--sev:var(--sev-info);border:1px solid var(--border);border-left:4px solid var(--sev);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:9px 12px 10px 14px;transition:border-color .12s,box-shadow .12s;position:relative}.finding:hover{border-color:var(--border-strong);border-left-color:var(--sev);box-shadow:var(--shadow-sm)}.finding.active{border-color:var(--accent);border-left-color:var(--sev);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}.finding.sev-critical{--sev:var(--sev-critical)}.finding.sev-major{--sev:var(--sev-major)}.finding.sev-medium{--sev:var(--sev-medium)}.finding.sev-minor{--sev:var(--sev-minor)}.finding-rejected{opacity:.62}.finding-rejected .finding-title{text-decoration:line-through}.finding-head{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;display:flex}.sev-badge{color:#fff;background:var(--sev-info);border-radius:9px;padding:0 7px;font-size:11px;font-weight:700;line-height:18px}.sev-badge.sev-critical{background:var(--sev-critical)}.sev-badge.sev-major{background:var(--sev-major)}.sev-badge.sev-medium{background:var(--sev-medium);color:#1c2630}.sev-badge.sev-minor{background:var(--sev-minor)}.finding-cat{color:var(--text-muted);font-weight:600}.finding-check{color:var(--text-faint);font-size:11.5px}.verif-chip,.review-chip{background:var(--neutral-soft);color:var(--text-muted);border-radius:9px;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.verif-confirmed{background:var(--success-soft);color:var(--success)}.verif-rejected{background:var(--danger-soft);color:var(--danger)}.verif-uncertain{background:var(--warn-soft);color:var(--warn)}.verif-chip{margin-left:auto}.review-accepted{background:var(--success);color:#fff}.review-rejected{background:var(--danger);color:#fff}.review-edited{background:var(--info);color:#fff}.finding-title{margin:5px 0 3px;font-size:14px;line-height:1.35}.finding-text{margin:3px 0;font-size:13px;line-height:1.5}.finding-label{color:var(--text-muted);font-weight:600}.finding-question{border-radius:var(--radius-sm);background:var(--info-soft);padding:4px 8px}.finding-reason{color:var(--danger)}.finding-note{margin:3px 0}.ev-chips{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.ev-chip{--ev:var(--hl-primary);border:1px solid color-mix(in srgb, var(--ev) 45%, var(--border));background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:5px;max-width:100%;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.ev-chip:hover,.ev-chip.active{background:color-mix(in srgb, var(--ev) 14%, var(--surface));border-color:var(--ev)}.ev-conflict{--ev:var(--hl-conflict)}.ev-context{--ev:var(--hl-context)}.ev-dot{background:var(--ev);border-radius:2px;flex:none;width:8px;height:8px}.ev-part{color:var(--text-muted);font-weight:700}.ev-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;overflow:hidden}.ev-page{flex:none;font-weight:600}.finding-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.finding-actions .btn-sm{height:26px;padding:0 8px}.finding-reset{margin-left:auto}.estimate{flex-direction:column;gap:10px;display:flex}.estimate p,.estimate .alert{margin:0}.estimate-subject{font-weight:600}.estimate-price{align-items:baseline;gap:12px;display:flex}.estimate-usd{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.estimate-models{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:8px 10px}.chat-fab{z-index:60;background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);box-shadow:var(--shadow-lg);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:transform .12s,background .12s;display:grid;position:fixed;bottom:24px;right:24px}.chat-fab:hover{background:var(--accent-strong);transform:scale(1.05)}.chat-fab:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.chat-fab-badge{background:var(--warn);color:#fff;border:2px solid var(--surface);border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid;position:absolute;top:-2px;right:-2px}.chat-window{z-index:60;background:var(--surface);border:1px solid var(--border-strong);min-width:0;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;animation:.14s ease-out pop-in;display:flex;position:fixed;overflow:hidden}.chat-head{background:var(--surface-2);border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.chat-head-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.chat-head-title .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-banner{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.chat-banner-info{background:var(--info-soft);color:var(--info)}.chat-body{flex:1;grid-template-columns:170px minmax(0,1fr);min-height:0;display:grid}.chat-body.no-threads{grid-template-columns:minmax(0,1fr)}.chat-threads{border-right:1px solid var(--border);background:var(--surface-2);flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex}.chat-thread-list{flex-direction:column;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chat-thread{border-radius:var(--radius-sm);align-items:center;display:flex}.chat-thread:hover{background:var(--surface-hover)}.chat-thread.active{background:var(--accent-soft)}.chat-thread .icon-btn{visibility:hidden;flex:none;width:24px;height:24px}.chat-thread:hover .icon-btn,.chat-thread.active .icon-btn{visibility:visible}.chat-thread-main{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;min-width:0;padding:5px 6px;display:flex}.chat-thread-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.chat-thread.active .chat-thread-title{color:var(--accent-strong);font-weight:600}.chat-thread-main .small{font-size:11px}.chat-empty{padding:6px}.chat-main{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-scope{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;padding:6px 10px;display:flex;overflow:hidden}.chat-scope-select{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.chat-scope-select select{flex:1;min-width:0;max-width:100%}.chat-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px;display:flex;overflow-y:auto}.chat-hello p{margin:0 0 6px}.chat-msg{flex-direction:column;max-width:92%;display:flex}.chat-user{align-self:flex-end;align-items:flex-end}.chat-assistant{align-self:flex-start}.chat-bubble{background:var(--surface-2);border:1px solid var(--border);word-break:break-word;border-radius:12px;padding:7px 11px;font-size:13.5px;line-height:1.5}.chat-user .chat-bubble{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));border-bottom-right-radius:4px}.chat-assistant .chat-bubble{border-bottom-left-radius:4px}.chat-msg-error .chat-bubble{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.chat-msg-meta{margin-top:2px;font-size:10.5px}.chat-thinking{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dots{gap:3px;display:inline-flex}.dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-bounce}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-error{margin:0}.chat-input{border-top:1px solid var(--border);gap:6px;padding:8px 18px 8px 8px;display:flex}.chat-input textarea{resize:none;flex:1;min-height:42px;max-height:140px;font-size:13.5px}.chat-send{height:auto;padding:0 12px}.chat-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--border-strong) 50%, var(--border-strong) 60%, transparent 60%, transparent 72%, var(--border-strong) 72%, var(--border-strong) 82%, transparent 82%);width:16px;height:16px;position:absolute;bottom:0;right:0}.cite-chip{border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--accent-soft);height:19px;color:var(--accent-strong);vertical-align:1px;cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;margin:0 2px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.cite-chip:hover{background:var(--accent);color:var(--accent-contrast)}.cite-missing{color:var(--text-faint);font-size:11px}.cite-extra{margin-top:6px}.md p{margin:0 0 6px}.md p:last-child,.md ul:last-child,.md ol:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 6px;padding-left:20px}.md li+li{margin-top:2px}.md code{background:var(--neutral-soft);border-radius:3px;padding:0 4px;font-size:.9em}.md-pre{border-radius:var(--radius-sm);background:var(--neutral-soft);margin:0 0 6px;padding:6px 8px;overflow-x:auto}.md-pre code{background:0 0;padding:0}.task-group-row td{cursor:default;border-top:1px solid var(--border);padding:7px 10px;font-weight:600}.reindex-actions{align-items:center;gap:10px;display:flex}.kind-chip{font-family:var(--font);margin-left:6px}.field-grow{grid-column:span 2}@media (width<=1199px){.object-address{display:none}}@media (width<=760px){.object-header{padding:6px 12px}.chat-body{grid-template-columns:minmax(0,1fr)}.chat-threads{display:none}.chat-fab{bottom:16px;right:16px}}.digest-bar{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:6px 10px;display:flex}.digest-bar.digest-done{border-style:solid}.run-report-link{margin-left:auto}.report-page{max-width:1100px;margin:0 auto;padding-block:12px 40px}.report-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.report-toolbar-actions{gap:8px;display:flex}.report-head{border-top:8px solid #12324a;margin-bottom:20px;padding-top:14px}.report-kicker{letter-spacing:.06em;color:var(--text-muted);font-size:12px;font-weight:700}.report-title{color:#12324a;margin:6px 0 4px;font-size:30px;line-height:1.15}.report-sub{color:var(--text-muted);margin:0;font-size:13px}.report-headline{background:var(--surface-2);border-radius:var(--radius-sm);border-left:5px solid #c62828;margin-bottom:20px;padding:14px 18px}.report-headline h2,.report-index h2,.report-theme h2{letter-spacing:.02em;color:#12324a;margin:0 0 6px;font-size:15px}.report-headline p{margin:0 0 10px;font-size:16px;font-weight:600}.report-kpis{flex-wrap:wrap;gap:24px;margin:0;display:flex}.report-kpis dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px}.report-kpis dd{font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:700}.report-index{margin-bottom:24px}.report-table{border-collapse:collapse;width:100%;margin:6px 0 8px;font-size:13px}.report-table th{text-align:left;color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#12324a;padding:6px 10px;font-size:11px}.report-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}.report-table td.num{text-align:right;font-variant-numeric:tabular-nums}.prio{text-align:center;color:#fff;background:#7a7a7a;border-radius:12px;min-width:34px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.prio-P1{background:#c62828}.prio-P2{background:#e08a1e}.prio-P3{background:#4b6b8a}.report-theme{border-top:1px solid var(--border);break-before:page;padding:18px 0}.report-theme-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.report-theme-head h2{margin:0;font-size:22px}.report-finding{border:1px solid var(--border);border-radius:var(--radius-sm);break-inside:avoid;border-left-width:4px;margin:8px 0;padding:10px 12px}.report-finding.sev-critical{border-left-color:#c62828}.report-finding.sev-major{border-left-color:#e08a1e}.report-finding.sev-medium{border-left-color:#4b6b8a}.report-finding header{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.report-finding header h3{flex-basis:100%;margin:4px 0 0;font-size:16px}.report-finding p{margin:6px 0;font-size:14px}.report-crops{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:10px;display:grid}.report-crop{border:1px solid var(--border);border-radius:var(--radius-sm);break-inside:avoid;background:#fff;margin:0;padding:6px}.report-crop img{object-fit:contain;background:#fff;width:100%;height:auto;max-height:360px;display:block}.report-crop figcaption{color:var(--text-muted);margin-top:4px;font-size:12px}.report-crop.role-conflict{border-color:#e08a1e}.report-crop.role-context{border-color:#7048e8}.report-comment{background:var(--surface-2);border-radius:var(--radius-sm);border-left:5px solid #c62828;margin-top:12px;padding:10px 14px}.report-comment p{margin:4px 0;font-size:14px}.report-actions{break-before:page}.report-foot{border-top:1px solid var(--border);margin-top:24px;padding-top:8px}@media print{.topbar,.no-print,.chat-fab,.chat-window{display:none!important}.app,.page,.report-page{color:#000;background:#fff;max-width:none;margin:0;padding:0}.report-theme{border-top:none}.report-crop,.report-finding,.report-comment,.report-headline{background:#fff}a{color:inherit;text-decoration:none}@page{size:A4 landscape;margin:12mm}}.version-suggestion{border-radius:var(--radius-sm);background:var(--info-soft);border:1px solid color-mix(in srgb, var(--info) 30%, transparent);flex-basis:100%;margin:2px 0 6px 26px;padding:8px 10px}.version-suggestion-text{margin:0 0 6px;font-size:12.5px}.version-suggestion-reason{margin:-2px 0 6px}.version-suggestion-actions{flex-wrap:wrap;gap:6px;display:flex}.staleness-banner p{margin:0 0 6px}.staleness-list{margin:0;padding-left:18px;font-size:13px}.staleness-list li+li{margin-top:3px}.report-comparison{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:14px}.report-comparison h2{letter-spacing:.02em;color:#12324a;margin:0 0 4px;font-size:15px}.cmp-groups{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:10px 0;display:grid}.cmp-group h3{margin:0 0 6px;font-size:13px}.cmp-group-count{color:var(--text-muted);font-size:12px;font-weight:600}.cmp-remarks{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.cmp-remark{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.cmp-remark-title{flex:1;min-width:140px}.cmp-summary{border-left:5px solid var(--accent);background:var(--surface-2);border-radius:var(--radius-sm);margin-top:12px;padding:10px 14px}.cmp-summary h3{margin:0 0 4px;font-size:13px}.cmp-summary p{margin:0;font-size:14px}.cmp-changes-toggle{margin-top:10px;font-size:13px;font-weight:600}.cmp-changes{padding:8px 10px 2px;font-size:13px}.cmp-changes p{margin:4px 0}.cmp-fact-list{margin:8px 0}.cmp-fact-list h4{color:var(--text-muted);margin:0 0 4px;font-size:12.5px}.cmp-fact-list ul{margin:0;padding-left:18px}.cmp-fact-entity{font-weight:600}
