:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--app-bg);--text:var(--formal-text);--app-bg:var(--formal-app);--border:var(--formal-border);--muted:var(--formal-muted);--panel:var(--formal-panel);--panel-soft:var(--formal-soft);--accent:var(--formal-primary);--accent-soft:var(--formal-success-bg);--green:var(--formal-success);--amber:var(--formal-warning);--red:var(--formal-danger);--blue:var(--formal-info);--bbox-formal-stroke:var(--ob-visual-bbox-formal-stroke);--bbox-formal-fill:var(--ob-visual-bbox-formal-fill);--bbox-candidate-stroke:var(--ob-visual-bbox-candidate-stroke);--bbox-candidate-fill:var(--ob-visual-bbox-candidate-fill);--bbox-merge-stroke:var(--ob-visual-bbox-merge-stroke);--bbox-active-stroke:var(--ob-visual-bbox-active-stroke);font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger-bg:var(--formal-danger-bg);--danger-border:var(--formal-danger);--danger-hover:color-mix(in srgb, var(--formal-danger-bg) 75%, var(--formal-danger))}body{min-width:320px;color:var(--text);background:var(--app-bg);margin:0;font-size:13px}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.secondary-button:disabled,.primary-button:disabled{opacity:1;border-color:var(--border);background:var(--panel-soft);color:var(--muted)}.file-input{display:none}.app-shell{grid-template-columns:168px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--panel);padding:16px 8px}.brand{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:0 6px 14px;display:flex}.brand img{width:144px;height:auto}nav{gap:4px;margin-top:14px;display:grid}.nav-button,.secondary-button,.primary-button,.danger-button{min-height:32px;color:var(--text);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.nav-button{justify-content:flex-start;width:100%;padding:0 8px}.nav-button:hover,.nav-button.active{background:var(--accent-soft)}.secondary-button{border-color:var(--border);background:var(--panel)}.secondary-button:hover{background:var(--accent-soft)}.primary-button{background:var(--accent);color:#fff}:root[data-theme=dark] .primary-button{color:#111318}.primary-button:hover{background:#2c2c2c}:root[data-theme=dark] .primary-button:hover{background:#d4d4d8}.primary-button:disabled,:root[data-theme=dark] .primary-button:disabled,.secondary-button:disabled,:root[data-theme=dark] .secondary-button:disabled{background:var(--panel-soft);color:var(--muted);border-color:var(--border);opacity:1}.secondary-button:disabled:hover,.primary-button:disabled:hover{background:var(--panel-soft);color:var(--muted)}.danger-button{color:var(--red);background:#fff;border-color:#f1c4c0}.danger-button:hover{background:#fdebea}.danger-button:disabled{color:#c9a2a0;background:#fff}:root[data-theme=dark] .danger-button{border-color:var(--danger-border);background:var(--danger-bg);color:var(--red)}:root[data-theme=dark] .danger-button:hover{background:var(--danger-hover)}:root[data-theme=dark] .danger-button:disabled{background:var(--panel-soft);color:#8f6266}.main{min-width:0;padding:18px}.main.object-workbench-main{flex-direction:column;width:100%;max-width:100%;height:100dvh;min-height:0;display:flex;overflow:hidden}.main.object-workbench-main>.topbar,.main.object-workbench-main>.notice{flex:none;min-width:0;max-width:100%}.main.object-workbench-main>.object-workbench{flex:auto;width:100%;min-width:0;max-width:100%;height:auto;min-height:0}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.eyebrow{color:var(--muted);margin:0 0 5px;font-size:12px}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:24px;line-height:1.25}h2{margin-bottom:0;font-size:15px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.topbar-toggle button{min-width:34px;padding:0 8px}.notice{color:#654200;background:#fff9e8;border:1px solid #f0d48a;border-radius:6px;margin-bottom:12px;padding:8px 10px}:root[data-theme=dark] .notice{color:#fde68a;background:#2a220d;border-color:#7c5c18}.workspace{gap:12px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.metric-card,.panel{border:1px solid var(--border);background:var(--panel);border-radius:8px}.metric-card{padding:12px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{margin:5px 0;font-size:24px;line-height:1.2;display:block}.subtle{color:var(--muted);margin:4px 0 0;line-height:1.45}.inline-actions,.filter-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.filter-row label{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:0 10px;display:inline-flex}:root[data-theme=dark] .filter-row label{background:var(--panel)}.filter-row input,.review-form input{min-width:0;font:inherit;background:0 0;border:0;outline:0}.project-source-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.project-definition-panel,.project-source-panel{min-width:0}.topbar-project-select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;min-width:180px;padding:4px 8px;font-size:13px}.upload-progress-bar{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;padding:3px}.upload-progress-fill{background:var(--accent);color:#fff;text-align:right;white-space:nowrap;border-radius:4px;min-width:0;height:18px;padding-right:6px;font-size:11px;font-weight:600;line-height:18px;transition:width .3s}.upload-progress-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.5;overflow:hidden}.project-form-stack{gap:10px;display:grid}.form-field{gap:5px;min-width:0;display:grid}.form-field span{color:var(--muted);font-size:12px}:root[data-theme=dark] .bulk-action-row .primary-button{background:var(--accent);color:#111318;border-color:#0000}:root[data-theme=dark] .bulk-action-row .primary-button:hover{background:#d4d4d8}:root[data-theme=dark] .bulk-action-row .secondary-button{background:var(--panel);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .bulk-action-row .secondary-button:hover{background:var(--accent-soft)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:6px;padding:0 9px}.filter-row label,.secondary-button,.source-file-row:hover,.source-file-row.active,.batch-progress,.context-result,.drawer,.review-form,.graph-node,.source-file-row,th{background-color:var(--panel);color:var(--text)}.progress-track{background:var(--accent-soft)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--panel);color:var(--text)}.form-field input,.form-field select{height:30px}.project-edit-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;display:grid}.form-field textarea{resize:vertical;min-height:66px;padding:7px 9px}.project-summary{min-width:150px;color:var(--muted);gap:3px;font-size:12px;display:grid}.project-summary strong{color:var(--text);font-size:13px}.project-actions-row{justify-content:space-between;align-items:end;gap:10px;display:flex}.project-danger-zone{justify-items:end;gap:4px;display:grid}.project-danger-zone span{color:var(--muted);font-size:11px}.model-settings-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:12px;display:grid}.model-menu-panel{position:sticky;top:18px}.model-settings-content{min-width:0}.skill-settings-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:12px;display:grid}.model-config-card,.skill-config-card,.skill-intro-panel{gap:12px;padding:14px;display:grid}.skill-intro-panel{align-content:start}.skill-menu-panel{gap:12px;display:grid}.skill-settings-content{min-width:0}.skill-note{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:6px;padding:10px;font-size:12px;line-height:1.7}.skill-upload-box{border:1px dashed var(--border);background:var(--panel-soft);border-radius:6px;gap:8px;padding:10px;display:grid}.skill-upload-box p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.skill-menu-list{max-height:calc(100vh - 330px);padding-right:2px;overflow:auto}.skill-menu-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.skill-state-dot{min-width:42px}.skill-state-dot.enabled{color:#15803d;background:#22c55e24}.skill-state-dot.disabled{color:#64748b;background:#64748b24}.model-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.model-form-grid .form-field{align-content:start}.model-key-field{grid-column:1/-1}.prompt-editor-grid{gap:10px;display:grid}.prompt-editor-grid textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.skill-content-field textarea{min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.model-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.model-card-footer span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.skill-footer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-workspace{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:12px;display:grid}.settings-menu-panel{position:sticky;top:18px}.settings-menu-list{gap:6px;display:grid}.settings-menu-item{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.settings-menu-item:hover,.settings-menu-item.active{border-color:var(--accent);background:var(--accent-soft)}.settings-menu-item span{gap:2px;min-width:0;display:grid}.settings-menu-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.settings-menu-item em{background:var(--panel-soft);min-width:24px;color:var(--muted);text-align:center;border-radius:12px;font-size:11px;font-style:normal;line-height:22px}.settings-content{min-width:0}.settings-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:12px;display:grid}.standard-list-panel,.target-editor-panel{gap:10px;display:grid}.standard-list-toolbar{align-items:center;gap:8px;display:flex}.standard-list-toolbar .search-field{flex:1}.standard-table-wrap{border:1px solid var(--border);border-radius:6px;min-height:360px;max-height:calc(100vh - 250px);overflow:auto}.standard-list-table{border-collapse:collapse;table-layout:auto;width:100%}.standard-list-table th,.standard-list-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 9px}.standard-list-table th{z-index:1;background:var(--panel);color:var(--muted);font-size:12px;position:sticky;top:0}.standard-list-table tr{cursor:pointer}.standard-list-table tbody tr:hover,.standard-list-table tbody tr.active-table-row{background:var(--accent-soft)}.plus-icon{justify-content:center;align-items:center;width:14px;height:14px;font-size:16px;line-height:1;display:inline-flex}.target-form-grid{grid-template-columns:minmax(0,1.1fr) minmax(120px,.7fr);gap:8px;display:grid}.target-notes-field{grid-column:1/-1}.target-card-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}:root[data-theme=dark] .settings-menu-item{background:var(--panel);color:var(--text)}:root[data-theme=dark] .settings-menu-item:hover,:root[data-theme=dark] .settings-menu-item.active,:root[data-theme=dark] .standard-list-table tbody tr:hover,:root[data-theme=dark] .standard-list-table tbody tr.active-table-row{background:var(--panel-soft)}:root[data-theme=dark] .standard-list-table th{background:var(--panel)}.source-file-list{gap:6px;display:grid}.source-file-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;align-items:center;gap:8px;padding:7px 8px;display:flex}.source-file-row.active,.source-file-row:hover{background:#fff;border-color:#111}:root[data-theme=dark] .source-file-row.active,:root[data-theme=dark] .source-file-row:hover,:root[data-theme=dark] .selectable-row:hover,:root[data-theme=dark] .selectable-row.active{border-color:var(--accent);background:var(--panel-soft)}.source-file-pick{cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.selectable-row,.source-file-pick{width:100%;color:inherit;text-align:left}.selectable-row:hover,.selectable-row.active{background:#fff;border-color:#111}.source-file-row div,.source-file-pick div{flex:1;gap:2px;min-width:0;display:grid}.source-file-row strong,.source-file-row span,.source-file-pick strong,.source-file-pick span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-file-row span,.source-file-pick span{color:var(--muted);font-size:12px}.split-layout,.graph-layout,.classification-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.classification-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}.panel{padding:12px}.pipeline-section{--pipeline-done:#0f766e;--pipeline-current:#2563eb;--pipeline-todo:#66717d;min-width:0;margin:12px 0}.pipeline-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.pipeline-heading{gap:4px;min-width:0;display:grid}.pipeline-kicker{color:var(--pipeline-done);letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:600}.pipeline-heading h2{margin:0;font-size:16px;font-weight:600}.pipeline-heading p{max-width:720px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.pipeline-legend{white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;font-size:11px;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.legend-item:before{content:"";border-radius:2px;width:8px;height:8px}.legend-done:before{background:var(--pipeline-done)}.legend-current:before{background:var(--pipeline-current)}.legend-todo:before{background:var(--pipeline-todo)}.pipeline-flow{background:var(--panel-soft);border:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:6px;align-items:stretch;gap:0;min-height:280px;padding:12px;display:flex;overflow-x:auto}.pipeline-phase{--pipeline-tone:var(--pipeline-todo);border:1px solid var(--border);border-top:3px solid var(--pipeline-tone);background:var(--panel);border-radius:4px;flex-direction:column;flex:1 0 184px;gap:8px;min-width:184px;padding:12px;display:flex}.pipeline-phase.done{--pipeline-tone:var(--pipeline-done)}.pipeline-phase.current{--pipeline-tone:var(--pipeline-current)}.phase-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:8px;display:flex}.phase-index{color:var(--muted);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.phase-icon{color:var(--pipeline-tone);align-items:center;display:flex}.phase-title{color:var(--text);flex:1;font-size:13px;font-weight:600}.phase-badge{min-height:20px;color:var(--pipeline-tone);border:1px solid;border-radius:3px;padding:0 4px;font-size:10px;font-weight:600}.phase-note{min-height:40px;color:var(--muted);margin:0;font-size:11px;line-height:1.45}.phase-steps{flex-direction:column;flex:1;gap:4px;display:flex}.phase-step{--step-tone:var(--pipeline-todo);border-left:2px solid var(--step-tone);background:color-mix(in srgb, var(--step-tone) 6%, var(--panel));min-height:28px;color:var(--text);border-radius:0 3px 3px 0;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.phase-step.done{--step-tone:var(--pipeline-done)}.phase-step.current{--step-tone:var(--pipeline-current)}.step-dot{border:1px solid var(--step-tone);border-radius:1px;flex-shrink:0;width:6px;height:6px}.phase-step.done .step-dot{background:var(--step-tone)}.step-label{line-height:1.3}.phase-connector-wrapper{flex-shrink:0;align-items:center;padding:0 4px;display:flex}.phase-connector{--connector-tone:var(--pipeline-todo);background:var(--connector-tone);border-radius:1px;width:20px;height:1px;position:relative}.phase-connector:after{content:"";border-left:5px solid var(--connector-tone);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute;top:-3px;right:-2px}.phase-connector.done{--connector-tone:var(--pipeline-done)}.phase-connector.current{--connector-tone:var(--pipeline-current)}@media (width<=960px){.pipeline-header{flex-direction:column;align-items:flex-start}.pipeline-legend{justify-content:flex-start}.pipeline-phase{flex-basis:176px;min-width:176px;padding:8px}.phase-connector{width:12px}}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.compact-header{margin-bottom:10px}select{border:1px solid var(--border);background:#fff;border-radius:6px;height:30px;padding:0 8px}:root[data-theme=dark] select{background:var(--panel);color:var(--text)}.service-list,.task-list,.step-list,.classification-tree{gap:8px;display:grid}.service-row,.task-row,.step-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.task-row p,.step-row p,.body-copy{color:var(--muted);margin-bottom:0;line-height:1.45}.task-row .secondary-button{min-width:58px}.step-row{justify-content:flex-start}.step-row>span{color:#fff;background:#111;border-radius:17px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;display:inline-flex}:root[data-theme=dark] .step-row>span{color:#111318;background:var(--accent)}.tree-row{border:1px solid var(--border);background:var(--panel-soft);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 10px;display:flex}.tree-row:hover,.tree-row.active{background:#fff;border-color:#111}:root[data-theme=dark] .tree-row:hover,:root[data-theme=dark] .tree-row.active{border-color:var(--accent);background:var(--panel-soft)}.tree-row div{gap:4px;min-width:0;display:grid}.tree-row strong,.tree-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-row span{color:var(--muted);font-size:12px}.tree-row em{background:var(--accent-soft);color:#333;border-radius:12px;justify-content:center;align-items:center;min-width:28px;height:24px;font-size:12px;font-style:normal;display:inline-flex}:root[data-theme=dark] .tree-row em{color:var(--text)}.status-badge{white-space:nowrap;color:#444;background:#eee;border-radius:999px;align-items:center;padding:3px 7px;font-size:11px;display:inline-flex}:root[data-theme=dark] .status-badge{color:#d4d4d8;background:#2f333b}.status-badge.ok,.status-badge.ready,.status-badge.generated,.status-badge.split,.status-badge.done,.status-badge.completed,.status-badge.accepted,.status-badge.deployed,.status-badge.test_passed{color:var(--green);background:#e7f7ee}:root[data-theme=dark] .status-badge.ok,:root[data-theme=dark] .status-badge.ready,:root[data-theme=dark] .status-badge.generated,:root[data-theme=dark] .status-badge.split,:root[data-theme=dark] .status-badge.done,:root[data-theme=dark] .status-badge.completed,:root[data-theme=dark] .status-badge.accepted,:root[data-theme=dark] .status-badge.deployed,:root[data-theme=dark] .status-badge.test_passed{color:var(--green);background:#10281c}.status-badge.needs_review,.status-badge.queued,.status-badge.test_queued,.status-badge.deploy_queued,.status-badge.pending,.status-badge.uploaded,.status-badge.plan_ready,.status-badge.patch_ready,.status-badge.branch_pushed,.status-badge.pr_created{color:var(--amber);background:#fff2cc}:root[data-theme=dark] .status-badge.needs_review,:root[data-theme=dark] .status-badge.queued,:root[data-theme=dark] .status-badge.test_queued,:root[data-theme=dark] .status-badge.deploy_queued,:root[data-theme=dark] .status-badge.pending,:root[data-theme=dark] .status-badge.uploaded,:root[data-theme=dark] .status-badge.plan_ready,:root[data-theme=dark] .status-badge.patch_ready,:root[data-theme=dark] .status-badge.branch_pushed,:root[data-theme=dark] .status-badge.pr_created{color:var(--amber);background:#30260d}.status-badge.running,.status-badge.testing,.status-badge.deploying,.status-badge.candidate_ready,.status-badge.pr_merged{color:var(--blue);background:#eaf0ff}:root[data-theme=dark] .status-badge.running,:root[data-theme=dark] .status-badge.testing,:root[data-theme=dark] .status-badge.deploying,:root[data-theme=dark] .status-badge.candidate_ready,:root[data-theme=dark] .status-badge.pr_merged{color:var(--blue);background:#14233f}.status-badge.error,.status-badge.failed,.status-badge.test_failed,.status-badge.deploy_failed,.status-badge.codex_review_failed{color:var(--red);background:#fdebea}.status-badge.ignored{color:var(--muted);background:#eef0f3}:root[data-theme=dark] .status-badge.error,:root[data-theme=dark] .status-badge.failed,:root[data-theme=dark] .status-badge.test_failed,:root[data-theme=dark] .status-badge.deploy_failed,:root[data-theme=dark] .status-badge.codex_review_failed{color:var(--red);background:#351b1f}:root[data-theme=dark] .status-badge.ignored{color:var(--muted);background:#20242d}.status-badge.info{background:var(--formal-info-bg);color:var(--formal-info)}.status-badge.success{background:var(--formal-success-bg);color:var(--formal-success)}.status-badge.warning{background:var(--formal-warning-bg);color:var(--formal-warning)}.status-badge.danger{background:var(--formal-danger-bg);color:var(--formal-danger)}.status-badge.neutral{background:var(--formal-neutral-bg);color:var(--formal-neutral)}.batch-bar{min-height:34px;color:var(--muted);align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.batch-progress{border:1px solid var(--border);background:#fff;border-radius:6px;gap:7px;margin-bottom:10px;padding:9px 10px;display:grid}.batch-progress-header{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.batch-progress-header span,.batch-progress-detail{color:var(--muted)}.progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s}.batch-progress.done .progress-fill{background:var(--green)}.batch-progress.failed .progress-fill{background:var(--red)}.batch-progress-detail{font-size:12px}.context-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.context-result{border:1px solid var(--border);min-height:220px;color:var(--text);white-space:pre-wrap;background:#fafafa;border-radius:6px;padding:12px;font-size:12px;line-height:1.55;overflow:auto}.context-hint{color:var(--muted);margin:12px 0;font-size:13px;line-height:1.5}.drawing-workspace-dialog{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.drawing-workspace-dialog-body{min-height:0;padding:16px;overflow-y:auto}.drawing-workspace-dialog>.object-edit-modal-body,.drawing-workspace-dialog>.object-review-action-modal-body,.drawing-workspace-dialog>.identity-resolution-body{padding:16px}.candidate-modal{max-width:520px}.codex-review-modal{width:min(1120px,100vw - 48px)}.codex-review-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px;min-height:0;display:grid;overflow:hidden}.codex-review-grid>div{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.review-table-full{border:1px solid var(--border);border-radius:8px;margin:8px 0;font-size:13px;overflow:hidden}.comparison-header{background:var(--panel-soft);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.comparison-title{font-weight:600}.comparison-summary{color:var(--muted);font-size:12px}.review-table{border-collapse:collapse;table-layout:fixed;width:100%}.review-table th{background:var(--panel-soft);text-align:left;border-bottom:2px solid var(--border);z-index:1;padding:8px 10px;font-size:12px;font-weight:600;position:sticky;top:0}.review-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:6px 10px;font-size:12px}.review-table tbody tr:last-child td{border-bottom:none}.col-type{width:110px}.col-item{word-break:break-word;overflow-wrap:break-word;white-space:normal;width:160px}.col-reason{word-break:break-word;overflow-wrap:break-word;white-space:normal;width:auto}.type-badge{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.review-table tbody{max-height:480px;display:block;overflow-y:auto}.review-table thead,.review-table tbody tr{table-layout:fixed;width:100%;display:table}.section-delete td{background:#fff5f5}.section-add td{background:#f0fff4}.section-modify td{background:ivory}.section-dedup td{background:#f7fafc}.section-summary td{background:#faf5ff}.section-keep td{background:#f0fff4}.section-suggestions td{background:#ebf8ff}.section-delete .type-badge{color:#c53030;background:#fde8e8}.section-add .type-badge{color:#276749;background:#e6ffed}.section-modify .type-badge{color:#975a16;background:#fefcbf}.section-dedup .type-badge{color:#4a5568;background:#e2e8f0}.section-summary .type-badge{color:#6b46c1;background:#faf5ff}.section-keep .type-badge{color:#38a169;background:#f0fff4}.section-suggestions .type-badge{color:#2b6cb0;background:#ebf8ff}:root[data-theme=dark] .section-delete td{background:#1a0f0f}:root[data-theme=dark] .section-add td{background:#0f1a14}:root[data-theme=dark] .section-modify td{background:#1a180a}:root[data-theme=dark] .section-dedup td{background:#1a1f24}:root[data-theme=dark] .section-summary td{background:#1a1530}:root[data-theme=dark] .section-keep td{background:#0f1a14}:root[data-theme=dark] .section-suggestions td{background:#0f1a2e}:root[data-theme=dark] .section-delete .type-badge{color:#fc8181;background:#3b1c1c}:root[data-theme=dark] .section-add .type-badge{color:#68d391;background:#1c3b2a}:root[data-theme=dark] .section-modify .type-badge{color:#f6e05e;background:#3b3410}:root[data-theme=dark] .section-dedup .type-badge{color:#a0aec0;background:#2d3748}:root[data-theme=dark] .section-summary .type-badge{color:#b794f4;background:#322659}:root[data-theme=dark] .section-keep .type-badge{color:#68d391;background:#1c3b2a}:root[data-theme=dark] .section-suggestions .type-badge{color:#90cdf4;background:#1a365d}.review-markdown{font-size:13px}.success-hint{color:#15803d;background:#16a34a14;border:1px solid #16a34a3d;border-radius:6px;padding:8px 10px;font-size:12px}.candidate-progress{flex-direction:column;gap:12px;padding:12px 0;display:flex}.progress-track{background:var(--panel-soft);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}:root[data-theme=dark] .progress-track{background:#20242c}:root[data-theme=dark] .progress-fill{background:#f4f4f5}.progress-label{color:var(--text);font-size:13px}.error-hint{color:var(--red);font-size:12px}.annotation-dialog-modal{max-width:480px}.annotation-dialog-thumb{object-fit:contain;border:1px solid var(--border);border-radius:6px;width:100%;max-height:200px;margin:8px 0 12px}.annotation-list-section{flex-direction:column;flex:1;min-height:0;display:flex}.annotation-list-section .section-title-row{flex-shrink:0}.iteration-status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:4px;display:inline-block}.issue-row.in-iteration{border-left:3px solid var(--accent)}:root[data-theme=dark] .issue-row.in-iteration{border-left-color:#f4f4f5}.row-count{color:var(--muted);flex:none;font-size:12px}.mini-button{width:30px;min-width:30px;height:30px;padding:0}.table-wrap{overflow-x:auto}.toolbar-row,.bulk-action-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.bulk-action-row{color:var(--muted);justify-content:flex-start;font-size:12px}.search-field{border:1px solid var(--border);background:var(--panel);border-radius:6px;align-items:center;gap:7px;min-width:260px;padding:0 9px;display:inline-flex}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:none;padding:8px 0}.compact-search{flex:320px}table{table-layout:auto;border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;min-width:80px;padding:8px 9px;font-size:13px;overflow:hidden}th{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;resize:horizontal;background:#fafafa;min-width:96px;max-width:720px;font-weight:500;overflow:hidden}.sortable-th{width:100%;min-height:18px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:6px;padding:0;display:flex}.sortable-th span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sort-indicator{color:var(--muted);flex:none;font-size:11px}.sortable-th.active .sort-indicator{color:var(--text)}.active-table-row td,:root[data-theme=dark] th{background:var(--panel-soft)}.cell-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}col{min-width:96px}.col-rds-name{width:clamp(160px,18vw,260px)}.col-rds-aspect,.col-rds-status{width:120px}.col-rds-code{width:clamp(360px,54vw,820px)}.col-check{width:46px}.col-page{width:56px}.col-drawing-no{width:230px}.col-drawing-name{width:260px}.col-project,.col-source{width:240px}.col-date{width:96px}.col-code,.col-status{width:86px}.col-action{width:120px}.iteration-module{grid-template-columns:minmax(620px,1fr) minmax(360px,440px);align-items:start;gap:14px;display:grid}.phase23-iteration-module{grid-template-columns:minmax(320px,.82fr) minmax(430px,1.08fr) minmax(310px,.76fr);align-items:start;gap:14px;display:grid}.evidence-panel,.iteration-batch-panel,.issue-backlog-panel{min-width:0}@media (width>=1451px){.formal-content-host.iteration-workspace-main{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.formal-content-host.iteration-workspace-main>.topbar,.formal-content-host.iteration-workspace-main>.notice{flex:none}.formal-content-host.iteration-workspace-main>.phase23-iteration-module{flex:auto;align-items:stretch;min-height:0}.phase23-iteration-module>.evidence-panel,.phase23-iteration-module>.iteration-batch-panel,.phase23-iteration-module>.issue-backlog-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.phase23-iteration-module .evidence-list,.phase23-iteration-module .iteration-batch-list,.phase23-iteration-module .issue-backlog-list{flex:1 1 0;align-content:start;min-height:0;max-height:none;overflow-y:auto}.phase23-iteration-module .iteration-job-history{flex:none;max-height:45%;overflow-y:auto}}.issue-backlog-panel .panel-header h2{align-items:center;gap:6px;display:flex}.evidence-count-row,.evidence-filter-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.evidence-count-row button{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:999px;padding:6px 10px}.evidence-count-row button.active{border-color:var(--text);color:var(--text);background:var(--panel)}.evidence-filter-row .search-field{flex:1}.evidence-filter-row select{max-width:220px}.evidence-list,.iteration-batch-list,.issue-backlog-list{gap:8px;max-height:calc(100vh - 320px);padding-right:4px;display:grid;overflow:auto}.evidence-relation-group{gap:6px;display:grid}.evidence-relation-group.related{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 5%, var(--panel));border-radius:12px;padding:7px}.evidence-group-label{color:var(--muted);font-size:12px;font-weight:700}.evidence-card,.iteration-batch-card{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:7px;gap:5px;padding:10px;display:grid}.evidence-card:hover,.iteration-batch-card:hover{border-color:var(--text);background:var(--panel-soft)}.evidence-card-head,.iteration-batch-card>span:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.evidence-reason-tag{--reason-tag-color:var(--muted);border:1px solid color-mix(in srgb, var(--reason-tag-color) 30%, transparent);background:color-mix(in srgb, var(--reason-tag-color) 10%, var(--panel));width:fit-content;color:var(--reason-tag-color);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 7px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.evidence-reason-tag.tone-danger{--reason-tag-color:#c2413a}.evidence-reason-tag.tone-accent{--reason-tag-color:#2563a9}.evidence-reason-tag.tone-success{--reason-tag-color:#2f7d4f}.evidence-reason-tag.tone-warning{--reason-tag-color:#a16107}.evidence-reason-tag.tone-neutral{--reason-tag-color:var(--muted)}:root[data-theme=dark] .evidence-reason-tag.tone-danger{--reason-tag-color:#ff8a80}:root[data-theme=dark] .evidence-reason-tag.tone-accent{--reason-tag-color:#78b7ff}:root[data-theme=dark] .evidence-reason-tag.tone-success{--reason-tag-color:#7bd59f}:root[data-theme=dark] .evidence-reason-tag.tone-warning{--reason-tag-color:#f2ba62}.evidence-card>span:not(.evidence-card-head),.iteration-batch-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.evidence-card small,.iteration-batch-card>span:nth-child(2),.iteration-batch-card small{color:var(--muted);font-size:12px}.acceptance-state{background:var(--panel-soft);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;padding:4px 7px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.acceptance-state.is-pending{background:color-mix(in srgb, var(--amber) 14%, var(--panel));color:var(--amber)}.acceptance-state.is-approved{background:color-mix(in srgb, var(--green) 14%, var(--panel));color:var(--green)}.acceptance-state.is-rejected{background:color-mix(in srgb, var(--red) 13%, var(--panel));color:var(--red)}.iteration-job-history{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.iteration-job-history summary{color:var(--muted);cursor:pointer;font-size:12px}.iteration-job-history-row{border-bottom:1px solid var(--border);grid-template-columns:auto 72px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;font-size:12px;display:grid}.iteration-job-history-row span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.issue-filter-row{grid-template-columns:minmax(0,1fr) minmax(112px,.42fr);gap:8px;margin-bottom:10px;display:grid}.issue-filter-row select{width:100%}.issue-backlog-card{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:7px;gap:5px;padding:9px 10px;display:grid}.issue-backlog-card:hover{border-color:var(--text);background:var(--panel-soft)}.issue-card-head,.issue-card-meta{align-items:center;gap:7px;display:flex}.issue-card-head{justify-content:space-between}.issue-card-head code{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.issue-card-meta{color:var(--muted);flex-wrap:wrap;font-size:11px}.issue-card-meta span{background:var(--panel-soft);border-radius:999px;padding:2px 6px}.issue-backlog-card>small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.issue-priority{border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.issue-priority.is-p0{color:#dc2626;border-color:#dc2626}.issue-priority.is-p1{color:#c2410c;border-color:#ea580c}.issue-priority.is-p2{color:#a16207;border-color:#ca8a04}.issue-create-modal{width:min(680px,100vw - 40px)}.issue-detail-modal{width:min(980px,100vw - 40px);height:min(880px,100dvh - 48px)}.issue-description-input{min-height:180px!important}.info-banner,.issue-codex-progress{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--panel));color:var(--text);border-radius:7px;padding:9px 10px;line-height:1.45}.issue-codex-progress{color:var(--muted);align-items:center;gap:8px;display:flex}.issue-codex-progress svg{animation:1.2s linear infinite issue-codex-spin}@keyframes issue-codex-spin{to{transform:rotate(360deg)}}.issue-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.issue-detail-form{gap:12px}.issue-baseline-details{border:1px solid var(--border);border-radius:7px;padding:9px 10px}.issue-baseline-details summary{cursor:pointer;font-weight:700}.issue-baseline-details dl{gap:6px;margin:10px 0 0;display:grid}.issue-baseline-details dl>div{border-top:1px solid var(--border);grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:10px;padding-top:6px;display:grid}.issue-baseline-details dt{color:var(--muted)}.issue-baseline-details dd{overflow-wrap:anywhere;margin:0}.issue-detail-actions .danger-button{margin-right:auto}.evidence-edit-modal,.batch-detail-modal{width:min(980px,100vw - 40px)}.batch-detail-modal{height:min(900px,100dvh - 48px);max-height:calc(100dvh - 48px)}.proposal-confirm-modal{width:min(920px,100vw - 40px);height:min(900px,100dvh - 48px);max-height:calc(100dvh - 48px)}.phase23-modal{border:1px solid var(--border);background:var(--panel);max-height:min(820px,100dvh - 48px);color:var(--text);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 24px 72px #0f172a3d}.phase23-modal.proposal-confirm-modal{max-height:min(900px,100dvh - 48px)}.phase23-modal .formal-dialog-header{border-bottom:1px solid var(--border);min-width:0;padding:16px 18px 12px}.phase23-modal .formal-dialog-header>div{min-width:0}.phase23-modal .formal-dialog-header h2{margin:0;font-size:18px;line-height:1.3}.phase23-modal .formal-dialog-header p{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.phase23-modal-body{overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding:16px 18px;display:grid;overflow-y:auto}.phase23-modal>.formal-dialog-footer{border-top:1px solid var(--border);background:var(--panel);justify-content:flex-end;padding:12px 18px 16px}:root[data-theme=dark] .phase23-modal{box-shadow:0 24px 72px #00000085}.proposal-confirm-body .warning-banner,.proposal-confirm-body .proposal-picker,.proposal-confirm-body .proposal-evidence-section,.proposal-confirm-body .proposal-control-list{margin:0}.proposal-confirm-body{flex-direction:column;display:flex;overflow-y:auto}.proposal-candidate-summary,.proposal-picker{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:6px;padding:8px;display:grid}.proposal-candidate-summary>span,.proposal-picker>strong+div+span{color:var(--muted);font-size:12px}.proposal-candidate-summary>div,.proposal-picker>div{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;display:grid}.proposal-candidate-summary button,.proposal-picker button{border:1px solid var(--border);background:var(--panel);min-width:0;color:var(--text);text-align:left;border-radius:7px;gap:2px;padding:7px 9px;display:grid}.proposal-candidate-summary button:hover,.proposal-picker button:hover,.proposal-picker button.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.proposal-candidate-summary button span,.proposal-picker button span{color:var(--muted);font-size:11px}.proposal-picker button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.proposal-prompt-field{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;flex:240px;grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:210px;padding:10px;display:grid}.proposal-prompt-field textarea{resize:none;width:100%;height:100%;min-height:150px}.evidence-disposition-options{border:1px solid var(--border);border-radius:7px;gap:16px;padding:10px;display:flex}.evidence-disposition-options legend{color:var(--muted);padding:0 4px;font-size:12px}.evidence-disposition-options label,.checkbox-row{align-items:center;gap:6px;display:flex}.proposal-evidence-list,.batch-event-list{gap:7px;margin:10px 0;display:grid}.proposal-evidence-section{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;flex:0 0 min(190px,22dvh);grid-template-rows:auto minmax(0,1fr);gap:7px;min-height:120px;max-height:min(190px,22dvh);padding:9px;display:grid;overflow:hidden}.proposal-section-heading{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.proposal-section-heading span{color:var(--muted);font-variant-numeric:tabular-nums}.proposal-evidence-list{overscroll-behavior:contain;min-height:0;max-height:none;margin:0;padding-right:4px;overflow-y:auto}.proposal-evidence-list>label,.batch-event-list>div{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;padding:9px;display:grid}.proposal-evidence-list>label{align-items:start;gap:8px;min-height:44px;max-height:58px;padding:5px 7px;overflow:hidden}.proposal-evidence-list>label>div{gap:2px;min-width:0;display:grid}.proposal-evidence-copy strong,.proposal-evidence-copy span,.proposal-evidence-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proposal-evidence-copy>strong{justify-content:space-between;align-items:center;gap:8px;display:flex}.proposal-evidence-identity{align-items:center;gap:7px;min-width:0;display:flex}.proposal-evidence-list .proposal-evidence-drawing{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.proposal-evidence-copy>strong>small{color:var(--muted);flex:none;font-size:11px;font-weight:600}.proposal-evidence-copy small{color:var(--muted);font-size:11px}.proposal-control-list{border:1px dashed var(--border);color:var(--muted);border-radius:7px;gap:5px;max-height:84px;margin:10px 0;padding:10px;font-size:12px;display:grid;overflow-y:auto}.proposal-evidence-list span,.batch-event-list span{color:var(--muted)}.proposal-evidence-list .evidence-reason-tag{color:var(--reason-tag-color)}.batch-event-list progress{grid-column:1/-1;width:100%}.batch-prompt-panel{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.batch-baseline-panel{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.batch-baseline-panel span{color:var(--text);font-size:13px}.batch-baseline-panel small{color:var(--muted)}.batch-prompt-panel pre{max-width:100%;color:var(--text);white-space:pre-wrap;word-break:break-word;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1.6;overflow:visible}.batch-failure-explanation{color:#8f2d25;background:#fff2f0;border:1px solid #e79b94;border-radius:9px;gap:9px;padding:12px;display:grid}.batch-failure-explanation>div{gap:5px;display:grid}.batch-failure-explanation p{color:var(--text);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55}.batch-failure-explanation p span,.batch-failure-explanation small{color:var(--muted)}:root[data-theme=dark] .batch-failure-explanation{color:#ffaaa2;background:#2d1b1a;border-color:#7f3c38}.batch-acceptance-panel{border:1px solid var(--border);background:var(--panel-soft);border-radius:10px;gap:9px;padding:12px;display:grid}.batch-acceptance-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.batch-acceptance-panel p{margin:0}.batch-acceptance-note{gap:6px;display:grid}.batch-acceptance-note textarea{resize:vertical;min-height:76px}.batch-system-diagnosis{color:#164d7b;background:#eef7ff;border:1px solid #8fb6df;border-radius:8px;gap:6px;padding:9px 10px;font-size:13px;display:grid}.batch-system-diagnosis ul{color:var(--text);gap:4px;margin:0;padding-left:20px;display:grid}:root[data-theme=dark] .batch-system-diagnosis{color:#a9d4ff;background:#14283a;border-color:#315f89}.batch-acceptance-result{white-space:pre-wrap}.batch-acceptance-actions{flex-wrap:wrap}.warning-banner{color:#765000;background:#fff8e5;border:1px solid #e4b74d;border-radius:7px;padding:9px 10px}.deployment-warning{margin-bottom:10px;font-weight:700;line-height:1.45}:root[data-theme=dark] .warning-banner{color:#ffd879;background:#2a2418}@media (width<=1450px){.phase23-iteration-module{grid-template-columns:minmax(340px,.85fr) minmax(480px,1.15fr)}.issue-backlog-panel{grid-column:2}}@media (width<=1180px){.phase23-iteration-module{grid-template-columns:1fr}.evidence-list,.iteration-batch-list,.issue-backlog-list{max-height:520px}.issue-backlog-panel{grid-column:auto}}@media (width<=680px){.evidence-edit-modal,.proposal-confirm-modal,.batch-detail-modal,.issue-create-modal,.issue-detail-modal{width:100%}.issue-form-grid{grid-template-columns:1fr}.phase23-modal{max-height:calc(100dvh - 24px)}.proposal-confirm-modal{height:calc(100dvh - 24px)}.proposal-confirm-body{overflow-y:auto}.proposal-evidence-list{max-height:none}.proposal-evidence-section{flex-basis:190px;min-height:128px;max-height:190px}.proposal-prompt-field{flex-basis:300px;min-height:280px}.phase23-modal .formal-dialog-header,.phase23-modal-body{padding-left:14px;padding-right:14px}.phase23-modal>.formal-dialog-footer{flex-wrap:wrap;padding:12px 14px}.phase23-modal>.formal-dialog-footer button{flex:160px}.evidence-disposition-options{flex-wrap:wrap}}.iteration-table-wrap{max-height:calc(100vh - 330px);overflow:auto}.iteration-table-wrap table{min-width:760px}.iteration-table-wrap th:nth-child(2),.iteration-table-wrap td:nth-child(2){min-width:128px}.iteration-table-wrap th:nth-child(3),.iteration-table-wrap td:nth-child(3){min-width:150px}.iteration-table-wrap th:nth-child(4),.iteration-table-wrap td:nth-child(4){min-width:72px}.iteration-table-wrap th:nth-child(6),.iteration-table-wrap td:nth-child(6),.iteration-table-wrap th:nth-child(7),.iteration-table-wrap td:nth-child(7){min-width:94px}.iteration-detail-panel{min-width:0;position:sticky;top:16px}.iteration-detail-grid{gap:12px;display:grid}.iteration-detail-grid strong{color:var(--text);margin-bottom:6px;font-size:12px;display:block}.iteration-git-info{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:7px 10px;padding:10px;font-size:12px;display:grid}.iteration-git-info span{color:var(--muted)}.iteration-git-info code,.iteration-git-info a{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.iteration-git-info a{color:var(--blue);text-decoration:none}.iteration-detail-grid pre{overflow-wrap:anywhere;word-break:break-word;border:1px solid var(--border);background:var(--panel-soft);max-height:300px;color:var(--text);white-space:pre-wrap;border-radius:6px;padding:10px;font-size:11px;line-height:1.45;overflow:auto}@media (width<=1180px){.iteration-module{grid-template-columns:1fr}.iteration-detail-panel{position:static}}.empty-state{min-height:220px;color:var(--muted);text-align:center;border:1px dashed #d8d8d8;border-radius:8px;place-items:center;padding:20px;display:grid}.empty-state.compact{min-height:80px}.object-workbench{--workbench-panel-width:clamp(220px, 18vw, 280px);grid-template-columns:var(--workbench-grid-columns,var(--workbench-panel-width) minmax(0, 1fr) var(--workbench-panel-width) var(--workbench-panel-width));gap:12px;width:100%;min-width:0;max-width:100%;min-height:560px;display:grid;overflow:hidden}.object-workbench>*{min-width:0;max-width:100%}.object-workbench.hide-drawing-panel{grid-template-columns:minmax(520px, 1fr) var(--workbench-panel-width) var(--workbench-panel-width)}.object-workbench.hide-side-panel{grid-template-columns:var(--workbench-panel-width) minmax(520px, 1fr)}.object-workbench.hide-drawing-panel.hide-side-panel{grid-template-columns:minmax(620px,1fr)}.object-queue,.object-side-panel,.annotation-side-panel,.review-side-panel{grid-template-rows:auto auto minmax(0,1fr);min-width:0;max-width:100%;min-height:0;display:grid;overflow:hidden}.object-panel-context-stack{gap:8px;min-height:0;display:grid}.annotation-side-panel{grid-template-rows:auto minmax(0,1fr)}.review-side-panel{grid-template-rows:auto minmax(140px,1fr) minmax(210px,.85fr)}.object-filters{justify-content:stretch;margin-bottom:10px}.object-filters label,.object-filters select{width:100%}.drawing-queue-list,.object-list,.issue-list{align-content:start;gap:7px;min-height:0;display:grid;overflow:auto}.drawing-queue-row,.object-row,.issue-row{border:1px solid var(--border);background:var(--panel-soft);width:100%;color:inherit;text-align:left;border-radius:6px;gap:4px;padding:8px 9px;display:grid}.issue-row{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center}.issue-row span{grid-column:1/-1}.issue-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:6px;display:flex}.issue-actions .compact-button{flex:1;min-width:0}.drawing-queue-row:hover,.drawing-queue-row.active,.object-row:hover,.object-row.active{background:#fff;border-color:#111}:root[data-theme=dark] .drawing-queue-row:hover,:root[data-theme=dark] .drawing-queue-row.active,:root[data-theme=dark] .object-row:hover,:root[data-theme=dark] .object-row.active{background:#252a33;border-color:#f4f4f5}.object-row.candidate.active{background:#fff7ed;border-color:#ff8a00}.object-metadata-summary{background:var(--accent-soft);width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.3}:root[data-theme=dark] .object-row.candidate.active{background:#3a2612}.object-row-selectable{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;display:grid}.object-row-selectable>input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.selection-actions{justify-content:flex-start;padding:2px 0}.selection-actions .selection-count{color:var(--muted);margin-right:auto;font-size:12px}.selection-actions .secondary-button{min-height:28px;padding:0 8px;font-size:12px}.candidate-edit-form{border-top:1px solid var(--border);padding-top:9px}.candidate-edit-form h3{margin:0}.issue-row:hover,.issue-row.active{background:#fff7f7;border-color:#dc2626}:root[data-theme=dark] .issue-row:hover,:root[data-theme=dark] .issue-row.active{background:#351b1f}.object-type-group{gap:5px;padding:2px 0 4px;display:grid}.object-type-heading{z-index:1;color:#0f172a;cursor:pointer;text-align:left;background:#dbeafe;border:1px solid #aebdd1;border-left:5px solid #1d4ed8;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 9px 7px 10px;font-size:12px;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffffd6,0 1px 2px #0f172a14}.object-type-heading:hover{background:#cfe0ff;border-color:#7ea4df #7ea4df #7ea4df #1e40af}.object-type-heading span{color:#0f172a;font-weight:800}.object-type-heading small{color:#1e3a8a;background:#1e40af1f;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;font-weight:800;display:inline-flex}:root[data-theme=dark] .object-type-heading{color:#e5e7eb;background:#213754;border-color:#49627f #49627f #49627f #93c5fd;box-shadow:0 1px 2px #0000003d}:root[data-theme=dark] .object-type-heading:hover{background:#274469;border-color:#6686ac #6686ac #6686ac #bfdbfe}:root[data-theme=dark] .object-type-heading span{color:#f8fafc}:root[data-theme=dark] .object-type-heading small{color:#dbeafe;background:#93c5fd29}.drawing-queue-row strong,.drawing-queue-row small,.object-row strong,.object-row span,.issue-row strong{text-overflow:clip;white-space:normal;word-break:break-word;overflow-wrap:break-word;min-width:0;overflow:visible}.issue-row span{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.45;overflow:visible}.drawing-queue-row span,.drawing-queue-row small,.object-row span,.issue-row span{color:var(--muted);font-size:12px}.object-canvas-panel{grid-template-rows:auto minmax(0,1fr);width:100%;min-width:0;max-width:100%;min-height:0;display:grid;overflow:hidden}.canvas-shell{grid-template-rows:auto minmax(0,1fr);gap:8px;width:100%;min-width:0;max-width:100%;min-height:0;display:grid;overflow:hidden}.canvas-toolbar{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;padding-bottom:1px;display:flex;overflow:auto hidden}.canvas-toolbar>*{flex:none}.canvas-object-actions{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;align-items:center;gap:2px;min-height:34px;padding:2px;display:inline-flex}.canvas-object-actions button{white-space:nowrap;gap:4px;min-height:28px;padding:4px 7px;font-size:11px;line-height:1}.bbox-visibility-control{margin-left:auto}.bbox-layer-dot{background:0 0;border:2px solid;border-radius:2px;width:8px;height:8px}.bbox-layer-dot.candidate{color:var(--bbox-candidate-stroke)}.bbox-layer-dot.formal{color:var(--bbox-formal-stroke)}.bbox-visibility-control button.active .bbox-layer-dot{background:currentColor}.segmented-control,.canvas-zoom-controls{border:1px solid var(--border);background:#f7f7f8;border-radius:7px;align-items:center;gap:2px;min-height:30px;padding:2px;display:inline-flex}:root[data-theme=dark] .segmented-control,:root[data-theme=dark] .canvas-zoom-controls{background:var(--panel-soft)}.segmented-control button{min-width:34px;height:26px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.segmented-control .toolbar-icon-button{width:30px;min-width:30px;padding:0}.segmented-control button:hover,.segmented-control button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}:root[data-theme=dark] .segmented-control button:hover,:root[data-theme=dark] .segmented-control button.active{color:var(--text);box-shadow:none;background:#303640}.canvas-zoom-controls{flex:none;gap:4px;padding:2px 4px}.canvas-zoom-controls span{text-align:center;min-width:34px;color:var(--muted);font-size:12px}.drawing-canvas{border:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;background:#101010;border-radius:6px;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;position:relative;overflow:auto}.bbox-floating-actions{z-index:8;box-sizing:border-box;border:1px solid var(--accent);background:var(--panel);width:max-content;max-width:calc(100% - 20px);min-height:40px;color:var(--text);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:5px 6px 5px 10px;display:flex;position:fixed;box-shadow:0 8px 24px #00000038}.bbox-floating-actions>span{white-space:nowrap;font-size:12px;font-weight:600}.bbox-floating-actions button{min-height:28px}.preview-loading{z-index:4;color:#fff;pointer-events:none;background:#141414db;border:1px solid #ffffff2e;border-radius:7px;gap:8px;width:min(360px,100% - 24px);padding:10px 12px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 8px 24px #0000002e}.preview-loading>div:first-child{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.preview-loading span{color:#ffffffb8}.preview-loading .progress-track{background:#ffffff2e}.preview-loading .progress-fill{background:#52ff6b}.drawing-canvas.canvas-bg-dark{background:#101010}.drawing-canvas.canvas-bg-light{background:#f0f0f1}.drawing-canvas.tool-annotate,.drawing-canvas.tool-add_object{cursor:crosshair}.drawing-canvas.tool-pan{cursor:grab}.drawing-canvas.tool-pan.panning{cursor:grabbing}.drawing-page{-webkit-user-select:none;user-select:none;min-width:100%;margin:0 auto;position:relative}.drawing-page img{-webkit-user-select:none;user-select:none;background:#fff;width:100%;height:auto;display:block}.object-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.object-overlay rect{vector-effect:non-scaling-stroke}.object-box{fill:var(--bbox-formal-fill);stroke:var(--bbox-formal-stroke);stroke-width:2px;stroke-linejoin:round;pointer-events:all;cursor:pointer}.object-box:hover,.object-box:focus{stroke-width:3px;outline:none}.candidate-box{fill:var(--bbox-candidate-fill);stroke:var(--bbox-candidate-stroke);stroke-width:2px;stroke-linejoin:round;pointer-events:all;cursor:pointer}.candidate-box:hover,.candidate-box:focus{stroke-width:3px;outline:none}.object-box.merge-selected,.candidate-box.merge-selected{stroke:var(--bbox-merge-stroke);stroke-width:3px;stroke-dasharray:6 3}.selection-box{fill:none;stroke:var(--bbox-active-stroke);stroke-width:5px;stroke-dasharray:8 3;pointer-events:none}.bbox-resize-handle-layer{pointer-events:none;position:absolute;inset:0}.bbox-resize-handle{border:2px solid var(--bbox-active-stroke);background:var(--panel);cursor:nwse-resize;pointer-events:all;border-radius:50%;width:12px;height:12px;padding:0;position:absolute;transform:translate(-50%,-50%)}.bbox-resize-handle[data-bbox-handle=n],.bbox-resize-handle[data-bbox-handle=s]{cursor:ns-resize}.bbox-resize-handle[data-bbox-handle=e],.bbox-resize-handle[data-bbox-handle=w]{cursor:ew-resize}.bbox-resize-handle[data-bbox-handle=ne],.bbox-resize-handle[data-bbox-handle=sw]{cursor:nesw-resize}.draft-box{fill:none;stroke:#dc2626;stroke-width:4px;pointer-events:none}.object-tabs{grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:0;display:grid;overflow:hidden}.human-gold-status,.human-gold-notice{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--panel));color:var(--muted);border-radius:7px;padding:7px 9px;font-size:12px;line-height:1.45}.object-tab-list{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.object-tab-button{min-width:0;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;padding:7px 6px 8px;font-size:12px;display:flex}.object-tab-button:hover{color:var(--text);background:var(--panel-soft)}.object-tab-button.active{border-bottom-color:var(--accent);color:var(--text);font-weight:700}.object-tab-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.object-tab-button strong{background:var(--panel-soft);min-width:21px;height:20px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.object-tab-panel{grid-template-rows:auto minmax(0,1fr);gap:9px;min-height:0;display:grid;overflow:hidden}.object-action-bar{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;gap:8px;padding:8px;display:grid}.object-action-context{gap:2px;min-width:0;display:grid}.object-action-context strong,.object-action-context span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.object-action-context strong{font-size:12px}.object-action-context span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.object-operation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.object-operation-grid.compact-list-actions{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.object-review-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.object-review-tools button{justify-content:center;min-width:0;min-height:32px;padding:6px 7px;font-size:11px;line-height:1.25}.scoped-overlay-status-card{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 7%, var(--panel));color:var(--text);border-radius:7px;gap:4px;padding:7px 9px;font-size:11px;display:grid}.scoped-overlay-status-card>div:first-child{justify-content:space-between;gap:8px;display:flex}.scoped-overlay-status-card small{color:var(--muted);font-variant-numeric:tabular-nums}.scoped-overlay-guards{flex-wrap:wrap;gap:4px 9px;display:flex}.scoped-overlay-guards .passed{color:#15803d}.scoped-overlay-guards .failed{color:#dc2626}.review-event-list{align-content:start;gap:4px;min-height:0;display:grid;overflow:auto}.review-event-row{border:1px solid var(--border);background:var(--panel-soft);width:100%;color:inherit;text-align:left;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;padding:5px 7px;display:grid}.review-event-row:hover,.review-event-row.active{border-color:var(--accent)}.review-event-row.active{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}.review-event-row strong,.review-event-row span,.review-event-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-event-row strong{font-size:12px;line-height:1.2}.review-event-row span{grid-column:1}.review-event-row small{text-align:right;grid-area:1/2/span 2;align-self:center;max-width:92px}.review-event-row span,.review-event-row small{color:var(--muted);font-size:10px;line-height:1.2}.review-event-detail{border-top:1px solid var(--border);align-content:start;gap:9px;min-height:0;padding-top:10px;display:grid;overflow:auto}.review-event-detail code{color:var(--muted);font-size:11px}.review-detail-grid{gap:6px;margin:0;display:grid}.review-detail-grid>div{grid-template-columns:70px minmax(0,1fr);gap:8px;display:grid}.review-detail-grid dt,.review-detail-grid dd{margin:0;font-size:11px}.review-detail-grid dt{color:var(--muted)}.review-detail-grid dd{overflow-wrap:anywhere}.review-detail-reason{background:var(--panel-soft);white-space:pre-wrap;border-radius:6px;margin:0;padding:8px;font-size:12px;line-height:1.55}.review-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.review-detail-actions button{justify-content:center}.object-operation-grid button{white-space:normal;overflow-wrap:anywhere;justify-content:center;min-width:0;min-height:32px;padding:6px 7px;font-size:11px;line-height:1.25}.object-edit-modal{grid-template-rows:auto minmax(0,1fr) auto;max-width:520px}.object-review-action-modal{grid-template-rows:auto minmax(0,1fr) auto}.candidate-identity-plan{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;gap:8px;padding:10px;display:grid}.candidate-identity-plan-summary{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.candidate-identity-plan-summary span,.candidate-identity-plan-clear{color:var(--muted);font-size:11px;line-height:1.4}.candidate-identity-plan-items{gap:5px;display:grid}.candidate-identity-plan-item{border:1px solid var(--border);background:var(--panel);border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 8px;padding:7px 8px;font-size:11px;display:grid}.candidate-identity-plan-item>div:first-child{align-items:baseline;gap:7px;min-width:0;display:flex}.candidate-identity-plan-item>div:first-child span,.candidate-identity-plan-item p{color:var(--muted)}.candidate-identity-plan-item p{overflow-wrap:anywhere;grid-column:1/-1;margin:0;line-height:1.35}.candidate-identity-plan-item.manual_resolution_required{border-color:var(--red);cursor:pointer}.candidate-identity-plan-item.manual_resolution_required:hover,.candidate-identity-plan-item.manual_resolution_required:focus-visible{background:color-mix(in srgb, var(--red) 5%, var(--panel));outline:2px solid color-mix(in srgb, var(--red) 35%, transparent);outline-offset:1px}.candidate-identity-action{white-space:nowrap;color:var(--text);font-weight:600}.candidate-identity-resolution-trigger{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.candidate-identity-confirm{color:var(--text);align-items:flex-start;gap:7px;font-size:11px;line-height:1.4;display:flex}.candidate-identity-confirm input{flex:none;margin-top:2px}.identity-resolution-modal{grid-template-rows:auto minmax(0,1fr) auto;width:min(660px,100vw - 48px)}.identity-resolution-body{align-content:start;gap:12px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.identity-resolution-intro{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:10px 12px;font-size:12px;display:grid}.identity-resolution-intro>span{color:var(--red);font-weight:700}.identity-resolution-intro p{color:var(--muted);grid-column:1/-1;margin:0;line-height:1.5}.identity-resolution-options{gap:8px;display:grid}.identity-resolution-option{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.identity-resolution-option:hover,.identity-resolution-option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--panel))}.identity-resolution-option input{margin-top:3px}.identity-resolution-option-content{min-width:0;color:var(--muted);gap:3px;font-size:11px;line-height:1.4;display:grid}.identity-resolution-option-content strong{color:var(--text);font-size:14px}.identity-resolution-option-source{color:var(--accent);font-weight:700}.object-edit-modal-body,.object-review-action-modal-body{overscroll-behavior:contain;align-content:start;gap:12px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.object-edit-dialog-form{overflow:visible}.bbox-edit-step{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;gap:9px;padding:10px;display:grid}.bbox-edit-step>div:first-child{gap:3px;display:grid}.bbox-edit-step strong{color:var(--text);font-size:12px}.bbox-edit-step span{color:var(--muted);font-size:11px;line-height:1.4}.bbox-edit-step-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bbox-edit-step-actions button{justify-content:center}.object-technical-details{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:7px;padding:9px 10px;font-size:11px}.object-technical-details summary{cursor:pointer;color:var(--text);font-weight:700}.object-technical-details dl{grid-template-columns:120px minmax(0,1fr);gap:6px 10px;margin:10px 0 0;display:grid}.object-technical-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.edit-recognition-result{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:7px;gap:8px;padding:10px;font-size:12px;display:grid}.edit-recognition-result.success{border-color:var(--green)}.edit-recognition-result>div:first-child{align-items:center;gap:7px;display:flex}.edit-recognition-result p{background:var(--panel);color:var(--text);overflow-wrap:anywhere;border-radius:5px;margin:0;padding:8px;line-height:1.5}.recognition-option-list{gap:5px;display:grid}.recognition-option-card{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:7px 8px;display:grid}.recognition-option-card.recommended{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 5%, var(--panel))}.recognition-option-card.applied{box-shadow:inset 3px 0 0 var(--green)}.recognition-option-header,.recognition-option-header>div,.recognition-option-actions,.recognition-option-meta{align-items:center;display:flex}.recognition-option-header{grid-column:1/-1;justify-content:space-between;gap:8px}.recognition-option-header>div,.recognition-option-meta{flex-wrap:wrap;gap:5px}.recognition-option-header strong,.recognition-option-primary{color:var(--text)}.recognition-option-recommended,.recognition-option-meta span{background:var(--accent-soft);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:10px;line-height:1.3}.recognition-option-recommended{background:var(--blue);color:#fff}.recognition-option-confidence{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.recognition-option-primary{overflow-wrap:anywhere;grid-column:1;font-size:13px;line-height:1.3}.recognition-option-code{background:var(--panel-soft);width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;border-radius:4px;grid-column:1;padding:2px 5px;font-size:11px;line-height:1.3}.recognition-option-meta{grid-column:1}.recognition-option-actions{grid-area:2/2/span 3;justify-content:flex-end;align-self:center}.recognition-option-actions button{min-height:30px;padding:5px 9px;font-size:11px}.recognition-option-footnote{color:var(--muted);line-height:1.4}@media (width<=720px){.recognition-option-card{grid-template-columns:minmax(0,1fr)}.recognition-option-header{flex-direction:column;align-items:flex-start;gap:5px}.recognition-option-actions{grid-area:auto/1;justify-content:stretch}.recognition-option-actions button{justify-content:center;width:100%}}.object-edit-dialog-form label{color:var(--muted);gap:5px;font-size:12px;display:grid}.object-metadata-section{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;min-width:0;margin:2px 0;padding:9px 10px 10px}.object-metadata-section legend{color:var(--text);padding:0 5px;font-size:12px;font-weight:700}.object-metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.object-metadata-grid .metadata-field-wide{grid-column:1/-1}.unregistered-metadata{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.unregistered-metadata>span{background:var(--panel);max-width:100%;color:var(--muted);overflow-wrap:anywhere;border-radius:999px;gap:4px;padding:3px 7px;font-size:10px;display:inline-flex}.unregistered-metadata strong:after{content:":"}.metadata-provenance{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:10px;line-height:1.4}.review-reason-form{border-top:1px solid var(--border);padding-top:10px}.review-reason-form small{color:var(--muted);line-height:1.4}.review-operation-status{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:7px;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:flex}.review-operation-status svg{animation:.9s linear infinite review-spin}.manual-recognition-status{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.manual-recognition-status.success{border-color:var(--green);color:var(--text)}.object-type-scope-notice{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:7px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.object-type-scope-notice>svg{flex:none;margin-top:1px}.object-type-scope-notice>span{gap:2px;min-width:0;display:grid}.object-type-scope-notice strong{font-size:var(--formal-type-body);line-height:var(--formal-leading-compact)}.object-type-scope-notice small,.object-form label>small{color:var(--muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);overflow-wrap:anywhere}.object-type-scope-notice.success{border-color:var(--green);background:var(--formal-success-bg)}.object-type-scope-notice.warning{border-color:var(--formal-warning);background:var(--formal-warning-bg)}.object-type-scope-notice.error{border-color:var(--formal-danger);background:var(--formal-danger-bg)}.recognition-spinner{animation:.9s linear infinite review-spin}@keyframes review-spin{to{transform:rotate(360deg)}}.review-reason-form label{color:var(--muted);gap:5px;font-size:12px;display:grid}.object-edit-dialog-form input,.object-edit-dialog-form select{height:36px}.object-edit-dialog-form textarea{min-height:92px}@media (width<=560px){.object-metadata-grid{grid-template-columns:minmax(0,1fr)}.object-metadata-grid .metadata-field-wide{grid-column:1}}.annotation-workbench{background:snow;border:1px solid #f3c7c7;border-radius:7px;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:8px;min-height:0;padding:9px;display:grid;overflow:hidden}:root[data-theme=dark] .annotation-workbench{border-color:var(--danger-border);background:#201619}.section-title-row,.iteration-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-title-row span,.iteration-actions span,.annotation-status{color:var(--muted);font-size:12px}.annotation-status{background:#fff;border:1px solid #f2d2d2;border-radius:6px;padding:7px 8px}:root[data-theme=dark] .annotation-status{border-color:var(--danger-border);background:var(--panel)}.iteration-actions{border-top:1px solid #f3dede;flex-wrap:wrap;padding-top:8px}:root[data-theme=dark] .iteration-actions{border-top-color:var(--danger-border)}.object-form{gap:7px;display:grid}.object-form input,.object-form select,.object-form textarea{border:1px solid var(--border);width:100%;min-width:0;font:inherit;background:#fff;border-radius:6px;padding:0 9px}:root[data-theme=dark] .object-form input,:root[data-theme=dark] .object-form select,:root[data-theme=dark] .object-form textarea{background:var(--panel);color:var(--text)}.object-form input,.object-form select{height:30px}.object-form textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:74px;padding:8px 9px}.annotation-workbench .issue-list{min-height:0;overflow:auto}.iteration-job-panel{border:1px solid var(--border);background:var(--panel);border-radius:6px;gap:7px;min-height:0;max-height:220px;padding:8px;display:grid;overflow:auto}.iteration-job-panel p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.iteration-job-panel pre{border:1px solid var(--border);background:var(--panel-soft);max-height:120px;color:var(--text);white-space:pre-wrap;border-radius:5px;padding:7px;font-size:11px;line-height:1.45;overflow:auto}.mini-heading{color:var(--text);font-size:12px}.issue-thumb{object-fit:cover;border:1px solid var(--border);background:#101010;border-radius:6px;grid-column:1/-1;width:100%;height:96px}.candidate-actions{justify-content:stretch}.candidate-actions .secondary-button,.candidate-actions .primary-button{width:100%}.compact-button{min-width:96px}.drawer-backdrop{z-index:20;background:#00000047;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawing-preview-drawer-overlay{z-index:150}.drawer{border-left:1px solid var(--border);background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100vw - 40px);height:100vh;display:grid;box-shadow:-20px 0 50px #0000001f}.drawing-preview-drawer{z-index:151;background:var(--formal-panel,var(--panel));height:100dvh;color:var(--formal-text,var(--text));box-shadow:var(--formal-shadow,-20px 0 50px #0000001f);outline:0;position:fixed;inset:0 0 0 auto}.drawing-preview-drawer,.drawing-preview-drawer *{box-sizing:border-box}.drawing-preview-drawer .drawer-header,.drawing-preview-drawer .review-form,.drawing-preview-drawer .title-block-preview{border-color:var(--formal-border,var(--border))}.drawing-preview-drawer .eyebrow,.drawing-preview-drawer .review-form label,.drawing-preview-drawer .title-block-preview p{color:var(--formal-muted,var(--muted))}.drawing-preview-drawer .title-block-preview{background:var(--formal-soft,var(--panel-soft))}:root[data-theme=dark] .drawer{background:var(--panel)}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.drawer-header h2{max-width:820px;line-height:1.45}.icon-button{width:36px;padding:0}.drawer-body{grid-template-columns:minmax(0,1fr) 360px;gap:0;min-height:0;display:grid}.pdf-frame{background:#f1f1f1;border:0;width:100%;height:100%}:root[data-theme=dark] .pdf-frame{background:#0b0c0f}.review-form{border-left:1px solid var(--border);align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.review-form label{color:var(--muted);gap:7px;font-size:13px;display:grid}.review-form input,.review-form select{border:1px solid var(--border);color:#171717;background:#fff;border-radius:6px;width:100%;height:36px;padding:0 10px}:root[data-theme=dark] .review-form input,:root[data-theme=dark] .review-form select{background:var(--panel);color:var(--text)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.title-block-preview{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;padding:12px}.title-block-preview p{max-height:130px;color:var(--muted);word-break:break-all;margin:8px 0 0;font-size:12px;line-height:1.6;overflow:auto}.graph-panel{background-color:#fff;background-image:linear-gradient(#f3f3f3 1px,#0000 1px),linear-gradient(90deg,#f3f3f3 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:360px;position:relative}:root[data-theme=dark] .graph-panel{background:linear-gradient(#2a2f37 1px, transparent 1px), linear-gradient(90deg, #2a2f37 1px, transparent 1px), var(--panel)}.graph-node{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;min-width:92px;min-height:44px;display:grid;position:absolute;box-shadow:0 8px 20px #0000000f}:root[data-theme=dark] .graph-node{background:var(--panel-soft);box-shadow:0 8px 20px #00000042}.graph-node.root{border-color:#111;top:38px;left:38%}:root[data-theme=dark] .graph-node.root{border-color:var(--accent)}.graph-node.device{top:160px;left:15%}.graph-node.cable{top:158px;right:14%}.graph-node.drawing{bottom:38px;left:40%}.graph-icon{color:var(--blue);position:absolute;top:calc(50% - 14px);left:calc(50% - 14px)}.preprocessing-workspace{grid-template-columns:248px minmax(280px,.9fr) minmax(460px,1.8fr);align-items:start;gap:12px;height:calc(100vh - 96px);min-height:0;display:grid}.preprocess-panel{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.preprocess-panel .panel-header{flex-shrink:0}.preprocess-panel .panel-body{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;display:flex;overflow:hidden}.preprocess-panel .panel-body>.scroll-area{flex-direction:column;flex:1 1 0;gap:6px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.preprocess-panel .panel-body>.scroll-area:has(.drawing-list-header){--drawing-list-columns:22px minmax(180px, 1fr) repeat(4, minmax(72px, max-content))}.preprocess-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;min-width:0;display:flex}.preprocess-toolbar .compact-button,.preprocess-toolbar .check-all-control{min-width:0}.preprocess-toolbar .compact-button{white-space:nowrap;padding-inline:10px}.check-all-control{border:1px solid var(--border);background:var(--panel);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.project-list-panel{position:sticky;top:18px}.project-list-panel>.panel-body>.primary-button{flex-shrink:0;width:100%}.project-list-row{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;flex-shrink:0;align-items:center;gap:8px;padding:7px;display:flex}.project-list-row>input{flex-shrink:0}.project-list-row:hover,.project-list-row.active{border-color:var(--accent);background:var(--accent-soft)}.project-list-main{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:2px;padding:0;display:grid}.project-list-main strong,.project-list-main span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-list-main strong{font-size:12px;line-height:1.35}.project-list-main span{color:var(--muted);font-size:12px}.project-list-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.project-context-footer{border-top:1px solid var(--border);flex-shrink:0;gap:8px;margin-top:10px;padding-top:10px;display:grid}.project-context-footer div{gap:2px;min-width:0;display:grid}.project-context-footer strong,.project-context-footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-context-footer strong{font-size:12px}.project-context-footer span{color:var(--muted);font-size:11px}.drawing-list-header{z-index:2;grid-template-columns:var(--drawing-list-columns,22px minmax(180px, 1fr) repeat(4, minmax(72px, max-content)));border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:6px;flex-shrink:0;align-items:center;gap:8px;padding:6px 8px;font-size:11px;font-weight:600;display:grid;position:sticky;top:0}.drawing-list-header-check{width:14px}.drawing-list-sort-button{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.drawing-list-sort-button span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawing-list-sort-button.active .sort-indicator{color:var(--text)}.drawing-list-sort-center{justify-content:center}.drawing-list-row{grid-template-columns:var(--drawing-list-columns,22px minmax(180px, 1fr) repeat(4, minmax(72px, max-content)));border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;flex-shrink:0;align-items:center;gap:8px;padding:6px 8px;display:grid}.drawing-list-row:hover{border-color:var(--accent);background:var(--accent-soft)}.drawing-list-row .drawing-info{gap:1px;min-width:0;display:grid}.drawing-list-row .drawing-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.drawing-list-row .drawing-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.drawing-status-cell{justify-content:center;align-items:center;min-width:0;display:flex}.drawing-status-cell .status-badge{max-width:100%}:root[data-theme=dark] .project-list-row{background:var(--panel)}:root[data-theme=dark] .project-list-row:hover,:root[data-theme=dark] .project-list-row.active,:root[data-theme=dark] .drawing-list-row:hover{background:var(--panel-soft)}@media (width<=980px){.app-shell{grid-template-columns:1fr}.main.object-workbench-main{height:auto;min-height:0;overflow:visible}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.brand{padding-bottom:16px}nav{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-button{justify-content:center}.metric-grid,.split-layout,.graph-layout,.classification-layout,.project-source-layout,.model-settings-layout,.skill-settings-layout,.settings-workspace,.settings-detail-layout,.object-workbench,.preprocessing-workspace{grid-template-columns:1fr}.settings-menu-panel,.model-menu-panel,.skill-menu-panel,.preprocessing-workspace .preprocess-panel{position:static}.object-workbench,.preprocessing-workspace{height:auto;min-height:0;overflow:visible}.object-side-panel{height:min(72vh,680px)}.object-queue{height:min(60vh,620px)}.drawing-canvas{height:70vh;min-height:420px}.topbar{flex-direction:column}.topbar-actions{justify-content:flex-start}.drawer-body{grid-template-columns:1fr}.drawing-preview-drawer .drawer-body{display:block;overflow:auto}.pdf-frame{min-height:60vh}.review-form{border-left:0;border-top:1px solid var(--border)}.drawing-preview-drawer .review-form{overflow:visible}}@media (width<=640px){.main{padding:18px}nav{grid-template-columns:1fr 1fr}.nav-button{justify-content:flex-start}.topbar-actions{width:100%}.topbar-actions button{flex:120px}.project-edit-grid,.model-form-grid,.target-form-grid,.project-actions-row{grid-template-columns:1fr}.standard-list-toolbar{display:grid}.project-actions-row{align-items:stretch;display:grid}.project-danger-zone{justify-items:stretch}.filter-row,.inline-actions{justify-content:stretch}.filter-row>*,.inline-actions>*{flex:160px}.drawer{width:100vw}.drawing-preview-drawer .drawer-header{padding:14px 16px}.drawing-preview-drawer .form-grid{grid-template-columns:1fr}h1{font-size:23px}}.login-page{background:linear-gradient(90deg,#fffffff2 0%,#ffffffe6 38%,#ffffff8f 100%),url(/login-industrial-kg.webp?v=1) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:8px;width:360px;max-width:92vw;padding:32px 28px;box-shadow:0 18px 50px #0f172a1a}.login-header{margin-bottom:24px}.login-header h1{margin:0 0 4px;font-size:22px;font-weight:700}.login-logo{max-width:110px;height:auto;margin:0 0 16px;display:block}.login-eyebrow{color:var(--muted);margin:0 0 20px;font-size:13px}.login-header p{color:var(--muted);margin:0;font-size:13px}.login-form{gap:12px;display:grid}.login-form input{border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;background:#ffffffdb;border-radius:6px;padding:10px 12px;font-size:14px}.login-form input:focus{border-color:#16a34a;outline:none}.login-error{color:#dc2626;text-align:center;margin:0;font-size:13px}.login-button,:root[data-theme=dark] .login-button{border-color:var(--formal-primary);background:var(--formal-primary);color:#fff;justify-content:center;width:100%;padding:10px;font-size:15px}.login-button:hover,:root[data-theme=dark] .login-button:hover{border-color:var(--formal-primary-hover);background:var(--formal-primary-hover);color:#fff}@media (width<=720px){.login-page{background:linear-gradient(#ffffffe0,#ffffffe0),url(/login-industrial-kg.webp?v=1) 50%/cover no-repeat;padding:20px}}.user-menu-wrapper{flex-shrink:0;align-items:center;height:34px;display:flex;position:relative}.user-avatar{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:flex}.user-avatar:hover{background:#15803d}.user-dropdown{background:var(--panel);border:1px solid var(--border);z-index:31;border-radius:7px;min-width:200px;position:absolute;top:42px;right:0;overflow:hidden;box-shadow:0 18px 44px #0f172a2e}.menu-backdrop{z-index:30;background:0 0;border:0;border-radius:0;flex:none;width:100vw;height:100vh;min-height:0;padding:0;position:fixed;inset:0}.user-dropdown-header{border-bottom:1px solid var(--border);padding:10px 14px}.user-dropdown-header strong{font-size:13px;display:block}.user-dropdown-header span{color:var(--muted);font-size:12px}.dropdown-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.dropdown-item:hover{background:var(--accent-soft)}:root[data-theme=dark] .user-dropdown{background:#171a20;box-shadow:0 18px 44px #00000070}.user-form-row{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.user-form-row input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:5px;padding:7px 10px;font-size:13px}.user-form-row input:focus{border-color:#16a34a;outline:none}.user-table-section{margin-top:8px}.mini-button{padding:4px 10px;font-size:12px}.mini-button.danger{color:#dc2626}:root[data-theme=dark] .mini-button.danger{color:#ef4444}.rds-panel .panel-header{align-items:flex-start}.rds-panel{grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 104px);display:grid;overflow:hidden}.rds-panel .table-wrap{min-height:0;overflow:auto}.rds-panel thead th{z-index:1;position:sticky;top:0}.rds-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0 14px;display:flex}.rds-toolbar label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--accent-soft)}.clickable-row:focus-visible{box-shadow:inset 0 0 0 2px var(--formal-focus);outline:0}.clickable-row[aria-selected=true]{background:var(--formal-info-bg)}.cell-subtle{color:var(--muted);margin-top:2px;font-size:12px;display:block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ob-color-app:#f4f6f7;--ob-color-canvas:#e9edf1;--ob-color-panel:#fff;--ob-color-soft:#f7f8f9;--ob-color-rail:#111820;--ob-color-rail-active:#1b2530;--ob-color-border:#d7dde2;--ob-color-text:#17212b;--ob-color-muted:#66717d;--ob-color-primary:#0f766e;--ob-color-primary-hover:#115e59;--ob-color-focus:#0ea5e9;--ob-color-info:#1d4ed8;--ob-color-info-bg:#eaf1ff;--ob-color-success:#0f766e;--ob-color-success-bg:#dff3f0;--ob-color-warning:#946014;--ob-color-warning-bg:#fff3d6;--ob-color-danger:#b43832;--ob-color-danger-bg:#fdebea;--ob-color-neutral:#5f6b76;--ob-color-neutral-bg:#edf0f2;--ob-shadow-overlay:0 10px 32px #17212b29;--ob-shadow-sticky:0 -4px 12px #080d140d;--ob-focus-ring:0 0 0 2px color-mix(in srgb, var(--ob-color-focus) 72%, transparent);--ob-row-height:36px;--ob-control-height:32px;--ob-space-1:4px;--ob-space-2:8px;--ob-space-3:12px;--ob-space-6:24px;--ob-radius-sm:4px;--ob-visual-bbox-formal-stroke:var(--ob-color-primary);--ob-visual-bbox-formal-fill:#0f766e14;--ob-visual-bbox-candidate-stroke:#2563eb;--ob-visual-bbox-candidate-fill:#2563eb14;--ob-visual-bbox-merge-stroke:#d97706;--ob-visual-bbox-active-stroke:#0891b2;--ob-visual-bbox-active-fill:#0891b224;--ob-visual-bbox-selected-stroke:#db2777;--ob-visual-bbox-selected-fill:#db27771f;--ob-visual-canvas-export-light:#f0f0f1;--ob-visual-canvas-export-dark:#101010;--formal-app:var(--ob-color-app);--formal-canvas:var(--ob-color-canvas);--formal-panel:var(--ob-color-panel);--formal-soft:var(--ob-color-soft);--formal-rail:var(--ob-color-rail);--formal-rail-active:var(--ob-color-rail-active);--formal-border:var(--ob-color-border);--formal-text:var(--ob-color-text);--formal-muted:var(--ob-color-muted);--formal-primary:var(--ob-color-primary);--formal-primary-hover:var(--ob-color-primary-hover);--formal-primary-soft:var(--ob-color-success-bg);--formal-focus:var(--ob-color-focus);--formal-info:var(--ob-color-info);--formal-info-bg:var(--ob-color-info-bg);--formal-success:var(--ob-color-success);--formal-success-bg:var(--ob-color-success-bg);--formal-warning:var(--ob-color-warning);--formal-warning-bg:var(--ob-color-warning-bg);--formal-danger:var(--ob-color-danger);--formal-danger-bg:var(--ob-color-danger-bg);--formal-neutral:var(--ob-color-neutral);--formal-neutral-bg:var(--ob-color-neutral-bg);--formal-shadow:var(--ob-shadow-overlay);--formal-row:var(--ob-row-height);--formal-font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--formal-type-navigation:10px;--formal-type-caption:11px;--formal-type-body:13px;--formal-type-title:16px;--formal-type-page-title:20px;--formal-leading-compact:1.35;--formal-leading-body:1.45}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ob-color-app:#0d131a;--ob-color-canvas:#111820;--ob-color-panel:#151d26;--ob-color-soft:#1b2530;--ob-color-rail:#0a0f15;--ob-color-rail-active:#22313d;--ob-color-border:#344250;--ob-color-text:#eef2f5;--ob-color-muted:#a6b1bc;--ob-color-primary:#14b8a6;--ob-color-primary-hover:#2dd4bf;--ob-color-focus:#38bdf8;--ob-color-info:#78a9ff;--ob-color-info-bg:#263b59;--ob-color-success:#2dd4bf;--ob-color-success-bg:#173c3a;--ob-color-warning:#f2b84b;--ob-color-warning-bg:#43371f;--ob-color-danger:#f0746c;--ob-color-danger-bg:#472523;--ob-color-neutral:#a6b1bc;--ob-color-neutral-bg:#202b36;--ob-shadow-overlay:0 12px 40px #0000006b;--ob-shadow-sticky:0 -4px 14px #0000003d;--ob-visual-bbox-formal-stroke:var(--ob-color-primary);--ob-visual-bbox-formal-fill:#14b8a61f;--ob-visual-bbox-candidate-stroke:#78a9ff;--ob-visual-bbox-candidate-fill:#78a9ff1f;--ob-visual-bbox-merge-stroke:#fbbf24;--ob-visual-bbox-active-stroke:#67e8f9;--ob-visual-bbox-active-fill:#67e8f929;--ob-visual-bbox-selected-stroke:#f472b6;--ob-visual-bbox-selected-fill:#f472b629}:root[data-density=comfortable]{--ob-row-height:44px;--ob-control-height:36px}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;min-height:0;margin:0}body{background:var(--formal-app);color:var(--formal-text);font-family:IBM Plex Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:var(--formal-type-body);line-height:var(--formal-leading-body);letter-spacing:0;overflow:hidden}button,input,select,textarea{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--formal-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.formal-shell{background:var(--formal-app);grid-template-rows:48px minmax(0,1fr);grid-template-columns:60px minmax(0,1fr);width:100vw;min-width:0;height:100dvh;display:grid;overflow:hidden}.formal-shell,.formal-shell *{box-sizing:border-box}.formal-topbar{z-index:20;border-bottom:1px solid var(--formal-border);background:var(--formal-panel);grid-area:1/1/auto/-1;grid-template-columns:184px minmax(180px,1fr) auto;align-items:center;min-width:0;height:48px;display:grid}.formal-brand{background:0 0;align-items:center;width:184px;min-width:184px;max-width:184px;height:48px;padding-left:12px;display:flex;overflow:hidden}.formal-brand img{object-fit:contain;object-position:left center;width:120px;height:40px;display:block}:root[data-theme=dark] .formal-brand{background:0 0}.formal-page-context{align-items:baseline;gap:12px;min-width:0;padding:0 12px;display:flex;overflow:hidden}.formal-page-context strong{flex:none;font-size:14px;font-weight:600}.formal-page-context span{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.formal-global-actions{align-items:center;gap:8px;min-width:0;padding-right:12px;display:flex}.formal-icon-button,.formal-avatar{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.formal-icon-button:hover{border-color:var(--formal-border);background:var(--formal-soft)}.formal-avatar{border-color:var(--formal-primary);background:var(--formal-primary);color:#fff;border-radius:50%;font-weight:700}.formal-unread{border:1px solid var(--formal-panel);background:var(--formal-danger);border-radius:50%;width:7px;height:7px;margin:-18px 0 0 18px;position:absolute}.formal-project-select{border:1px solid var(--formal-border);background:var(--formal-panel);cursor:pointer;border-radius:4px;align-items:center;width:236px;height:36px;display:flex;position:relative;overflow:hidden}.formal-project-value{pointer-events:none;gap:0;width:100%;min-width:0;padding:3px 32px 3px 10px;display:grid}.formal-project-value small{color:var(--formal-muted);font-size:9px;line-height:12px}.formal-project-value strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:15px;overflow:hidden}.formal-project-select select{z-index:1;cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.formal-project-select svg{pointer-events:none;color:var(--formal-muted);position:absolute;right:10px}.formal-rail{z-index:10;background:var(--formal-rail);flex-direction:column;grid-area:2/1;justify-content:space-between;align-items:center;width:60px;min-width:60px;max-width:60px;min-height:0;padding:8px 0 10px;display:flex}.formal-rail nav{flex-direction:column;align-items:center;gap:4px;width:60px;min-width:60px;max-width:60px;display:flex}.formal-rail-bottom{border-top:1px solid #344250;flex-direction:column;align-items:center;gap:4px;width:60px;min-width:60px;max-width:60px;padding-top:8px;display:flex}.formal-rail-button{color:#a6b1bc;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:52px;min-width:52px;max-width:52px;height:54px;min-height:54px;padding:3px 1px;display:inline-flex;position:relative;overflow:hidden}.formal-rail-icon{flex:none}.formal-rail-label{width:50px;min-width:50px;max-width:50px;max-height:24px;font-size:var(--formal-type-navigation);text-align:center;overflow-wrap:normal;white-space:normal;word-break:keep-all;line-height:12px;display:block;overflow:hidden}:root[lang=zh-CN] .formal-rail-label{white-space:nowrap;max-height:11px;overflow:visible}:root[lang=en] .formal-rail-label{font-size:var(--formal-type-navigation)}.formal-rail-button:hover{color:#eef2f5;background:#1b2530}.formal-rail-button.active{background:var(--formal-rail-active);color:#eef2f5}.formal-rail-button.active:before{content:"";background:#2dd4bf;border-radius:0 2px 2px 0;width:3px;height:32px;position:absolute;left:-4px}.formal-rail-button:disabled{cursor:not-allowed;opacity:.58}.formal-rail-button:disabled:hover{color:#a6b1bc;background:0 0}.formal-main{background:var(--formal-app);grid-area:2/2;min-width:0;min-height:0;overflow:auto}.formal-view-drawings,.formal-view-review,.formal-view-knowledge{overflow:hidden}.formal-mobile-readonly{display:none}.formal-main .formal-drawings-hub{grid-template-rows:minmax(0,1fr)}.formal-popover,.formal-tooltip{z-index:100;border:1px solid var(--formal-border);background:var(--formal-panel);color:var(--formal-text);box-shadow:var(--formal-shadow);border-radius:6px}.formal-tooltip{padding:5px 8px;font-size:12px}.formal-popover{min-width:220px;padding:6px}.formal-notifications{width:360px;max-height:480px;overflow:auto}.formal-popover-heading{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;min-height:36px;padding:0 8px;display:flex}.formal-popover-heading span{color:var(--formal-muted);font-variant-numeric:tabular-nums}.formal-notification{border-bottom:1px solid var(--formal-border);outline:0;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px;display:flex}.formal-notification:hover,.formal-notification:focus{background:var(--formal-soft)}.formal-notification>span{gap:2px;min-width:0;display:grid}.formal-notification strong,.formal-notification small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-notification small{color:var(--formal-muted)}.formal-user-menu{width:320px;padding:8px}.formal-user-identity{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.formal-user-identity-avatar{background:var(--formal-primary);color:#fff;border-radius:4px;place-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:grid}.formal-user-identity-copy{gap:2px;min-width:0;display:grid}.formal-user-identity-copy>strong,.formal-user-identity-copy>span,.formal-user-identity-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-user-identity-copy>span,.formal-user-identity-copy>small{color:var(--formal-muted)}.formal-menu-separator{background:var(--formal-border);height:1px;margin:5px 0}.formal-menu-item,.formal-menu-radio{cursor:pointer;border-radius:4px;outline:0;align-items:center;gap:9px;min-height:34px;padding:0 8px;display:flex}.formal-menu-item:hover,.formal-menu-item:focus,.formal-menu-radio:hover,.formal-menu-radio:focus{background:var(--formal-soft)}.formal-menu-item>span:first-child{flex:1}.formal-menu-item small{color:var(--formal-muted);margin-left:auto}.formal-menu-item.danger{color:var(--formal-danger)}.formal-profile-link>span{flex:1;gap:1px;min-width:0;display:grid}.formal-profile-link strong{color:var(--formal-text);font-size:12px;font-weight:600}.formal-profile-link small{margin:0;font-size:10px}.formal-preference-group{gap:6px;padding:7px 8px;display:grid}.formal-preference-group>span{color:var(--formal-muted);font-size:10px;font-weight:600}.formal-preference-segments{border:1px solid var(--formal-border);background:var(--formal-soft);border-radius:4px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:2px;display:grid}.formal-preference-segments [role=menuitemradio]{min-width:0;height:28px;color:var(--formal-muted);white-space:nowrap;background:0 0;border:0;border-radius:3px;outline:0;place-items:center;padding:0 6px;font-size:10px;display:grid}.formal-preference-segments [role=menuitemradio]:hover,.formal-preference-segments [role=menuitemradio]:focus-visible{color:var(--formal-text);outline:1px solid var(--formal-primary)}.formal-preference-segments [role=menuitemradio].active{background:var(--formal-panel);color:var(--formal-primary);box-shadow:0 0 0 1px var(--formal-border);font-weight:600}.formal-dialog-overlay{z-index:150;background:#080d1475;position:fixed;inset:0}.formal-dialog{z-index:151;border:1px solid var(--formal-border);background:var(--formal-panel);width:min(760px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--formal-text);box-shadow:var(--formal-shadow);border-radius:8px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.formal-dialog.small{width:min(520px,100vw - 32px)}.formal-dialog-header{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:flex-start;gap:16px;min-height:52px;padding:12px 16px;display:flex}.formal-dialog-header h2{margin:0;font-size:16px}.formal-dialog-header p{color:var(--formal-muted);margin:3px 0 0}.formal-dialog-footer{border-top:1px solid var(--formal-border);justify-content:flex-end;align-items:center;gap:8px;min-height:56px;padding:10px 16px;display:flex}.formal-button{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:0 12px;display:inline-flex}.formal-button.secondary{border-color:var(--formal-border);background:var(--formal-panel)}.formal-button.primary{background:var(--formal-primary);color:#fff}.formal-button.danger{background:var(--formal-danger);color:#fff}.formal-button:disabled{cursor:not-allowed;opacity:.52}@media (width<=1120px){.formal-page-context span{display:none}.formal-project-select{width:196px}}@media (width<=1023px){.formal-topbar{grid-template-columns:184px minmax(80px,1fr) auto}.formal-project-select{width:176px}.formal-mobile-readonly{z-index:12;border:1px solid var(--formal-warning);background:var(--formal-warning-bg);max-width:280px;color:var(--formal-warning);border-radius:4px;padding:7px 10px;font-size:12px;display:block;position:fixed;bottom:12px;right:12px}}@media (width<=720px){.formal-topbar{grid-template-columns:112px minmax(0,1fr) auto}.formal-brand{width:112px;min-width:112px;max-width:112px;padding-left:8px}.formal-brand img{width:96px;height:32px}.formal-page-context{display:none}.formal-project-select{width:min(42vw,176px)}}.formal-status-chip{white-space:nowrap;border-radius:999px;align-items:center;max-width:100%;min-height:22px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.formal-content-host{width:100%;min-width:0;min-height:100%}.formal-content-host.object-workbench-main,.formal-content-host.iteration-workspace-main{height:100%;min-height:0;overflow:hidden}.formal-content-host.object-workbench-main{flex-direction:column;display:flex}.formal-content-host.object-workbench-main>.notice{flex:none}.formal-content-host.object-workbench-main>.formal-drawings-hub{flex:auto;width:100%;height:auto;min-height:0}.formal-global-notice{align-items:center;gap:8px;display:flex}.formal-global-notice>span{flex:1;min-width:0}.formal-notice-dismiss{width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:0 0 26px;place-items:center;padding:0;display:inline-grid}.formal-notice-dismiss:hover,.formal-notice-dismiss:focus-visible{background:color-mix(in srgb, currentColor 10%, transparent);outline:none}.formal-view-knowledge .formal-content-host,.formal-view-review .formal-content-host{height:100%;min-height:0}.formal-status-chip.info{background:var(--formal-info-bg);color:var(--formal-info)}.formal-status-chip.success{background:var(--formal-success-bg);color:var(--formal-success)}.formal-status-chip.warning{background:var(--formal-warning-bg);color:var(--formal-warning)}.formal-status-chip.danger{background:var(--formal-danger-bg);color:var(--formal-danger)}.formal-status-chip.neutral{background:var(--formal-neutral-bg);color:var(--formal-neutral)}.formal-empty{min-height:180px;color:var(--formal-muted);text-align:center;place-items:center;padding:24px;display:grid}.formal-empty.compact{min-height:64px;padding:12px}.formal-grid-wrap{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;overflow:auto}.formal-grid{border-collapse:collapse;table-layout:fixed;width:100%}.formal-grid th{z-index:2;border-bottom:1px solid var(--formal-border);background:var(--formal-soft);height:32px;color:var(--formal-muted);text-align:left;padding:0 8px;font-size:11px;font-weight:600;position:sticky;top:0}.formal-grid th button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:6px;width:100%;height:100%;padding:0;display:flex}.formal-grid td{height:var(--formal-row);border-bottom:1px solid var(--formal-border);color:var(--formal-text);text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;overflow:hidden}.formal-grid tbody tr:hover,.formal-grid tbody tr:focus{background:var(--formal-soft)}.formal-grid tbody tr.selected{box-shadow:inset 3px 0 var(--formal-focus);background:var(--formal-info-bg)}.formal-page{flex-direction:column;gap:12px;min-width:0;min-height:100%;padding:16px;display:flex}.formal-page-header,.formal-section-header{justify-content:space-between;align-items:flex-start;gap:16px;min-height:52px;display:flex}.formal-page-header h1,.formal-section-header h2{margin:0;font-size:20px;line-height:28px}.formal-section-header h2{font-size:16px;line-height:22px}.formal-page-header p,.formal-section-header p{color:var(--formal-muted);margin:2px 0 0}.formal-header-actions{flex:none;align-items:center;gap:8px;display:flex}.formal-toolbar{border:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:8px;min-height:40px;padding:4px 8px;display:flex}.formal-toolbar select,.formal-search{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);border-radius:4px}.formal-toolbar select{min-width:180px;padding:0 28px 0 8px}.formal-search{flex:1;align-items:center;gap:6px;min-width:220px;padding:0 8px;display:flex}.formal-search svg{color:var(--formal-muted);flex:none}.formal-search input{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:0}.formal-segmented{border:1px solid var(--formal-border);background:var(--formal-soft);border-radius:4px;align-items:center;height:30px;padding:2px;display:inline-flex}.formal-segmented button{height:24px;color:var(--formal-muted);background:0 0;border:0;border-radius:3px;padding:0 9px}.formal-segmented button.active{background:var(--formal-panel);color:var(--formal-text);box-shadow:0 0 0 1px var(--formal-border)}.formal-count{color:var(--formal-muted);font-variant-numeric:tabular-nums;flex:none}.formal-link-button,.formal-row-actions button{color:var(--formal-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.formal-row-actions{gap:12px;display:flex}.formal-row-actions button.danger{color:var(--formal-danger)}.formal-loading{min-height:180px;color:var(--formal-muted);flex:1;place-items:center;display:grid}.formal-error{border:1px solid var(--formal-danger);background:var(--formal-danger-bg);min-height:54px;color:var(--formal-danger);border-radius:4px;align-items:center;gap:12px;padding:9px 12px;display:flex}.formal-error span{flex:1}.formal-error button{min-height:28px;color:inherit;background:0 0;border:1px solid;border-radius:4px;padding:0 9px}.formal-object-results .formal-grid-wrap{flex:1;min-height:0}.formal-project-overview{flex-direction:column;gap:16px;min-height:100%;padding:16px;display:flex}.formal-project-overview.empty-project{text-align:center;place-items:center;display:grid}.formal-project-overview.empty-project>div{max-width:460px;color:var(--formal-muted);place-items:center;gap:8px;display:grid}.formal-project-overview.empty-project h1,.formal-project-overview.empty-project p{margin:0}.formal-project-summary{border:1px solid var(--formal-border);background:var(--formal-panel);justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:12px 16px;display:flex}.formal-project-summary>div:first-child{min-width:0}.formal-project-summary span,.formal-project-summary p{color:var(--formal-muted)}.formal-project-summary h1{margin:1px 0;font-size:20px;line-height:28px}.formal-project-summary p{margin:0}.formal-overview-metrics{grid-template-columns:repeat(4,minmax(120px,1fr));width:min(680px,58%);display:grid}.formal-overview-metrics>div{border-left:1px solid var(--formal-border);align-content:center;gap:3px;min-height:58px;padding:0 16px;display:grid}.formal-overview-metrics strong{font-variant-numeric:tabular-nums;font-size:22px}.formal-overview-columns{flex:1;grid-template-columns:360px minmax(0,1fr);gap:16px;min-height:0;display:grid}.formal-overview-left,.formal-overview-right{flex-direction:column;gap:16px;min-width:0;display:flex}.formal-overview-section{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0}.formal-overview-heading{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:flex-start;gap:12px;min-height:62px;padding:12px 14px;display:flex}.formal-overview-heading h2,.formal-overview-heading p{margin:0}.formal-overview-heading h2{font-size:15px}.formal-overview-heading p{color:var(--formal-muted);margin-top:3px;font-size:12px;line-height:1.45}.formal-summary-list{grid-template-columns:1fr auto;margin:0;padding:8px 14px 14px;display:grid}.formal-summary-list dt,.formal-summary-list dd{border-bottom:1px solid var(--formal-border);min-height:36px;margin:0;padding:9px 0}.formal-summary-list dt{color:var(--formal-muted)}.formal-summary-list dd{text-align:right;font-weight:600}.formal-stage-list{gap:0;margin:0;padding:8px 14px 14px;list-style:none;display:grid}.formal-stage-list li{border-bottom:1px solid var(--formal-border);min-height:46px;color:var(--formal-muted);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.formal-stage-list li>span{border:1px solid var(--formal-border);border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.formal-stage-list li.done>span{border-color:var(--formal-success);background:var(--formal-success-bg);color:var(--formal-success)}.formal-stage-list li.current{color:var(--formal-text)}.formal-stage-list li.current>span{border-color:var(--formal-primary);background:var(--formal-primary);color:#fff}.formal-stage-list small{font-size:11px}.formal-overview-right .recent-work{flex:1;min-height:300px}.formal-recent-list{display:grid}.formal-recent-list>button{border:0;border-bottom:1px solid var(--formal-border);min-height:58px;color:var(--formal-text);text-align:left;background:0 0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 14px;display:grid}.formal-recent-list>button:hover{background:var(--formal-soft)}.formal-recent-list>button>span:nth-child(2){gap:2px;min-width:0;display:grid}.formal-recent-list small{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-recent-icon{background:var(--formal-soft);width:28px;height:28px;color:var(--formal-primary);border-radius:4px;place-items:center;display:grid}.formal-next-actions{grid-template-columns:repeat(3,1fr);display:grid}.formal-next-actions>button{border:0;border-right:1px solid var(--formal-border);min-height:82px;color:var(--formal-text);text-align:left;background:0 0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.formal-next-actions>button:last-child{border-right:0}.formal-next-actions>button:hover{background:var(--formal-soft)}.formal-next-actions>button>svg:first-child{color:var(--formal-primary)}.formal-next-actions>button>span{gap:3px;display:grid}.formal-next-actions small{color:var(--formal-muted)}.formal-drawing-organizer{background:var(--formal-app);grid-template-columns:400px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.formal-organizer-sources,.formal-organizer-drawings{background:var(--formal-panel);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.formal-organizer-sources{border-right:1px solid var(--formal-border)}.formal-organizer-panel-header{border-bottom:1px solid var(--formal-border);align-items:center;gap:8px;height:64px;min-height:64px;padding:10px 12px;display:flex}.formal-organizer-panel-header>div{flex:1;min-width:0}.formal-organizer-panel-header h1,.formal-organizer-panel-header p{margin:0}.formal-organizer-panel-header h1{font-size:16px}.formal-organizer-panel-header p{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.formal-organizer-panel-header .formal-button{white-space:nowrap;flex:none}.formal-organizer-icon-action,.formal-organizer-more{width:28px;height:28px;min-height:28px;color:var(--formal-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:0 0 28px;place-items:center;padding:0;display:inline-grid}.formal-organizer-icon-action:hover,.formal-organizer-icon-action[aria-pressed=true],.formal-organizer-more:hover,.formal-organizer-more:focus-visible{border-color:var(--formal-border);background:var(--formal-soft);color:var(--formal-text)}.formal-organizer-icon-action:disabled,.formal-organizer-more:disabled{cursor:not-allowed;opacity:.5}.formal-organizer-batch-toolbar{border-bottom:1px solid var(--formal-border);background:var(--formal-info-bg);height:40px;min-height:40px;color:var(--formal-info);align-items:center;gap:12px;padding:0 12px;font-size:11px;display:flex}.formal-organizer-batch-toolbar strong{margin-right:auto}.formal-organizer-batch-toolbar button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11px;display:inline-flex}.formal-organizer-toolbar{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:8px;min-height:52px;padding:8px 12px;display:flex}.formal-organizer-toolbar select{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:112px;height:32px;color:var(--formal-text);border-radius:4px;padding:0 26px 0 8px}.formal-organizer-toolbar .formal-search{flex:0 320px;width:min(320px,42%);min-width:190px;height:32px}.formal-organizer-toolbar .formal-count{margin-left:auto}.formal-inline-progress{border-bottom:1px solid var(--formal-border);grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:38px;padding:5px 10px;display:grid;position:relative;overflow:hidden}.formal-inline-progress>span{z-index:0;background:var(--formal-success-bg);position:absolute;inset:0 auto 0 0}.formal-inline-progress strong,.formal-inline-progress small{z-index:1}.formal-inline-progress small{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-source-list{flex:1;min-height:0;overflow:auto}.formal-source-row{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:4px;height:44px;min-height:44px;padding:0 6px 0 10px;display:flex;position:relative}.formal-source-row.active{box-shadow:inset 3px 0 var(--formal-primary);background:var(--formal-success-bg)}.formal-source-row>input{width:14px;height:14px;accent-color:var(--formal-primary);flex:0 0 14px}.formal-source-row-main{min-width:0;height:43px;color:var(--formal-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid}.formal-source-row-main>svg{color:var(--formal-muted)}.formal-source-row-main>span{gap:1px;min-width:0;display:grid}.formal-source-row strong,.formal-source-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-source-row small{color:var(--formal-muted);font-size:10px}.formal-source-row .formal-status-chip{border-radius:3px;min-height:20px;padding:1px 6px;font-size:9px}.formal-organizer-menu{width:204px}.formal-organizer-menu .formal-menu-item{outline:0;width:100%}.formal-organizer-menu .formal-menu-item[data-disabled]{cursor:not-allowed;opacity:.45}.formal-organizer-menu .formal-menu-item svg{color:var(--formal-muted);flex:none}.formal-organizer-menu .formal-menu-item.danger svg{color:var(--formal-danger)}.formal-organizer-source-note,.formal-organizer-sticky-actions{border-top:1px solid var(--formal-border);flex:0 0 48px;align-items:center;gap:8px;min-height:48px;padding:8px 12px;display:flex}.formal-organizer-source-note{background:var(--formal-warning-bg);color:var(--formal-warning);font-size:11px}.formal-organizer-source-note>span{flex:1;min-width:0}.formal-organizer-source-note svg{flex:none}.formal-organizer-sticky-actions{background:var(--formal-panel);box-shadow:var(--ob-shadow-sticky);justify-content:flex-end}.formal-organizer-sticky-actions>span{color:var(--formal-muted);margin-right:auto;font-size:11px}.formal-organizer-sticky-actions .formal-button.danger.subtle{border-color:var(--formal-danger);background:var(--formal-panel);color:var(--formal-danger)}.formal-organizer-drawings .formal-grid-wrap{border:1px solid var(--formal-border);flex:1;min-height:0;margin:12px}.formal-organizer-drawings .formal-grid th,.formal-organizer-drawings .formal-grid td{height:36px;padding-top:0;padding-bottom:0}.formal-organizer-drawings .formal-grid tbody tr{height:36px}.formal-organizer-drawings .formal-grid input[type=checkbox]{width:14px;height:14px;accent-color:var(--formal-primary)}.formal-organizer-drawings .formal-grid .formal-status-chip{border-radius:3px;min-height:20px;font-size:9px}.formal-organizer-drawings .formal-organizer-more{margin:0 auto}.formal-organizer-result{align-items:center;gap:6px;min-width:0;display:inline-flex}.formal-organizer-result>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.formal-organizer-result .formal-status-chip{flex:none}.formal-organizer-table-footer{border-top:1px solid var(--formal-border);height:42px;min-height:42px;color:var(--formal-muted);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:11px;display:flex}.formal-organizer-table-footer strong{color:var(--formal-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-organizer-info-grid{border:1px solid var(--formal-border);grid-template-columns:118px minmax(0,1fr);margin:0;display:grid}.formal-organizer-info-grid dt,.formal-organizer-info-grid dd{border-bottom:1px solid var(--formal-border);align-items:center;min-height:36px;margin:0;padding:8px 10px;display:flex}.formal-organizer-info-grid dt{color:var(--formal-muted);background:var(--formal-soft)}.formal-organizer-info-grid dd{overflow-wrap:anywhere;min-width:0}.formal-organizer-capability-note{border:1px solid var(--formal-warning);background:var(--formal-warning-bg);color:var(--formal-warning);margin:14px 0 0;padding:10px;font-size:11px;line-height:1.5}.formal-split-dialog{width:min(560px,100vw - 32px)}.formal-split-options,.formal-split-progress{gap:12px;display:grid}.formal-split-summary{border:1px solid var(--formal-border);background:var(--formal-soft);border-radius:4px;gap:10px;padding:12px;display:flex}.formal-split-summary>svg{color:var(--formal-primary);flex:none}.formal-split-summary>span,.formal-split-check>span{gap:3px;display:grid}.formal-split-summary small,.formal-split-check small{color:var(--formal-muted);font-size:11px;line-height:1.45}.formal-split-check{border:1px solid var(--formal-border);cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;min-height:56px;padding:10px 12px;display:flex}.formal-split-check:hover{border-color:var(--formal-primary);background:var(--formal-success-bg)}.formal-split-check input{width:15px;height:15px;accent-color:var(--formal-primary);flex:0 0 15px;margin:2px 0 0}.formal-split-progress-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.formal-split-progress-heading span{color:var(--formal-primary);font-weight:700}.formal-split-progress progress{background:var(--formal-soft);width:100%;height:8px;accent-color:var(--formal-primary);border:0;border-radius:4px;overflow:hidden}.formal-split-progress progress::-webkit-progress-bar{background:var(--formal-soft);border-radius:4px}.formal-split-progress progress::-webkit-progress-value{background:var(--formal-primary);border-radius:4px}.formal-split-progress-details{border:1px solid var(--formal-border);grid-template-columns:104px minmax(0,1fr);margin:0;display:grid}.formal-split-progress-details dt,.formal-split-progress-details dd{border-bottom:1px solid var(--formal-border);min-height:38px;margin:0;padding:9px 10px}.formal-split-progress-details dt{color:var(--formal-muted);background:var(--formal-soft)}.formal-split-progress-details dd{overflow-wrap:anywhere;min-width:0}.formal-split-error{border:1px solid var(--formal-danger);background:var(--formal-danger-bg);color:var(--formal-danger);border-radius:4px;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;display:flex}.formal-split-error svg{flex:none}.formal-split-result-summary{border:1px solid var(--formal-border);border-radius:4px;grid-template-columns:repeat(3,1fr);display:grid}.formal-split-result-summary span{border-right:1px solid var(--formal-border);min-height:44px;color:var(--formal-muted);justify-content:center;align-items:center;gap:5px;display:flex}.formal-split-result-summary span:last-child{border-right:0}.formal-split-result-summary svg{color:var(--formal-success)}.formal-split-result-summary strong{color:var(--formal-text)}.formal-split-failures{border:1px solid var(--formal-danger);background:var(--formal-danger-bg);border-radius:4px;gap:6px;padding:10px;display:grid}.formal-split-failures>strong{color:var(--formal-danger)}.formal-split-failures p{gap:2px;margin:0;display:grid}.formal-split-failures p span{overflow-wrap:anywhere}.formal-split-failures p small{color:var(--formal-muted);overflow-wrap:anywhere}.formal-split-lock-note{color:var(--formal-muted);margin-right:auto}.formal-review-layout{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:12px;min-height:0;display:grid}.formal-review-table{min-width:0;min-height:0;overflow:hidden}.formal-review-table .formal-grid-wrap{height:100%}.formal-inspector,.formal-ir-trace{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;min-height:0;overflow:auto}.formal-inspector-title{border-bottom:1px solid var(--formal-border);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.formal-inspector-title>div{gap:2px;min-width:0;display:grid}.formal-inspector-title span{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-inspector dl{grid-template-columns:96px minmax(0,1fr);margin:0;padding:12px;display:grid}.formal-inspector dt,.formal-inspector dd{border-bottom:1px solid var(--formal-border);min-height:34px;margin:0;padding:6px 0}.formal-inspector dt{color:var(--formal-muted)}.formal-inspector-actions{border-top:1px solid var(--formal-border);background:var(--formal-panel);justify-content:flex-end;padding:10px 12px;display:flex;position:sticky;bottom:0}.phase25-review{border:1px solid var(--formal-border);background:var(--formal-panel);grid-template-rows:auto auto minmax(0,1fr);min-height:420px;display:grid}.phase25-review-header{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.phase25-review-header>div{align-items:center;gap:9px;display:flex}.phase25-review-header span{gap:2px;display:grid}.phase25-review-header small,.phase25-media-panel>small,.phase25-observation-list small,.phase25-alternative small,.phase25-legacy small{color:var(--formal-muted)}.phase25-review-grid{grid-template-columns:minmax(340px,1.5fr) minmax(190px,.7fr) minmax(260px,.9fr);min-height:0;display:grid}.phase25-media-panel,.phase25-observation-list,.phase25-evidence-inspector{border-right:1px solid var(--formal-border);min-width:0;min-height:0;overflow:auto}.phase25-media-panel iframe,.phase25-image-stage{background:var(--formal-canvas,#f4f5f7);border:0;width:100%;height:360px;display:block}.phase25-image-stage{overflow:auto}.phase25-image-canvas{width:100%;position:relative}.phase25-image-canvas img{width:100%;height:auto;display:block}.phase25-observation-box{z-index:2;border:2px solid var(--formal-danger);background:color-mix(in srgb, var(--formal-danger) 12%, transparent);pointer-events:none;position:absolute}.phase25-media-panel>small{padding:7px 9px;display:block}.phase25-observation-list{align-content:start;display:grid}.phase25-observation-list button{border:0;border-bottom:1px solid var(--formal-border);text-align:left;background:0 0;gap:4px;padding:9px 10px;display:grid}.phase25-observation-list button.active{background:var(--formal-info-bg);box-shadow:inset 3px 0 var(--formal-info)}.phase25-observation-pager{border-top:1px solid var(--formal-border);background:var(--formal-panel);justify-content:space-between;align-items:center;gap:6px;padding:8px;display:flex;position:sticky;bottom:0}.phase25-observation-pager button{border:1px solid var(--formal-border);background:var(--formal-panel);padding:5px 7px}.phase25-observation-pager span{color:var(--formal-muted);white-space:nowrap;font-size:11px}.phase25-evidence-inspector{border-right:0;padding:10px}.phase25-evidence-inspector h3{margin:8px 0;font-size:13px}.phase25-evidence-inspector code{color:var(--formal-muted);text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.phase25-alternative,.phase25-legacy{border:1px solid var(--formal-border);gap:4px;margin-bottom:7px;padding:8px;display:grid}.phase25-alternative>span{align-items:center;gap:7px;display:flex}.phase25-correction{color:var(--formal-muted);gap:5px;margin:8px 0 12px;display:grid}.phase25-correction input{min-height:32px;color:var(--formal-text)}.phase25-review-form{border-top:1px solid var(--formal-border);gap:8px;margin-top:12px;padding-top:10px;display:grid}.phase25-review-form textarea{resize:vertical;min-height:76px}.phase25-review-saved{color:var(--formal-success);align-items:center;gap:5px;margin:0;display:flex}.review-mode-tabs{border:1px solid var(--formal-border);background:var(--formal-panel);border-radius:4px;flex:none;height:34px;display:inline-flex;overflow:hidden}.review-mode-tabs button{border:0;border-right:1px solid var(--formal-border);min-width:88px;color:var(--formal-muted);font-size:var(--formal-type-caption);background:0 0;padding:0 13px}.review-mode-tabs button:last-child{border-right:0}.review-mode-tabs button.active{background:var(--formal-success-bg);color:var(--formal-primary);font-weight:650}.review-tool-page{background:var(--formal-app);grid-template-rows:70px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;padding:0 18px 20px;display:grid;overflow:hidden}.review-tool-head{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.review-tool-head>div{min-width:0}.review-tool-head h1{font-size:var(--formal-type-page-title);margin:0;line-height:28px}.review-tool-head p{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);margin:2px 0 0}.review-tool-body{min-width:0;min-height:0;overflow:hidden}.review-tool-body>.phase25-review,.review-tool-body>.phase25-batch-review{height:100%}.phase25-batch-review{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;min-height:0;font-size:var(--formal-type-body);grid-template-rows:54px 42px 68px minmax(0,1fr);display:grid;position:relative;overflow:hidden}.semantic-baseline-scope{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:10px;min-width:0;padding:7px 12px;display:flex}.semantic-profile-label{border-right:1px solid var(--formal-border);align-items:center;gap:9px;min-width:188px;padding-right:12px;display:flex}.semantic-profile-label svg{color:var(--formal-primary);flex:none}.semantic-profile-label span{gap:1px;min-width:0;display:grid}.semantic-profile-label small,.semantic-baseline-scope p{color:var(--formal-muted);font-size:var(--formal-type-caption)}.semantic-profile-label b{font-size:var(--formal-type-body)}.semantic-profile-value{border:1px solid var(--formal-border);background:var(--formal-panel);justify-content:space-between;align-items:center;gap:8px;width:min(420px,35vw);min-width:260px;height:36px;padding:0 10px;display:inline-flex}.semantic-profile-value strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.semantic-profile-state{background:var(--formal-success-bg);color:var(--formal-primary);font-size:var(--formal-type-caption);border-radius:2px;flex:none;padding:5px 8px}.semantic-baseline-scope p{text-align:right;overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.batch-review-notice{background:var(--formal-info-bg);min-width:0;color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);border-bottom:1px solid #bfd6e8;align-items:center;gap:9px;padding:0 12px;display:flex}.batch-review-notice>span{overflow-wrap:anywhere;flex:1;min-width:0}.batch-review-notice>span b{color:var(--formal-text)}.batch-review-notice>strong{color:var(--formal-text);font-size:var(--formal-type-caption);flex:none}.semantic-stage-rail{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);grid-template-columns:repeat(6,minmax(110px,1fr));min-width:0;display:grid;overflow-x:auto}.semantic-stage-rail button{border:0;border-right:1px solid var(--formal-border);min-width:110px;color:var(--formal-muted);text-align:left;background:0 0;grid-template-rows:22px 18px;grid-template-columns:28px minmax(0,1fr);align-content:center;column-gap:8px;padding:8px 11px;display:grid}.semantic-stage-rail button>span{border:1px solid var(--formal-border);width:28px;height:28px;color:var(--formal-text);border-radius:50%;grid-row:1/3;align-self:center;place-items:center;font-weight:700;display:grid}.semantic-stage-rail button strong{color:var(--formal-text);text-overflow:ellipsis;white-space:nowrap;align-self:end;overflow:hidden}.semantic-stage-rail button small{color:inherit;font-size:var(--formal-type-caption);align-self:start}.semantic-stage-rail button.active{background:var(--formal-info-bg);box-shadow:inset 0 -3px var(--formal-info);color:var(--formal-info)}.semantic-stage-rail button.active>span{border-color:var(--formal-info);background:var(--formal-info);color:#fff}.batch-review-error{z-index:12;min-height:42px;box-shadow:var(--formal-shadow);position:absolute;top:104px;left:12px;right:12px}.semantic-baseline-empty{min-height:0;color:var(--formal-muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:30px;display:grid}.semantic-baseline-empty svg{color:var(--formal-primary)}.semantic-baseline-empty h2{color:var(--formal-text);font-size:var(--formal-type-title);margin:0}.semantic-baseline-empty p{max-width:560px;line-height:var(--formal-leading-body);overflow-wrap:anywhere;margin:0}.batch-review-grid{grid-template-columns:minmax(460px,1.35fr) minmax(310px,.82fr) minmax(330px,.9fr);min-width:0;min-height:0;display:grid;overflow:hidden}.batch-drawing-pane,.batch-group-pane,.batch-inspector{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.batch-drawing-pane,.batch-group-pane{border-right:1px solid var(--formal-border)}.batch-pane-head{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:9px;height:52px;min-height:52px;padding:0 12px;display:flex}.batch-pane-head>div{flex:1;gap:2px;min-width:0;display:grid}.batch-pane-head b,.batch-pane-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-pane-head b{font-size:var(--formal-type-body)}.batch-pane-head span{color:var(--formal-muted);font-size:var(--formal-type-caption)}.batch-pane-head label,.batch-pane-head button{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);font-size:var(--formal-type-caption);border-radius:3px;flex:none;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.batch-pane-head label select{min-width:128px;max-width:220px;color:inherit;background:0 0;border:0;outline:0}.batch-drawing-toolbar{border-bottom:1px solid var(--formal-border);background:var(--formal-soft);align-items:center;gap:3px;height:40px;min-height:40px;padding:4px 8px;display:flex}.batch-drawing-toolbar button{min-width:30px;height:30px;color:var(--formal-text);background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.batch-drawing-toolbar button:hover,.batch-drawing-toolbar button.active{border-color:color-mix(in srgb, var(--formal-primary) 50%, var(--formal-border));background:var(--formal-success-bg);color:var(--formal-primary)}.batch-drawing-toolbar>i{background:var(--formal-border);width:1px;height:22px;margin:0 4px}.batch-drawing-toolbar>strong{text-align:center;font-variant-numeric:tabular-nums;width:44px}.batch-drawing-stage{background:var(--formal-canvas,#dfe5e8);flex:1;min-height:0;position:relative;overflow:auto}.batch-drawing-stage.pan{cursor:grab}.batch-drawing-stage.pan:active{cursor:grabbing}.batch-drawing-image{transform-origin:0 0;position:relative}.batch-drawing-image img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.batch-drawing-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.batch-group-box{fill:color-mix(in srgb, var(--formal-primary) 10%, transparent);stroke:var(--formal-primary);stroke-width:.0025px;vector-effect:non-scaling-stroke}.batch-group-box[role=button]{pointer-events:all;cursor:pointer}.batch-canvas-status{color:#dbe7ec;height:30px;min-height:30px;font-size:var(--formal-type-caption);background:#11232f;align-items:center;gap:7px;padding:0 10px;display:flex}.batch-canvas-status svg{color:#5eead4}.batch-canvas-status span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.batch-canvas-status button{color:#5eead4;font-size:inherit;background:0 0;border:0;flex:none;padding:0}.batch-group-tools{border-bottom:1px solid var(--formal-border);gap:7px;min-height:78px;padding:8px 10px;display:grid}.batch-group-tools label{border:1px solid var(--formal-border);align-items:center;gap:6px;height:30px;padding:0 8px;display:flex}.batch-group-tools label svg{color:var(--formal-muted)}.batch-group-tools input{min-width:0;color:inherit;background:0 0;border:0;outline:0;flex:1}.batch-group-tools>div{grid-template-columns:1fr 1fr;align-items:center;gap:6px;display:grid}.batch-group-tools>div>span{color:var(--formal-muted);font-size:var(--formal-type-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-group-tools select{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;height:28px;color:inherit}.batch-group-list{flex:1;min-height:0;overflow-y:auto}.batch-group-row{border:0;border-bottom:1px solid var(--formal-border);background:var(--formal-panel);width:100%;min-height:70px;color:var(--formal-text);text-align:left;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px 10px;display:grid}.batch-group-row:hover{background:var(--formal-soft)}.batch-group-row.active{background:var(--formal-info-bg);box-shadow:inset 3px 0 var(--formal-info)}.batch-group-row>input{width:16px;height:16px;accent-color:var(--formal-primary)}.batch-group-select{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.batch-group-select>span{gap:3px;min-width:0;display:grid}.batch-group-row small,.batch-group-row b,.batch-group-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-group-row small,.batch-group-row em{color:var(--formal-muted);font-size:var(--formal-type-caption);font-style:normal}.batch-group-row>strong{background:var(--formal-soft);color:var(--formal-muted);font-size:var(--formal-type-caption);white-space:nowrap;border-radius:2px;padding:3px 6px}.batch-group-row>strong.accepted{background:var(--formal-success-bg);color:var(--formal-success)}.batch-group-row>strong.rejected{background:var(--formal-danger-bg);color:var(--formal-danger)}.batch-pager{border-top:1px solid var(--formal-border);justify-content:space-between;align-items:center;height:42px;min-height:42px;padding:0 9px;display:flex}.batch-pager button{border:1px solid var(--formal-border);background:var(--formal-panel);height:28px;color:inherit;align-items:center;gap:4px;display:inline-flex}.batch-inspector-scroll{flex:1;min-height:0;overflow-y:auto}.batch-inspector-scroll>section{border-bottom:1px solid var(--formal-border);padding:13px 12px}.batch-inspector h2{font-size:var(--formal-type-body);justify-content:space-between;margin:0 0 10px;display:flex}.batch-inspector h2 span{color:var(--formal-muted);font-weight:400}.batch-inspector dl{border:1px solid var(--formal-border);margin:0}.batch-inspector dl>div{border-bottom:1px solid var(--formal-border);grid-template-columns:74px minmax(0,1fr);gap:8px;min-height:34px;padding:8px;display:grid}.batch-inspector dl>div:last-child{border-bottom:0}.batch-inspector dt{color:var(--formal-muted)}.batch-inspector dd{overflow-wrap:anywhere;min-width:0;margin:0}.batch-member-list{border:1px solid var(--formal-border)}.batch-member-list>div{border-bottom:1px solid var(--formal-border);align-items:center;gap:8px;min-height:44px;padding:5px 8px;display:flex}.batch-member-list>div:last-child{border-bottom:0}.batch-member-list i{border:2px solid var(--formal-muted);flex:none;width:22px;height:22px}.batch-member-list i.text{border:0;border-bottom:2px solid var(--formal-primary);height:12px}.batch-member-list span{gap:2px;min-width:0;display:grid}.batch-member-list b,.batch-member-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-member-list small,.batch-member-more{color:var(--formal-muted);font-size:var(--formal-type-caption)}.batch-member-more{padding-top:8px;display:block}.batch-inspector ul{margin:0;padding-left:18px}.batch-inspector li{overflow-wrap:anywhere;margin-bottom:5px}.batch-empty-dependency{background:var(--formal-soft);color:var(--formal-muted);margin:0;padding:10px}.batch-decision-bar{border-top:1px solid var(--formal-border);background:var(--formal-panel);flex:none;padding:10px 12px}.batch-decision-bar p{color:var(--formal-muted);font-size:var(--formal-type-caption);margin:0 0 8px}.batch-decision-bar>div{grid-template-columns:1fr 1.25fr;gap:8px;display:grid}.batch-decision-bar button{background:var(--formal-panel);border-radius:3px;justify-content:center;align-items:center;gap:5px;height:36px;display:inline-flex}.batch-decision-bar .reject{border:1px solid var(--formal-danger);color:var(--formal-danger)}.batch-decision-bar .accept{border:1px solid var(--formal-primary);background:var(--formal-primary);color:#fff}.batch-decision-dialog{border:1px solid var(--formal-border);background:var(--formal-panel);width:min(470px,100vw - 32px);box-shadow:0 20px 55px #0c182155}.batch-decision-dialog .formal-dialog-header{align-items:center;min-height:64px}.batch-decision-dialog h2,.batch-decision-dialog p{margin:0}.batch-decision-dialog h2{font-size:15px}.batch-decision-dialog p{color:var(--formal-muted);font-size:var(--formal-type-caption);margin-top:4px}.batch-dialog-warning{background:var(--formal-warning-bg);color:var(--formal-warning);line-height:var(--formal-leading-body);border:1px solid #ecd797;gap:8px;margin:14px 16px 0;padding:10px;display:flex}.batch-dialog-warning svg{flex:none}.batch-decision-dialog>label{gap:7px;padding:14px 16px;font-weight:600;display:grid}.batch-decision-dialog textarea{resize:none;border:1px solid var(--formal-border);background:var(--formal-panel);height:86px;color:inherit;font:inherit;padding:9px}@media (width<=1180px){.batch-review-grid{grid-template-columns:minmax(420px,1.2fr) minmax(290px,.8fr) minmax(310px,.9fr)}.review-tool-head p,.semantic-baseline-scope p{display:none}}.operation-history-page{background:var(--formal-app);grid-template-rows:57px 68px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;padding:13px 18px 21px;display:grid;position:relative;overflow:hidden}.history-head{align-items:flex-start;gap:8px;min-width:0;padding-top:8px;display:flex}.history-head>div{flex:1;min-width:0}.history-head h1{font-size:var(--formal-type-page-title);margin:0;line-height:28px}.history-head p{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);margin:1px 0 0}.history-scope{border:1px solid var(--formal-border);background:var(--formal-panel);height:32px;color:var(--formal-text);font-size:var(--formal-type-caption);border-radius:4px;flex:none;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.history-summary{border:1px solid var(--formal-border);background:var(--formal-panel);grid-template-columns:repeat(4,minmax(116px,1fr)) minmax(360px,3fr);min-width:0;display:grid}.history-summary>div{border-right:1px solid var(--formal-border);align-items:center;gap:7px;min-width:0;padding:0 12px;display:flex}.history-summary>div b{font-variant-numeric:tabular-nums;font-size:22px}.history-summary>div b.amber{color:#c77b00}.history-summary>div span{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);overflow-wrap:anywhere}.history-summary>p{background:var(--formal-info-bg);min-width:0;color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);overflow-wrap:anywhere;align-items:center;gap:7px;margin:0;padding:8px 12px;display:flex}.history-summary>p svg{color:var(--formal-info);flex:none}.history-summary>p b{color:var(--formal-text)}.history-error{z-index:25;width:min(420px,45vw);min-height:40px;box-shadow:var(--formal-shadow);position:absolute;top:76px;right:18px}.history-workspace{border:1px solid var(--formal-border);background:var(--formal-panel);border-top:0;grid-template-columns:minmax(430px,43.55%) minmax(290px,26.8%) minmax(320px,29.65%);min-width:0;min-height:0;display:grid;overflow:hidden}.history-canvas,.history-list,.history-detail{border-right:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;min-height:0;overflow:hidden}.history-canvas{grid-template-rows:54px 34px minmax(0,1fr) 30px;display:grid}.history-pane-title{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:6px 10px;display:flex}.history-pane-title>div{gap:2px;min-width:0;display:grid}.history-pane-title b{font-size:var(--formal-type-body)}.history-pane-title span{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history-pane-title>button{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);font-size:var(--formal-type-caption);border-radius:4px;align-items:center;gap:5px;display:inline-flex}.history-drawing-trigger{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);font-size:var(--formal-type-caption);border-radius:4px;flex:none;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.history-drawing-menu{z-index:30;border:1px solid var(--formal-border);background:var(--formal-panel);width:min(330px,100vw - 48px);box-shadow:var(--formal-shadow);border-radius:4px;padding:8px}.history-drawing-menu>label{border:1px solid var(--formal-border);height:34px;color:var(--formal-muted);border-radius:3px;align-items:center;gap:6px;padding:0 8px;display:flex}.history-drawing-menu>label:focus-within{box-shadow:inset 0 0 0 2px var(--formal-focus)}.history-drawing-menu>label input{width:100%;min-width:0;color:var(--formal-text);font-size:var(--formal-type-caption);background:0 0;border:0;outline:0}.history-drawing-menu>small{color:var(--formal-muted);font-size:var(--formal-type-caption);padding:8px 4px 5px;display:block}.history-drawing-menu>div{max-height:250px;overflow-y:auto}.history-drawing-menu>div>[role=menuitem]{width:100%;min-height:42px;color:var(--formal-text);text-align:left;background:0 0;border:0;border-radius:3px;outline:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.history-drawing-menu>div>[role=menuitem]:focus,.history-drawing-menu>div>[role=menuitem].selected{background:var(--formal-success-bg);color:var(--formal-primary)}.history-drawing-menu>div>[role=menuitem]>span{gap:2px;min-width:0;display:grid}.history-drawing-menu>div>[role=menuitem] b{font-size:var(--formal-type-body)}.history-drawing-menu>div>[role=menuitem] small{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);overflow-wrap:anywhere}.history-drawing-menu>p{color:var(--formal-muted);font-size:var(--formal-type-caption);text-align:center;margin:0;padding:14px 8px}.history-canvas-tools{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);align-items:center;gap:2px;min-width:0;height:34px;padding:2px 7px;display:flex}.history-canvas-tools button{width:28px;height:28px;color:var(--formal-text);font-size:var(--formal-type-caption);background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.history-canvas-tools button:has(span){width:auto;padding:0 6px}.history-canvas-tools button.active{border-color:color-mix(in srgb, var(--formal-primary) 35%, var(--formal-border));background:var(--formal-success-bg);color:var(--formal-primary)}.history-canvas-tools>i{background:var(--formal-border);width:1px;height:20px;margin:0 3px}.history-canvas-tools strong{min-width:38px;font-size:var(--formal-type-caption);text-align:center}.history-canvas-stage{background:#dfe4e8;align-items:center;min-width:0;min-height:0;padding-top:22px;display:flex;position:relative;overflow:auto}.history-canvas-stage.pan{cursor:grab}.history-image{transform-origin:0 0;background:#fff;flex:none;min-width:0;margin:auto;position:relative;box-shadow:0 0 0 1px #cbd5e1}.history-image img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.drawing-surface-image.is-pending{opacity:0;pointer-events:none;position:absolute;width:1px!important;height:1px!important}.drawing-surface-placeholder{background:var(--formal-panel);width:100%;min-height:320px;color:var(--formal-muted);font-size:var(--formal-type-body);text-align:center;place-items:center;padding:24px;display:grid}.drawing-surface-placeholder.error{color:var(--formal-danger)}.history-overlay{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.history-overlay .history-bbox{fill:var(--ob-visual-bbox-active-fill);stroke:var(--ob-visual-bbox-active-stroke);stroke-width:2px;vector-effect:non-scaling-stroke}.history-overlay .history-bbox.before{fill:var(--ob-color-warning-bg);stroke:var(--ob-visual-bbox-merge-stroke)}.history-layer-key{z-index:4;border:1px solid var(--formal-border);box-shadow:var(--formal-shadow);font-size:var(--formal-type-caption);background:#fffffff0;align-self:flex-end;gap:10px;margin:0 0 10px 10px;padding:6px 8px;display:flex;position:sticky;bottom:10px;left:10px}.history-layer-key span{white-space:nowrap;align-items:center;gap:4px;display:flex}.history-layer-key i{border:2px solid var(--ob-visual-bbox-active-stroke);width:8px;height:8px}.history-layer-key i.before{border-color:var(--ob-visual-bbox-merge-stroke)}.history-canvas-status{color:#e5edf5;height:30px;min-height:30px;font-size:var(--formal-type-caption);background:#111b25;align-items:center;gap:8px;padding:0 8px;display:flex}.history-canvas-status button{color:#73ddd3;font-size:var(--formal-type-caption);background:0 0;border:0;margin-left:auto}.history-list{grid-template-rows:54px 36px 34px minmax(0,1fr) 40px;display:grid}.history-record-search{border-bottom:1px solid var(--formal-border);height:34px;color:var(--formal-muted);align-items:center;gap:6px;padding:0 9px;display:flex}.history-record-search:focus-within{box-shadow:inset 0 0 0 2px var(--formal-focus)}.history-record-search input{width:100%;min-width:0;color:var(--formal-text);font-size:var(--formal-type-caption);background:0 0;border:0;outline:0}.history-record-filters{border-bottom:1px solid var(--formal-border);background:var(--formal-soft);grid-template-columns:repeat(5,minmax(0,1fr));height:32px;display:grid}.history-record-filters button{color:var(--formal-muted);font-size:var(--formal-type-caption);background:0 0;border:0;border-bottom:2px solid #0000}.history-record-filters button.active{border-bottom-color:var(--formal-primary);background:var(--formal-panel);color:var(--formal-primary)}.history-record-list{min-height:0;overflow-y:auto}.history-list .history-record-row{border:0;border-bottom:1px solid var(--formal-border);width:100%;min-height:72px;color:var(--formal-text);text-align:left;background:0 0;grid-template-columns:28px minmax(0,1fr) auto 14px;align-items:center;gap:7px;padding:7px;display:grid}.history-record-row.active{background:#edf5ff;box-shadow:inset 3px 0 #2f6fed}.history-record-row>i{color:#2f6fed;background:#e9f1ff;border-radius:50%;place-items:center;width:26px;height:26px;font-style:normal;display:grid}.history-record-row>i.merge{color:#7254d3;background:#f0ebff}.history-record-row>i.delete{color:#d94a45;background:#fff0ef}.history-record-row>i.create{color:#138f83;background:#e6f6f3}.history-record-row>i.undo{color:#64748b;background:#eef1f4}.history-record-row>span{gap:2px;min-width:0;display:grid}.history-record-row small,.history-record-row em{color:var(--formal-muted);font-size:var(--formal-type-caption);font-style:normal;line-height:var(--formal-leading-compact);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history-record-row b{font-size:var(--formal-type-body);line-height:var(--formal-leading-compact);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history-record-row>strong{color:var(--formal-success);font-size:var(--formal-type-caption);white-space:nowrap}.history-record-row>strong.withdrawn{color:var(--formal-muted)}.history-pagination{border-top:1px solid var(--formal-border);justify-content:space-between;align-items:center;height:38px;padding:4px 7px;display:flex}.history-pagination button{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);font-size:var(--formal-type-caption);align-items:center;gap:3px;display:inline-flex}.history-pagination span{font-size:var(--formal-type-caption)}.history-detail{border-right:0;flex-direction:column;display:flex}.history-detail-head{border-bottom:1px solid var(--formal-border);flex:none;min-height:90px;padding:11px 76px 10px 12px;display:flex;position:relative}.history-detail-head>div{min-width:0}.history-detail-head small,.history-detail-head p{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);overflow-wrap:anywhere;margin:0}.history-detail-head h2{font-size:var(--formal-type-title);line-height:var(--formal-leading-compact);overflow-wrap:anywhere;margin:6px 0}.history-detail-head>span{background:var(--formal-success-bg);color:var(--formal-success);font-size:var(--formal-type-caption);padding:4px 7px;position:absolute;top:13px;right:11px}.history-detail-head>span.withdrawn{background:var(--formal-soft);color:var(--formal-muted)}.history-detail-scroll{background:var(--formal-soft);flex:auto;align-content:start;gap:9px;min-height:0;padding:9px 10px;display:grid;overflow-y:auto}.history-detail-card{border:1px solid var(--formal-border);background:var(--formal-panel)}.history-detail-card>header{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;height:32px;padding:0 8px;display:flex}.history-detail-card>header b{font-size:var(--formal-type-body)}.history-detail-card>header button{color:var(--formal-primary);font-size:var(--formal-type-caption);background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.history-detail-card>header span{color:var(--formal-muted);font-size:var(--formal-type-caption)}.history-detail .history-operation-card dl{border:0;grid-template-columns:none;margin:0;display:block}.history-operation-card dl>div{border-bottom:1px solid var(--formal-border);min-height:40px;font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);grid-template-columns:76px minmax(0,1fr);align-items:start;gap:8px;padding:10px 8px;display:grid}.history-operation-card dl>div:last-child{border-bottom:0}.history-detail .history-operation-card dt,.history-detail .history-operation-card dd{border:0;min-height:0;padding:0}.history-operation-card dt{color:var(--formal-muted)}.history-operation-card dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.history-field-changes>header span{color:var(--formal-primary)}.history-field-change{border-bottom:1px solid var(--formal-border);min-height:44px;font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);grid-template-columns:78px minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:6px;padding:8px;display:grid}.history-field-change>b,.history-unchanged-field>b{color:var(--formal-muted)}.history-field-change>span{color:var(--formal-muted);overflow-wrap:anywhere;text-decoration:line-through}.history-field-change>strong{overflow-wrap:anywhere}.history-field-change>svg{color:var(--formal-muted)}.history-field-changes>p{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);overflow-wrap:anywhere;margin:0;padding:10px 8px}.history-unchanged-field{min-height:40px;font-size:var(--formal-type-caption);grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 8px;display:grid}.history-unchanged-field>span{overflow-wrap:anywhere;font-weight:600}.history-unchanged-field>em{background:var(--formal-soft);color:var(--formal-muted);border-radius:9px;padding:2px 5px;font-style:normal}.history-dependencies>p{color:#8a5d12;font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);overflow-wrap:anywhere;background:#fff8e7;margin:0;padding:8px}.history-dependency-row{border-top:1px solid var(--formal-border);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;min-height:48px;padding:5px 8px;display:grid}.history-dependency-row>i{color:#c77b00;width:20px;height:20px;font-size:var(--formal-type-caption);background:#fff4dd;border-radius:50%;place-items:center;font-style:normal;display:grid}.history-dependency-row>span{gap:2px;min-width:0;display:grid}.history-dependency-row b,.history-dependency-row small{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact)}.history-dependency-row b{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.history-dependency-row b em{background:var(--formal-info-bg);color:var(--formal-info);border-radius:9px;padding:2px 5px;font-style:normal;font-weight:500}.history-dependency-row strong{font-size:var(--formal-type-body);line-height:var(--formal-leading-compact);overflow-wrap:anywhere}.history-dependencies>.history-no-dependencies{background:var(--formal-panel);color:var(--formal-muted)}.history-dependencies>.history-no-dependencies.error{background:var(--formal-warning-bg);color:var(--formal-danger)}.history-technical{border:1px solid var(--formal-border);background:var(--formal-panel);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body)}.history-technical summary{cursor:pointer;padding:8px}.history-technical p{color:var(--formal-muted);margin:0;padding:0 8px 7px}.history-detail-actions{border-top:1px solid var(--formal-border);background:var(--formal-panel);flex:none;min-height:66px;padding:7px 10px 9px}.history-detail-actions p{color:var(--formal-muted);font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);overflow-wrap:anywhere;margin:0 0 7px}.history-detail-actions>div{grid-template-columns:1fr 1fr;gap:6px;display:grid}.history-detail-actions .formal-button{min-width:0;height:auto;min-height:34px;font-size:var(--formal-type-caption);line-height:var(--formal-leading-compact);white-space:normal;justify-content:center;padding:6px}.formal-button.danger-outline{border:1px solid var(--formal-danger);background:var(--formal-panel);color:var(--formal-danger)}.formal-button.danger-outline:disabled{border-color:var(--formal-border);color:var(--formal-muted)}.withdraw-dialog{grid-template-rows:auto minmax(0,1fr) auto;width:min(590px,100vw - 32px);max-height:min(760px,100vh - 32px);display:grid;overflow:hidden}.withdraw-warning{color:#c77b00;background:#fff4dd;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.withdraw-dialog h2{margin:0 0 6px;font-size:16px}.withdraw-dialog-body{min-height:0;padding:14px;overflow-y:auto}.withdraw-dialog-body>b{font-size:var(--formal-type-body);margin-bottom:8px;display:block}.withdraw-item{border:1px solid var(--formal-border);border-bottom:0;align-items:center;gap:8px;min-height:48px;padding:7px 9px;display:flex}.withdraw-item:last-of-type{border-bottom:1px solid var(--formal-border)}.withdraw-item>i{color:#c77b00;width:22px;height:22px;font-size:var(--formal-type-caption);background:#fff4dd;border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.withdraw-item>span{gap:3px;min-width:0;display:grid}.withdraw-item strong{font-size:var(--formal-type-body);line-height:var(--formal-leading-compact);overflow-wrap:anywhere}.withdraw-item small{color:var(--formal-muted);font-size:var(--formal-type-caption)}.withdraw-impact{background:var(--formal-warning-bg);color:var(--formal-warning);font-size:var(--formal-type-caption);line-height:var(--formal-leading-body);align-items:flex-start;gap:7px;margin:10px 0;padding:9px;display:flex}.withdraw-dialog-body>label{color:var(--formal-text);font-size:var(--formal-type-body);gap:5px;display:grid}.withdraw-dialog textarea{resize:none;border:1px solid var(--formal-border);height:58px;font:inherit;padding:8px}.withdraw-dialog-body>.withdraw-ack{color:var(--formal-muted);grid-template-columns:auto 1fr;align-items:center;margin-top:9px;display:flex}@media (width<=1180px){.history-summary{grid-template-columns:repeat(4,minmax(92px,1fr)) minmax(280px,3fr)}.history-workspace{grid-template-columns:minmax(390px,43%) minmax(260px,27%) minmax(300px,30%)}.history-canvas-tools button span{display:none}}.formal-knowledge{grid-template-rows:42px minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.formal-knowledge-tabs{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.formal-knowledge-tabs [role=tablist],.formal-admin-tabs{align-items:center;gap:2px;display:flex}.formal-knowledge-tabs button,.formal-admin-tabs button{height:34px;color:var(--formal-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px}.formal-knowledge-tabs button[data-state=active],.formal-admin-tabs button[data-state=active]{border-color:var(--formal-primary);color:var(--formal-text);font-weight:600}.formal-knowledge-content{min-width:0;min-height:0;padding:14px;overflow:auto}.formal-knowledge-content.ir:not([hidden]){width:100%;height:100%;padding:0;display:flex;overflow:hidden}.formal-knowledge-content:has(>.knowledge-data-layout){padding:0;overflow:hidden}.knowledge-data-layout{background:var(--formal-soft);grid-template-columns:232px minmax(440px,1fr) 284px;width:100%;min-width:0;height:100%;min-height:0;display:grid}.knowledge-filter-panel,.knowledge-detail-panel,.knowledge-table-panel,.knowledge-relationship-main{background:var(--formal-panel);min-width:0;min-height:0}.knowledge-filter-panel{border-right:1px solid var(--formal-border);flex-direction:column;display:flex}.knowledge-filter-panel>header,.knowledge-detail-panel>header,.knowledge-relationship-main>header,.knowledge-relation-table>header{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.knowledge-filter-panel>header span,.knowledge-detail-panel>header>span,.knowledge-relationship-main>header span,.knowledge-relation-table>header span{color:var(--formal-muted);font-size:11px}.knowledge-search{border:1px solid var(--formal-border);background:var(--formal-panel);min-width:0;height:34px;color:var(--formal-muted);border-radius:4px;align-items:center;gap:7px;margin:10px 12px;padding:0 9px;display:flex}.knowledge-search input{width:100%;min-width:0;color:var(--formal-text);background:0 0;border:0;outline:0;font-size:11px}.knowledge-filter-panel nav{gap:2px;padding:0 8px;display:grid}.knowledge-filter-panel nav button{min-height:36px;color:var(--formal-text);text-align:left;background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:11px;display:flex}.knowledge-filter-panel nav button:hover{background:var(--formal-soft)}.knowledge-filter-panel nav button.active{box-shadow:inset 3px 0 var(--formal-primary);background:var(--formal-success-bg);color:var(--formal-primary);font-weight:600}.knowledge-filter-panel nav button strong{color:inherit;font-variant-numeric:tabular-nums;font-size:10px}.knowledge-coverage{border:1px solid var(--formal-border);gap:7px;margin:auto 12px 12px;padding:11px;display:grid}.knowledge-coverage>strong{font-variant-numeric:tabular-nums;font-size:22px}.knowledge-coverage>div{background:var(--formal-soft);height:5px;overflow:hidden}.knowledge-coverage>div i{background:var(--formal-primary);height:100%;display:block}.knowledge-coverage small{color:var(--formal-muted);line-height:1.45}.knowledge-table-panel{border-right:1px solid var(--formal-border);grid-template-rows:auto auto minmax(0,1fr);display:grid}.knowledge-toolbar{border-bottom:1px solid var(--formal-border);grid-template-columns:minmax(180px,1fr) minmax(130px,190px) 110px auto;align-items:center;gap:7px;min-height:54px;padding:8px 10px;display:grid}.knowledge-toolbar .knowledge-search{margin:0}.knowledge-toolbar select{border:1px solid var(--formal-border);background:var(--formal-panel);width:100%;min-width:0;height:34px;color:var(--formal-text);border-radius:4px;padding:0 26px 0 8px;font-size:10px}.knowledge-toolbar .primary-button{white-space:nowrap;height:34px}.knowledge-readonly-note{border-bottom:1px solid var(--formal-border);background:var(--formal-warning-bg);min-height:30px;color:var(--formal-warning);padding:7px 10px;font-size:10px}.knowledge-table-panel .table-wrap,.knowledge-relation-table .table-wrap{min-height:0;overflow:auto}.knowledge-table-panel table,.knowledge-relation-table table{border-collapse:collapse;table-layout:fixed;width:100%}.knowledge-table-panel th,.knowledge-relation-table th{z-index:1;border-bottom:1px solid var(--formal-border);background:var(--formal-soft);height:34px;color:var(--formal-muted);text-align:left;padding:0 9px;font-size:10px;position:sticky;top:0}.knowledge-table-panel th button{width:100%;height:100%;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.knowledge-table-panel td,.knowledge-relation-table td{border-bottom:1px solid var(--formal-border);height:48px;color:var(--formal-text);text-overflow:ellipsis;white-space:nowrap;padding:5px 9px;font-size:10px;overflow:hidden}.knowledge-table-panel td:first-child{align-content:center;gap:2px;display:grid}.knowledge-table-panel tr.selected,.knowledge-relation-table tr.selected{box-shadow:inset 3px 0 var(--formal-primary);background:var(--formal-success-bg)}.knowledge-detail-panel{flex-direction:column;display:flex;overflow-y:auto}.knowledge-detail-title{border-bottom:1px solid var(--formal-border);gap:4px;padding:14px 12px;display:grid}.knowledge-detail-title code{color:var(--formal-primary);font-size:11px}.knowledge-detail-title strong{font-size:17px}.knowledge-detail-title span{color:var(--formal-muted);font-size:11px}.knowledge-detail-panel dl{margin:0;padding:0 12px}.knowledge-detail-panel dl>div{border-bottom:1px solid var(--formal-border);grid-template-columns:82px minmax(0,1fr);align-items:start;gap:8px;min-height:42px;padding:9px 0;font-size:10px;line-height:1.45;display:grid}.knowledge-detail-panel dt{color:var(--formal-muted)}.knowledge-detail-panel dd{overflow-wrap:anywhere;margin:0}.knowledge-engineer-note{border-left:3px solid var(--formal-warning);background:var(--formal-warning-bg);margin:12px;padding:10px}.knowledge-engineer-note p{color:var(--formal-text);margin:4px 0 0;font-size:10px;line-height:1.5}.knowledge-detail-panel>button{margin:auto 12px 10px}.knowledge-detail-panel>footer{border-top:1px solid var(--formal-border);color:var(--formal-muted);padding:9px 12px;font-size:9px;line-height:1.45}.knowledge-readonly-card{border:1px solid var(--formal-border);color:var(--formal-primary);gap:8px;margin:auto 12px 12px;padding:10px;display:flex}.knowledge-readonly-card>span{gap:3px;display:grid}.knowledge-readonly-card small{color:var(--formal-muted);line-height:1.45}.knowledge-relationship-main{border-right:1px solid var(--formal-border);grid-template-rows:46px minmax(230px,1fr) minmax(180px,.72fr);display:grid}.knowledge-relationship-main>header>div{gap:2px;display:grid}.knowledge-graph-canvas{background:var(--formal-soft);min-height:0}.knowledge-graph-canvas .react-flow{background:var(--formal-soft)}.knowledge-graph-canvas .react-flow__node-default{border:1px solid var(--formal-border);background:var(--formal-panel);width:174px;min-height:58px;color:var(--formal-text);box-shadow:none;text-align:left;border-radius:3px;padding:0;overflow:hidden}.knowledge-graph-canvas .react-flow__node-default.project,.knowledge-graph-canvas .react-flow__node-default.selected{border-color:var(--formal-primary);box-shadow:inset 3px 0 var(--formal-primary)}.knowledge-flow-node>span{gap:2px;min-width:0;padding:8px 10px;display:grid}.knowledge-flow-node small,.knowledge-flow-node em{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.knowledge-flow-node strong{font-family:var(--formal-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.knowledge-graph-canvas .react-flow__edge-path{stroke:var(--formal-primary);stroke-width:1.25px}.knowledge-graph-canvas .react-flow__edge-text{fill:var(--formal-muted);font-size:8px}.knowledge-graph-canvas .react-flow__edge-textbg{fill:var(--formal-panel)}.knowledge-graph-canvas .react-flow__controls{border:1px solid var(--formal-border);box-shadow:none;border-radius:3px}.knowledge-graph-canvas .react-flow__controls-button{border-bottom-color:var(--formal-border);background:var(--formal-panel);color:var(--formal-text)}.knowledge-graph-canvas .react-flow__attribution{color:var(--formal-muted);font-size:8px}.knowledge-relation-table{border-top:1px solid var(--formal-border);grid-template-rows:36px minmax(0,1fr);min-height:0;display:grid}.knowledge-relation-table>header{min-height:36px}@media (width<=1279px){.knowledge-data-layout{grid-template-columns:190px minmax(400px,1fr) 248px}.knowledge-toolbar{grid-template-columns:minmax(160px,1fr) 140px 100px}.knowledge-toolbar .primary-button{display:none}}.formal-drawings-hub{grid-template-rows:42px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.formal-drawings-tabs{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 12px 0 16px;display:flex}.formal-drawings-tabs [role=tablist]{align-items:center;gap:2px;min-width:0;height:100%;display:flex}.formal-drawings-tabs [role=tab]{height:100%;color:var(--formal-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px}.formal-drawings-tabs [role=tab][data-state=active]{border-color:var(--formal-primary);color:var(--formal-text);font-weight:600}.formal-drawings-object-entry{border:1px solid var(--formal-border);background:var(--formal-panel);height:30px;color:var(--formal-text);border-radius:4px;flex:none;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.formal-drawings-object-entry:hover,.formal-drawings-object-entry.active{border-color:var(--formal-primary);color:var(--formal-primary)}.formal-drawings-content{min-width:0;min-height:0;overflow:auto}.formal-drawings-content.workspace{overflow:hidden}.formal-drawings-content>.formal-page,.formal-drawings-content>.object-workbench{height:100%;min-height:0}.formal-profile-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.formal-profile-form label{color:var(--formal-muted);gap:5px;font-size:12px;display:grid}.formal-profile-form label:nth-child(n+4){grid-column:1/-1}.formal-profile-form input{border:1px solid var(--formal-border);background:var(--formal-panel);width:100%;min-width:0;height:34px;color:var(--formal-text);border-radius:4px;outline:0;padding:0 9px}.formal-profile-form input:focus-visible{border-color:var(--formal-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--formal-focus) 25%, transparent)}.formal-ir-page{flex:1;grid-template-rows:58px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.formal-ir-runbar{border-bottom:1px solid var(--formal-border);background:var(--formal-panel);grid-template-columns:minmax(230px,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:7px 12px;display:grid}.formal-ir-drawing-summary{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:1px 8px;min-width:0;display:grid}.formal-ir-drawing-summary small{color:var(--formal-muted);font-size:10px}.formal-ir-drawing-summary strong{min-width:0;font-family:var(--formal-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.formal-ir-drawing-summary span{color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:11px;overflow:hidden}.formal-ir-metrics{align-items:center;gap:18px;display:flex}.formal-ir-metrics>span{gap:1px;min-width:54px;display:grid}.formal-ir-metrics small{color:var(--formal-muted);font-size:10px}.formal-ir-metrics strong{font-variant-numeric:tabular-nums;font-size:14px}.formal-error.ir-error{min-height:48px;margin:8px 12px 0}.formal-ir-panels{flex:1;width:100%;min-width:0;height:100%;min-height:0}.formal-ir-page>.formal-ir-panels{grid-row:2}.formal-resize-handle{background:var(--formal-border);width:5px;position:relative}.formal-resize-handle:after{background:var(--formal-muted);content:"";opacity:0;width:1px;position:absolute;top:0;bottom:0;left:2px}.formal-resize-handle:hover:after,.formal-resize-handle[data-resize-handle-active]:after{opacity:1}.formal-ir-scope{border-right:1px solid var(--formal-border);background:var(--formal-panel);flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.formal-ir-drawing-nav{border-bottom:1px solid var(--formal-border);flex-direction:column;flex:52%;min-height:230px;display:flex;overflow:hidden}.formal-ir-drawing-nav>header{justify-content:space-between;align-items:center;min-height:46px;padding:8px 9px 6px;display:flex}.formal-ir-drawing-nav h2,.formal-ir-drawing-nav p{margin:0}.formal-ir-drawing-nav h2{font-size:13px;line-height:18px}.formal-ir-drawing-nav p{color:var(--formal-muted);font-size:9px;line-height:13px}.formal-ir-drawing-search{border:1px solid var(--formal-border);height:28px;color:var(--formal-muted);border-radius:4px;flex:0 0 28px;align-items:center;gap:6px;margin:0 8px 6px;padding:0 7px;display:flex}.formal-ir-drawing-search input{width:100%;min-width:0;height:26px;color:var(--formal-text);background:0 0;border:0;outline:0;padding:0;font-size:10px}.formal-ir-drawing-search:focus-within{border-color:var(--formal-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--formal-focus) 24%, transparent)}.formal-ir-drawing-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:0 8px 6px;display:grid}.formal-ir-drawing-filters button{background:var(--formal-soft);min-width:0;height:24px;color:var(--formal-muted);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:3px;padding:0 3px;font-size:9px;overflow:hidden}.formal-ir-drawing-filters button:hover{color:var(--formal-text)}.formal-ir-drawing-filters button.active{border-color:color-mix(in srgb, var(--formal-primary) 45%, var(--formal-border));background:var(--formal-success-bg);color:var(--formal-primary);font-weight:600}.formal-ir-drawing-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.formal-ir-drawing-row{border:0;border-bottom:1px solid var(--formal-border);background:var(--formal-panel);width:100%;height:52px;min-height:52px;color:var(--formal-text);text-align:left;border-radius:0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 7px;display:grid;position:relative}.formal-ir-drawing-row:before{content:"";background:0 0;width:3px;position:absolute;inset:0 auto 0 0}.formal-ir-drawing-row:hover{background:var(--formal-soft)}.formal-ir-drawing-row.active{background:var(--formal-success-bg)}.formal-ir-drawing-row.active:before{background:var(--formal-primary)}.formal-ir-drawing-row:focus-visible{z-index:1;outline:2px solid var(--formal-focus);outline-offset:-2px}.formal-ir-drawing-icon{border:1px solid var(--formal-border);background:var(--formal-soft);width:24px;height:32px;color:var(--formal-muted);justify-content:center;align-items:center;display:inline-flex}.formal-ir-drawing-copy{gap:0;min-width:0;display:grid}.formal-ir-drawing-copy strong,.formal-ir-drawing-copy span,.formal-ir-drawing-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.formal-ir-drawing-copy strong{font-family:var(--formal-font-mono);font-size:10px;line-height:13px}.formal-ir-drawing-copy span{font-size:9px;line-height:12px}.formal-ir-drawing-copy small{color:var(--formal-muted);font-size:8px;line-height:11px}.formal-ir-drawing-row .formal-status-chip{text-overflow:ellipsis;white-space:nowrap;max-width:50px;padding-inline:4px;font-size:8px;overflow:hidden}.formal-ir-drawing-empty{min-height:84px;color:var(--formal-muted);text-align:center;place-items:center;padding:12px;font-size:10px;line-height:1.5;display:grid}.formal-ir-layer-controls{flex:48%;min-height:0;overflow-y:auto}.formal-filter-group{border-bottom:1px solid var(--formal-border);gap:3px;padding:12px 8px;display:grid}.formal-filter-group h2{color:var(--formal-muted);text-transform:uppercase;margin:0 4px 5px;font-size:11px}.formal-filter-group button{min-height:34px;color:var(--formal-text);text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 8px;display:grid}.formal-filter-group button:hover{background:var(--formal-soft)}.formal-filter-group button.active{box-shadow:inset 3px 0 var(--formal-primary);background:var(--formal-success-bg)}.formal-filter-group em{color:var(--formal-muted);font-variant-numeric:tabular-nums;font-style:normal}.formal-layer-dot{border:2px solid;border-radius:50%;width:9px;height:9px}.formal-layer-dot.evidence{color:var(--formal-neutral)}.formal-layer-dot.hypothesis{color:var(--formal-info)}.formal-layer-dot.confirmed{color:var(--formal-success)}.formal-readonly-note{border:1px solid var(--formal-border);background:var(--formal-soft);color:var(--formal-muted);border-radius:4px;gap:8px;margin:auto 8px 8px;padding:9px;font-size:11px;line-height:1.45;display:flex}.formal-ir-center{background:var(--formal-app);grid-template-rows:260px minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid}.formal-relation-overview{border-bottom:1px solid var(--formal-border);background:var(--formal-border);grid-template-columns:minmax(360px,1.25fr) minmax(260px,1fr);align-items:stretch;gap:1px;min-width:0;display:grid}.formal-relation-map{background:var(--formal-panel);min-width:0;color:var(--formal-primary);grid-template-rows:auto minmax(0,1fr);gap:8px;padding:10px;display:grid}.formal-relation-map>div:first-child{align-items:center;gap:7px;display:flex}.formal-relation-map>div:first-child span{color:var(--formal-muted);margin-left:auto}.formal-relation-graph{align-content:start;gap:5px;min-height:0;display:grid;overflow:auto}.formal-relation-graph button{border:1px solid var(--formal-border);background:var(--formal-soft);min-height:38px;color:var(--formal-text);border-radius:4px;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:center;gap:6px;padding:4px 6px;display:grid}.formal-relation-graph button:hover,.formal-relation-graph button.active{border-color:var(--formal-primary);background:var(--formal-success-bg)}.formal-relation-graph button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formal-relation-graph button strong{color:var(--formal-primary);text-align:center;font-size:10px}.formal-relation-graph p{color:var(--formal-muted)}.formal-selected-relation{background:var(--formal-panel);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:24px;display:grid}.formal-selected-relation span{border:1px solid var(--formal-border);background:var(--formal-soft);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:12px;overflow:hidden}.formal-selected-relation strong{color:var(--formal-primary);text-align:center;font-size:11px}.formal-ir-center .formal-grid-wrap{border-width:0;min-height:0}.formal-ir-trace{border-width:0 0 0 1px;height:100%}.formal-ir-trace section,.formal-ir-trace details{border-bottom:1px solid var(--formal-border);padding:10px 12px}.formal-ir-trace h3{margin:0 0 8px;font-size:12px}.formal-ir-trace p{color:var(--formal-muted);margin:0;line-height:1.5}.formal-trace-item{border:1px solid var(--formal-border);background:var(--formal-panel);width:100%;min-height:42px;color:var(--formal-text);text-align:left;border-radius:4px;align-items:center;gap:8px;padding:5px 7px;display:flex}.formal-trace-item+.formal-trace-item{margin-top:5px}.formal-trace-item>span{gap:1px;min-width:0;display:grid}.formal-trace-item small{color:var(--formal-muted)}.formal-path-row{border-bottom:1px solid var(--formal-border);justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.formal-path-row span{color:var(--formal-muted);text-transform:capitalize}.formal-ir-trace summary{cursor:pointer;font-weight:600}.formal-ir-trace details dl{grid-template-columns:70px minmax(0,1fr);gap:5px 8px;display:grid}.formal-ir-trace details dt{color:var(--formal-muted)}.formal-ir-trace details dd{overflow-wrap:anywhere;min-width:0;margin:0}.formal-dialog-body{padding:16px}.formal-import-result{border:1px dashed var(--formal-border);background:var(--formal-soft);text-align:center;place-content:center;gap:8px;min-height:120px;margin-top:12px;padding:12px;display:grid}.formal-import-result>div{grid-template-columns:auto auto auto auto;align-items:baseline;gap:8px;display:grid}.formal-import-result.validated{border-style:solid;border-color:var(--formal-success);background:var(--formal-success-bg);color:var(--formal-success)}.formal-import-result.failed{border-style:solid;border-color:var(--formal-danger);background:var(--formal-danger-bg);color:var(--formal-danger)}.formal-main .primary-button,:root[data-theme=dark] .formal-main .primary-button{border-color:var(--formal-primary);background:var(--formal-primary);color:#fff}.formal-main .primary-button:hover,:root[data-theme=dark] .formal-main .primary-button:hover{border-color:var(--formal-primary-hover);background:var(--formal-primary-hover);color:#fff}.formal-main .primary-button:disabled,:root[data-theme=dark] .formal-main .primary-button:disabled{border-color:var(--formal-border);background:var(--formal-soft);color:var(--formal-muted)}.formal-view-drawings .formal-content-host{height:100%}.formal-view-drawings .object-workbench{--workbench-panel-width:300px;background:var(--formal-border);gap:0;width:100%;height:100%;min-height:0;position:relative;grid-template-columns:208px minmax(0,1fr) 300px!important}.formal-view-drawings .object-workbench>.panel{border-width:0 1px 0 0;border-radius:0}.formal-view-drawings .object-queue{width:208px}.formal-view-drawings .object-canvas-panel{min-width:0}.formal-view-drawings .object-side-panel{width:300px;border-right:0!important}.formal-view-drawings .review-side-panel{z-index:8;border-left:1px solid var(--formal-border);width:300px;box-shadow:var(--formal-shadow);position:absolute;top:0;bottom:0;right:0;border-right:0!important}.formal-view-drawings .canvas-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:40px minmax(0,1fr);gap:0;width:100%;min-width:0;height:100%;min-height:0;display:grid}.formal-view-drawings .geometry-tool-rail{z-index:2;border-right:1px solid var(--formal-border);background:var(--formal-panel);width:40px;min-width:40px;min-height:0;box-shadow:1px 0 0 color-mix(in srgb, var(--formal-border) 45%, transparent);flex-direction:column;grid-area:1/1/3;align-items:center;gap:6px;padding:7px 5px;display:flex;position:relative;overflow:hidden auto}.formal-view-drawings .geometry-tool-rail .toolbar-icon-button{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--formal-muted);background:0 0;border:1px solid #0000;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.formal-view-drawings .geometry-tool-rail .toolbar-icon-button:hover{border-color:var(--formal-border);background:var(--formal-soft)}.formal-view-drawings .geometry-tool-rail .toolbar-icon-button.active{border-color:var(--formal-primary);background:var(--formal-success-bg);color:var(--formal-primary)}.formal-view-drawings .geometry-tool-rail .toolbar-icon-button:disabled{opacity:.38}.formal-view-drawings .geometry-tool-separator{background:var(--formal-border);width:24px;height:1px}.formal-view-drawings .canvas-toolbar{border-bottom:1px solid var(--formal-border);grid-area:1/2;min-width:0;padding:7px 8px}.formal-view-drawings .drawing-canvas{grid-area:2/2;min-width:0;min-height:0}.formal-view-drawings .object-workbench-main{--accent:var(--formal-primary);--accent-soft:var(--formal-success-bg);--panel:var(--formal-panel);--panel-soft:var(--formal-soft);--border:var(--formal-border);--text:var(--formal-text);--muted:var(--formal-muted)}.formal-view-drawings .panel{border-color:var(--formal-border);background:var(--formal-panel);color:var(--formal-text);box-shadow:none;border-radius:0}.formal-view-drawings .panel-header{border-color:var(--formal-border);background:var(--formal-panel);min-height:44px;padding:7px 10px}.formal-view-drawings .panel-header h2{font-size:14px}.formal-view-drawings .primary-button,.formal-view-drawings .secondary-button,.formal-view-drawings .danger-button,.formal-view-drawings .compact-button{border-radius:4px;min-height:30px;padding:0 9px}.formal-view-drawings .primary-button,:root[data-theme=dark] .formal-view-drawings .primary-button{border-color:var(--formal-primary);background:var(--formal-primary);color:#fff}.formal-view-drawings .primary-button:hover,:root[data-theme=dark] .formal-view-drawings .primary-button:hover{border-color:var(--formal-primary-hover);background:var(--formal-primary-hover);color:#fff}.formal-view-drawings .secondary-button{border-color:var(--formal-border);background:var(--formal-panel);color:var(--formal-text)}.formal-view-drawings .secondary-button:hover{background:var(--formal-soft)}.formal-view-drawings input,.formal-view-drawings select,.formal-view-drawings textarea{border-color:var(--formal-border);background:var(--formal-panel);color:var(--formal-text);border-radius:4px}.formal-view-drawings .canvas-toolbar,.formal-view-drawings .object-tabs,.formal-view-drawings .object-action-bar{border-color:var(--formal-border);background:var(--formal-panel)}.formal-view-drawings .drawing-queue-row,.formal-view-drawings .object-row,.formal-view-drawings .review-event-row{border-color:var(--formal-border);background:var(--formal-panel);color:var(--formal-text);border-radius:4px}.formal-view-drawings .drawing-queue-row:hover,.formal-view-drawings .drawing-queue-row.active,.formal-view-drawings .object-row:hover,.formal-view-drawings .object-row.active{border-color:var(--formal-primary);background:var(--formal-success-bg)}.formal-view-drawings .object-side-panel{flex-direction:column;min-height:0;display:flex}.formal-view-drawings .object-panel-context-stack{flex:none;max-height:112px;overflow:auto}.formal-view-drawings .object-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.formal-view-drawings .human-gold-status{min-height:26px;padding-block:4px}.formal-view-drawings .object-tab-panel{flex-direction:column;flex:1;min-height:0;display:flex}.formal-view-drawings .object-action-bar{flex:none}.formal-view-drawings .object-list{flex:1;min-height:0;overflow:auto}@media (width<=1439px){.formal-overview-columns{grid-template-columns:320px minmax(0,1fr)}.formal-view-drawings .object-workbench{grid-template-columns:minmax(0,1fr) 300px!important}.formal-view-drawings .object-queue{display:none}.formal-ir-runbar{grid-template-columns:minmax(180px,1fr) auto}.formal-ir-metrics,.formal-view-drawings .object-canvas-panel>.panel-header .inline-actions>button:nth-child(2),.formal-view-drawings .object-canvas-panel>.panel-header .inline-actions>button:nth-child(3){display:none}.formal-view-drawings .canvas-object-actions button,.formal-view-drawings .bbox-visibility-control button{width:28px;min-width:28px;padding:0;font-size:0;overflow:hidden}.formal-view-drawings .canvas-object-actions button svg,.formal-view-drawings .bbox-visibility-control button .bbox-layer-dot{flex:none}}@media (width<=1023px){.formal-overview-metrics{width:62%}.formal-overview-columns{grid-template-columns:300px minmax(0,1fr)}.formal-next-actions{grid-template-columns:1fr}.formal-next-actions>button{border-right:0;border-bottom:1px solid var(--formal-border);min-height:58px}.formal-review-layout{grid-template-columns:minmax(0,1fr) 300px}.formal-view-drawings .object-workbench{grid-template-columns:minmax(0,1fr) 300px!important}.formal-view-drawings .object-side-panel,.formal-view-drawings .review-side-panel{width:300px}.formal-ir-runbar .formal-header-actions .formal-button{width:32px;padding:0;overflow:hidden}.formal-ir-runbar .formal-header-actions .formal-button svg{flex:none}.formal-profile-form{grid-template-columns:1fr}.formal-profile-form label{grid-column:1}}.formal-button,.formal-icon-button,.formal-segmented button,.formal-grid tbody tr[tabindex="0"]{transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s}.formal-button:focus-visible,.formal-icon-button:focus-visible,.formal-segmented button:focus-visible,.formal-grid th button:focus-visible,.formal-grid tbody tr[tabindex="0"]:focus-visible,.formal-menu-item:focus-visible{box-shadow:var(--ob-focus-ring);outline:0}.formal-button[aria-busy=true]{cursor:progress}.formal-button.secondary{color:var(--formal-text)}.formal-button.primary:hover{background:var(--formal-primary-hover)}.formal-button.danger:hover{background:color-mix(in srgb, var(--formal-danger) 88%, #000)}.formal-dialog[aria-busy=true]{cursor:progress}.formal-dialog-header h2{letter-spacing:0}.formal-filter-bar{align-items:center;gap:var(--ob-space-2);min-width:0;display:flex}.formal-menu{min-width:184px;padding:var(--ob-space-1)}.formal-menu-separator{height:1px;margin:var(--ob-space-1);background:var(--formal-border)}.formal-empty-state{align-content:center;place-items:center;gap:var(--ob-space-2);min-height:180px;padding:var(--ob-space-6);color:var(--formal-muted);text-align:center;display:grid}.formal-empty-state.compact{min-height:64px;padding:var(--ob-space-3)}.formal-empty-state>svg{color:var(--formal-muted)}.formal-empty-state>strong{color:var(--formal-text)}.formal-inline-notice{align-items:center;gap:var(--ob-space-3);min-height:48px;padding:var(--ob-space-2) var(--ob-space-3);border-radius:var(--ob-radius-sm);border:1px solid;display:flex}.formal-inline-notice>svg{flex:none}.formal-inline-notice>span{flex:1;gap:2px;min-width:0;display:grid}.formal-inline-notice.info{background:var(--formal-info-bg);color:var(--formal-info)}.formal-inline-notice.success{background:var(--formal-success-bg);color:var(--formal-success)}.formal-inline-notice.warning{background:var(--formal-warning-bg);color:var(--formal-warning)}.formal-inline-notice.danger{background:var(--formal-danger-bg);color:var(--formal-danger)}.formal-grid th[aria-sort=ascending],.formal-grid th[aria-sort=descending]{color:var(--formal-text)}.formal-grid tbody tr[aria-selected=true]{box-shadow:inset 3px 0 var(--formal-focus);background:var(--formal-info-bg)}@media (width<=1023px){.formal-filter-bar{flex-wrap:wrap}}
