/* Operator interface. Shared component styling stays in style.css. */
:root { --ui-size: 14px; }
body { font-size: var(--ui-size); }
body[data-text-size="large"] { --ui-size: 15px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sidebar { width: 204px; padding: 24px 14px 0; }
.app-main { width: calc(100% - 204px); margin-left: 204px; }
.wordmark { font-size: 30px; letter-spacing: -1.7px; padding: 0 10px; }
.wordmark .shift-mark { transform: scale(.8); transform-origin: left center; margin-right: 4px; }
.workspace-select { margin: 27px 0 24px; padding: 10px 8px; }
.workspace-select strong { font-size: 12px; }
.workspace-select small { font-size: 11px; }
.nav-label { font-size: 10px; letter-spacing: 1px; }
.nav-link { font-size: 13px; padding: 9px 12px; }
.nav-link.active { background: #ffffff12; color: #f1f4e8; }
.nav-link.active::before { left: -14px; width: 2px; height: 19px; }
.nav-link.active .nav-count { border-color: #ffffff30; }
.nav-count { font-size: 10px; }
.sidebar-help { display: flex; justify-content: space-between; align-items: center; color: #b9c3c1; text-align: left; font-size: 12px; padding: 12px; margin-top: 24px; }
.sidebar-help:hover { color: white; background: #ffffff08; }
.sidebar-help > span { border: 1px solid #ffffff30; width: 17px; height: 17px; text-align: center; font: 11px/16px var(--mono); }
.estate-status { font-size: 11px; }
.estate-status small { font-size: 9px; }
.user-row { font-size: 12px; }
.user-row small { font-size: 11px; }
.topbar { height: 57px; padding: 0 30px; justify-content: start; gap: 24px; }
.breadcrumb { font: 12px var(--sans); gap: 10px; }
.breadcrumb #breadcrumb-view { color: var(--ink); }
.surface-switch { margin-left: auto; }
.surface-switch button { font-size: 12px; padding: 6px 12px; }
.surface-switch button span { font-size: 11px; }
.topbar-tools { gap: 12px; }
.command-button { gap: 8px; }
.command-button .search-label { font: 12px var(--sans); }
.command-button kbd { font-size: 10px; }
.icon-button { width: 30px; height: 30px; }
.preferences-button { font-size: 23px; transform: rotate(90deg); }
.statusbar { padding: 12px 30px; font: 11px var(--sans); }
.statusbar button { font: 11px var(--sans); }
.concept-label { font-size: 11px; letter-spacing: 0; }
.footer-timezone { color: var(--muted); }
.page, .identity-page { padding: 27px 30px 32px; }
.page-heading { margin: 0 0 23px; align-items: center; }
.page-heading h1 { font-size: 24px; font-weight: 600; letter-spacing: -.6px; line-height: 1.25; }
.page-heading p, .page-heading .screen-intro { font-size: 13px; max-width: 680px; line-height: 1.6; margin-top: 7px; }
.heading-actions { margin: 0; }
.button { font-size: calc(var(--ui-size) - 1px); min-height: 35px; padding: 7px 12px; gap: 9px; font-weight: 500; }
.button.primary { background: var(--ink); }
.button.review { background: var(--orange); }
.text-button { font-size: 12px; }
.text-link { color: var(--blue); text-decoration: underline; padding: 0; }
.eyebrow { font-size: 11px; letter-spacing: .7px; }
.work-filters { border-bottom: 1px solid var(--line); }
.filter-tabs { gap: 18px; }
.filter-tabs button { font-size: 12px; padding: 11px 1px; border-bottom-width: 2px; margin-bottom: -1px; }
.filter-count { margin-left: 7px; color: var(--muted); font: 11px var(--mono); }
.filter-tabs button.active { font-weight: 500; }
.queue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 16px 0; }
.queue-selects { display: flex; gap: 9px; }
.queue-selects select, .select-label select { background: var(--sheet); color: var(--ink); border: 1px solid var(--line); border-radius: 3px; min-height: 34px; padding: 6px 29px 6px 10px; font-size: 12px; }
.table-search { border: 1px solid var(--line); background: var(--sheet); border-radius: 3px; gap: 8px; padding: 0 10px; max-width: 350px; flex: 1; }
.table-search input { width: 100%; font-size: 13px; min-height: 33px; padding: 5px 0; }
.table-search:focus-within { outline: 2px solid var(--blue); outline-offset: 2px; }
.table-search input:focus-visible { outline: 0; }
.table-search svg { width: 15px; height: 15px; }
.table-scroll { width: 100%; overflow-x: auto; }
.data-table { font-size: calc(var(--ui-size) - 1px); }
.data-table th { font: 500 11px var(--sans); letter-spacing: 0; color: var(--muted); padding: 11px 12px; background: var(--soft); border-top: 1px solid var(--line); }
.data-table td { font-size: calc(var(--ui-size) - 1px); padding: 15px 12px; line-height: 1.5; }
.data-table td:first-child, .data-table th:first-child { padding-left: 12px; }
.data-table td:last-child, .data-table th:last-child { padding-right: 12px; }
.data-table tbody tr:hover { background: var(--sheet); }
.data-table td .subtext { font: 11px/1.5 var(--sans); margin-top: 4px; }
.table-title { font-size: calc(var(--ui-size) - 1px); font-weight: 500; line-height: 1.5; }
.work-table th:first-child { width: 86px; }
.work-table .work-id { font-size: 11px; white-space: nowrap; }
.work-table th:nth-child(2) { width: 43%; }
.work-table th:nth-child(3) { width: 137px; }
.work-table .owner-col { white-space: nowrap; }
.work-table .updated-col { white-space: nowrap; font-size: 11px; }
.status-label { font: 11px var(--sans); gap: 7px; }
.status-label .status-dot { width: 5px; height: 5px; }
.row-action { font-size: 12px; color: var(--blue); padding: 6px; border-radius: 2px; }
.row-action:hover { background: var(--soft); }
.row-action.icon-only { color: var(--muted); }
.row-action svg { width: 14px; height: 14px; }
.mobile-owner, .mobile-id { display: none; }
.queue-footer { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: var(--muted); margin-top: 12px; }
.queue-footer .text-button { font-size: 11px; padding: 0; }
.operations-panels { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; margin-top: 30px; }
.operation-panel { border-top: 1px solid var(--line); padding-top: 17px; }
.operation-panel .section-head { margin-bottom: 9px; }
.operation-panel .section-head h2 { font-size: 14px; font-weight: 500; }
.operation-panel .count { color: var(--muted); margin-left: 7px; font: 11px var(--mono); }
.operation-panel .text-button { font-size: 11px; }
.approval-list-row, .issue-list-row { width: 100%; display: flex; align-items: start; gap: 10px; padding: 14px 0; text-align: left; border-bottom: 1px solid var(--line); }
.approval-list-row strong, .issue-list-row strong { font-size: 12px; font-weight: 500; display: block; }
.approval-list-row small, .issue-list-row small { font-size: 11px; color: var(--muted); display: block; margin-top: 5px; line-height: 1.6; }
.approval-indicator, .issue-indicator { color: var(--orange); font: 15px/1.3 var(--mono); min-width: 15px; }
.approval-list-row .row-link { margin-left: auto; display: flex; gap: 7px; align-items: center; color: var(--blue); font-size: 11px; padding-top: 2px; white-space: nowrap; }
.approval-list-row svg, .issue-list-row svg { width: 13px; height: 13px; }
.issue-list-row > svg { margin-left: auto; color: var(--muted); margin-top: 3px; }
.approval-list-row:hover strong, .issue-list-row:hover strong { color: var(--blue); }
.reported-cost { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; color: var(--muted); font-size: 11px; padding-top: 16px; }
.reported-cost strong { color: var(--ink); font-weight: 500; margin-left: 8px; }
.panel-empty { font-size: 12px; color: var(--muted); padding: 17px 0; }
.capture-summary, .select-label { font-size: 12px; color: var(--muted); }
.select-label { display: flex; gap: 10px; align-items: center; }
.data-toolbar { border-top: 0; margin-top: 0; padding: 0 0 15px; }
.data-toolbar .table-search { max-width: 330px; }
.data-toolbar .filter-tabs { gap: 20px; }
.directory-heading { font: 12px var(--sans); text-transform: none; letter-spacing: 0; padding-top: 0; align-items: center; }
.table-note { font: 11px var(--sans); }
.chip { font: 11px var(--sans); padding: 3px 6px; }
.capability-list { gap: 6px; }
.capability-list > .status-label { margin-right: 18px; }
.empty-state { font-size: 13px; }
.file-symbol { font-size: 10px; }
.panel { padding: 20px; }
.panel h2 { font-size: 17px; }
.panel > p, .panel .policy-result p { font-size: 13px; line-height: 1.65; }
.policy-rule h3 { font-size: 13px; }
.policy-rule p { font-size: 12px; }
.policy-rule .rule-code { font-size: 11px; }
.form-row label { font: 500 12px var(--sans); text-transform: none; letter-spacing: 0; }
.form-row input, .form-row select, .form-row textarea { font-size: 13px; padding: 10px; }
.policy-result .mono { font-size: 11px; }
.coverage-row { font-size: 12px; }
.coverage-row .mono { font-size: 11px; }
.operational-note { font-size: 12px; color: var(--muted); margin-top: 16px; line-height: 1.65; }
.inbox-thread { padding: 20px 3px; }
.thread-body h3 { font-size: 14px; }
.thread-body p { font-size: 13px; line-height: 1.6; }
.thread-body .meta, .thread-time { font: 11px var(--sans); }
.sender-box { font-size: 12px; }
.info-band { font-size: 12px; line-height: 1.7; padding: 14px 16px; }
.drawer-head { padding: 19px 25px; }
.drawer-head .eyebrow { font: 12px var(--sans); letter-spacing: 0; }
.drawer-body { padding: 25px; }
.drawer-body h2 { font-size: 25px; line-height: 1.25; letter-spacing: -.5px; font-weight: 500; }
.drawer-body .drawer-lede { font-size: 13px; line-height: 1.65; margin-top: 10px; }
.drawer-body .work-id { font-size: 11px; }
.drawer-tabs { gap: 24px; margin: 24px 0; }
.drawer-tabs button { font-size: 13px; }
.detail-kv { grid-template-columns: 125px 1fr; gap: 12px 17px; font-size: 13px; }
.detail-kv dd .mono, .detail-kv dd.mono { font-size: 12px; }
.detail-section h3 { font: 500 13px var(--sans); text-transform: none; letter-spacing: 0; }
.detail-section p, .detail-section li { font-size: 13px; line-height: 1.7; }
.flow-step strong { font-size: 11px; }
.flow-step small { font-size: 10px; }
.flow-rail { margin-inline: 0; margin-bottom: 24px; }
.decision-index { margin-bottom: 12px; color: var(--muted); }
.decision-index .number { display: none; }
.decision-index .mono { font: 11px var(--mono); letter-spacing: 0; }
.decision-state { padding: 20px; }
.decision-state .state-label { font-size: 11px; letter-spacing: .3px; }
.decision-state h3 { font-size: 20px; }
.decision-state p { font-size: 13px; line-height: 1.7; }
.review-scope-head, .review-diff { font-size: 12px; }
.review-diff { line-height: 1.9; }
.review-warning { font-size: 12px; line-height: 1.7; padding: 12px 14px; border-left-width: 2px; }
.check-row { font-size: 13px; line-height: 1.7; }
.check-row input { margin-top: 3px; width: 16px; height: 16px; }
.evidence-item strong { font-size: 13px; }
.evidence-item small { font-size: 11px; }
.evidence-item .chip { font-size: 10px; }
.log-time { font-size: 11px; min-width: 45px; }
.log-line { font-size: 12px; }
.log-line p { font-size: 11px; }
.drawer-footer { padding: 17px 25px; }
.demo-info { font: 11px/1.7 var(--sans); }
.related-record { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 13px; text-align: left; }
.related-record span { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.related-record svg { width: 14px; height: 14px; }
.related-record:hover { color: var(--blue); }
.help-links { margin-top: 16px; }
.dialog-head h2 { font-size: 20px; }
.dialog-body p { font-size: 13px; line-height: 1.7; }
.dialog .form-row { margin-top: 20px; }
.search-result strong { font-size: 13px; }
.search-result small, .search-hint { font-size: 11px; }
.search-hint { font-family: var(--sans); }
.search-field { font-size: 16px; }
.keyboard-help { grid-template-columns: 125px 1fr; font-size: 13px; gap: 14px; }
.keyboard-help kbd { font-size: 11px; }
.terminal-page { padding: 27px 30px 30px; }
.terminal-intro { align-items: center; margin-bottom: 20px; }
.terminal-intro h1 { font-size: 24px; font-weight: 600; letter-spacing: -.6px; }
.terminal-intro p { font-size: 13px; }
.terminal-window { box-shadow: none; min-height: 630px; font-size: 12px; }
.terminal-titlebar { font-size: 11px; }
.terminal-header { padding: 18px 21px; }
.terminal-header .terminal-meta, .terminal-header .terminal-live { font-size: 11px; }
.terminal-header .terminal-meta { line-height: 1.7; }
.terminal-wordmark { font-size: 23px; }
.terminal-tabs button { font-size: 12px; padding: 10px 13px; }
.terminal-section-label { font-size: 11px; letter-spacing: .4px; }
.terminal-work { font-size: 12px; grid-template-columns: 12px 57px 1fr 50px; padding: 12px 13px; line-height: 1.6; }
.terminal-work .t-state { font-size: 9px; }
.terminal-detail h2 { font-size: 14px; }
.terminal-detail p { font-size: 12px; line-height: 1.75; }
.terminal-kv { font-size: 11px; grid-template-columns: 78px 1fr; }
.terminal-warning { font-size: 11px !important; }
.terminal-small-button { font-size: 11px; padding: 8px 10px; }
.terminal-log, .terminal-result { font-size: 11px; }
.terminal-command label, .terminal-command input { font-size: 12px; }
.terminal-command kbd { font-size: 11px; }
.terminal-keybar, .terminal-keybar button { font-size: 11px; }
.terminal-keybar { padding: 10px 17px; }
.terminal-footnote { font: 11px/1.7 var(--sans); }
.terminal-ledger-row { font-size: 12px; grid-template-columns: 70px 1fr 140px; }
.terminal-app-icon { font-size: 11px; }
.reference-section { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 24px; }
.reference-section h2 { font-size: 16px; margin-bottom: 15px; }
.reference-section p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 12px 0 18px; }
.reference-section .detail-kv { max-width: 780px; }
.reference-section .swatch-color { height: 65px; font: 13px var(--sans); align-items: center; }
.reference-section .swatch-caption { font: 11px var(--mono); }
.reference-section .swatch-role { font-size: 11px; line-height: 1.5; }
.identity-download h2 { font-size: 16px; }
.identity-download p { font-size: 13px; }
body[data-density="compact"] .data-table td { padding-top: 8px; padding-bottom: 8px; }
body[data-density="compact"] .data-table td .subtext { margin-top: 2px; }
body[data-density="compact"] .inbox-thread { padding-top: 13px; padding-bottom: 13px; }
body[data-density="compact"] .terminal-work { padding-top: 8px; padding-bottom: 8px; }
body[data-text-size="large"] .drawer-body { --ui-size: 15px; }
body[data-text-size="large"] .drawer-lede, body[data-text-size="large"] .detail-kv, body[data-text-size="large"] .detail-section p { font-size: 14px; }
body[data-theme="dark"] .nav-link.active { color: #f1f4e8; }
body[data-theme="dark"] .button.primary { color: #202d32; }
body[data-theme="dark"] .button.primary:hover { color: #202d32; }
@media (min-width: 1700px) {
 .page, .terminal-page { padding: 30px 40px; }
 .work-table td { padding-top: 16px; padding-bottom: 16px; }
}
@media (max-width: 1200px) {
 .topbar { padding-inline: 24px; gap: 15px; }
 .page, .terminal-page { padding-inline: 24px; }
 .command-button kbd { display: none; }
 .terminal-work { font-size: 11px; }
 .terminal-kv { font-size: 10px; }
 .work-table th:nth-child(2) { width: auto; }
 .work-table .updated-col { display: none; }
}
@media (max-width: 1000px) {
 .work-table .owner-col { display: none; }
 .mobile-owner { display: inline; }
 .operations-panels { grid-template-columns: 1fr; gap: 24px; margin-top: 25px; }
 .topbar { gap: 12px; }
 .command-button .search-label { display: none; }
 .breadcrumb #breadcrumb-view, .breadcrumb .slash { display: inline; }
 .queue-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
 .table-search { max-width: 100%; flex: none; }
 .queue-selects { justify-content: start; }
 .queue-selects select { flex: 1; }
 .terminal-detail { display: block; border-top: 1px solid #ffffff20; }
 .terminal-window.narrow .terminal-detail { display: none; }
 .terminal-work-list { border-bottom: 0; }
 .terminal-work { grid-template-columns: 12px 60px 1fr 55px; }
 .terminal-kv { font-size: 11px; }
 .terminal-header .terminal-meta { font-size: 10px; }
 .terminal-ledger-row { font-size: 11px; grid-template-columns: 65px 1fr 105px; }
 .statusbar { padding-inline: 24px; font-size: 10px; }
 .statusbar button, .concept-label { font-size: 10px; }
 .footer-timezone { display: none; }
 .data-toolbar .filter-tabs { gap: 16px; }
}
@media (max-width: 760px) {
 .sidebar { width: 220px; }
 .app-main { width: 100%; margin: 0; }
 .topbar { min-height: 59px; padding: 12px 16px; gap: 11px; flex-wrap: nowrap; }
 .mobile-menu { display: grid; }
 .breadcrumb { font-size: 12px; gap: 7px; }
 .breadcrumb #breadcrumb-view, .breadcrumb .slash { display: none; }
 .surface-switch { order: 0; width: auto; margin-left: auto; padding: 0; border: 0; gap: 0; }
 .surface-switch button { flex: none; font-size: 11px; padding: 6px 7px; }
 .surface-switch button span { display: none; }
 .topbar-tools { gap: 4px; margin: 0; }
 .theme-button, .preferences-button { display: none; }
 .command-button kbd, .command-button .search-label { display: none; }
 .command-button { padding: 2px; }
 .page, .terminal-page { padding: 23px 17px 28px; }
 .page-heading { margin: 0 0 21px; gap: 15px; align-items: center; }
 .page-heading h1 { font-size: 24px; }
 .heading-actions .button { font-size: 12px; padding: 8px 11px; min-height: 37px; }
 .filter-tabs { gap: 16px; }
 .filter-tabs button { font-size: 12px; padding-block: 12px; }
 .filter-count { margin-left: 5px; font-size: 10px; }
 .work-filters { overflow-x: auto; }
 .work-filters .filter-tabs { min-width: max-content; gap: 18px; }
 .queue-toolbar { margin-block: 14px; }
 .queue-selects { gap: 8px; }
 .queue-selects select { width: 48%; font-size: 12px; padding-right: 18px; }
 .table-search input { font-size: 14px; min-height: 37px; }
 .data-table th { font-size: 11px; padding: 10px 7px; }
 .data-table td { font-size: 12px; padding: 14px 7px; }
 .data-table td:first-child, .data-table th:first-child { padding-left: 7px; }
 .data-table td:last-child, .data-table th:last-child { padding-right: 7px; }
 .data-table td .subtext { font-size: 11px; max-width: 200px; }
 .table-title { font-size: 13px; }
 .work-table th:first-child, .work-table td:first-child { display: none; }
 .work-table th:nth-child(2) { width: auto; }
 .work-table th:nth-child(3) { width: 105px; }
 .work-table td:last-child, .work-table th:last-child { width: 32px; padding-inline: 1px; }
 .mobile-id { display: inline; }
 .work-table .table-title { font-size: 13px; }
 .work-table .status-label { font-size: 11px; white-space: normal; line-height: 1.5; }
 .work-table .status-label .status-dot { flex-shrink: 0; }
 .work-table .row-action { font-size: 10px; padding: 5px 1px; }
 .operation-panel .section-head h2 { font-size: 14px; }
 .approval-list-row strong, .issue-list-row strong { font-size: 13px; }
 .approval-list-row small, .issue-list-row small { font-size: 12px; }
 .reported-cost { font-size: 12px; line-height: 1.7; }
 .approval-list-row .row-link { font-size: 11px; }
 .select-label select { max-width: 200px; }
 .data-toolbar { gap: 15px; }
 .data-toolbar .filter-tabs button { font-size: 12px; }
 .data-toolbar .filter-tabs { gap: 20px; }
 .directory-heading { font-size: 12px; gap: 15px; line-height: 1.6; }
 .directory-heading > span:last-child:not(:first-child) { display: none; }
 .status-label { font-size: 11px; }
 .chip, .data-table .chip { font-size: 10px; }
 .table-note { font-size: 11px; line-height: 1.7; }
 .table-note span:last-child { display: none; }
 .drawer-head { padding: 18px 20px; }
 .drawer-body { padding: 23px 20px; }
 .drawer-body h2 { font-size: 23px; }
 .drawer-tabs { gap: 23px; }
 .drawer-tabs button { font-size: 12px; }
 .detail-kv { grid-template-columns: 105px 1fr; gap: 11px 13px; font-size: 12px; }
 .detail-kv dd .mono, .detail-kv dd.mono { font-size: 11px; }
 .review-diff { font-size: 10px; }
 .review-scope-head { font-size: 11px; }
 .drawer-footer { padding: 15px 20px; }
 .drawer-footer .button { font-size: 12px; min-height: 40px; padding: 8px 11px; }
 .flow-step small { font-size: 9px; }
 .evidence-item strong { font-size: 12px; }
 .decision-state { padding: 18px; }
 .decision-state h3 { font-size: 19px; }
 .keyboard-help { font-size: 12px; grid-template-columns: 110px 1fr; }
 .thread-body p { font-size: 12px; }
 .thread-body .meta, .thread-time { font-size: 11px; }
 .inbox-thread { gap: 12px; }
 .thread-time { display: none; }
 .terminal-page { padding-inline: 13px; }
 .terminal-intro { align-items: start; gap: 15px; }
 .terminal-intro h1 { font-size: 24px; }
 .terminal-intro p { font-size: 12px; }
 .terminal-intro .heading-actions { flex-direction: row; gap: 7px; }
 .terminal-intro .heading-actions .button { font-size: 11px; padding: 7px; min-height: 34px; }
 .terminal-intro .heading-actions .button svg { display: none; }
 .terminal-titlebar { font-size: 10px; }
 .terminal-header .terminal-meta { font-size: 10px; padding-left: 13px; }
 .terminal-header { gap: 13px; padding: 16px 13px; }
 .terminal-tabs button { font-size: 11px; padding: 10px 8px; }
 .terminal-section-label { font-size: 10px; padding-inline: 13px; }
 .terminal-work { font-size: 11px; grid-template-columns: 10px 49px 1fr 45px; gap: 5px; padding-inline: 8px; }
 .terminal-work .t-state { font-size: 8px; }
 .terminal-log { font-size: 10px; line-height: 1.7; padding-inline: 13px; }
 .terminal-command input, .terminal-command label { font-size: 11px; }
 .terminal-keybar, .terminal-keybar button { font-size: 10px; }
 .terminal-footnote { font-size: 11px; }
 .terminal-ledger-row { font-size: 11px; grid-template-columns: 50px 1fr 80px; }
 .terminal-footnote > span:last-child { display: none; }
 .terminal-detail { padding: 18px 14px; }
 .reference-section .palette { grid-template-columns: 1fr 1fr; }
 .statusbar { padding: 12px 17px; font-size: 11px; row-gap: 11px; }
 .statusbar .concept-label { font: 11px var(--sans); text-align: left; padding-top: 11px; }
 .statusbar button { font-size: 11px; }
 body[data-density="compact"] .data-table td { padding-top: 9px; padding-bottom: 9px; }
}
