.document-workbench{max-width:1800px}.document-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.directory-panel,.document-content{min-width:0;background:#fff;border:1px solid var(--border-base);border-radius:14px}.directory-panel{padding:10px;max-height:calc(100vh - 220px);overflow-y:auto}.directory-panel .folder{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:8px;padding:11px 10px;background:transparent;color:var(--ink-base);text-align:left;box-shadow:none}.directory-panel .folder:hover{background:var(--c-run-bg)}.directory-panel .folder.active{background:var(--c-run-bg);color:var(--c-run)}.directory-panel .folder span{overflow-wrap:anywhere}.directory-panel .folder.child{padding-left:23px;font-size:12px;font-weight:500}.directory-panel .folder b{flex:0 0 auto;font-size:12px}.directory-note{display:block;padding:8px 12px;color:var(--ink-mute);font-size:12px;line-height:1.6}.source-unconnected{margin:8px 0;padding:12px;border-top:1px solid var(--bg-soft);color:var(--ink-mute)}.source-unconnected small{display:block;margin-top:6px}.test-document-toggle{display:flex;align-items:center;gap:8px;margin:12px 8px 4px;padding-top:12px;border-top:1px solid var(--border-base);color:var(--ink-mute);font-size:12px}.source-progress{margin-bottom:16px;padding:16px 18px;border:1px solid var(--border-base);border-radius:14px;background:var(--bg-panel)}.section-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;color:var(--ink-base)}.section-title span{color:var(--ink-mute);font-size:12px}.source-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.source-progress-card{display:grid;gap:6px;padding:13px 15px;border:1px solid var(--border-base);border-radius:10px;background:var(--bg-soft);color:var(--ink-base);text-align:left;box-shadow:none}.source-progress-card.active{border-color:var(--c-run);background:var(--c-run-bg)}.source-progress-card span{font-weight:700}.source-progress-card small{color:var(--ink-mute)}.document-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:18px;border-bottom:1px solid var(--border-base);gap:10px}.document-counts span{font-size:12px;color:var(--ink-mute)}.document-counts b{display:block;margin-top:5px;font-size:24px;color:var(--ink-strong)}.document-filters{display:flex;flex-wrap:wrap;gap:12px;padding:16px 18px;align-items:end}.document-filters label{display:grid;gap:6px;font-size:12px;color:var(--ink-base)}.document-filters label:first-child{flex:1;min-width:140px}.document-filters input,.document-filters select{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:10px;background:#fff;color:var(--ink-strong)}.scope-editor{margin:14px 18px 2px;padding:13px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-soft)}.scope-editor-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.scope-editor-heading>div{display:grid;gap:3px}.scope-editor-heading span,.scope-rule-meta,.scope-editor small{color:var(--ink-mute);font-size:11px}.inherited-badge{padding:5px 7px;border-radius:6px;background:var(--bg-soft);color:var(--ink-mute);font-weight:650}.scope-rule-meta{margin:7px 0 10px}.scope-editor-fields{display:grid;grid-template-columns:120px 160px minmax(180px,1fr);gap:9px}.scope-editor-fields label{display:grid;gap:4px;color:var(--ink-base);font-size:11px}.scope-editor-fields input,.scope-editor-fields select{min-width:0;padding:8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--bg-panel)}.scope-editor-actions{display:flex;gap:8px;align-items:center;margin:10px 0 7px}.scope-editor-actions button{padding:8px 12px}.scope-editor-actions .secondary{background:var(--bg-panel);color:var(--ink-base);border-color:var(--ink-faint);box-shadow:none}.scope-error,.scope-unavailable{margin:10px 18px;padding:10px 12px;border-radius:8px;background:var(--c-warn-bg);color:var(--c-warn);font-size:12px}.document-location{padding:0 18px 14px;font-size:13px;font-weight:650;color:var(--ink-base)}.document-location span{float:right;color:var(--ink-mute);font-weight:400}.document-table{table-layout:fixed;width:100%}.document-content .table-wrap{max-height:max(300px,calc(100vh - 470px));overflow:auto}.document-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-soft)}.document-table th:nth-child(1){width:37%}.document-table th:nth-child(2){width:16%}.document-table th:nth-child(3){width:19%}.document-table th:nth-child(4){width:10%}.document-table th:nth-child(5){width:18%}.document-table th,.document-table td{padding:13px 12px;white-space:normal;overflow-wrap:anywhere;font-size:12px}.document-table small{display:block;margin-top:7px;color:var(--ink-mute);font-size:11px}.document-workbench .file-link{padding:0;border:0;background:transparent;color:var(--c-run);text-align:left;font-size:13px;box-shadow:none;white-space:normal;overflow-wrap:anywhere;line-height:1.55}.document-workbench .file-link:hover{text-decoration:underline}.scope-badge,.document-stage{display:inline-block;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:650;background:var(--border-soft);color:var(--ink-base)}.scope-badge.external{color:var(--c-done);background:var(--c-done-bg)}.scope-badge.internal{color:var(--ink-base);background:var(--c-run-bg)}.document-stage.completed,.document-stage.reused{color:var(--c-done);background:var(--c-done-bg)}.document-stage.blocked,.document-stage.failed{color:var(--c-warn);background:var(--c-warn-bg)}.document-stage.parsing,.document-stage.indexing,.document-stage.uploading,.document-stage.downloading{color:var(--c-run);background:var(--c-run-bg)}.document-inspector{position:fixed;top:80px;right:20px;bottom:20px;z-index:50;width:min(480px,calc(100vw - 40px));overflow-y:auto;background:#fff;border:2px solid var(--c-run-border);box-shadow:0 12px 48px #12345240;margin:0}.document-inspector h2{overflow-wrap:anywhere;font-size:17px}.inspector-body{padding:0 22px 20px;font-size:13px;line-height:1.7;color:var(--ink-base)}.inspector-body dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px}.inspector-body dd{margin:0;overflow-wrap:anywhere}.file-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.file-facts span{display:grid;padding:9px;border-radius:8px;background:var(--bg-soft);color:var(--ink-mute);font-size:11px}.file-facts b{margin-top:3px;color:var(--ink-base);font-size:12px}.document-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:14px 0}.pipeline-step{display:grid;grid-template-columns:9px minmax(0,1fr);gap:6px;align-items:start;padding:8px 5px;border-radius:7px;background:var(--bg-soft)}.pipeline-step>span{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--ink-faint)}.pipeline-step div{display:grid;min-width:0}.pipeline-step strong{font-size:10px;color:var(--ink-base)}.pipeline-step small{color:var(--ink-mute);font-size:9px;overflow-wrap:anywhere}.pipeline-step.done>span{background:var(--c-done)}.pipeline-step.active>span{background:var(--c-run)}.pipeline-step.problem>span{background:var(--c-warn)}.document-inspector .scope-editor{margin:16px 0}.document-workbench button:disabled{cursor:not-allowed;color:var(--ink-faint);background:var(--bg-soft);border-color:var(--border-base)}@media(max-width:1150px){.document-layout{grid-template-columns:205px minmax(0,1fr)}.document-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.document-table th,.document-table td{padding:10px 7px}.scope-editor-fields{grid-template-columns:1fr 1fr}.scope-reason{grid-column:1/-1}}@media(max-width:860px){.document-layout{grid-template-columns:1fr}.directory-panel{max-height:260px}.document-table{min-width:650px}.document-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.section-title{display:grid}}.catalog-browser{max-width:1800px}.catalog-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px;align-items:start}.catalog-sources,.catalog-content{min-width:0;border:1px solid var(--border-base);border-radius:14px;background:var(--bg-panel)}.catalog-sources{max-height:calc(100vh - 220px);overflow:auto;padding:12px}.catalog-sources h2{margin:4px 8px 12px;color:var(--ink-base);font-size:13px}.catalog-source{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;margin:4px 0;border:1px solid transparent;border-radius:9px;padding:11px;background:transparent;box-shadow:none;color:var(--ink-base);text-align:left}.catalog-source:hover{background:var(--bg-soft)}.catalog-source.active{border-color:var(--c-run-border);background:var(--c-run-bg);color:var(--c-run)}.catalog-source>span{display:grid;min-width:0;gap:5px}.catalog-source b{overflow-wrap:anywhere;font-size:12px}.catalog-source small{color:var(--ink-mute);font-size:10px}.catalog-source strong{flex:0 0 auto;font-size:12px}.catalog-directory-tree{margin-top:14px;border-top:1px solid var(--border-base);padding-top:12px}.catalog-directory-tree h3{margin:0 8px 8px;color:var(--ink-base);font-size:11px}.catalog-directory-tree ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.catalog-directory-tree ul[role=group]{margin-left:16px;border-left:1px solid var(--border-base);padding-left:5px}.catalog-tree-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:2px}.catalog-tree-toggle,.catalog-tree-name{border:0;background:transparent;box-shadow:none;color:var(--ink-mute)}.catalog-tree-toggle{display:grid;width:24px;height:24px;place-items:center;padding:0;border-radius:5px;font-weight:800}.catalog-tree-toggle:hover{background:#e9f4fb}.catalog-tree-name{overflow:hidden;padding:5px 4px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.catalog-tree-name:hover{color:var(--c-run);text-decoration:underline}.catalog-breadcrumbs{display:flex;min-height:48px;align-items:center;gap:5px;overflow-x:auto;border-bottom:1px solid var(--border-base);padding:8px 16px;white-space:nowrap}.catalog-breadcrumbs span{display:flex;align-items:center;gap:5px}.catalog-breadcrumbs i{color:var(--ink-faint);font-style:normal}.catalog-breadcrumbs button{max-width:320px;overflow:hidden;border:0;padding:6px 8px;background:transparent;box-shadow:none;color:var(--c-run);text-overflow:ellipsis;white-space:nowrap}.catalog-breadcrumbs span:last-child button{border-radius:6px;background:#eaf4fc;color:var(--c-run);font-weight:700}.catalog-summary{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--border-base);padding:14px 18px;color:var(--ink-mute);font-size:12px}.catalog-summary>div{display:grid;min-width:220px;margin-right:auto;gap:4px}.catalog-summary strong{color:var(--ink-strong);font-size:16px}.catalog-summary small{color:var(--ink-mute);font-size:10px}.catalog-table-wrap{max-height:calc(100vh - 390px);overflow:auto}.root-file-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-base);padding:9px 18px;background:var(--c-warn-bg);color:var(--c-warn);font-size:11px}.root-file-notice button{flex:0 0 auto;border:1px solid var(--c-warn-border);padding:6px 9px;background:var(--bg-panel);box-shadow:none;color:var(--c-warn)}.catalog-table .scope-badge{white-space:nowrap}.catalog-back-row{border-bottom:1px solid var(--border-base);padding:8px 16px}.catalog-back-row button{border:0;padding:6px 8px;background:transparent;box-shadow:none;color:var(--c-run)}.snapshot-timestamp{padding:10px 16px;color:var(--ink-mute);font-size:10px;text-align:right}.catalog-routing{display:grid;gap:9px;border-bottom:1px solid var(--border-base);padding:11px 16px;background:var(--bg-soft)}.routing-fields,.routing-actions{display:flex;flex-wrap:wrap;align-items:end;gap:9px}.routing-fields label{display:grid;gap:4px;color:var(--ink-mute);font-size:9px}.routing-fields input{border:1px solid var(--border-strong);border-radius:6px;padding:7px}.routing-check{display:flex!important;align-items:center;gap:5px;padding-bottom:7px}.routing-actions span{margin-right:auto;color:var(--ink-mute);font-size:10px}.routing-actions button{padding:7px 9px}.catalog-routing p{margin:0;border-radius:6px;padding:7px;background:var(--c-done-bg);color:var(--c-done);font-size:10px}.catalog-file-routing{display:grid;gap:6px}.catalog-file-routing .catalog-file{align-items:center}.catalog-file-routing select{width:max-content;max-width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:5px;background:var(--bg-panel);color:var(--ink-base);font-size:9px}.catalog-file-routing small{color:var(--c-warn);font-size:9px}.catalog-refresh-progress{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,2fr) auto;align-items:center;gap:12px;margin-bottom:14px;border:1px solid var(--c-run-border);border-radius:10px;padding:10px 14px;background:var(--c-run-bg)}.catalog-refresh-progress>div{display:grid;gap:3px}.catalog-refresh-progress strong{color:var(--c-run);font-size:11px}.catalog-refresh-progress span,.catalog-refresh-progress small{color:var(--ink-mute);font-size:9px}.catalog-refresh-progress progress{width:100%;height:12px}.catalog-refresh-progress.completed{border-color:var(--c-done-border);background:var(--c-done-bg)}.catalog-refresh-progress.failed{border-color:var(--c-fail-border);background:var(--c-fail-bg)}@media(max-width:700px){.catalog-refresh-progress{grid-template-columns:1fr}.routing-fields{align-items:stretch;flex-direction:column}}.routing-actions button:disabled,.catalog-file-routing select:disabled{cursor:not-allowed;border-color:var(--border-base);background:var(--bg-soft);color:var(--ink-faint);box-shadow:none}.snapshot-timestamp{color:var(--ink-base);font-size:11px;font-weight:600}.catalog-table tbody tr{scroll-margin-top:42px}.catalog-table{width:100%;table-layout:fixed}.catalog-table thead th{position:sticky;z-index:2;top:0;background:var(--bg-soft)}.catalog-table th,.catalog-table td{padding:12px 10px;white-space:normal;overflow-wrap:anywhere;font-size:11px}.catalog-table th:nth-child(1){width:31%}.catalog-table th:nth-child(3){width:11%}.catalog-table th:nth-child(4){width:10%}.catalog-table th:nth-child(6){width:10%}.catalog-name{display:flex;align-items:flex-start;gap:7px;border:0;padding:0;background:transparent;box-shadow:none;color:var(--c-run);text-align:left;line-height:1.5}.catalog-name:hover{text-decoration:underline}.catalog-file{display:flex;align-items:flex-start;gap:7px;color:var(--ink-base);line-height:1.5}.catalog-table td>span:not(.scope-badge){display:block}.catalog-table td small{display:block;margin-top:4px;color:var(--ink-mute)}.problem-text{color:var(--c-warn)!important}.scope-badge.mixed{background:var(--c-run-bg);color:var(--c-run)}.scope-badge.unknown{background:var(--bg-soft);color:var(--ink-mute)}@media(max-width:1100px){.catalog-layout{grid-template-columns:220px minmax(0,1fr)}.catalog-summary{flex-wrap:wrap}.catalog-summary>div{width:100%;margin:0}.catalog-table{min-width:800px}}@media(max-width:800px){.catalog-layout{grid-template-columns:1fr}.catalog-sources{max-height:240px}.catalog-table-wrap{max-height:520px}}.routing-actions label{display:flex;align-items:center;gap:7px;color:var(--ink-mute);font-size:10px;font-weight:700}.routing-actions select,.catalog-folder-routing select{border:1px solid var(--border-strong);border-radius:7px;padding:7px 9px;background:var(--bg-panel);color:var(--ink-base);font:inherit}.blocked-policy-note{color:var(--c-warn);font-size:10px;line-height:1.5}.catalog-folder-routing{display:grid;gap:7px}.catalog-folder-routing select{width:max-content;max-width:100%;font-size:9px}.catalog-folder-routing small{color:var(--ink-mute)!important;font-size:9px}.scope-badge.both{background:var(--c-run-bg);color:var(--c-run)}.scope-badge.blocked{background:var(--c-fail-bg);color:var(--c-fail)}.catalog-pathbar{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--border-base);padding:8px 16px;background:var(--bg-panel)}.catalog-back-button{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid var(--border-strong);border-radius:7px;padding:0;background:var(--bg-panel);color:var(--c-run);box-shadow:none;font-size:18px}.catalog-back-button:hover:not(:disabled){background:var(--c-run-bg)}.catalog-pathbar nav{display:flex;min-width:0;align-items:center;gap:4px;overflow-x:auto;white-space:nowrap}.catalog-pathbar nav span{display:flex;min-width:0;align-items:center;gap:4px}.catalog-pathbar nav i{color:var(--ink-faint);font-style:normal}.catalog-pathbar nav button{overflow:hidden;border:0;border-radius:6px;padding:6px 7px;background:transparent;color:var(--c-run);box-shadow:none;text-overflow:ellipsis;white-space:nowrap}.catalog-pathbar nav button:hover:not(:disabled){background:var(--c-run-bg)}.catalog-pathbar nav button.current{color:var(--ink-base);font-weight:700}.catalog-pathbar nav button:disabled{cursor:default;background:transparent;color:var(--ink-base)}.catalog-policy-cell{display:grid;gap:6px;justify-items:start}.catalog-policy-cell select{max-width:100%;border:1px solid var(--border-strong);border-radius:7px;padding:6px 8px;background:var(--bg-panel);color:var(--ink-base);font-size:10px}.catalog-policy-cell small{min-height:14px;color:var(--ink-mute);font-size:9px}.catalog-table th:nth-child(1){width:22%}.catalog-table th:nth-child(2){width:8%}.catalog-table th:nth-child(3){width:15%}.catalog-table th:nth-child(4){width:9%}.catalog-table th:nth-child(5){width:16%}.catalog-table th:nth-child(6){width:16%}.catalog-table th:nth-child(7){width:14%}.routing-actions .blocked-policy-button{border-color:var(--c-fail-border);background:var(--c-fail-bg);color:var(--c-fail)}.routing-actions .blocked-policy-button:hover:not(:disabled){background:var(--c-fail-bg)}.catalog-node-control{display:flex;align-items:flex-start;gap:7px}.catalog-node-control input{margin-top:4px;flex:0 0 auto}.routing-actions .internal-policy-button{border-color:var(--c-done);background:var(--c-done);color:var(--bg-panel)}.routing-actions .internal-policy-button:hover:not(:disabled){background:var(--c-done)}.routing-actions .external-policy-button{border-color:var(--c-warn);background:var(--c-warn);color:var(--bg-panel)}.routing-actions .external-policy-button:hover:not(:disabled){background:var(--c-warn)}.routing-actions .blocked-policy-button{border-color:var(--c-fail);background:var(--c-fail);color:var(--bg-panel)}.routing-actions .blocked-policy-button:hover:not(:disabled){background:var(--c-fail)}.catalog-policy-cell .scope-badge.internal{background:var(--c-done-bg);color:var(--c-done)}.catalog-policy-cell .scope-badge.external{background:var(--c-warn-bg);color:var(--c-warn)}.catalog-policy-cell .scope-badge.blocked{background:var(--c-fail-bg);color:var(--c-fail)}.catalog-policy-actions{display:flex;align-items:flex-start;gap:8px;margin-left:auto}.blocked-policy-stack{display:grid;gap:4px}.blocked-policy-stack .selected-count{margin:0;color:var(--ink-mute);font-size:10px;line-height:1.2;text-align:center;white-space:nowrap}.snapshot-history{margin:12px 0;border:1px solid #d8e3f0;border-radius:10px;padding:14px 16px;background:var(--bg-soft)}.snapshot-history header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.snapshot-history header h2{margin:0;font-size:16px}.snapshot-history header p{margin:0;flex:1;color:var(--ink-mute);font-size:13px}.snapshot-history-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.snapshot-history-list li{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border-base);border-radius:8px;background:var(--bg-panel)}.snapshot-history-list li>div{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.snapshot-history-list small{width:100%;color:var(--ink-mute)}.snapshot-history-table{margin-top:12px}.catalog-history-button{margin-left:auto}.catalog-refresh-detail{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;color:var(--ink-base);font-size:11px}.catalog-refresh-pill{display:flex;align-items:center;gap:8px;width:max-content;margin:8px 0;padding:7px 12px;border:1px solid var(--c-run-border);border-radius:999px;background:#eef6fc;color:var(--ink-base);font:inherit;font-size:11px;font-weight:700;box-shadow:none}.catalog-refresh-pill:hover{background:var(--c-run-bg)}.pill-dot{width:8px;height:8px;border-radius:50%;background:var(--c-run);display:inline-block}.pill-dot.retry{background:var(--c-warn)}.catalog-refresh-hide{margin-left:auto;border:0;background:transparent;color:#4c7d9e;font:inherit;font-size:11px;text-decoration:underline;padding:0 2px}.catalog-refresh-failed-note{margin:6px 0 0;color:var(--c-fail);font-size:11px}.catalog-source.scanning strong{color:#b45309}.catalog-scanning-state{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--border, #e3e8ec);border-radius:10px;background:var(--card, #fff)}.catalog-scanning-state>div{display:flex;align-items:baseline;gap:10px}.catalog-scanning-state strong{font-size:15px}.catalog-scanning-state span{color:var(--muted-foreground, #5b6773);font-size:13px}.catalog-scanning-state progress{width:100%;height:10px}.catalog-scanning-state p{margin:0;font-size:13px}.catalog-scanning-state small{color:var(--muted-foreground, #5b6773);font-size:12px}.system-settings{max-width:1500px}.settings-role-strip{display:flex;gap:10px;margin-bottom:12px}.settings-role-strip span{border-radius:8px;padding:8px 11px;font-size:10px}.engineer-role{background:var(--c-run-bg);color:var(--c-run)}.admin-role{background:var(--bg-soft);color:var(--ink-mute)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-panel{min-width:0;border:1px solid var(--border-base);border-radius:12px;padding:15px;background:var(--bg-panel)}.settings-panel.wide{grid-column:1/-1}.settings-panel h2{margin:0 0 12px;color:var(--ink-base);font-size:14px}.settings-panel dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0;color:var(--ink-mute);font-size:10px}.settings-panel dd{margin:0;color:var(--ink-base);font-weight:700}.settings-panel dd.ok{color:var(--c-done)}.settings-panel dd.off,.settings-panel .production span{color:var(--c-fail)}.environment-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.environment-cards article{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--border-base);border-radius:9px;padding:11px;background:var(--bg-soft)}.environment-cards b{color:var(--ink-base);font-size:11px}.environment-cards span{color:var(--c-done);font-size:10px}.environment-cards small{grid-column:1/-1;color:var(--ink-mute);font-size:9px}.environment-cards button{grid-column:2;padding:5px 7px}.mapping-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mapping-row>*{border-radius:6px;padding:6px 8px;background:var(--border-soft);color:var(--ink-mute);font-size:9px}.dependency-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dependency-grid article{display:grid;gap:4px;border-radius:8px;padding:9px;background:var(--bg-soft)}.dependency-grid span{color:var(--ink-mute);font-size:9px}.dependency-grid b{color:var(--ink-base);font-size:10px}.dependency-grid small{color:var(--ink-mute);font-size:8px;line-height:1.5}.target-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.target-list li{display:flex;justify-content:space-between;gap:10px;color:var(--ink-mute);font-size:10px}.target-list b{color:var(--c-fail)}.settings-panel>button{margin-top:12px;padding:7px 10px}.settings-panel>small{display:block;margin-top:7px;color:var(--ink-mute);font-size:8px}.safe-setting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.safe-setting-grid label{display:grid;gap:6px;color:var(--ink-mute);font-size:10px}.safe-setting-grid select{border:1px solid var(--border-strong);border-radius:7px;padding:8px;background:var(--bg-panel);color:var(--ink-base)}.locked-gates{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.locked-gates span{border-radius:6px;padding:6px 8px;background:var(--c-fail-bg);color:var(--c-fail);font-size:9px}@media(max-width:900px){.dependency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.safe-setting-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.settings-grid,.environment-cards{grid-template-columns:1fr}.settings-panel.wide{grid-column:auto}.dependency-grid,.safe-setting-grid{grid-template-columns:1fr}.settings-role-strip{flex-direction:column}}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.settings-section-heading h2{margin-bottom:4px}.settings-section-heading p{margin:0;color:var(--ink-mute);font-size:10px}.settings-section-heading button{padding:7px 10px;box-shadow:none}.settings-source-list{display:grid;gap:9px}.settings-source-row{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(420px,2fr) minmax(130px,.55fr) auto;align-items:center;gap:14px;border:1px solid var(--border-base);border-radius:10px;padding:12px;background:var(--bg-page)}.settings-source-name{display:grid;gap:4px}.settings-source-name strong{color:var(--ink-base);font-size:12px}.settings-source-name span{color:var(--ink-mute);font-size:9px}.settings-source-row dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.settings-source-row dl div{display:grid;gap:3px}.settings-source-row dt{color:var(--ink-mute);font-size:8px}.settings-source-row dd{overflow-wrap:anywhere;color:var(--ink-base);font-size:9px;font-weight:650}.settings-source-row label{display:grid;gap:5px;color:var(--ink-mute);font-size:9px}.settings-source-row select{border:1px solid #c9d9e4;border-radius:7px;padding:7px;background:var(--bg-panel);color:var(--ink-base)}.settings-source-row>button{padding:7px 9px;box-shadow:none}.dependency-grid{margin-top:12px}.storage-settings-grid{display:grid;grid-template-columns:1fr 1fr minmax(220px,.8fr);gap:14px}.storage-settings-grid>dl,.storage-settings-grid>.target-list{border:1px solid var(--border-base);border-radius:9px;padding:12px;background:var(--bg-soft)}@media(max-width:1100px){.settings-source-row{grid-template-columns:1fr 1fr}.settings-source-row dl{grid-column:1/-1}.storage-settings-grid{grid-template-columns:1fr 1fr}.storage-settings-grid>.target-list{grid-column:1/-1}}@media(max-width:700px){.settings-section-heading{flex-direction:column}.settings-source-row,.settings-source-row dl,.storage-settings-grid{grid-template-columns:1fr}.settings-source-row dl{grid-column:auto}.storage-settings-grid>.target-list{grid-column:auto}}.settings-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:6px;position:sticky;top:16px}.settings-nav button{border:1px solid transparent;background:transparent;text-align:left;padding:9px 12px;border-radius:8px;font:inherit;cursor:pointer;color:var(--ink-base)}.settings-nav button:hover{background:var(--border-soft)}.settings-nav button.active{background:var(--c-run);color:var(--bg-panel);font-weight:600}.settings-content{display:flex;flex-direction:column;gap:14px;min-width:0}.source-schedule-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding-top:6px}.source-schedule-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-base)}.source-schedule-form select,.source-schedule-form input{padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;font:inherit;background:var(--bg-panel)}.source-schedule-actions{display:flex;gap:8px;align-items:end}button.danger{background:var(--c-fail);color:var(--bg-panel);border:none;padding:8px 14px;border-radius:8px;font:inherit;cursor:pointer}button.danger:hover{background:var(--c-fail)}button.danger:disabled{background:var(--c-fail-border);cursor:not-allowed}button.link{background:none;border:none;color:var(--c-run);cursor:pointer;text-decoration:underline;font:inherit;padding:4px}.manual-source-note{color:var(--ink-mute);font-size:13px}.error-message{color:var(--c-fail);font-size:13px;margin:4px 0}.revision-list{list-style:none;margin:8px 0 0;padding:8px 10px;background:var(--bg-soft);border-radius:8px;display:flex;flex-direction:column;gap:6px;font-size:13px}.revision-list li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.revision-list span{color:var(--c-run);font-weight:600}.revision-list small{color:var(--ink-mute)}.empty-inline{color:var(--ink-mute);font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#0a192873;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal-card{background:var(--bg-panel);border-radius:12px;padding:20px;max-width:420px;box-shadow:0 18px 48px #091c2e59}.modal-card h3{margin:0 0 8px}.modal-card p{color:var(--ink-base);font-size:14px;line-height:1.6}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap}}.kb-binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.kb-binding-side{display:grid;gap:4px;border:1px solid var(--border-base);border-radius:9px;padding:11px;background:var(--bg-soft)}.kb-binding-side.bound{border-color:var(--c-done)}.kb-binding-side.warn{border-color:var(--c-fail)}.kb-binding-side b{color:var(--ink-base);font-size:11px}.kb-binding-side span{color:var(--c-done);font-size:11px;word-break:break-all}.kb-binding-side.warn span{color:var(--c-fail)}.kb-binding-side small{color:var(--ink-mute);font-size:9px}.kb-binding-editor{display:grid;gap:10px;border-top:1px dashed var(--border-base);margin-top:8px;padding-top:12px}.kb-binding-editor label{display:grid;gap:6px;color:var(--ink-mute);font-size:10px}.kb-binding-editor select,.kb-binding-editor input{border:1px solid var(--border-strong);border-radius:7px;padding:8px;background:var(--bg-panel);color:var(--ink-base)}.kb-binding-editor button{justify-self:start;padding:7px 10px}@media(max-width:650px){.kb-binding-grid{grid-template-columns:1fr}}.hint{color:var(--ink-mute);font-size:10px;margin:4px 0}.dingtalk-session-control{display:flex;flex-direction:column;gap:4px;align-self:end}.dingtalk-qr-card{max-width:440px;text-align:center}.dingtalk-qr-hint{color:var(--ink-mute);font-size:13px;min-height:20px}.dingtalk-qr-image{display:block;margin:12px auto;width:320px;height:320px;image-rendering:pixelated;border:12px solid #fff;border-radius:4px;background:#fff;box-sizing:content-box}.dingtalk-qr-loading{display:grid;place-items:center;margin:12px auto;width:320px;height:320px;max-width:80vw;max-height:80vw;border:12px solid #fff;border-radius:4px;background:#fff;box-sizing:content-box}.dingtalk-qr-loading span{width:42px;height:42px;border:4px solid #dbe4ee;border-top-color:var(--brand);border-radius:50%;animation:dingtalk-qr-spin .8s linear infinite}@keyframes dingtalk-qr-spin{to{transform:rotate(360deg)}}.dingtalk-qr-card .modal-actions{justify-content:center}.filename-filter-editor{flex-basis:100%;margin-top:10px;padding:12px;border:1px solid var(--border-base);border-radius:10px;background:var(--bg-soft)}.filename-filter-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.filename-filter-heading div{display:grid;gap:3px}.filename-filter-heading small{color:var(--ink-mute)}.filename-filter-inherited,.filename-filter-direct{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}.filename-filter-inherited span,.filename-filter-direct span{font-size:10px;color:var(--ink-mute)}.filename-filter-editor code{padding:2px 7px;border-radius:999px;background:#eaf2ff;color:#2456a6;font-family:inherit;font-size:11px}.filename-filter-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0}.filename-filter-form input{min-width:220px;flex:1;padding:7px 9px;border:1px solid var(--border-strong);border-radius:7px;background:var(--bg-panel)}.filename-filter-modes{display:flex;gap:12px;align-self:center;font-size:11px;color:var(--ink-base)}.filename-filter-modes label{display:flex;gap:4px;align-items:center;cursor:pointer}.filename-filter-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px;margin:8px 0}.filename-filter-group{display:grid;gap:4px}.filename-filter-group>span{color:var(--ink-mute);font-size:9px}.filename-filter-group>div{display:flex;flex-wrap:wrap;gap:4px}.filename-filter-group button{border:1px solid var(--border-base);background:var(--bg-panel);color:var(--ink-base);border-radius:999px;padding:2px 8px;font-size:10px;font-family:inherit;cursor:pointer}.filename-filter-group button.picked{background:var(--c-run);border-color:var(--c-run);color:var(--bg-panel);font-weight:650}.filename-filter-group button.blocked{color:var(--c-fail)}@media(max-width:900px){.filename-filter-groups{grid-template-columns:1fr 1fr}}.dingtalk-discovery{display:flex;flex-direction:column;gap:10px;padding:12px;margin-bottom:14px;border:1px solid var(--border, #e3e8ec);border-radius:10px;background:var(--card, #fff)}.dingtalk-discovery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dingtalk-discovery-heading strong{display:block;font-size:14px}.dingtalk-discovery-heading small{display:block;color:var(--muted-foreground, #5b6773);font-size:12px}.dingtalk-discovery-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.discovery-group h4{margin:0 0 6px;font-size:13px}.discovery-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.discovery-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:6px}.discovery-row:hover{background:var(--accent, #f2f5f8)}.discovery-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.discovery-row.registered label{cursor:default;color:var(--muted-foreground, #5b6773)}.discovery-row strong{font-size:13px;font-weight:500}.discovery-row small{display:block;font-size:11px;color:var(--muted-foreground, #5b6773)}.dingtalk-discovery-actions{display:flex;align-items:center;gap:10px}.dingtalk-discovery-actions small{color:var(--muted-foreground, #5b6773);font-size:12px}.settings-legacy-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .75rem}.settings-legacy-toggle small{color:#5a6572;font-size:.8rem;line-height:1.5}.weknora-monitor{max-width:1800px}.simulation-banner{display:flex;align-items:center;gap:14px;margin-bottom:14px;border:1px solid var(--c-warn);border-radius:10px;padding:10px 14px;background:var(--c-warn-bg);color:var(--c-warn)}.simulation-banner strong{padding:4px 7px;border-radius:5px;background:var(--c-warn);color:var(--c-warn);font-size:12px}.simulation-banner span{font-size:12px}.monitor-health{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.monitor-health article{display:grid;gap:5px;border:1px solid var(--border-base);border-radius:11px;padding:13px;background:var(--bg-panel)}.monitor-health span{color:var(--ink-mute);font-size:11px}.monitor-health strong{color:var(--ink-strong);font-size:17px}.monitor-health small{color:var(--ink-mute);font-size:9px;line-height:1.5}.monitor-health .service-healthy{box-shadow:inset 0 3px var(--c-done)}.monitor-health .service-degraded,.monitor-health .service-unhealthy{box-shadow:inset 0 3px var(--c-warn)}.monitor-kb-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px}.monitor-kb-list,.monitor-kb-detail{min-width:0;border:1px solid var(--border-base);border-radius:14px;background:var(--bg-panel)}.monitor-kb-list{padding:12px}.monitor-kb-list h2{margin:5px 8px 12px;color:var(--ink-base);font-size:13px}.monitor-kb-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:9px;padding:12px;background:transparent;box-shadow:none;color:var(--ink-base);text-align:left}.monitor-kb-list button.active{border-color:var(--c-run-border);background:var(--c-run-bg);color:var(--c-run)}.monitor-kb-list button>span{display:grid;gap:4px}.monitor-kb-list small{color:var(--ink-mute);font-size:10px}.monitor-kb-list strong{font-size:10px}.monitor-kb-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border-base);padding:15px 18px}.monitor-kb-heading>div{display:flex;align-items:center;gap:12px}.monitor-kb-heading h2{margin:0;color:var(--ink-strong);font-size:16px}.monitor-kb-heading span{color:var(--ink-mute);font-size:11px}.monitor-stage-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:13px 18px}.monitor-stage-tabs button{border:1px solid var(--border-base);border-radius:8px;padding:7px 9px;background:var(--bg-soft);box-shadow:none;color:var(--ink-base);font-size:11px}.monitor-stage-tabs button.active{border-color:var(--c-run);background:var(--c-run-bg);color:var(--c-run)}.finalizing-note,.sample-note{margin:0 18px 10px;border-radius:7px;padding:8px 10px;background:var(--bg-soft);color:var(--ink-mute);font-size:10px;line-height:1.6}.sample-note{background:var(--c-warn-bg);color:var(--c-warn)}.monitor-file-wrap{max-height:calc(100vh - 540px);overflow:auto}.monitor-file-table{width:100%;table-layout:fixed}.monitor-file-table thead th{position:sticky;z-index:2;top:0;background:var(--bg-soft)}.monitor-file-table th,.monitor-file-table td{padding:12px 10px;white-space:normal;overflow-wrap:anywhere;font-size:11px}.monitor-file-table th:nth-child(1){width:22%}.monitor-file-table th:nth-child(2){width:20%}.monitor-file-table th:nth-child(3){width:11%}.monitor-file-table th:nth-child(4){width:11%}.monitor-file-table th:nth-child(5){width:9%}.monitor-file-table th:nth-child(6){width:27%}.monitor-file-table small{display:block;margin-top:4px;color:var(--c-warn)}.monitor-status{display:inline-block;border-radius:6px;padding:4px 6px;background:var(--bg-soft);color:var(--ink-mute);white-space:nowrap}.monitor-status.completed{background:var(--c-done-bg);color:var(--c-done)}.monitor-status.finalizing,.monitor-status.processing{background:var(--c-run-bg);color:var(--c-run)}.monitor-status.failed{background:var(--c-warn-bg);color:var(--c-warn)}@media(max-width:1200px){.monitor-health{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-kb-layout{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:800px){.monitor-health{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-kb-layout{grid-template-columns:1fr}.monitor-file-table{min-width:800px}.monitor-kb-heading{align-items:flex-start;flex-direction:column}.monitor-kb-heading>div{flex-wrap:wrap}}.difference-panel{margin-bottom:18px;overflow:hidden;border:1px solid var(--c-run-border);border-radius:14px;background:var(--bg-panel)}.difference-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--c-run-bg)}.difference-heading h2{margin:0 0 4px;color:var(--ink-base);font-size:15px}.difference-heading p{margin:0;color:var(--ink-mute);font-size:10px}.difference-counts{display:flex;gap:7px}.difference-counts span{border-radius:7px;padding:7px 9px;background:var(--c-run-bg);color:var(--c-run);font-size:10px;font-weight:750;white-space:nowrap}.difference-panel details{border-top:1px solid var(--border-base)}.difference-panel summary{cursor:pointer;padding:10px 16px;color:var(--ink-base);font-size:10px;font-weight:750}.difference-table-wrap{max-height:260px;overflow:auto}.difference-table{width:100%;table-layout:fixed}.difference-table th,.difference-table td{padding:9px 12px;white-space:normal;overflow-wrap:anywhere;font-size:10px}.difference-confirmation{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(280px,1.4fr) auto;align-items:end;gap:9px;border-top:1px solid var(--border-base);padding:12px 16px}.difference-confirmation label{display:grid;gap:4px;color:var(--ink-mute);font-size:9px}.difference-confirmation input{border:1px solid var(--border-strong);border-radius:7px;padding:8px;color:var(--ink-base)}.difference-confirmation button{padding:8px 11px}.difference-message{margin:0;border-top:1px solid var(--border-base);padding:9px 16px;background:var(--c-done-bg);color:var(--c-done);font-size:10px}@media(max-width:760px){.difference-heading{align-items:flex-start;flex-direction:column}.difference-counts{flex-wrap:wrap}.difference-confirmation{grid-template-columns:1fr}}.persisted-change-panel{margin-bottom:18px;overflow:hidden;border:1px solid var(--c-run-border);border-radius:12px;background:var(--bg-panel)}.persisted-change-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border-base);padding:13px 16px;background:var(--bg-soft)}.persisted-change-heading h2{margin:0 0 4px;color:var(--ink-base);font-size:15px}.persisted-change-heading p{margin:0;color:var(--ink-mute);font-size:10px}.persisted-change-heading>span{border-radius:6px;padding:6px 8px;background:var(--c-run-bg);color:var(--c-run);font-size:10px;font-weight:750}.persisted-change-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.persisted-change-grid>article{min-width:0;border:1px solid var(--border-base);border-radius:9px;padding:11px;background:var(--bg-panel)}.persisted-change-grid>article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.persisted-change-grid strong{color:var(--ink-base);font-size:11px}.persisted-change-grid small{color:var(--ink-mute);font-size:9px}.persisted-change-counts{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.persisted-change-counts span{border-radius:5px;padding:5px 7px;background:var(--border-soft);color:var(--ink-mute);font-size:9px}.persisted-change-counts span:nth-child(1){background:var(--c-done-bg);color:var(--c-done)}.persisted-change-counts span:nth-child(2),.persisted-change-counts span:nth-child(3){background:var(--c-run-bg);color:var(--c-run)}.persisted-change-counts span:nth-child(4){background:var(--c-fail-bg);color:var(--c-fail)}.persisted-change-grid details{margin-top:8px;border-top:1px solid var(--border-base)}.persisted-change-grid summary{cursor:pointer;padding-top:8px;color:var(--c-run);font-size:9px;font-weight:750}.persisted-change-grid details p{display:grid;grid-template-columns:auto minmax(100px,.7fr) minmax(160px,1.3fr);gap:7px;margin:7px 0 0;align-items:center}.persisted-change-grid details b{border-radius:4px;padding:3px 5px;background:var(--border-soft);color:var(--ink-mute);font-size:8px}.persisted-change-grid details span,.persisted-change-grid details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.persisted-change-grid{grid-template-columns:1fr}}@media(max-width:600px){.persisted-change-heading{align-items:flex-start;flex-direction:column}.persisted-change-grid details p{grid-template-columns:auto 1fr}.persisted-change-grid details small{grid-column:1/-1}}.processing-queue-panel{margin-top:18px;overflow:hidden;border:1px solid var(--border-base);border-radius:14px;background:var(--bg-panel)}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-base);padding:14px 16px}.queue-heading h2{margin:0 0 4px;color:var(--ink-base);font-size:15px}.queue-heading p{margin:0;color:var(--ink-mute);font-size:10px}.queue-heading>div:last-child{display:flex;align-items:end;gap:8px}.queue-heading label{display:grid;gap:4px;color:var(--ink-mute);font-size:9px}.queue-heading select{border:1px solid var(--border-strong);border-radius:7px;padding:7px;background:var(--bg-panel);color:var(--ink-base)}.queue-heading button{padding:8px 10px;box-shadow:none}.pipeline-strip{overflow-x:auto;border-bottom:1px solid var(--border-base);padding:10px 16px;background:var(--bg-soft);color:var(--ink-base);font-size:10px;font-weight:750;white-space:nowrap}.queue-table-wrap{max-height:420px;overflow:auto}.processing-queue-table{min-width:940px;table-layout:fixed}.processing-queue-table th,.processing-queue-table td{padding:10px 8px;white-space:normal;overflow-wrap:anywhere;font-size:10px}.processing-queue-table th:nth-child(1){width:18%}.processing-queue-table th:nth-child(2){width:13%}.processing-queue-table th:nth-child(3){width:10%}.processing-queue-table th:nth-child(4){width:12%}.processing-queue-table th:nth-child(5){width:17%}.processing-queue-table th:nth-child(6){width:6%}.processing-queue-table th:nth-child(7){width:14%}.processing-queue-table th:nth-child(8){width:10%}.processing-queue-table .queue-problem{background:var(--c-fail-bg)}.processing-queue-table button{padding:6px 8px;box-shadow:none;font-size:9px}.monitor-status.stalled{background:var(--c-warn-bg);color:var(--c-warn)}@media(max-width:700px){.queue-heading{align-items:stretch;flex-direction:column}.queue-heading>div:last-child{align-items:stretch;flex-direction:column}}.changeset-selection{display:flex;flex-direction:column;gap:6px;margin-top:8px}.changeset-choice{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-base)}.changeset-choice b{flex:0 0 78px;font-weight:700;color:var(--ink-base)}.changeset-choice span{overflow-wrap:anywhere}.changeset-choice small{color:var(--ink-faint)}.changeset-confirm{display:flex;align-items:center;gap:10px;margin-top:10px}.changeset-confirm label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-mute);font-weight:700}.changeset-confirm input{border:1px solid var(--border-strong);border-radius:7px;padding:6px 8px;background:var(--bg-panel);color:var(--ink-base);font:inherit}.queue-batch-controls{display:inline-flex;align-items:center;gap:8px;margin-left:10px}.queue-batch-controls input{width:130px}.queue-batch-message{margin:6px 0;color:var(--c-done)}.dlq-panel{margin-top:14px}.dlq-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.dlq-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-page)}.dlq-list li small{flex-basis:100%;margin-left:2px;color:var(--ink-mute)}.dlq-list small{margin-left:auto;color:var(--c-dead)}.run-metrics{margin-top:14px}.run-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.run-metrics-grid article{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;background:var(--bg-panel);display:flex;flex-direction:column;gap:2px}.run-metrics-grid span{font-size:12px;color:var(--c-dead)}.run-metrics-grid strong{font-size:16px}.run-metrics-grid small{font-size:12px;color:var(--c-dead)}.inbox-layout .hero.compact{display:flex;align-items:center;gap:14px}.monitor-meta{color:var(--c-dead);font-size:12px;margin-left:auto}.inbox-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start;margin-top:12px}.inbox-nav{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;position:sticky;top:14px;overflow:hidden}.inbox-nav h2{font-size:13px;margin:0;padding:10px 14px;border-bottom:1px solid var(--border-strong);color:var(--c-dead);font-weight:600}.inbox-nav button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 14px;border:none;border-bottom:1px solid var(--bg-soft);background:none;color:var(--ink-strong);font:inherit;font-size:13px;cursor:pointer;text-align:left}.inbox-nav button.active{background:var(--c-run-bg);border-left:3px solid var(--ink-strong);padding-left:11px;font-weight:600}.inbox-nav .lane-count{font-style:normal;font-size:12px;padding:0 8px;border-radius:999px;background:var(--c-dead-bg);color:var(--c-dead)}.inbox-nav button.blocked .lane-count{background:var(--c-fail-bg);color:var(--c-fail)}.inbox-nav button.okall .lane-count{background:var(--c-done-bg);color:var(--c-done)}.inbox-work{display:flex;flex-direction:column;gap:14px;min-width:0}.inbox-section{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;padding-bottom:4px}.section-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-strong);flex-wrap:wrap}.section-head h2{font-size:14px;margin:0}.section-head h3{font-size:13px;margin:0}.section-head .spacer{flex:1}.inbox-task{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-bottom:1px solid var(--bg-soft);align-items:start}.inbox-task:last-child{border-bottom:none}.inbox-task h4{margin:0;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inbox-task .why{font-size:12px;color:var(--c-dead);margin-top:3px}.task-chain{margin-top:8px;display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--c-dead)}.chain-step{padding:2px 8px;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg-page);white-space:nowrap}.chain-step.bad{background:var(--c-fail-bg);border-color:var(--c-fail-border);color:var(--c-fail);font-weight:600}.chain-step.active{color:var(--c-run);border-color:var(--c-run-border);background:var(--c-run-bg)}.errline{margin-top:6px;font-size:12px;color:var(--c-fail)}.task-badge{font-size:12px;padding:1px 8px;border-radius:4px;border:1px solid var(--border-strong);white-space:nowrap}.task-badge.add{color:var(--c-done)}.task-badge.update{color:var(--c-run)}.inbox-task-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.inbox-task-actions .primary{background:var(--ink-strong);color:var(--bg-panel);border-color:var(--ink-strong)}button.danger{background:var(--c-fail);color:#fff;border-color:var(--c-fail)}button.danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}button.danger:disabled{background:var(--c-fail-border);color:#fff;border-color:var(--c-fail-border)}.queue-more{display:flex;align-items:center;gap:12px;justify-content:center;padding:12px 0;font-size:13px;color:var(--c-dead)}.operator-input{font:inherit;padding:5px 8px;border:1px solid var(--border-strong);border-radius:6px;width:120px}.tiny{font-size:12px;color:var(--c-dead)}.monitor-strip{display:flex;overflow-x:auto;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;font-size:12px}.monitor-strip div{padding:8px 16px;border-right:1px solid var(--border-strong);white-space:nowrap}.monitor-strip div:last-child{border-right:none}.monitor-strip .bad{color:var(--c-fail)}.monitor-strip .good{color:var(--c-done)}.dlq-list button{margin-left:auto;padding:2px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-panel);cursor:pointer;font-size:12px}@media(max-width:900px){.inbox-grid{grid-template-columns:1fr}.inbox-nav{position:static}}.version-history{display:flex;flex-direction:column;gap:12px;min-width:0}.version-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.version-history-header h2{margin:0 0 4px;font-size:18px}.version-history-header p{margin:0;color:var(--muted, #666);font-size:13px}.version-history-sync-line{display:flex;align-items:center;gap:8px;margin-top:4px!important}.version-history-notice{padding:8px 10px;border-radius:6px;background:#409eff1f;font-size:13px}.version-history-filters{display:flex;gap:8px;flex-wrap:wrap}.version-history-filters button.active{font-weight:600;border-color:currentColor}.version-history-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}.version-history-entry{border-left:3px solid rgba(127,127,127,.35);padding:10px 12px;background:#7f7f7f0f;border-radius:6px;min-width:0}.version-history-entry.release{border-left-color:#2f9e44}.version-history-entry.development{border-left-color:#1c7ed6}.version-history-entry-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.version-history-entry-head strong{font-size:15px}.version-history-entry-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--muted, #666)}.version-history-badge{padding:1px 6px;border-radius:999px;border:1px solid currentColor;font-size:12px}.version-history-badge.release{color:#2f9e44}.version-history-badge.development{color:#1c7ed6}.version-history-badge.historical{color:#868e96}.version-history-badge.current{color:#e8590c}.version-history-badge.pending{color:#1c7ed6}.version-history-badge.warn{color:#c92a2a}.version-history-sha{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.version-history-subject{margin:6px 0 0;overflow-wrap:anywhere}.version-history-reason{margin:4px 0 0;font-size:12px;color:#c92a2a;overflow-wrap:anywhere}.version-history-toggle{margin-top:6px}.version-history-detail pre{margin:6px 0 0;padding:8px;max-height:320px;overflow:auto;background:#7f7f7f1a;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.version-history-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:13px}@media(max-width:760px){.version-history-header{flex-direction:column;align-items:stretch}.version-history-entry{padding:8px 10px}.version-history-entry-head{flex-direction:column;gap:2px}.version-history,.version-history-timeline,.version-history-entry,.version-history-subject,.version-history-sha,.version-history-reason{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.version-history-detail pre{max-height:none}}.qa-ops{display:flex;flex-direction:column;min-width:0;gap:14px;padding:20px;height:calc(100dvh - 44px);overflow:hidden}.qa-ops-query.qa-monthly-query{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.qa-monthly-query label{min-width:0}.qa-monthly-query select,.qa-monthly-query input{width:100%;min-width:0}.qa-monthly-query select{min-height:36px;padding:7px;color:var(--ink-strong);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--r-sm)}.qa-monthly-results>.qa-ops-muted{margin:6px 14px;font-size:12px;line-height:1.5}.qa-ops-table.qa-monthly-table{min-width:800px;table-layout:fixed}.qa-monthly-table th:nth-child(1){width:15%}.qa-monthly-table th:nth-child(2){width:30%}.qa-monthly-table th:nth-child(3){width:23%}.qa-monthly-table td:nth-child(1),.qa-monthly-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere}@media(max-width:760px){.qa-ops-query.qa-monthly-query{grid-template-columns:minmax(0,1fr)}}.qa-quality-state{display:block;margin-top:5px;color:var(--ink-mute);white-space:nowrap}.qa-quality-summary{padding:10px 14px;border:1px solid var(--border-base);background:var(--bg-panel);font-size:12px}.qa-quality-summary>span{margin-left:10px}.qa-quality-summary p{margin:7px 0 0;line-height:1.5}.qa-quality-editor{border-top:1px solid var(--border-base);margin-top:20px;padding-top:2px}.qa-quality-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qa-quality-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:var(--ink-mute)}.qa-quality-form input,.qa-quality-form select,.qa-quality-form textarea{width:100%;min-width:0;padding:8px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg-panel);color:var(--ink-strong);font:inherit}.qa-quality-form textarea{min-height:68px;resize:vertical}.qa-quality-full{grid-column:1/-1}.qa-quality-editor>p{font-size:12px;line-height:1.6}.qa-quality-history article{border-bottom:1px solid var(--border-base);padding:10px 0;overflow-wrap:anywhere;font-size:12px}.qa-quality-editor pre{max-height:300px;overflow:auto}@media(max-width:500px){.qa-quality-form{grid-template-columns:minmax(0,1fr)}}.qa-ops-header h2{margin:0 0 5px;font-size:21px;font-weight:650}.qa-ops-header h2 span{font-size:15px;color:var(--ink-mute);font-weight:400}.qa-ops-header p,.qa-ops-slice-note{margin:0;color:var(--ink-mute);font-size:13px;line-height:1.6}.qa-ops-query{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;border:1px solid var(--border-base);background:var(--bg-panel)}.qa-ops-query label{display:flex;flex-direction:column;gap:6px;color:var(--ink-mute);font-size:12px}.qa-ops-query input,.qa-week-picker select{min-height:36px;min-width:0;padding:7px 10px;color:var(--ink-strong);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg-panel)}.qa-week-picker{display:flex;flex-wrap:wrap;align-items:end;flex-basis:100%;min-width:0;gap:12px}.qa-week-picker label{min-width:0}.qa-week-picker select{max-width:100%;font:inherit}.qa-week-picker>span{padding-bottom:8px}.qa-ops-keyword{flex:1;min-width:170px}.qa-ops-query button{min-height:36px;min-width:72px;color:#fff;background:var(--c-run);border:1px solid var(--c-run)}.qa-ops-query .qa-week-current{color:var(--ink-strong);background:var(--bg-panel);border-color:var(--border-strong)}.qa-ops-query .qa-week-current:hover{background:var(--bg-soft)}.qa-ops button:focus-visible,.qa-ops input:focus-visible,.qa-ops select:focus-visible,.qa-ops-table-scroll:focus-visible{outline:2px solid var(--c-run);outline-offset:2px}.qa-ops-organization{margin:8px 14px;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.qa-ops-results{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;border:1px solid var(--border-base);background:var(--bg-panel)}.qa-ops-result-bar,.qa-ops-page-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 14px;font-size:12px;color:var(--ink-mute);font-variant-numeric:tabular-nums}.qa-ops-result-bar{border-bottom:1px solid var(--border-base)}.qa-ops-source{color:var(--ink-mute)}.qa-ops-warning{margin:8px 14px;padding:7px 10px;font-size:12px;line-height:1.5;color:var(--c-warn);background:var(--c-warn-bg);border-left:2px solid var(--c-warn-border)}.qa-ops-table-scroll{flex:1;min-height:0;overflow:auto}.qa-ops-table .qa-ops-record-row{height:108px}.qa-ledger-actions{max-height:84px;overflow:hidden}.qa-ledger-actions .qa-ai-task{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-ops-table .qa-ops-record-row>td>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.qa-ops-table .qa-ledger-spacer>td{padding:0;border:0;line-height:0}.qa-ops-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;font-size:13px}.qa-ops-table th{position:sticky;top:0;z-index:1;white-space:nowrap;background:var(--bg-soft);font-size:12px;font-weight:500;color:var(--ink-mute)}.qa-ops-table td,.qa-ops-table th{padding:11px 12px;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:top}.qa-ops-table td{min-width:90px;max-width:210px;color:var(--ink-strong);overflow-wrap:anywhere}.qa-ops-table tr:hover td{background:var(--bg-hover)}.qa-ops-table td.qa-ops-text-cell{min-width:240px;max-width:340px}.qa-ops-text-cell>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.qa-ops-uncovered{color:var(--c-warn);font-weight:600}.qa-ops-empty{padding:35px 16px;margin:0;color:var(--ink-mute);text-align:center}.qa-ops-page-bar{border-top:1px solid var(--border-base)}.qa-ops-drawer{position:fixed;inset:0 0 0 auto;z-index:81;width:min(760px,100vw);height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--bg-panel);border-left:1px solid var(--border-strong);box-shadow:-8px 0 24px #0f17201a;color:var(--ink-strong)}.qa-ops-drawer>header{display:flex;justify-content:space-between;align-items:center;flex:none;gap:14px;padding:16px 22px;background:var(--bg-panel);border-bottom:1px solid var(--border-base)}.qa-detail-quality{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:none;gap:8px;padding:12px 22px;border-bottom:1px solid var(--border-base);background:var(--bg-soft)}.qa-detail-quality>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.qa-detail-quality>div>span{color:var(--ink-mute);font-size:12px}.qa-detail-quality .qa-field-tag{white-space:normal;overflow-wrap:anywhere}.qa-ops-drawer h3{margin:0;font-size:18px}.qa-ops-drawer h4{margin:24px 0 9px;font-size:14px}.qa-ops-detail-content{flex:1;min-height:0;overflow:auto;padding:0 22px 22px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.qa-ops-detail-meta{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;margin:18px 0}.qa-ops-detail-meta dt,.qa-ops-muted{color:var(--ink-mute)}.qa-ops-detail-meta dd{margin:0}.qa-ops-full-text{white-space:pre-wrap;background:var(--bg-soft);padding:12px;border:1px solid var(--border-soft)}.qa-ops-drawer pre{white-space:pre-wrap;word-break:break-word;background:var(--bg-soft);padding:12px;font-size:12px}@media(max-width:760px){.qa-ops{height:auto;min-height:calc(100dvh - 44px);padding:14px;overflow:visible}.qa-ops-results{flex:none}.qa-ops-query label{flex:1 1 100%}.qa-ops-table-scroll{min-height:160px;max-height:55vh}.qa-ops-drawer{padding:0}.qa-detail-quality{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 14px}.qa-ops-detail-content{padding:0 14px 14px}.qa-ops-detail-meta{grid-template-columns:100px 1fr}}.qa-quality-rates{display:flex;flex-wrap:wrap;gap:12px 32px;margin:12px 0}.qa-quality-rates>div{min-width:0;overflow-wrap:anywhere}.qa-quality-rates p{margin:4px 0 0}.qa-ops{gap:8px;padding:12px 16px}.qa-ops-query{flex-wrap:nowrap;gap:8px;padding:8px 10px}.qa-ops-query label{gap:3px;font-size:11px}.qa-week-picker{flex-basis:auto;flex-wrap:nowrap;gap:6px}.qa-week-picker>span{display:none}.qa-ops-keyword{min-width:110px}.qa-ops-query input[type=datetime-local]{width:177px;padding:6px}.qa-ops-query .qa-mirror-sync{margin:0;padding:0;border:0;flex:0 0 auto;background:none}.qa-ops-query .qa-mirror-sync-line{gap:4px}.qa-ops-query .qa-mirror-sync [role=status]:empty{display:none}.qa-ops-result-bar{display:flex;justify-content:space-between;gap:12px}.qa-field-tag{display:inline-block;padding:1px 6px;border:1px solid currentColor;border-radius:4px;font-size:12px;line-height:18px;white-space:nowrap}.qa-person-name{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.qa-ops-table tbody tr[data-qa-row]{cursor:default}.qa-ops-table tbody tr[data-qa-row]:hover{background:var(--bg-subtle, #f8fafc)}@media(max-width:1100px){.qa-ops-query{flex-wrap:wrap}}@media(max-width:500px){.qa-ops{padding:8px}.qa-ops-query input[type=datetime-local]{width:100%}}.qa-ai-model-settings{padding:14px 0;border-block:1px solid var(--border, #e2e8f0)}.qa-ai-model-settings h3{margin:0 0 6px}.qa-ai-workbench{border:1px solid var(--border, #e2e8f0);border-radius:5px;padding:6px 10px}.qa-ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.qa-ai-actions button,.qa-ai-queue button,.qa-ai-confirm button{padding:5px 9px;font-size:12px}.qa-ai-request{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.qa-ai-confirm{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #93c5fd;background:#eff6ff;color:#1e3a8a;border-radius:4px}.qa-ai-confirm strong,.qa-ai-confirm small{flex:1 0 100%}.qa-ai-progress{margin-top:5px;font-size:12px}.qa-ai-progress>summary{cursor:pointer}.qa-ai-queue{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 0}.qa-ai-batch{display:flex;flex-direction:column;gap:5px;margin-top:8px;padding:8px;border-top:1px solid var(--border, #e2e8f0)}.qa-ai-task{display:block;line-height:18px;color:#475569}.qa-ai-task-running,.qa-ai-task-queued{color:#1d4ed8}.qa-ai-task-succeeded{color:#166534}.qa-ai-task-failed{color:#991b1b}.qa-ai-task-retry,.qa-ai-task-paused{color:#92400e}.qa-ai-evidence{margin-top:12px}.qa-ai-evidence>details{border-top:1px solid var(--border, #e2e8f0);padding:8px 0}.qa-ai-field-evidence{margin:8px 0;padding:8px;border-left:2px solid #93c5fd;background:#f8fafc}.qa-ai-field-evidence p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.qa-ai-field-evidence blockquote{margin:8px 0;padding-left:10px;border-left:2px solid #cbd5e1}.qa-ai-hash{overflow-wrap:anywhere}.qa-ops-query .qa-query-action{width:96px;height:36px;flex:none;padding:0 8px;margin:0;white-space:nowrap}.qa-ops-query .qa-mirror-sync{position:relative}.qa-ops-query .qa-mirror-sync-line{margin-bottom:0}.qa-ops-query .qa-mirror-sync>[role=status]:not(:empty),.qa-ops-query .qa-mirror-sync>.error-banner{position:absolute;top:calc(100% + 4px);right:0;min-width:260px;z-index:4;padding:6px 8px;background:var(--bg-panel);border:1px solid var(--border-base)}.qa-regions{display:flex;flex-direction:column;min-height:0;gap:12px;flex:1}.qa-region-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.qa-region-heading h3{margin:0}.qa-region-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.qa-region-filters label{display:flex;flex-direction:column;gap:6px}.qa-region-filters label:nth-child(2){flex:1;min-width:220px}.qa-region-filters input,.qa-region-filters select{min-height:36px;padding:6px 10px;border:1px solid var(--line, #d8e1eb);border-radius:6px;background:var(--panel, #fff);color:inherit}.qa-region-preview{display:flex;gap:8px 18px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line, #d8e1eb);background:var(--panel-muted, #f3f7fc);border-radius:6px}.qa-region-tree-scroll{min-height:120px;overflow:auto;flex:1;border:1px solid var(--line, #d8e1eb);border-radius:6px}.qa-region-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;table-layout:fixed;min-width:960px}.qa-region-table th,.qa-region-table td{padding:10px 12px;border-bottom:1px solid var(--line, #d8e1eb);white-space:normal;overflow-wrap:anywhere}.qa-region-table th{position:sticky;top:0;background:var(--panel, #fff);white-space:nowrap}.qa-region-table td:nth-child(2){min-width:0;overflow-wrap:anywhere}.qa-region-table td.qa-region-basis{white-space:nowrap}.qa-region-table input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:#1765c1}.qa-region-tabs{display:flex;gap:8px}.qa-region-tabs button[aria-pressed=true]{background:#e5efff;border-color:#8db8f0;color:#154a88}.qa-regions button:disabled{cursor:not-allowed;opacity:.5}.qa-regions p{margin:0}.qa-ops-warning>span{display:inline-block;margin:4px 8px}.qa-regions :focus-visible{outline:2px solid #1765c1;outline-offset:2px}.qa-region-catalog{border-bottom:1px solid var(--line, #d8e1eb);padding-bottom:14px;min-width:0}.qa-region-catalog h4{margin:0 0 10px}.qa-region-names{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.qa-region-names label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted, #5e6d82);font-size:12px;min-width:0}.qa-region-catalog input{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line, #d8e1eb);border-radius:5px;background:var(--panel, #fff);color:inherit}.qa-region-add,.qa-region-bulk{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.qa-region-add{margin-top:10px}.qa-region-add input{max-width:320px}.qa-region-bulk label{display:flex;gap:6px;align-items:center}.qa-region-tree-scroll{max-height:60vh}.qa-region-table th{white-space:normal}.qa-region-table th:first-child{width:36px}.qa-region-table th:nth-child(6){width:23%}.qa-region-table th:last-child{width:65px}.qa-region-table td button{padding:3px 6px;font-size:11px;margin-top:4px}@media(max-width:700px){.qa-region-filters{align-items:stretch}.qa-region-filters label{flex:1}.qa-region-tree-scroll{min-height:300px}.qa-region-preview{font-size:13px}.qa-region-heading{flex-wrap:wrap}}.qa-regional-statistics{min-width:0;color:#334155}.qa-department-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.qa-department-toolbar h3{margin:0;font-size:18px}.qa-department-actions,.qa-department-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.qa-department-filters{padding:10px 0}.qa-department-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.qa-department-filters input,.qa-department-filters select{min-height:34px;max-width:240px}.qa-department-meta,.qa-department-note{font-size:12px;color:#718096;margin:8px 0;line-height:1.6}.qa-department-table-scroll{max-height:calc(100vh - 340px);min-height:280px;overflow:auto;border:1px solid #e5ebf2;border-radius:5px;min-width:0;max-width:100%;background:#fff}.qa-department-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:14px}.qa-department-name-column{width:43%}.qa-department-time-column{width:20%}.qa-department-table th,.qa-department-table td{padding:13px 12px;border-right:1px solid #e8edf4;border-bottom:1px solid #e8edf4;text-align:center;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}.qa-department-table th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600;color:#60748c}.qa-department-table td:first-child,.qa-department-table th:first-child{text-align:left}.qa-department-table tbody tr:hover{background:#f7faff}.qa-department-name{display:flex;align-items:center;gap:7px;min-width:0}.qa-department-name input[type=checkbox]{flex:none;width:15px;height:15px;margin:0}.qa-department-expand,.qa-department-expand-space{display:inline-flex;flex:none;align-items:center;justify-content:center;width:20px;min-width:20px;height:24px}.qa-department-expand{padding:0;border:0;background:transparent;color:#536c88;font-size:20px;cursor:pointer}.qa-department-expand:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.qa-department-label{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}.qa-department-region,.qa-department-roster{display:block;font-size:11px;line-height:1.5;color:#8190a4;margin-top:2px}.qa-department-ratio{font-weight:650}.qa-department-ratio[data-ratio=unknown]{font-weight:400;color:#8190a4}.qa-department-editor{min-width:0}@media(max-width:680px){.qa-department-toolbar{align-items:flex-start}.qa-department-actions{justify-content:flex-end}.qa-department-actions button{font-size:12px;padding:6px 8px}.qa-department-table-scroll{max-height:65vh}.qa-department-filters input{max-width:180px}.qa-department-filters{gap:8px}.qa-department-filters label{max-width:100%}}.qa-dashboard-scroll{min-height:0;overflow:auto;flex:1;overscroll-behavior:contain}.qa-dashboard{min-width:0;display:flex;flex-direction:column;gap:16px}.qa-dashboard-toolbar{display:flex;justify-content:flex-end}.qa-dashboard-canvas{min-width:0;width:100%;overflow:hidden;background:#fff}.qa-dashboard-svg{width:100%;height:auto}.qa-monthly-disclosure{margin-top:14px;border-top:1px solid var(--border-base);padding:14px 0}.qa-monthly-disclosure>summary{font-size:13px;cursor:pointer}.qa-monthly-disclosure .qa-monthly{min-height:400px;max-height:650px;margin-top:12px;overflow:auto}.qa-weekly{display:flex;flex-direction:column;gap:14px;min-height:0;flex:1;overflow:auto}.qa-weekly-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px;background:var(--bg-panel);border:1px solid var(--border-base)}.qa-weekly-toolbar>div{margin-right:auto}.qa-weekly-toolbar h3{font-size:15px;margin:0 0 6px}.qa-weekly-toolbar span{font-size:12px;color:var(--ink-mute)}.qa-weekly-badge{padding:4px 7px;border:1px solid var(--border-base)}.qa-weekly-preview{padding:20px;background:var(--bg-panel);border:1px solid var(--border-base);min-width:0}.qa-weekly-empty{padding:50px 20px;text-align:center;font-size:13px;color:var(--ink-mute)}.qa-answer{min-width:0}.qa-answer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted-foreground, #65758b);font-size:12px}.qa-answer-markdown{min-width:0;max-width:100%;overflow-x:auto;overflow-wrap:anywhere;line-height:1.75}.qa-answer-markdown>:first-child{margin-top:0}.qa-answer-markdown h1{font-size:1.45rem}.qa-answer-markdown h2{font-size:1.25rem}.qa-answer-markdown h3{font-size:1.1rem}.qa-answer-markdown h1,.qa-answer-markdown h2,.qa-answer-markdown h3{line-height:1.4;margin:1.1em 0 .55em}.qa-answer-markdown ul,.qa-answer-markdown ol{padding-left:1.6em}.qa-answer-markdown p{margin:.7em 0}.qa-answer-markdown table{width:auto;min-width:min(100%,360px);border-collapse:collapse;margin:12px 0}.qa-answer-markdown th,.qa-answer-markdown td{white-space:normal;padding:8px 12px;border:1px solid var(--border, #dce4ef);text-align:left}.qa-answer-markdown blockquote{border-left:3px solid var(--accent, #2794dc);padding-left:14px;margin-left:0;color:var(--muted-foreground, #65758b)}.qa-answer-markdown pre,.qa-answer-source pre{padding:12px;border:1px solid var(--border, #dce4ef);border-radius:6px;max-width:100%;overflow-x:auto;white-space:pre;font-size:12px;line-height:1.6}.qa-answer-markdown code{font-family:ui-monospace,monospace}.qa-answer-markdown img{display:block;max-width:100%;height:auto}.qa-answer-source{margin-top:14px;border-top:1px solid var(--border, #dce4ef);padding-top:10px}.qa-answer-source summary{cursor:pointer;font-size:12px;color:var(--muted-foreground, #65758b)}.qa-mirror-sync{padding:12px 0;border-bottom:1px solid var(--border, #dce4ef);margin-bottom:12px}.qa-mirror-sync-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:7px;font-size:12px}.qa-mirror-sync-line strong{font-size:13px;color:#176940}.qa-mirror-sync-line>button{margin-left:auto}.qa-mirror-sync .qa-ops-muted{font-size:12px;line-height:1.7}@media(max-width:600px){.qa-mirror-sync-line>button{margin-left:0}}.source-link-manager{max-width:1500px}.source-link-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.source-link-list,.source-link-editor{min-width:0;border:1px solid var(--border-base);border-radius:14px;background:var(--bg-panel)}.source-link-list{max-height:calc(100vh - 260px);overflow:auto;padding:12px}.source-link-list h2{margin:5px 8px 12px;color:var(--ink-base);font-size:13px}.source-link-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:9px;padding:11px;background:transparent;box-shadow:none;color:var(--ink-base);text-align:left}.source-link-list button.active{border-color:var(--c-run-border);background:var(--c-run-bg);color:var(--c-run)}.source-link-list button>span{display:grid;gap:4px}.source-link-list small{color:var(--ink-mute);font-size:10px}.source-link-list strong{font-size:10px}.source-link-editor{padding-bottom:18px}.source-link-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-base);padding:15px 18px}.source-link-title>div{display:grid;gap:4px}.source-link-title h2{margin:0;color:var(--ink-base);font-size:16px}.source-link-title span{color:var(--ink-mute);font-size:10px}.connection-unverified{border-radius:6px;padding:5px 7px;background:var(--c-warn-bg)!important;color:var(--c-warn)!important;font-weight:700}.source-link-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.source-link-fields label{display:grid;gap:6px;color:var(--ink-base);font-size:11px}.source-link-fields input{min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:10px;background:var(--bg-panel);color:var(--ink-base)}.source-link-fields input:read-only,.source-link-fields input:disabled{background:var(--bg-soft);color:var(--ink-mute)}.source-link-boundary{display:flex;flex-wrap:wrap;gap:8px;margin:0 18px 14px}.source-link-boundary>*{border-radius:6px;padding:6px 8px;background:var(--border-soft);color:var(--ink-mute);font-size:10px}.validate-source-link{margin:0 18px}.validation-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 18px;border:1px solid var(--c-done-border);border-radius:10px;padding:12px;background:var(--c-done-bg)}.validation-results div{display:grid;gap:3px}.validation-results span{color:var(--ink-mute);font-size:9px}.validation-results b{color:var(--c-done);font-size:10px}.validation-results small{grid-column:1/-1;color:var(--c-warn);font-size:9px}.credential-note{margin:15px 18px 0;border-top:1px solid var(--border-base);padding-top:13px;color:var(--ink-mute);font-size:10px;line-height:1.6}@media(max-width:900px){.source-link-layout{grid-template-columns:1fr}.source-link-list{max-height:260px}}@media(max-width:650px){.source-link-fields{grid-template-columns:1fr}.validation-results{grid-template-columns:1fr 1fr}}:root{--bg-page: #fafbfc;--bg-panel: #ffffff;--bg-soft: #f8fafc;--bg-softer: #f3f6f9;--bg-hover: #f3f7fa;--bg-active: #eff4fd;--border-strong: #d3dce3;--border-base: #e3e8ec;--border-soft: #eef2f6;--ink-strong: #0f1720;--ink-base: #16324f;--ink-mute: #57687a;--ink-faint: #8a98a4;--c-fail: #b91c1c;--c-fail-bg: #fdecec;--c-fail-border: #f2baba;--c-warn: #d97706;--c-warn-bg: #fef3e2;--c-warn-border: #f3d9a8;--c-run: #2563eb;--c-run-bg: #eff4fd;--c-run-border: #c7d7f2;--c-done: #059669;--c-done-bg: #eefaf4;--c-done-border: #bfe3d4;--c-dead: #6b7280;--c-dead-bg: #f3f4f6;--c-cyan: #0891b2;--c-cyan-bg: #ddf7fb;--side-bg: #0e1c2b;--side-bg-active: #16324a;--side-bg-hover: #152a3d;--side-border: #1a2f44;--side-accent: #2dd4bf;--side-ink: #9fb6c6;--side-ink-strong: #e8f2f8;--side-ink-faint: #5b7789;--font-base: Inter, "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;--r-sm: 3px;--r-md: 4px;--r-lg: 6px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-base);background:var(--bg-page);color:var(--ink-strong);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;font-synthesis:none;text-rendering:optimizeLegibility}#root{min-height:100vh}button{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:5px 11px;color:var(--ink-strong);background:var(--bg-panel);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover:not(:disabled){background:var(--bg-soft);border-color:#94a3b8}button:disabled{cursor:not-allowed;opacity:.55}button.primary,button[type=submit],.primary-link{background:var(--side-bg);border-color:var(--side-bg);color:#fff;font-weight:600}button.primary:hover:not(:disabled),.primary-link:hover{background:#1a2f44;border-color:#1a2f44}code{font-family:var(--font-mono);font-size:11.5px;color:var(--c-run);background:var(--bg-soft);padding:1px 5px;border-radius:var(--r-sm)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-workspace{min-height:100vh;background:var(--bg-page)}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:212px;flex-direction:column;padding:18px 0;color:var(--side-ink);background:var(--side-bg);border-right:1px solid #0a141f;box-shadow:none}.brand{display:flex;align-items:center;gap:10px;padding:0 18px 16px;border-bottom:1px solid var(--side-border);min-height:auto}.brand-mark{display:grid;width:26px;height:26px;flex:none;place-items:center;border-radius:var(--r-md);color:#04211d;background:var(--side-accent);font-size:13px;font-weight:700;box-shadow:none}.brand strong{color:var(--side-ink-strong);font-size:13px;font-weight:600;letter-spacing:.02em;display:block}.brand div>span{display:block;margin-top:1px;color:var(--side-ink-faint);font-size:11px;letter-spacing:0}.sidebar-nav{display:flex;flex-direction:column;gap:1px;margin-top:14px;padding:0 8px}.nav-item{display:flex;width:100%;align-items:center;gap:10px;border:1px solid transparent;border-radius:var(--r-md);padding:7px 10px;color:#8aa2b3;background:transparent;box-shadow:none;font-weight:500;font-size:12.5px;text-align:left;transition:background .12s ease,color .12s ease}.nav-item:hover{color:#d9e8f1;background:var(--side-bg-hover)}.nav-item.active{border-color:transparent;color:#fff;background:var(--side-bg-active);border-left:2px solid var(--side-accent);padding-left:8px}.nav-icon{display:grid;width:18px;height:18px;flex:none;place-items:center;color:var(--side-accent);font-size:13px}.sidebar-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding:14px 18px 0;border-top:1px solid var(--side-border);color:#46647a;font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:none}.workspace-main{width:calc(100% - 212px);min-width:0;min-height:100vh;margin-left:212px;display:flex;flex-direction:column}.workspace-topbar{position:sticky;z-index:25;top:0;display:flex;min-height:44px;align-items:flex-end;border-bottom:1px solid var(--border-base);background:var(--bg-panel);box-shadow:none}.workspace-topbar-crumb{display:flex;align-items:center;gap:6px;flex:none;padding:0 12px 10px 16px;font-size:11px;color:var(--ink-faint);font-family:var(--font-mono)}.workspace-topbar-crumb .crumb-root{color:var(--ink-faint)}.workspace-topbar-crumb .crumb-sep{color:var(--border-strong)}.workspace-topbar-crumb b{color:var(--ink-strong);font-weight:600}.tab-list{display:flex;min-width:0;gap:2px;overflow-x:auto;padding:8px 16px 0;scrollbar-width:thin}.workspace-context-tabs{display:flex;min-width:0;max-width:48%;margin-left:auto;align-items:center;gap:4px;overflow-x:auto;padding:0 16px 10px 8px;color:var(--ink-faint);white-space:nowrap;font-size:11px}.workspace-context-tabs span{display:flex;align-items:center;gap:4px}.workspace-context-tabs i{color:var(--ink-faint);font-style:normal}.workspace-context-tabs button{max-width:180px;overflow:hidden;border:0;padding:3px 7px;background:var(--bg-soft);box-shadow:none;color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-sm);font-size:11px}.workspace-context-tabs span:last-child button{background:var(--bg-active);color:var(--c-run);font-weight:600}.workspace-tab{display:flex;height:36px;flex:none;align-items:center;border:1px solid transparent;border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0;background:transparent}.workspace-tab.active{border-color:var(--border-base);background:var(--bg-page);box-shadow:inset 0 2px var(--c-run)}.tab-activate,.tab-close,.mobile-nav-toggle,.sidebar-backdrop{border-radius:0;padding:0;color:inherit;background:transparent;box-shadow:none;border:0}.tab-activate{display:flex;height:100%;align-items:center;gap:6px;padding:0 11px;color:var(--ink-mute);font-size:12px;font-weight:500}.workspace-tab.active .tab-activate{color:var(--ink-strong);font-weight:600}.tab-activate span{color:var(--c-cyan);font-size:12px}.tab-close{display:grid;width:20px;height:20px;margin-right:6px;place-items:center;border-radius:var(--r-sm);color:var(--ink-faint);font-size:16px;line-height:1}.tab-close:hover{color:var(--c-fail);background:var(--c-fail-bg)}.workspace-content{min-width:0;flex:1}.mobile-nav-toggle,.sidebar-backdrop{display:none}.page-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:22px 0 40px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:var(--ink-mute);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:4px;color:var(--ink-strong);font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.25}.subtitle,.panel-heading p{margin-bottom:0;color:var(--ink-mute);font-size:12.5px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--border-base);border:1px solid var(--border-base);margin-bottom:20px}.summary-card{min-height:0;padding:12px 14px;border:0;border-radius:0;background:var(--bg-panel);box-shadow:none}.summary-card span{display:block;margin-bottom:6px;color:var(--ink-mute);font-size:11px;letter-spacing:.02em}.summary-card strong{color:var(--ink-strong);font-family:var(--font-mono);font-size:24px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.tone-blue{border-top:2px solid var(--c-run)}.tone-cyan{border-top:2px solid var(--c-cyan)}.tone-amber{border-top:2px solid var(--c-warn)}.tone-red{border-top:2px solid var(--c-fail)}.tone-green{border-top:2px solid var(--c-done)}.panel{overflow:hidden;border:1px solid var(--border-base);border-radius:var(--r-lg);background:var(--bg-panel);box-shadow:none}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.panel-heading h2{margin-bottom:2px;color:var(--ink-strong);font-size:13px;font-weight:600;letter-spacing:.02em}.panel-heading p{font-size:11.5px;color:var(--ink-faint)}.safe-badge{flex:none;border-radius:var(--r-sm);padding:2px 8px;color:var(--c-done);background:var(--c-done-bg);border:1px solid var(--c-done-border);font-size:11px;font-weight:600;letter-spacing:.02em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}th,td{padding:10px 14px;border-bottom:1px solid var(--border-soft);text-align:left;white-space:nowrap}th{color:var(--ink-mute);background:var(--bg-soft);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}tbody tr:hover{background:var(--bg-hover)}.source-connections-table{table-layout:fixed}.source-connections-table th,.source-connections-table td{padding:10px 8px;white-space:normal;overflow-wrap:anywhere}.source-connections-table th:nth-child(1){width:22%}.source-connections-table th:nth-child(2){width:7%}.source-connections-table th:nth-child(3){width:8%}.source-connections-table th:nth-child(4){width:8%}.source-connections-table th:nth-child(5){width:8%}.source-connections-table th:nth-child(6){width:7%}.source-connections-table th:nth-child(7){width:30%}.source-connections-table th:nth-child(8){width:10%}.source-connection-name,.source-scan-summary{display:grid;gap:4px}.source-connection-name strong{color:var(--ink-strong);font-size:12.5px}.source-connection-name code,.source-scan-summary span,.source-scan-summary code{font-size:11px}.source-scan-summary span{color:var(--ink-mute);font-family:var(--font-mono)}.scan-audit-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;padding:14px 16px 16px}.scan-audit-grid>*{min-width:0}.source-scan-history-table{table-layout:fixed}.source-scan-history-table th,.source-scan-history-table td{padding:9px 8px;white-space:normal;overflow-wrap:anywhere}.source-scan-history-table th:nth-child(1){width:25%}.source-scan-history-table th:nth-child(2){width:12%}.source-scan-history-table th:nth-child(3){width:9%}.source-scan-history-table th:nth-child(4){width:27%}.source-scan-history-table th:nth-child(5){width:12%}.source-scan-history-table th:nth-child(6){width:15%}.source-scan-history-table code,.source-scan-history-table time{display:block}.source-scan-history-table time{margin-top:3px;color:var(--ink-faint);font-size:11px;font-family:var(--font-mono)}.selected-row{background:var(--bg-active)}.source-scan-detail{min-height:180px;border:1px solid var(--border-base);border-radius:var(--r-lg);background:var(--bg-panel);overflow:hidden}.source-scan-detail h3{margin:0;border-bottom:1px solid var(--border-soft);padding:10px 14px;color:var(--ink-strong);font-size:12px;font-weight:600}.source-scan-detail .empty-state{margin:12px}.source-scan-detail th,.source-scan-detail td{padding:9px 10px;white-space:normal;overflow-wrap:anywhere}.release-page .panel{margin-top:14px}.module-tabs{display:flex;align-items:flex-end;gap:0;overflow-x:auto;margin:-4px 0 14px;border-bottom:1px solid var(--border-base);background:var(--bg-panel)}.module-tabs a,.module-tabs button{display:block;flex:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;background:transparent;box-shadow:none;color:var(--ink-mute);font-size:12px;font-weight:500;text-decoration:none}.module-tabs a:hover,.module-tabs button:hover{color:var(--ink-strong);background:var(--bg-soft)}.module-tabs a.active,.module-tabs button.active{border-bottom-color:var(--c-run);color:var(--ink-strong);font-weight:600}.monitor-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px}.monitor-summary-grid .summary-card{padding:10px 12px}.monitor-summary-grid .summary-card span{margin-bottom:4px;font-size:11px}.monitor-summary-grid .summary-card strong{font-size:20px}.parsing-monitor-panel{margin-top:0}.parsing-monitor-panel .panel-heading{padding:10px 14px}.release-snapshot-callout{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;border:1px solid var(--c-run-border);border-radius:var(--r-md);padding:10px 12px;background:var(--c-run-bg);color:var(--ink-base);font-size:12px}.release-snapshot-callout>span{font-size:14px;line-height:1.25}.release-snapshot-callout div{display:grid;gap:2px}.release-snapshot-callout strong{font-size:12px;color:var(--ink-strong)}.release-snapshot-callout small{color:var(--ink-mute);font-size:11px;line-height:1.4}.release-page .hero+.module-tabs{margin-top:-4px}.release-page .summary-grid{margin-top:14px}.release-page .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.release-page button:disabled{border-color:var(--border-base);color:var(--ink-faint);background:var(--bg-soft);box-shadow:none;cursor:not-allowed;opacity:1}#review-actions,#batch-actions,#production-status,#release-plan,#release-execution,#settings-sources,#settings-services,#settings-storage,#settings-refresh{scroll-margin-top:60px}.release-journey{margin-bottom:16px;overflow:hidden;border:1px solid var(--border-base);border-radius:var(--r-lg);background:var(--bg-panel);box-shadow:none}.journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:14px 16px 12px;border-bottom:1px solid var(--border-soft)}.journey-heading span{color:var(--c-run);font-size:11px;font-weight:600;letter-spacing:.04em}.journey-heading h2{margin:4px 0 0;color:var(--ink-strong);font-size:16px;font-weight:600}.journey-heading p{max-width:450px;margin:0;color:var(--ink-mute);font-size:12px;text-align:right}.journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:14px 16px 16px;list-style:none}.journey-step{display:grid;min-height:0;grid-template-columns:28px minmax(0,1fr);align-content:center;align-items:center;gap:2px 8px;border:1px solid var(--border-base);border-radius:var(--r-md);padding:10px;color:var(--ink-mute);background:var(--bg-soft)}.journey-step .step-number{display:grid;width:22px;height:22px;grid-row:1 / 3;place-items:center;border-radius:50%;color:var(--ink-faint);background:var(--bg-softer);font-size:11px;font-weight:600;font-family:var(--font-mono)}.journey-step strong{color:var(--ink-strong);font-size:12px;font-weight:600}.journey-step small{color:var(--ink-faint);font-size:11px}.journey-step.done{border-color:var(--c-done-border);background:var(--c-done-bg)}.journey-step.done .step-number{color:#fff;background:var(--c-done)}.journey-step.current{border:1px solid var(--c-run);color:var(--c-run);background:var(--c-run-bg);box-shadow:none}.journey-step.current .step-number{color:#fff;background:var(--c-run);box-shadow:none}.journey-step.danger{border-color:var(--c-fail-border);background:var(--c-fail-bg)}.journey-step.danger small{color:var(--c-fail);font-weight:600}.journey-step.danger.current{border-color:var(--c-fail);background:var(--c-fail-bg)}.journey-step.danger.current .step-number{background:var(--c-fail);box-shadow:none}.current-guidance{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:14px;border:1px solid var(--c-run-border);border-radius:var(--r-lg);padding:14px 16px;background:var(--c-run-bg);box-shadow:none}.guidance-step{max-width:110px;border-radius:var(--r-md);padding:6px 10px;color:#fff;background:var(--c-run);font-size:11px;font-weight:600;text-align:center}.guidance-copy h2{margin:0 0 4px;color:var(--ink-strong);font-size:14px}.guidance-copy>strong{display:block;margin-bottom:4px;color:var(--c-warn);font-size:12px}.guidance-copy p{margin:0 0 4px;color:var(--ink-base);font-size:12px}.current-checklist{margin:8px 0;border-radius:var(--r-md);padding:8px 10px;color:var(--ink-base);background:#ffffffb3;border:1px solid var(--border-soft);font-size:12px}.current-checklist>b{display:block;margin-bottom:4px;color:var(--ink-strong);font-size:12px}.current-checklist ol{display:grid;gap:3px;margin:0;padding-left:16px;font-size:11px}.review-decision-guide{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;margin:10px 16px 12px}.review-decision-guide h3{margin:0;color:var(--ink-strong);font-size:12px}.review-decision-guide p{min-height:0;margin:0;border-radius:var(--r-md);padding:7px 10px;font-size:11px;line-height:1.45}.approve-guide{color:var(--c-done);background:var(--c-done-bg)}.reject-guide{color:var(--c-fail);background:var(--c-fail-bg)}.batch-requirements{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-top:1px solid var(--border-soft);padding:10px 16px 0;color:var(--ink-mute);font-size:11px}.batch-requirements strong{margin-right:4px;color:var(--ink-strong);font-size:11px}.batch-requirements span{border-radius:var(--r-sm);padding:2px 7px;font-weight:600;font-size:11px}.batch-requirements .met:before,.batch-requirements .unmet:before{margin-right:4px}.batch-requirements .met{color:var(--c-done);background:var(--c-done-bg)}.batch-requirements .met:before{content:"✓"}.batch-requirements .unmet{color:var(--c-warn);background:var(--c-warn-bg)}.batch-requirements .unmet:before{content:"○"}.acceptance-summary>strong,.acceptance-summary>span{display:block;margin-bottom:3px}.acceptance-summary>strong{color:var(--c-done);font-size:11px}.acceptance-summary details{margin-top:4px;color:var(--ink-mute);font-size:11px}.acceptance-summary summary{cursor:pointer;color:var(--c-run)}.guidance-copy>span{color:var(--c-done);font-size:11px;font-weight:600}.primary-link{flex:none;border-radius:var(--r-md);padding:5px 11px;color:#fff;background:var(--side-bg);box-shadow:none;font-size:12px;font-weight:600;text-decoration:none}.technical-status{flex:none;color:var(--ink-mute);font-size:11px}.technical-status summary{cursor:pointer;font-weight:600}.technical-status p{max-width:260px;margin:6px 0 0}.button-reason{margin:10px 16px 0;border:1px solid var(--c-warn-border);border-radius:var(--r-md);padding:8px 10px;color:var(--c-warn);background:var(--c-warn-bg);font-size:12px}.button-reason strong{margin-right:4px}.release-actions,.row-actions{display:flex;flex-wrap:wrap;gap:6px}.release-actions button,.row-actions button{padding:4px 9px;font-size:11px;box-shadow:none}.secondary-action{border:1px solid var(--border-strong);color:var(--c-run);background:var(--bg-panel)}.release-toolbar label,.batch-create-bar label{display:grid;gap:4px;color:var(--ink-mute);font-size:11px;font-weight:600}.release-toolbar input,.batch-create-bar input,.review-table select{min-width:140px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:5px 8px;color:var(--ink-strong);background:var(--bg-panel);font:inherit;font-size:12px}.review-table{table-layout:fixed}.review-table th,.review-table td{padding:8px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.review-table th:nth-child(1){width:5%}.review-table th:nth-child(2){width:20%}.review-table th:nth-child(3){width:19%}.review-table th:nth-child(4){width:10%}.review-table th:nth-child(5){width:13%}.review-table th:nth-child(6){width:13%}.review-table th:nth-child(7){width:20%}.review-table td>strong,.review-table td>code,.review-table td>span,.review-table td>small{display:block;margin-bottom:3px}.review-table td>span,.review-table td>small{color:var(--ink-mute);font-size:11px}.review-table select{width:100%;min-width:0}.batch-create-bar{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-soft);padding:12px 16px}.batch-create-bar label{margin-right:auto}.batch-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:12px;padding:12px 16px 16px}.batch-grid>*{min-width:0}.batch-grid th,.batch-grid td{padding:8px;white-space:normal;overflow-wrap:anywhere}.batch-grid td strong,.batch-grid td code,.batch-detail-row strong,.batch-detail-row code{display:block}.batch-detail{overflow:hidden;border:1px solid var(--border-base);border-radius:var(--r-lg);background:var(--bg-panel)}.batch-detail h3{margin:0;border-bottom:1px solid var(--border-soft);padding:10px 14px;color:var(--ink-strong);font-size:12px;font-weight:600}.batch-detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border-soft);padding:9px 12px;font-size:12px}.batch-detail-row b{flex:none;color:var(--c-done);font-size:11px}.status{display:inline-flex;align-items:center;border-radius:var(--r-sm);padding:1px 7px;font-size:11px;font-weight:600;border:1px solid transparent;letter-spacing:.02em}.status-pending{color:var(--ink-mute);background:var(--bg-softer);border-color:var(--border-base)}.status-running{color:var(--c-cyan);background:var(--c-cyan-bg);border-color:#b5e5ee}.status-retry{color:var(--c-warn);background:var(--c-warn-bg);border-color:var(--c-warn-border)}.status-completed{color:var(--c-done);background:var(--c-done-bg);border-color:var(--c-done-border)}.status-failed{color:var(--c-fail);background:var(--c-fail-bg);border-color:var(--c-fail-border)}.status-over_limit{color:var(--c-warn);background:var(--c-warn-bg);border-color:var(--c-warn-border)}.status-content_alias{color:var(--c-cyan);background:var(--c-cyan-bg);border-color:#b5e5ee}.error-cell{max-width:300px;overflow:hidden;color:var(--c-fail);text-overflow:ellipsis;font-size:11.5px}.error-banner,.empty-state{margin:12px 16px;border-radius:var(--r-md);padding:10px 12px;font-size:12px}.error-banner{color:var(--c-fail);background:var(--c-fail-bg);border:1px solid var(--c-fail-border)}.empty-state{color:var(--ink-mute);background:var(--bg-soft);text-align:center}.safety-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;border:1px solid var(--c-done-border);border-radius:var(--r-lg);padding:10px 14px;background:var(--c-done-bg)}.safety-strip strong,.safety-strip span{display:block}.safety-strip div>span{margin-top:2px;color:var(--ink-mute);font-size:12px}.release-plan-panel{margin-bottom:14px}.release-plan-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 16px 8px;font-size:11px;color:var(--ink-mute)}.release-plan-filters label{display:inline-flex;align-items:center;gap:4px;font-weight:600}.release-plan-filters select{font:inherit;padding:3px 5px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg-panel)}.release-plan-filters .filter-check{cursor:pointer}.release-plan-filters .filter-count{margin-left:auto;color:var(--ink-faint)}.release-plan-pager{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px 2px;font-size:11px;color:var(--ink-mute)}.release-plan-summary{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.release-plan-summary span{border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:3px 8px;background:var(--bg-soft);color:var(--ink-base);font-size:11px;font-weight:600;font-family:var(--font-mono)}.release-plan-table{min-width:820px;table-layout:fixed}.release-plan-table th,.release-plan-table td{white-space:normal;overflow-wrap:anywhere}.release-plan-table .plan-blocked,.release-plan-table .plan-delete{background:var(--c-fail-bg);color:var(--c-fail)}.release-plan-table .plan-delete input{accent-color:var(--c-fail)}.delete-confirmation{display:flex;align-items:flex-start;gap:8px;margin-top:10px;border:1px solid var(--c-fail-border);border-radius:var(--r-md);padding:10px;background:var(--c-fail-bg);color:var(--c-fail)}.delete-confirmation input{width:18px;height:18px;margin-top:1px;accent-color:var(--c-fail)}.delete-confirmation span{display:grid;gap:2px;font-size:12px}.delete-confirmation small{color:var(--c-fail);opacity:.75;font-size:11px}.server-settings-banner{border-left:2px solid var(--c-done);background:var(--c-done-bg)}.settings-operator{display:grid;gap:4px;max-width:360px;margin:10px 0 8px;color:var(--ink-mute);font-size:11px;font-weight:600}.settings-operator input{min-height:32px}.success-message{margin:8px 0;border-left:2px solid var(--c-done);padding:6px 10px;background:var(--c-done-bg);color:var(--c-done);font-size:12px}.dashboard-recent{margin-top:0}.recent-list{display:grid}.recent-row{display:grid;grid-template-columns:minmax(0,1fr) auto 150px;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.recent-row:last-child{border-bottom:0}.recent-row div{min-width:0}.recent-row strong,.recent-row code{display:block}.recent-row code{overflow:hidden;margin-top:2px;text-overflow:ellipsis;white-space:nowrap;background:transparent;padding:0;color:var(--ink-mute);font-size:11px}.recent-row time{color:var(--ink-faint);font-size:11px;text-align:right;font-family:var(--font-mono)}.placeholder-panel{display:flex;min-height:200px;align-items:center;justify-content:center;gap:16px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:24px;background:var(--bg-soft);text-align:left}.placeholder-icon{display:grid;width:40px;height:40px;flex:none;place-items:center;border-radius:var(--r-md);color:var(--c-cyan);background:var(--c-cyan-bg);font-size:18px}.placeholder-panel h2{margin-bottom:6px;color:var(--ink-strong);font-size:14px}.placeholder-panel p{max-width:560px;margin-bottom:0;color:var(--ink-mute);line-height:1.6;font-size:12px}.asset-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.asset-toolbar label{display:flex;align-items:center;gap:8px;color:var(--ink-mute);font-size:12px;font-weight:600}.asset-toolbar select{min-width:160px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:5px 8px;color:var(--ink-strong);background:var(--bg-panel);font:inherit;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;color:var(--ink-mute);font-size:12px}.pagination div{display:flex;gap:6px}.pagination button{border:1px solid var(--border-strong);padding:4px 10px;color:var(--c-run);background:var(--bg-panel);box-shadow:none}.release-changeset-panel{margin:4px 16px 10px;padding:10px 12px;border:1px solid var(--border-base);border-radius:var(--r-md);background:var(--bg-soft)}.release-changeset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.release-changeset-heading h3{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--ink-strong)}.release-changeset-heading p{margin:0;color:var(--ink-faint);font-size:11px}.release-changeset-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px;color:var(--ink-mute);font-size:11px;font-family:var(--font-mono)}.release-changeset-items{margin:4px 0}.release-changeset-items summary{cursor:pointer;font-size:11px;color:var(--c-run);font-weight:600}.release-changeset-items ul{max-height:200px;overflow:auto;margin:4px 0;padding-left:16px;font-size:11px;color:var(--ink-mute)}.release-changeset-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.release-changeset-actions small{color:var(--ink-faint);font-size:11px}.release-audit-chain{margin-top:12px;border-top:1px dashed var(--border-strong);padding-top:10px}.release-audit-chain h3{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--ink-strong)}.audit-chain-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:11px;color:var(--ink-mute);padding:4px 0;border-bottom:1px solid var(--border-soft);font-family:var(--font-mono)}.audit-chain-line span{color:var(--ink-faint);min-width:70px}.audit-chain-line b{color:var(--ink-strong);font-weight:600}.audit-chain-line small{color:var(--ink-faint)}.task-chain{display:flex;gap:3px;margin-top:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px}.chain-step{padding:2px 8px;border:1px solid var(--border-base);background:var(--bg-soft);color:var(--ink-faint);border-radius:var(--r-sm)}.chain-step.done{background:var(--c-done-bg);border-color:var(--c-done-border);color:var(--c-done)}.chain-step.bad,.chain-step.failed{background:var(--c-fail-bg);border-color:var(--c-fail-border);color:var(--c-fail);font-weight:600}.chain-step.act,.chain-step.current{background:var(--c-run-bg);border-color:var(--c-run-border);color:var(--c-run)}.why{font-size:11.5px;color:var(--c-fail);margin-top:4px;font-family:var(--font-mono)}.why code{background:var(--c-fail-bg);padding:0 5px;border-radius:var(--r-sm);color:var(--c-fail)}.modal-backdrop{position:fixed;z-index:60;inset:0;background:#0f172066;display:grid;place-items:center;padding:24px}.modal-card{background:var(--bg-panel);border:1px solid var(--border-base);border-radius:var(--r-lg);max-width:720px;width:100%;max-height:calc(100vh - 48px);overflow:auto;box-shadow:none}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-soft)}@media(max-width:860px){.summary-grid,.asset-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-audit-grid,.batch-grid{grid-template-columns:1fr}.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.review-decision-guide{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{width:212px;transform:translate(-105%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;z-index:35;inset:0;display:block;width:100%;height:100%;background:#0f172066;border:0;border-radius:0}.workspace-main{width:100%;margin-left:0}.workspace-topbar{align-items:center}.workspace-context-tabs{display:none}.workspace-tab:not(.active){display:none}.workspace-tab.active{min-width:0;max-width:100%}.workspace-tab.active .tab-activate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-tab.active .tab-close{width:32px;height:32px;flex:none}.mobile-nav-toggle{display:grid;width:32px;height:32px;flex:none;margin:6px 0 0 8px;place-items:center;border-radius:var(--r-md);color:var(--ink-mute);background:var(--bg-soft);font-size:16px;border:1px solid var(--border-base)}.tab-list{flex:1;overflow:hidden;padding-left:6px}}@media(max-width:620px){.page-shell{width:min(100% - 20px,1240px);padding-top:16px}.hero,.panel-heading{align-items:stretch;flex-direction:column}.summary-grid,.asset-summary{grid-template-columns:1fr}.asset-toolbar label,.pagination,.batch-create-bar{align-items:stretch;flex-direction:column}.safety-strip,.placeholder-panel,.journey-heading,.current-guidance{align-items:flex-start;flex-direction:column}.journey-heading{display:flex}.journey-heading p{text-align:left}.journey-steps{grid-template-columns:1fr}.current-guidance{display:flex}.guidance-step{max-width:none}.recent-row{grid-template-columns:minmax(0,1fr) auto}.recent-row time{grid-column:1 / -1;text-align:left}}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1100px 500px at 15% -10%,var(--c-run-bg),transparent 60%),linear-gradient(180deg,var(--bg-page),var(--bg-softer));padding:24px}.login-card{width:min(400px,100%);background:var(--bg-panel);border:1px solid var(--border-base);border-radius:10px;padding:28px 26px 24px;box-shadow:0 18px 46px #0f17201a;display:grid;gap:14px}.login-card h1{margin:0;font-size:20px;color:var(--ink-strong);letter-spacing:.01em}.login-subtitle{margin:0;color:var(--ink-mute);font-size:13px}.login-card label{display:grid;gap:6px;font-size:13px;color:var(--ink-base);font-weight:600}.login-card input{padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;font:inherit;background:var(--bg-panel);color:var(--ink-strong)}.login-card input:focus{outline:2px solid var(--c-run);outline-offset:1px;border-color:transparent}.login-card button[type=submit]{width:100%;margin-top:4px}.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:56px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:2px 8px;border:1px solid var(--line-base, #d7dbe0);border-radius:6px;background:#fff;color:var(--ink-base, #333);font-size:12px;font-weight:600;line-height:20px;cursor:pointer}.password-toggle:hover{border-color:var(--c-run, #2f6feb);color:var(--c-run, #2f6feb)}.login-error{margin:0;font-size:13px;color:var(--c-fail);background:var(--c-fail-bg);border:1px solid var(--c-fail-border);border-radius:6px;padding:8px 10px}.login-secondary{background:transparent;border:none;color:var(--ink-mute);font-size:12.5px;cursor:pointer;text-decoration:underline}.topbar-user{position:relative;margin-left:auto}.topbar-user-button{display:inline-flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--border-base);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--ink-base);font:inherit}.topbar-user-button:hover{background:var(--bg-hover)}.topbar-user-avatar{width:26px;height:26px;border-radius:50%;background:var(--side-bg);color:var(--side-accent);display:grid;place-items:center;font-size:13px;font-weight:700}.topbar-user-name{font-size:13px;font-weight:600}.role-badge{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border-base);background:var(--bg-panel);color:var(--ink-mute)}.role-badge.role-admin{color:var(--c-run);border-color:var(--c-run-border);background:var(--c-run-bg)}.role-badge.role-engineer{color:var(--c-done);border-color:var(--c-done-border);background:var(--c-done-bg)}.topbar-user-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--bg-panel);border:1px solid var(--border-base);border-radius:8px;box-shadow:0 12px 30px #0f17201f;min-width:140px;padding:4px}.topbar-user-menu button{width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:6px;cursor:pointer;font:inherit;color:var(--ink-base)}.topbar-user-menu button:hover{background:var(--bg-hover)}.member-create-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.member-create-form label{display:grid;gap:5px;font-size:12.5px;color:var(--ink-base);font-weight:600}.member-create-form input,.member-create-form select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;font:inherit;background:var(--bg-panel)}
