:root {
  --page: #EEF5F9;
  --surface: #FFFFFF;
  --surface-quiet: #F7FAFC;
  --surface-muted: #EAF3F8;
  --disabled-surface: var(--surface-muted);
  --inspector-surface: color-mix(in srgb, var(--surface) 86%, var(--page));
  --entities-sheet-surface: color-mix(in srgb, var(--surface) 92%, var(--page));
  --entities-sheet-border: color-mix(in srgb, var(--border) 88%, var(--surface));
  --entities-sheet-shadow: none;
  --ink: #17303C;
  --muted: #526E7C;
  --disabled-ink: var(--muted);
  --primary: #246A91;
  --primary-hover: #1E5A7C;
  --secondary: #FFFFFF;
  --secondary-ink: #17303C;
  --danger: #8E2F32;
  --danger-hover: #732326;
  --danger-surface: #F8E8E8;
  --status-ok: #26624F;
  --status-ok-surface: #E8F3EC;
  --status-warn: #825600;
  --status-warn-surface: #FFF4DE;
  --border: #D5E3EC;
  --control-border: #728B9A;
  --focus: #50CDE7;
  --sky: #76B3DB;
  --mint: #48E6DE;
  --sidebar: #1C3A4A;
  --sidebar-ink: #F4F8FB;
  --badge-bg: var(--surface-quiet);
  --badge-ink: var(--ink);
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 600;
  --text-nav: 15px/20px var(--font-sans);
  --text-title: 24px/30px var(--font-sans);
  --text-heading: 18px/24px var(--font-sans);
  --text-body: 14px/21px var(--font-sans);
  --text-meta: 13px/18px var(--font-sans);
  --text-label: 13px/18px var(--font-sans);
  --text-button: 14px/20px var(--font-sans);
  --text-code: 13px/20px var(--font-mono);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --control-height: 40px;
  --touch-control-height: 44px;
  --page-gutter: var(--space-6);
  --pane-padding: var(--space-4);
  --section-gap: var(--space-6);
  --work-padding: var(--space-5);
  --work-min-inline: 600px;
  --code-work-min-inline: 720px;
  --collection-ideal: 280px;
  --work-gap: var(--space-4);
  --field-gap: var(--space-4);
  --property-label: 148px;
  --row-min-block: 44px;
  --row-two-line: 60px;
  --text-work-title: 20px/28px var(--font-sans);
  --text-section: 14px/20px var(--font-sans);
  --text-reader: 16px/26px var(--font-sans);
  --mobile-header-height: calc(var(--control-height) + 2 * var(--space-2));
  --sidebar-width: 16rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --focus-ring: 2px solid var(--ink);
  --focus-ring-inverse: 2px solid var(--sidebar-ink);
  --selection-border: var(--primary);
  --monitor-on: #4B9077;
  --monitor-off: #B77555;
  --monitor-missing: #9A4B61;
  --monitor-unknown: #AFC4D0;
  --breakpoint-shell: 900px;
  --sidebar-line: rgba(244, 248, 251, 0.24);
  --sidebar-current: rgba(244, 248, 251, 0.10);
  --sidebar-hover: rgba(244, 248, 251, 0.14);
  --drawer-scrim: rgba(23, 48, 60, 0.42);
  --login-shadow: rgba(23, 48, 60, 0.08);
  --line: var(--sidebar-line);
  --accent: var(--primary);
  --accent-strong: var(--primary-hover);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--page); color: var(--ink); font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { min-height: var(--control-height); }
button:disabled { cursor: not-allowed; color: var(--disabled-ink); border-color: var(--control-border); background: var(--disabled-surface); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
input, select, textarea { border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); min-height: var(--control-height); padding: 0 var(--space-3); }
textarea { padding-top: var(--space-2); padding-bottom: var(--space-2); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--border); }
th { color: var(--muted); font: var(--text-label); font-weight: var(--font-weight-bold); }

.shell { min-height: 100dvh; overflow-x: hidden; }
.content { min-width: 0; padding: var(--page-gutter); }
.mobile-header { position: sticky; top: 0; z-index: 80; display: flex; min-height: var(--mobile-header-height); align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--sidebar); color: var(--sidebar-ink); }
.menu-toggle { flex: 0 0 auto; border-color: var(--sidebar-line); background: transparent; color: var(--sidebar-ink); }
.menu-icon { display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; }
.menu-icon svg { display: block; flex: 0 0 auto; }
.mobile-page-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: var(--text-nav); font-weight: var(--font-weight-semibold); }
.sidebar { display: none; }
.drawer-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.drawer-header .secondary-action { border-color: var(--sidebar-line); background: transparent; color: var(--sidebar-ink); }
.drawer-header .secondary-action:hover { background: var(--sidebar-hover); }
.drawer-title { font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.drawer-scrim { position: fixed; inset: 0; z-index: 90; background: var(--drawer-scrim); }
.nav-link { display: flex; min-height: var(--control-height); align-items: center; padding: 0 var(--space-3); color: var(--sidebar-ink); font: var(--text-nav); border-radius: var(--radius-md); }
.nav-link[aria-current="page"] { background: var(--sidebar-current); box-shadow: none; }
.nav-link:hover { background: var(--sidebar-hover); }
.sidebar :focus-visible, #shell-drawer :focus-visible, .mobile-header :focus-visible { outline: var(--focus-ring-inverse); }
.sidebar-foot { border-top: 1px solid var(--sidebar-line); padding-top: var(--space-2); }
.signout { width: 100%; min-height: var(--control-height); padding: 0 var(--space-3); border: 1px solid var(--sidebar-line); border-radius: var(--radius-md); background: transparent; color: var(--sidebar-ink); cursor: pointer; }
.signout:hover { background: var(--sidebar-hover); }

.panel { max-width: none; margin: 0; padding: var(--space-6); background: var(--surface); border: 0; border-radius: 0; }
.panel.owner-page-frame { padding: 0; border: 0; border-radius: 0; background: transparent; }
.page-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4); }
.page-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); margin-top: var(--space-4); }
.page-toolbar label { display: grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); font-weight: 500; }
.page-toolbar input, .page-toolbar select { min-width: 14rem; }
.owner-filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); min-width: 0; margin-top: var(--space-4); }
.owner-filter-primary { display: grid; flex: 1 1 14rem; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); font-weight: 500; }
.owner-filter-primary input { width: 100%; min-width: 0; }
.owner-filter-controls { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: end; gap: var(--space-3); min-width: 0; }
.owner-filter-controls.page-toolbar { margin-top: 0; }
.owner-filter-toggle { display: inline-flex; align-items: center; justify-content: center; }
.page-header h1, .cloud h1, .vault h1, .api-catalog h1 { margin: 0; font: var(--text-title); font-weight: 600; letter-spacing: -0.02em; }
.page-subtitle, .cloud-subtitle { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); }
.hello { margin: 0; font: var(--text-title); font-weight: var(--font-weight-bold); }
.visually-hidden, .cloud-visually-hidden, .vault-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.status-copy, [role="status"] { color: var(--muted); overflow-wrap: anywhere; word-break: break-word; }
.owner-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.primary-action, .secondary-action, .danger-action { width: fit-content; min-height: var(--control-height); padding: 0 var(--space-3); border: 1px solid transparent; border-radius: var(--radius-md); cursor: pointer; font: var(--text-button); font-weight: 500; }
.primary-action:has(.owner-icon), .secondary-action:has(.owner-icon), .danger-action:has(.owner-icon), #git-library-root button:has(.owner-icon) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.owner-icon { flex: 0 0 auto; display: block; }
.owner-action-row > .primary-action,
.owner-action-row > .secondary-action,
.owner-action-row > .danger-action,
.owner-inline-confirm-actions > .primary-action,
.owner-inline-confirm-actions > .secondary-action,
.owner-inline-confirm-actions > .danger-action { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: var(--control-height); padding: 0 var(--space-3); line-height: 1; max-width: 100%; margin: 0; overflow-wrap: anywhere; }
.owner-action-row > a.primary-action,
.owner-action-row > a.secondary-action,
.owner-action-row > a.danger-action,
.owner-inline-confirm-actions > a.primary-action,
.owner-inline-confirm-actions > a.secondary-action,
.owner-inline-confirm-actions > a.danger-action { text-decoration: none; }
.primary-action { background: var(--primary); color: var(--surface); }
.primary-action:hover { background: var(--primary-hover); }
.secondary-action { border-color: var(--control-border); background: var(--secondary); color: var(--secondary-ink); }
.mobile-header .menu-toggle { border-color: var(--sidebar-line); background: transparent; color: var(--sidebar-ink); }
.mobile-header .menu-toggle:hover { background: var(--sidebar-hover); }
.danger-action { border-color: var(--danger); background: var(--surface); color: var(--danger); }
.danger-action:hover { background: var(--danger-surface); color: var(--danger-hover); }
.danger-action--text { border-color: transparent; background: transparent; color: var(--danger); }
.danger-action--text:hover { border-color: transparent; background: var(--danger-surface); }
.tertiary-action { display: inline-flex; align-items: center; justify-content: center; min-height: var(--control-height); padding: 0 var(--space-3); border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--ink); cursor: pointer; font: var(--text-button); }
.tertiary-action:hover { background: var(--surface-quiet); }
.owner-inline-confirm-actions > .danger-action { border-color: var(--danger); background: var(--danger); color: var(--surface); }
.owner-inline-confirm-actions > .danger-action:hover { background: var(--danger-hover); }
.form-actions { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-3); padding: var(--space-3) 0 0; border-top: 1px solid var(--border); background: transparent; }
.owner-command-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.owner-command-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.owner-command-reason { flex: 1 1 100%; margin: 0; color: var(--muted); font: var(--text-meta); }
.owner-danger-zone { margin-top: var(--space-6); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.owner-draft-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--border); }
.owner-draft-bar .primary-action, .owner-draft-bar [type="submit"] { margin-left: auto; }
.owner-bounded-draft { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.owner-bounded-draft > .owner-draft-fields { display: grid; align-content: start; gap: var(--field-gap); flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scroll-padding-bottom: var(--space-3); }
.owner-bounded-draft > .owner-draft-bar { position: relative; flex: 0 0 auto; margin-top: var(--space-2); background: var(--surface); }
.detail-pane:has(> .owner-bounded-draft),
.detail-pane:has(> :not([hidden]) > .owner-bounded-draft) { display: flex; flex-direction: column; overflow: hidden; }
.detail-pane > :is(div, section):not([hidden]):has(> .owner-bounded-draft) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.owner-independent-work { position: relative; }
.page-header .form-actions { position: static; margin: 0; padding: 0; border: 0; background: transparent; }
.owner-inline-confirm { display: grid; gap: var(--space-2); width: 100%; margin-top: var(--space-3); padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-muted); }
.owner-inline-confirm-sentence { margin: 0; color: var(--ink); font: var(--text-label); }
.owner-inline-confirm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.detail-pane, .cloud-detail { min-width: 0; padding: var(--work-padding); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.detail-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--space-3); }
.detail-heading > *, .detail-pane > * { min-width: 0; max-width: 100%; }
.detail-heading h2, .detail-pane h2 { min-width: 0; margin: 0; font: var(--text-work-title); font-weight: var(--font-weight-bold); overflow-wrap: anywhere; word-break: break-word; }
.detail-fields { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.detail-field { display: grid; gap: var(--space-1); min-width: 0; align-content: start; }
.detail-label { color: var(--muted); font: var(--text-label); font-weight: 500; }
.detail-value, .list-row-meta { overflow-wrap: anywhere; }
.project-description-value { white-space: pre-wrap; overflow-wrap: anywhere; }
.project-description-input { min-height: 5.5rem; }
.project-field-error { display: block; color: var(--danger); font: var(--text-meta); }
.detail-value code { font: var(--text-code); }
.owner-properties { display: grid; gap: var(--space-2); margin: var(--space-4) 0 0; min-width: 0; }
.owner-property { display: grid; grid-template-columns: var(--property-label) minmax(0, 1fr); align-items: start; gap: var(--space-3); min-width: 0; }
.owner-property dt { color: var(--muted); font: var(--text-label); }
.owner-property dd { min-width: 0; margin: 0; color: var(--ink); font: var(--text-body); overflow-wrap: anywhere; }
.owner-property-identifier { font-family: var(--font-mono) !important; }
.owner-properties-empty { margin: 0; color: var(--muted); font: var(--text-meta); }
.disclosure { margin-top: var(--space-4); border-top: 1px solid var(--border); padding-top: var(--space-3); }
.disclosure > summary, summary { cursor: pointer; color: var(--secondary-ink); font-weight: var(--font-weight-bold); }
.disclosure[open] > summary { margin-bottom: var(--space-3); }
.owner-disclosure > summary { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); list-style: none; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.owner-disclosure > summary::-webkit-details-marker { display: none; }
.owner-disclosure > summary::marker { content: ''; }
.owner-disclosure > summary .owner-icon--open { display: none; }
.owner-disclosure[open] > summary .owner-icon--closed { display: none; }
.owner-disclosure[open] > summary .owner-icon--open { display: block; }
.owner-caption { margin: 0; color: var(--muted); font: var(--text-meta); font-weight: var(--font-weight-semibold); text-transform: none; }
.list-row { display: grid; gap: var(--space-1); width: 100%; min-height: var(--row-min-block); padding: var(--space-1) var(--space-3); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); color: var(--ink); }
.list-row:has(.list-row-state), .list-row:has(.list-row-trailing) { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.list-row-state, .list-row-trailing { grid-column: 2; justify-self: end; white-space: nowrap; }
.list-row-state { grid-row: 1; }
.list-row-trailing { grid-row: 2; color: var(--muted); font: var(--text-meta); font-variant-numeric: tabular-nums; }
.list-row:has(.list-row-state) .list-row-name, .list-row:has(.list-row-trailing) .list-row-name { grid-column: 1; grid-row: 1; }
.list-row:has(.list-row-state) .list-row-meta, .list-row:has(.list-row-trailing) .list-row-meta { grid-column: 1; grid-row: 2; }
button.list-row { text-align: left; cursor: pointer; }
.list-row:hover { background: var(--surface-quiet); }
.list-row[aria-pressed="true"], .list-row[aria-selected="true"], .owner-table tr[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.list-row-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--font-weight-bold); }
.list-row-meta { color: var(--muted); font: var(--text-meta); }
.list-row-missing, .list-row-missing .list-row-name, .list-row-missing .list-row-meta { color: var(--danger); }
.telegram-account-region, .telegram-history-region { display: grid; gap: var(--space-3); }
.telegram-history-count { color: var(--muted); font: var(--text-meta); }
.telegram-history-list { display: grid; gap: 0; }
.telegram-history-row { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-1) var(--space-3); }
.telegram-history-row > .list-row-name { grid-column: 1; grid-row: 1; }
.telegram-history-row > .telegram-history-status { grid-column: 2; grid-row: 1; }
.telegram-history-row > .list-row-meta, .telegram-history-row > .telegram-history-preview, .telegram-history-row > .telegram-history-error { grid-column: 1 / -1; }
.telegram-history-status { color: var(--ink); font-weight: var(--font-weight-semibold); text-transform: lowercase; }
.telegram-history-status.failure, .telegram-history-error { color: var(--danger); }
.telegram-history-error { padding: var(--space-2); background: var(--danger-surface); overflow-wrap: anywhere; }
.telegram-history-preview { min-width: 0; max-height: 12rem; overflow: auto; padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); white-space: pre-wrap; overflow-wrap: anywhere; }
.external-link { color: var(--ink); text-decoration: underline; text-decoration-color: var(--focus); text-underline-offset: 3px; font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.external-link:hover { color: var(--primary-hover); }
.badge { display: inline-flex; width: fit-content; min-height: 24px; align-items: center; padding: 2px var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--badge-bg); color: var(--badge-ink); font: var(--text-meta); font-weight: 500; }
.badge--ok { border-color: var(--status-ok); background: var(--status-ok-surface); color: var(--status-ok); }
.badge--warn { border-color: var(--status-warn); background: var(--status-warn-surface); color: var(--status-warn); }
.badge--danger { border-color: var(--danger); background: var(--danger-surface); color: var(--danger); }
.badge.task-done { border-color: var(--status-ok); background: var(--status-ok-surface); color: var(--status-ok); }
.owner-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.owner-table-region { min-width: 0; container-type: inline-size; }
.owner-table-region > table, .owner-table-region > .owner-table > table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.owner-table th { height: 32px; padding: 0 var(--space-3); color: var(--muted); font: var(--text-label); font-weight: var(--font-weight-semibold); }
.owner-table td { height: 44px; padding: var(--space-2) var(--space-3); vertical-align: middle; }
.owner-table .owner-table-figure { text-align: right; font-variant-numeric: tabular-nums; }
.owner-table .owner-table-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
.owner-table .owner-table-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-table-name-text { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-table .owner-table-secondary { display: none; color: var(--muted); font: var(--text-meta); }
.owner-table--stacked .owner-table-secondary { display: block; }
.owner-properties--compact { --property-label: 5rem; margin: 0; }
.owner-properties--compact .owner-property { align-items: baseline; }
/* Opt-in editable table: native controls in measured cells; a 48px row is a 40px control with 4px above and below. Below
   its 37rem column budget each row stacks into one labelled record, revealing the label every control already has: two
   fields to a line, and below 24rem text fields take a whole line while a number and a checkbox share one. */
.owner-table-region--editable { max-width: 52rem; container-name: owner-editable-table; }
.owner-table--editable th { height: 32px; padding: 0 var(--space-2); text-align: left; }
.owner-table--editable td { height: 48px; padding: var(--space-1) var(--space-2); }
.owner-table--editable th.owner-table-figure { text-align: right; }
.owner-table--editable .owner-table-cell-field { display: block; min-width: 0; }
.owner-table--editable .owner-table-cell-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.owner-form .owner-table--editable .owner-table-cell-field > input:not([type="checkbox"]):not([type="radio"]) { margin-top: 0; }
.owner-table--editable .owner-table-figure input { text-align: right; font-variant-numeric: tabular-nums; }
@container owner-editable-table (max-width: 36.99rem) {
  .owner-table--editable, .owner-table--editable tbody { display: block; width: 100%; }
  .owner-table--editable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .owner-table--editable tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--space-2) var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
  .owner-table--editable td { display: block; height: auto; min-width: 0; padding: 0; border: 0; }
  .owner-table--editable .owner-table-cell-field { display: grid; gap: var(--space-1); }
  .owner-table--editable .owner-table-cell-label { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
  .owner-table--editable td.owner-table-figure, .owner-table--editable .owner-table-figure input { text-align: left; }
}
@container owner-editable-table (max-width: 23.99rem) {
  .owner-table--editable td:not(.owner-table-figure):not(:has(> .owner-inline-check)) { grid-column: 1 / -1; }
}
@container owner-editable-table (max-width: 14.99rem) {
  .owner-table--editable tr { grid-template-columns: minmax(0, 1fr); }
}
/* Opt-in inline boolean: the native checkbox keeps its own size beside its label; the whole label is the 40/44px target. */
.owner-form label.owner-inline-check { display: inline-flex; align-items: center; justify-self: start; gap: var(--space-2); min-height: var(--control-height); color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-regular); letter-spacing: normal; }
.owner-inline-check input[type="checkbox"] { flex: 0 0 auto; }
.mobile-back { display: none; margin-bottom: 0; }
.detail-mobile-bar { display: none; }

.projects-workspace, .tasks-workspace, .scripts-workspace, .schedules-workspace, .github-workspace, .mcp-workspace, .api-catalog-workspace, .vault-workspace, .cloud-workspace, .telegram-workspace, .domain-registrar-workspace, .documents-workspace, .entities-workspace { display: grid; gap: var(--space-4); min-width: 0; margin-top: var(--space-4); }
.owner-workspace { min-height: 0; }
.projects-workspace > *, .tasks-workspace > *, .scripts-workspace > *, .schedules-workspace > *, .github-workspace > *, .mcp-workspace > *, .api-catalog-workspace > *, .vault-workspace > *, .cloud-workspace > *, .telegram-workspace > *, .domain-registrar-workspace > *, .documents-workspace > * { min-width: 0; }
.entities-workspace, .entities-workspace > * { min-width: 0; }
.entities-lists-workspace { grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr); }
.entity-list-row, .entity-list-item-row { display: flex; align-items: center; gap: var(--space-2); width: 100%; min-width: 0; }
.entity-list-row { justify-content: flex-start; }
.entity-list-item-row { padding: var(--space-2) 0; border-bottom: 1px solid var(--border); }
.entity-list-item-row { flex-wrap: wrap; }
.entity-list-item-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.entity-list-item-row > .owner-inline-confirm { flex-basis: 100%; }
.entity-list-items-panel { margin-top: var(--space-4); }
.entity-list-add-row { display: flex; gap: var(--space-2); margin-top: var(--space-3); }
.entity-list-add-row input { min-width: 0; flex: 1; }
.entity-list-import-panel { margin-top: var(--space-3); }
#entity-type-form[hidden] ~ .entity-type-independent,
#entity-list-form[hidden] ~ .entity-list-independent { display: none; }
.entity-tag-list-form { grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: var(--space-2); margin: var(--space-3) 0 var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--border); }
.entity-tag-list-form > label { flex: 1 1 16rem; min-width: 0; }
.entity-tag-list-form > label > input { width: 100%; min-width: 0; }
.entity-tag-list-form > .danger-action { margin-left: 0; }
.entity-tag-values { display: grid; gap: 0; margin-top: var(--space-3); }
.entity-tag-value-row { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-3); }
.entity-tag-value-row > .owner-action-row { justify-self: end; }
.entity-tag-value-row > .tag-value-editor { grid-column: 1 / -1; }
.entity-tag-value-row .list-row-name { min-width: 0; }
.entity-tag-list-form.owner-draft-bar { display: flex; grid-template-columns: none; align-items: end; }
.entity-tag-list-form.owner-draft-bar label { flex: 1 1 16rem; }
.entity-tag-values > .owner-section-header { margin-bottom: var(--space-2); }
.entity-tag-values > .owner-section-header form { width: min(100%, 24rem); }
.entity-tag-value-row { min-height: 44px; padding-block: var(--space-1); }
.entity-tag-bindings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.entity-tag-bindings h3 { grid-column: 1 / -1; }
.entity-list-items-panel > .owner-section-header { flex-wrap: wrap; }
.entity-list-items-panel > .owner-section-header .entity-list-add-row { margin-top: 0; }
.entity-list-item-row { min-height: 44px; padding-block: var(--space-1); }
.entity-list-item-row > .danger-action--text { margin-left: auto; }
.entities-workspace { grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr); }
.entities-workspace.entities-lists-workspace { grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr); }
.entities-workspace.entities-lists-workspace:has(#entity-list-detail-pane[hidden]) { grid-template-columns: minmax(0, 1fr); }
.entities-browse-pane { display: grid; grid-template-columns: minmax(14rem, 0.8fr) minmax(0, 1.2fr); gap: var(--space-4); min-width: 0; }
.entities-browse-pane > *, .entities-list-pane, .entities-detail, .entities-cards-grid, .entities-card { min-width: 0; }
.entities-workspace.entities-view-table, .entities-workspace.entities-view-cards { grid-template-columns: minmax(0, 1fr); }
.entities-workspace.entities-view-table .entities-tree-pane, .entities-workspace.entities-view-cards .entities-tree-pane { display: none; }
.entities-workspace.entities-view-table .entities-browse-pane, .entities-workspace.entities-view-cards .entities-browse-pane { grid-template-columns: minmax(0, 1fr); }
.entities-types-workspace { grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr); }
.entities-tree-pane { min-width: 0; }
.entities-table { width: 100%; min-width: 56.5rem; border-collapse: collapse; table-layout: fixed; }
.entities-table th, .entities-table td { overflow: hidden; text-overflow: ellipsis; }
.entities-table col.entities-col-name { width: auto; }
.entities-table col.entities-col-type { width: 7rem; }
.entities-table col.entities-col-parent { width: 10rem; }
.entities-table col.entities-col-dates { width: 14rem; }
.entities-table col.entities-col-updated { width: 10.5rem; }
.entities-table th:nth-child(2), .entities-table th:nth-child(5), .entities-table td:nth-child(2), .entities-table td:nth-child(5) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.entities-table-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entities-table-row { cursor: pointer; }
.entities-table-row[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.entities-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: var(--space-2); }
.entities-card { display: grid; align-content: start; gap: var(--space-1); width: 100%; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.entities-card[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.entities-card-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entities-card-parent { min-width: 0; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.entities-card-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1) var(--space-3); min-width: 0; margin-top: var(--space-2); color: var(--muted); font: var(--text-meta); }
.entities-card-note { min-width: 0; overflow-wrap: anywhere; }
.entities-card-type, .entities-card-date, .entities-card-updated { color: var(--muted); font: var(--text-meta); }
.entity-tree-item { min-width: 0; }
.entity-tree-row { grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; }
.entity-tree-row > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow-wrap: normal; }
.entity-tree-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow-wrap: normal; font-weight: var(--font-weight-semibold); }
.entity-tree-type, .entity-tree-count { color: var(--muted); font: var(--text-meta); }
.entity-tree-disclosure { min-height: 2rem; min-width: 2rem; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.entity-diagram-canvas, .owner-diagram-canvas { grid-column: 1 / -1; min-width: 0; min-height: 0; overflow: auto; padding: var(--space-4); }
.entities-workspace { position: relative; }
.entities { position: relative; }
.entities-view-tree > .entities-browse-pane { display: none; }
.entities-workspace.entities-view-tree .entities-tree-pane,
.entities-workspace.entities-view-tree .entities-list-pane,
.entities-workspace.entities-view-tree .entities-folder-compact { display: none; }
.entities-view-tree > .entity-diagram-canvas:not([hidden]) { display: block; }
.entity-diagram-forest, .owner-diagram-forest { display: flex; flex-flow: row wrap; align-content: start; gap: var(--space-4); min-width: 0; width: 100%; }
.entity-diagram-group, .owner-diagram-group { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; min-width: max-content; }
.entity-diagram-card, .owner-diagram-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-1) var(--space-2); width: 15rem; min-width: 15rem; min-height: 3.5rem; padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.entity-diagram-card[aria-selected="true"], .owner-diagram-card[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--primary); }
.entity-diagram-card--ancestor, .owner-diagram-card--ancestor { background: var(--surface-muted); }
.entity-diagram-card--match:not([aria-selected="true"]), .owner-diagram-card--match:not([aria-selected="true"]) { color: var(--primary); }
.entity-diagram-card-name, .entity-diagram-card-type, .owner-diagram-card-name, .owner-diagram-card-type { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.entity-diagram-card-name, .owner-diagram-card-name { grid-column: 1 / -1; font-weight: var(--font-weight-semibold); }
.entity-diagram-card-type, .owner-diagram-card-type { grid-column: 1 / -1; color: var(--muted); font: var(--text-meta); }
.entity-diagram-card--has-toggle .entity-diagram-card-name, .entity-diagram-card--has-toggle .entity-diagram-card-type, .owner-diagram-card--has-toggle .owner-diagram-card-name, .owner-diagram-card--has-toggle .owner-diagram-card-type { grid-column: 2; }
.entity-card-toggle, .owner-diagram-toggle { grid-column: 1; grid-row: 1 / span 2; align-self: center; min-width: 2rem; min-height: 2rem; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink); cursor: pointer; }
.entity-diagram-gutter, .owner-diagram-gutter { position: relative; flex: 0 0 var(--space-6); width: var(--space-6); min-height: 3.5rem; }
.entity-diagram-gutter::before, .owner-diagram-gutter::before { content: ""; position: absolute; top: 1.75rem; right: 0; left: 0; border-top: 1px solid var(--border); }
.entity-diagram-column, .owner-diagram-column { display: flex; flex-direction: column; gap: var(--space-3); min-width: max-content; }
.entity-diagram-column > .entity-diagram-group, .owner-diagram-column > .owner-diagram-group { position: relative; }
.entity-diagram-column > .entity-diagram-group::before, .owner-diagram-column > .owner-diagram-group::before { content: ""; position: absolute; top: 1.75rem; bottom: 1.75rem; left: 0; border-left: 1px solid var(--border); }
/* Entities Stage (effort 428): the selected record docks beside the collection from 900px on the Work Space Stage surface;
   below 900px the same element is the Back sheet's content. Every status line keeps its 18px slot when empty. */
.entities-workspace.owner-workspace--tree.entities-stage-open { grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem); }
.entities-workspace.owner-workspace--tree.entities-stage-open > .entity-diagram-canvas,
.entities-workspace.owner-workspace--tree.entities-stage-open > .entities-browse-pane { grid-column: 1; grid-row: 1; }
.entities-workspace.owner-workspace--tree.entities-stage-open > .entities-stage { grid-column: 2; grid-row: 1; }
.entities-stage { display: grid; align-content: start; gap: var(--space-4); min-width: 0; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.entities-stage-record, .entities-stage-fields, .entities-stage-facts { display: grid; align-content: start; gap: var(--space-4); min-width: 0; }
.entities-stage-fields { gap: var(--space-2); }
.entities-stage-head { display: grid; gap: var(--space-2); min-width: 0; }
.entities-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); min-width: 0; min-height: 28px; color: var(--muted); font: var(--text-meta); }
.entities-crumb { min-height: 28px; padding: 0 var(--space-1); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; font: var(--text-meta); }
.entities-crumb:hover { color: var(--ink); text-decoration: underline; }
.entities-stage-title-row { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-2) var(--space-3); }
.entities-stage-title-field { flex: 1 1 12rem; min-width: 0; }
.entities-title-input { width: 100%; min-height: 40px; padding: var(--space-1) 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; color: var(--ink); font: var(--text-title); font-weight: var(--font-weight-semibold); }
.entities-title-input:focus { border-bottom-color: var(--control-border); outline: none; }
.entities-title-input:focus-visible { outline: none; box-shadow: 0 2px 0 0 var(--ink); }
.entities-stage-title { margin: 0; padding: var(--space-1) 0; font: var(--text-title); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.entities-stage-type { margin: 0; }
.entities-stage-commands { justify-content: flex-end; }
.entities-stage-commands > button[aria-label] { width: var(--control-height); min-width: var(--control-height); padding: 0; color: var(--muted); background: transparent; border-color: var(--border); }
.entities-stage-commands > button[aria-label]:hover { color: var(--ink); background: var(--surface-muted); }
.entities-stage-commands svg { display: block; flex: 0 0 auto; }
.entities-stage-commands > #entities-stage-clear { width: auto; min-width: 0; padding-inline: var(--space-2); border: 0; }
.entities-stage-commands > .owner-inline-confirm { flex: 1 0 100%; }
.entities-record-line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.entities-stage :is(.entities-record-status, .entities-field-line), .entities-save-slot { display: block; min-height: 18px; }
.entities-stage .owner-draft-status:empty, .entities-stage .entities-record-status:empty, .entities-save-state:empty { display: block; }
.entities-record-status, .entities-stage .owner-draft-status, .entities-save-state { margin: 0; color: var(--muted); font: var(--text-meta); }
.entities-stage .owner-draft-status { display: block; }
.entities-record-status[data-owner-save-state="failed"], .entities-stage .owner-draft-status[data-owner-save-state="failed"] { color: var(--danger); }
.entities-save-state.is-warn { color: var(--status-warn); }
.entities-record-status-actions:empty { display: none; }
#entities-stage .entities-record-status-actions .tertiary-action { min-height: 28px; padding-inline: var(--space-2); font: var(--text-meta); }
.entities-move-row { max-width: 24rem; }
.entities-move-row > label { color: var(--muted); font: var(--text-label); }
.entities-header-actions { flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.entities-header-actions > .owner-view-toggle { margin-left: 0; }
.entities-header-actions .owner-view-segment { white-space: nowrap; }
.entities-save-slot { display: inline-flex; align-items: center; justify-content: flex-end; min-width: 10.5rem; }
#entities-detail .entities-stage { padding: 0; border: 0; border-radius: 0; background: transparent; }
/* Linked documents: the row link selects the Document entity; a sibling Open shows its file and wraps under a narrow name. */
.entities-linked-document { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-2); min-width: 0; border-bottom: 1px solid var(--border); }
.entities-linked-document > .owner-collection-row { flex: 1 1 8rem; min-width: 0; border-bottom: 0; }
.entities-linked-document > .entities-linked-document-open { flex: 0 0 auto; margin-inline-end: var(--space-2); }
.entities-linked-documents-more > summary { font: var(--text-body); font-weight: var(--font-weight-semibold); }
.entities-file-missing { align-self: center; padding: 0 var(--space-2); border-radius: var(--radius-sm); background: var(--status-warn-surface); color: var(--status-warn); font: var(--text-meta); }
.entities-types-workspace .detail-pane { min-height: 20rem; }
.entity-field-group { display: grid; gap: var(--space-1); width: 100%; min-width: 0; }
.entity-field-group > input, .entity-field-group > select, .entity-field-group > textarea { width: 100%; min-width: 0; }
.entity-date-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); min-width: 0; }
.entity-date-part { display: grid; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); }
.entity-date-part > input { width: 100%; min-width: 0; }
.entity-type-field { display: grid; grid-template-columns: 2.5rem repeat(2, minmax(0, 1fr)) auto; gap: var(--space-2); align-items: end; min-width: 0; padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.entity-type-field-row { min-width: 0; }
.entity-type-field > * { min-width: 0; }
.entity-type-field > .entity-type-field-order { grid-column: 1; grid-row: 1 / 3; align-self: start; flex-wrap: wrap; }
.entity-type-field > [data-field-role="label"] { grid-column: 2; grid-row: 1; }
.entity-type-field > [data-field-role="key"] { grid-column: 3; grid-row: 1; }
.entity-type-field > [data-field-role="kind"] { grid-column: 2; grid-row: 2; }
.entity-type-field > [data-field-role="source"] { grid-column: 3; grid-row: 2; }
.entity-type-field > [data-field-role="options"] { grid-column: 2 / 4; grid-row: 3; }
.entity-type-field > [data-field-role="list-slug"] { grid-column: 2 / 4; grid-row: 3; }
.entity-type-field > .entity-type-required { grid-column: 4; grid-row: 1; }
.entity-type-field > .entity-type-field-remove { grid-column: 4; grid-row: 2; }
.entity-type-field > .owner-inline-confirm { grid-column: 1 / -1; margin-top: var(--space-2); }
.entity-type-field-control { display: grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); }
.entity-type-field input, .entity-type-field select { width: 100%; min-width: 0; margin-top: 0; }
.entity-type-field-order { display: flex; gap: var(--space-1); }
.entity-type-field-order button { min-width: 2rem; padding: 0 var(--space-1); }
.entity-type-required { display: inline-flex; align-items: center; gap: var(--space-1); white-space: nowrap; color: var(--ink); font: var(--text-meta); }
.projects-list, .scripts-list, .github-accounts, .mcp-clients, .cloud-accounts, .vault-items { display: grid; gap: var(--space-2); }
.vault-items button.list-row { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-1) var(--space-2); padding: var(--space-2) var(--space-3); }
.vault-items button.list-row > .list-row-name { grid-column: 1; grid-row: 1; }
.vault-items button.list-row > .badge { grid-column: 2; grid-row: 1; }
.vault-items button.list-row > .list-row-meta { grid-column: 1 / -1; grid-row: 2; }
.vault-items button.list-row { padding-block: var(--space-1); }
.vault-items button.list-row > .list-row-meta { grid-column: 1; }
.vault-items button.list-row > .list-row-trailing { grid-column: 2; grid-row: 2; }
.vault-items .owner-disclosure > summary, .api-catalog-group.owner-disclosure > summary { min-height: 40px; font: var(--text-section); }
.vault-secrets-table th:nth-child(1), .vault-secrets-table td:nth-child(1) { width: 20%; }
.vault-secrets-table th:nth-child(3), .vault-secrets-table td:nth-child(3) { width: 11rem; white-space: nowrap; }
.vault-secrets-table th:nth-child(4), .vault-secrets-table td:nth-child(4) { width: 7rem; }
.vault-secrets-table { min-width: 35rem; }
.domain-table th:nth-child(2), .domain-table td:nth-child(2) { width: 8rem; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.domain-table th:nth-child(3), .domain-table td:nth-child(3) { width: 7rem; }
.domain-table th:nth-child(4), .domain-table td:nth-child(4) { width: 12rem; }
.domain-table { min-width: 39.5rem; }
.users-col-status { width: 10rem; }
.users .page-toolbar .users-filter { width: min(100%, 14rem); min-width: 0; }
.mcp-name { display: grid; gap: var(--space-1); width: min(100%, 22rem); }
.mcp-name input { width: 100%; }
.telegram-account-region > .owner-form { max-width: 864px; }
.telegram-history-row { min-height: 60px; padding-block: var(--space-2); }
.api-entry-row > .list-row-trailing { min-width: 56px; }
.owner-chip--mono { font-family: var(--font-mono); }
.schedule-form-actions { max-width: 864px; }
.schedule-weekdays .owner-choice-selected, .schedule-template-tokens { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.schedule-weekdays { max-width: 864px; }
.script-variable-row .owner-chip-remove { width: 40px; }
.documents-list, .documents-tag-list { display: grid; gap: var(--space-2); }
.script-variables { display: grid; gap: var(--space-2); margin-top: var(--space-4); border-top: 1px solid var(--border); padding-top: var(--space-3); }
.script-variables h3, .script-output h3 { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-bold); }
.script-variable-row { display: grid; gap: var(--space-2); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); background: var(--surface); }
.script-variable-row label { color: var(--ink); }
.script-summary-facts { padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.script-code-section { display: grid; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.script-code-section h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.script-code-section > pre { margin: 0; max-width: 100%; min-height: 8rem; overflow: auto; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); font: var(--text-code); }
.script-output { display: grid; gap: var(--space-2); margin-top: var(--space-4); border-top: 1px solid var(--border); padding-top: var(--space-3); }
.schedule-view-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-3) 0; padding: var(--space-3) 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.schedule-view-facts .detail-value { min-width: 0; overflow-wrap: anywhere; }
.code-editor { width: 100%; min-height: 18rem; font: var(--text-code); }
.owner-form { display: grid; gap: var(--field-gap); min-width: 0; }
.owner-form label, .users-filter { display: grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); font-weight: 500; }
.owner-form input:not([type="checkbox"]):not([type="radio"]), .owner-form select, .owner-form textarea, .users-filter input { width: 100%; min-width: 0; margin-top: 0; font-weight: var(--font-weight-regular); letter-spacing: normal; }
.owner-form label > input:not([type="checkbox"]):not([type="radio"]), .owner-form label > select, .owner-form label > textarea { margin-top: 2px; }
.owner-form .danger-action { margin-left: auto; }
.github-catalog, .project-github-links, .project-github-editor { display: grid; gap: var(--space-2); margin-top: var(--space-4); border-top: 1px solid var(--border); padding-top: var(--space-3); }
.repo-row { grid-template-columns: minmax(0, 1fr); }
.project-github-links-list, .project-github-chosen-list { display: grid; gap: var(--space-2); }
.project-github-link-card, .project-github-chosen-item { padding: var(--space-3); border: 0; border-radius: var(--radius-md); background: var(--surface-muted); }
.project-github-link-header, .project-github-chosen-header, .project-github-add-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.project-github-link-title { color: var(--ink); font-weight: var(--font-weight-semibold); }
.project-github-badge { padding: var(--space-1) var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink); font: var(--text-meta); }
.project-github-subtext { color: var(--ink); font: var(--text-meta); }
.project-github-filter-input { flex: 1 1 180px; }
.project-github-repo-select { flex: 2 1 240px; }
.project-github-desc-input { width: 100%; }
.project-github-remove-btn { min-height: 32px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--danger); cursor: pointer; }

/* Shared closed picker: compact selected chips above checkable option rows. */
.owner-choice-group { display: grid; gap: var(--space-2); min-width: 0; }
.owner-choice-label { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-label); font-weight: 500; }
.owner-choice-selected { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.owner-choice-options { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.owner-choice-selected-row { display: inline-flex; align-items: center; gap: var(--space-1); max-width: 100%; min-height: 24px; padding-left: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); }
.owner-chip, .owner-choice-chip { min-width: 0; max-width: 100%; overflow-wrap: anywhere; color: var(--ink); font: var(--text-meta); }
.owner-chip { display: inline-flex; align-items: center; min-height: 24px; padding: 0 var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); }
.owner-chip-list { display: inline-flex; flex-wrap: wrap; gap: var(--space-1); }
.owner-chip-remove, .owner-choice-chip-remove { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: var(--control-height); min-height: var(--control-height); padding: 0; border: 0; background: transparent; color: var(--ink); }
.owner-chip-remove:hover, .owner-choice-chip-remove:hover { background: var(--surface-muted); }
.owner-choice-option { width: 100%; min-width: 0; min-height: var(--touch-control-height); padding: var(--space-2) var(--space-3); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.owner-choice-option:hover { background: var(--surface-quiet); }
.owner-choice-search { width: 100%; min-width: 0; min-height: var(--control-height); padding: 0 var(--space-3); border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); font: inherit; }
.owner-choice-search:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.owner-choice-group--searchable .owner-choice-options { align-items: stretch; }
.owner-choice-empty { margin: 0; color: var(--muted); font: var(--text-meta); }
.owner-choice-navigation { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-width: 0; }
.owner-choice-breadcrumb { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font: var(--text-meta); }
.owner-choice-option-row { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
.owner-choice-option-label { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; color: var(--ink); }
.owner-choice-group--hierarchical .owner-choice-option { width: auto; flex: 0 0 auto; }
.owner-choice-open.secondary-action { flex: 0 0 auto; }
.owner-choice-group--hierarchical .owner-choice-options { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.owner-form fieldset:has(.owner-choice-group), .owner-form details:has(.owner-choice-group) { min-inline-size: 0; border: 0; border-radius: 0; padding: 0; }

/* Documents viewer: bounded, same-origin preview surface. */
.document-viewer { min-width: 0; max-width: 100%; margin-top: var(--space-4); }
.document-viewer-frame { min-width: 0; max-width: 100%; min-height: 24rem; max-height: calc(100vh - 18rem); overflow: auto; border: 1px solid var(--border); background: var(--surface); }
.document-viewer-toolbar { position: sticky; top: 0; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-2); border-bottom: 1px solid var(--border); background: var(--surface); }
.document-viewer-toolbar button { min-width: var(--control-height); }
.document-viewer-markdown, .document-viewer-source { min-width: 0; max-width: 100%; margin: 0; padding: var(--space-4); overflow-wrap: anywhere; word-break: break-word; }
.document-viewer-markdown pre { max-width: 100%; overflow: auto; }
.document-viewer-markdown img { max-width: 100%; height: auto; }
.document-viewer-markdown a { overflow-wrap: anywhere; }
.document-viewer-image { display: block; max-width: 100%; height: auto; margin: 0 auto; object-fit: contain; }

/* Documents library: selection is separate from the lazy viewer. */
.documents-workspace.documents-library { position: relative; grid-template-columns: minmax(0, 1fr); }
.documents-workspace:not(.documents-editing) > #documents-detail { display: none; }
/* The Git file catalog is separate from uploaded Documents. */
.git-library-workspace { display: grid; flex: 1 1 auto; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; min-height: 0; margin-top: var(--space-4); }
.git-library-workspace > * { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.git-library-workspace:has(#git-library-detail:not([hidden])) { grid-template-columns: minmax(0, 1fr) clamp(288px, 42%, 440px); }
.git-library-row { display: grid; gap: var(--space-1); min-width: 0; padding: var(--space-3); border-bottom: 1px solid var(--border); cursor: pointer; }
.git-library-row[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.git-library-row-name { overflow-wrap: anywhere; color: var(--ink); font: var(--text-body); }
.git-library-row-meta { color: var(--muted); font: var(--text-meta); }
.git-library-facts { display: grid; grid-template-columns: minmax(6rem, 35%) minmax(0, 1fr); gap: var(--space-2); margin: var(--space-4) 0; font: var(--text-meta); }
.git-library-facts dt { color: var(--muted); } .git-library-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.git-library-reader-tabs { display: flex; gap: var(--space-2); margin-top: var(--space-4); }
.git-library-markdown, .git-library-source { max-width: 100%; min-width: 0; overflow-x: auto; overflow-wrap: anywhere; padding: var(--space-4); border: 1px solid var(--border); background: var(--surface-muted); color: var(--ink); }
.git-library-source { white-space: pre-wrap; font: var(--text-code); }
.git-library-move-row { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.documents-library-surface { display: grid; gap: var(--space-4); min-width: 0; container-type: inline-size; }
.documents-workspace.documents-writing > #documents-detail:not([hidden]) { display: flex; flex-direction: column; overflow: hidden; }
.documents-workspace.documents-writing #documents-detail-content { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.documents-workspace.documents-writing #documents-detail-content > form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.documents-workspace.documents-writing .documents-edit-fields,
.documents-workspace.documents-writing #document-add-form > .owner-draft-fields { display: grid; align-content: start; gap: var(--space-4); flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.documents-workspace.documents-writing #documents-detail-content > form > .owner-draft-bar { position: relative; flex: 0 0 auto; margin-top: var(--space-2); background: var(--surface); }

#entity-type-detail-pane:has(#entity-type-form:not([hidden])) { display: flex; flex-direction: column; overflow-y: auto; }
#entity-type-form:not([hidden]) { flex: 0 0 calc(100% - 1px); min-height: 0; }
#entity-type-form > .owner-draft-fields { padding-right: var(--space-1); }
.entity-type-independent { flex: 0 0 auto; }

.tasks-workspace.tasks-sheet-open > #tasks-detail { overflow: hidden; }
.tasks-workspace.tasks-sheet-open #tasks-detail-content { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.dev-work-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: var(--space-3); }
.dev-work-card { display: grid; gap: var(--space-2); min-width: 0; width: 100%; padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.dev-work-card[aria-pressed="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.owner-view-toggle { display: inline-flex; align-items: center; gap: var(--space-1); margin-left: auto; }
.owner-view-toggle [aria-checked="true"] { border-color: var(--selection-border); background: var(--surface-muted); color: var(--ink); }
.owner-danger-zone { margin-top: var(--space-5); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.owner-viewer-overlay { position: fixed; inset: 0; z-index: 80; display: flex; flex-direction: column; min-width: 0; background: var(--surface); color: var(--ink); }
.owner-viewer-overlay[hidden] { display: none; }
.owner-viewer-overlay-header { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-width: 0; padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--border); background: var(--surface); }
.owner-viewer-overlay-header > * { min-width: 0; }
.owner-viewer-overlay-header h2 { min-width: 0; margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.owner-viewer-overlay-header .owner-action-row a { display: inline-flex; align-items: center; gap: var(--space-2); }
.owner-viewer-facts { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.owner-viewer-overlay-stage { min-width: 0; min-height: 0; flex: 1; overflow: auto; padding: var(--space-4); overscroll-behavior: contain; }
/* A PDF fills the stage: the viewer's page region is the one scroll container, so the stage neither pads nor scrolls. */
.owner-viewer-overlay-stage.owner-viewer-stage-fill { overflow: hidden; padding: 0; }

/* Shared PDF viewer (owner-pdf-viewer.js): toolbar, find row, status and one absolutely positioned page scroller. */
.owner-pdf-viewer { display: flex; flex-direction: column; height: 100%; min-width: 0; min-height: 0; }
.owner-pdf-toolbar { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); min-width: 0; padding: var(--space-2) var(--space-4); border-bottom: 1px solid var(--border); background: var(--surface); }
.owner-pdf-group { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-2); min-width: 0; }
.owner-pdf-group-find { margin-left: auto; }
.owner-pdf-toolbar button, .owner-pdf-findbar button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); }
.owner-pdf-icon-command { width: var(--control-height); min-width: var(--control-height); padding: 0; }
.owner-pdf-page-field { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.owner-pdf-page-input { width: 3.5rem; padding: 0 var(--space-2); text-align: center; color: var(--ink); }
.owner-pdf-zoom { width: 8rem; }
.owner-pdf-findbar { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-2) var(--space-4); border-bottom: 1px solid var(--border); background: var(--surface); }
.owner-pdf-findbar[hidden] { display: none; }
.owner-pdf-find-input { flex: 1 1 12rem; min-width: 0; max-width: 24rem; }
.owner-pdf-find-status { min-width: 5rem; color: var(--muted); font: var(--text-meta); }
.owner-pdf-highlight { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); font: var(--text-meta); }
.owner-pdf-find-close { margin-left: auto; }
.owner-pdf-status { flex: 0 0 auto; margin: 0; padding: var(--space-2) var(--space-4); color: var(--muted); font: var(--text-meta); }
.owner-pdf-status:empty { display: none; }
.owner-pdf-message { margin: 0; padding: var(--space-4); }
.owner-pdf-pages { position: relative; flex: 1 1 auto; min-width: 0; min-height: 0; background: var(--page); }
.owner-pdf-scroll { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; }
.owner-pdf-scroll:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
/* The scoped upstream styles nest under .owner-pdf-viewer; these owner rules add the scroller class to win over them. */
.owner-pdf-viewer.owner-pdf-viewer { color-scheme: light; }
/* PDF.js sizes pages as content boxes; the shell's border-box default would shrink every page canvas by its border. */
:where(.owner-pdf-viewer .pdfViewer, .owner-pdf-viewer .pdfViewer *) { box-sizing: content-box; }
.owner-pdf-viewer .owner-pdf-scroll .pdfViewer { padding: var(--space-2) 0 calc(var(--space-6) + env(safe-area-inset-bottom)); }
.owner-pdf-viewer .owner-pdf-scroll .pdfViewer .page.loadingIcon::after { background: none; }
.documents-library > .detail-pane { grid-column: 1; }

.cloud-header, .cloud-inventory-header, .vault-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-4); }
.cloud-detail-identity { display: grid; gap: var(--space-3); }
.cloud-form-field, .cloud-project-options { display: grid; gap: var(--space-2); }
.cloud-project-fields, .vault-project-fields { display: grid; gap: var(--space-2); border: 0; border-radius: 0; padding: 0; }
.cloud-project-fields legend, .vault-project-fields legend { color: var(--muted); font-size: 0.82rem; }
.cloud-binding-checkbox { display: flex; align-items: flex-start; gap: var(--space-2); color: var(--ink); }
.owner-form label.cloud-binding-checkbox { display: flex; align-items: center; gap: var(--space-2); color: var(--ink); font: inherit; font-weight: var(--font-weight-regular); letter-spacing: normal; }
.owner-form input[type="checkbox"], .cloud-binding-checkbox input[type="checkbox"] { width: auto; min-width: 1rem; min-height: 1rem; margin: 0; padding: 0; }
.cloud-detail .detail-fields, .cloud-token-bindings .detail-fields, .resource-monitor .detail-fields { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.cloud-token-bindings { display: grid; gap: 0; margin-top: var(--space-4); }
.cloud-token-records { display: grid; gap: 0; min-width: 0; }
.cloud-token-record { min-width: 0; border-bottom: 1px solid var(--border); }
.cloud-token-summary { display: grid; grid-template-columns: 7rem minmax(10rem, 1fr) 11rem; min-width: 0; margin: 0; padding: var(--space-3); }
.cloud-token-summary-fact { display: grid; gap: var(--space-1); min-width: 0; }
.cloud-token-summary-fact dt { color: var(--muted); font: var(--text-label); }
.cloud-token-summary-fact dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.cloud-token-summary-fact:last-child dd { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cloud-binding-work { display: grid; gap: var(--space-2); width: 100%; min-width: 0; padding: var(--space-3); border-top: 1px solid var(--border); }
.cloud-binding-work h4 { margin: 0; overflow-wrap: anywhere; }
.cloud-binding-current { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.cloud-binding-current > :not(.badge) { overflow-wrap: anywhere; }
.cloud-binding-form { display: grid; gap: var(--space-3); margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.cloud-binding-form label { display: grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); font-weight: 500; }
.cloud-binding-form input[type="checkbox"] { width: auto; min-width: 1rem; min-height: 1rem; justify-self: start; margin: 0; padding: 0; }
.cloud-binding-form select { width: min(100%, 32rem); font-weight: var(--font-weight-regular); letter-spacing: normal; }
.cloud-delete-actions { border-top: 1px solid var(--border); padding-top: var(--space-3); }
.cloud-inventory-groups { display: grid; gap: var(--space-4); margin-top: var(--space-4); }
.cloud-inventory-group { padding: var(--space-4); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); }
.cloud-inventory-group-title { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-bold); }
.cloud-inventory-group-meta, .cloud-inventory-kind-title { color: var(--ink); font: var(--text-meta); }
.cloud-inventory-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--space-2); }
.cloud-inventory-card { padding: var(--space-3); border: 0; border-radius: var(--radius-md); background: var(--surface-muted); }
.cloud-inventory-card-name { margin: 0 0 var(--space-1); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.cloud-inventory-card-meta { color: var(--ink); font: var(--text-meta); overflow-wrap: anywhere; }
.cloud-identity-account-group, .cloud-identity-project-group { display: grid; gap: var(--space-2); padding: var(--space-3); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); }

.page-tabs { display: flex; flex: 0 0 auto; min-height: var(--control-height); gap: var(--space-1); margin-top: var(--space-5); border-bottom: 1px solid var(--border); overflow-x: auto; overflow-y: visible; }
.page-tabs a, .page-tabs button { flex: 0 0 auto; min-width: max-content; min-height: var(--control-height); display: inline-flex; align-items: center; padding: 0 var(--space-3); border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--muted); white-space: nowrap; cursor: pointer; }
.page-tabs a[aria-current="page"], .page-tabs a[aria-selected="true"], .page-tabs button[aria-current="page"], .page-tabs button[aria-selected="true"] { border-bottom-color: var(--sky); color: var(--ink); font-weight: 600; }
.telegram-workspace .detail-pane > #telegram-detail-content > .page-tabs { margin-top: var(--space-3); }
.telegram-destinations-toolbar { display: block; width: 100%; margin-top: var(--space-3); }
.api-catalog-group { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.api-catalog-group > summary { padding: var(--space-2) 0; font: var(--text-heading); }
.api-catalog-group > .list-row { margin-top: 0; }
.detail-list { min-width: 0; margin: var(--space-1) 0 0; padding-left: var(--space-5); overflow-wrap: anywhere; word-break: break-word; }
.detail-list li, .cloud-detail-field, .api-entry, .script-variable-row { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.api-catalog-workspace { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
.users-filter { min-width: min(100%, 16rem); }
.data-table { margin-top: var(--space-4); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.data-table thead { background: var(--surface-quiet); }
.data-table tbody tr:hover { background: var(--surface-quiet); }
.vault .disclosure table { margin-top: var(--space-3); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.vault .vault-empty { padding: var(--space-8) var(--space-4); text-align: center; font: var(--text-heading); }
.users table { margin-top: 0; }
.users tr[hidden] { display: none; }
/* Configuration › Display: one row per color group; the status line is reserved so a save never moves a later command. */
.configuration-modes { display: grid; gap: var(--section-gap); padding-top: var(--space-4); }
.configuration-mode { display: grid; gap: var(--space-3); max-width: 960px; }
.configuration-mode > h2 { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.configuration-color-list { gap: 0; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.configuration-color-row { display: grid; grid-template-columns: minmax(12rem, 1.4fr) 4rem 6.5rem minmax(10rem, 1.6fr) 7.5rem; align-items: center; column-gap: var(--space-3); padding: var(--space-3) var(--space-4) var(--space-1); border-bottom: 1px solid var(--border); }
.configuration-color-row:last-child { border-bottom: 0; }
.owner-form .configuration-color-label { display: grid; gap: 2px; color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-semibold); }
.configuration-color-hint { color: var(--muted); font: var(--text-meta); font-weight: var(--font-weight-regular); }
.owner-form input.configuration-color-input[type="color"] { width: 4rem; padding: 2px; cursor: pointer; }
.configuration-color-hex { color: var(--ink); font: var(--text-code); }
.configuration-color-reading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--text-meta); }
.configuration-use-default { justify-self: end; }
.configuration-color-status, .configuration-color-status:empty { display: block; grid-column: 1 / -1; min-height: 18px; margin: 0; font: var(--text-meta); }
.configuration-color-status[data-owner-save-state="failed"] { color: var(--danger); }
.configuration-reset-status { margin: 0; }
@media (max-width: 599px) {
  .configuration-color-row { grid-template-columns: 4rem minmax(0, 1fr); row-gap: var(--space-2); padding: var(--space-3) var(--space-3) var(--space-1); }
  .owner-form .configuration-color-label, .configuration-color-reading, .configuration-use-default { grid-column: 1 / -1; }
  .configuration-use-default { justify-self: start; }
}
@media (max-width: 599px) {
  .schedule-view-facts { grid-template-columns: minmax(0, 1fr); }
  .entity-tag-list-form { grid-template-columns: minmax(0, 1fr) auto; }
  .entity-tag-list-form > label { grid-column: 1 / -1; }
  .entity-tag-value-row { grid-template-columns: minmax(0, 1fr) auto; }
  .entity-tag-value-row > .owner-action-row { grid-column: 1 / -1; justify-self: start; }
}

.empty-state { display: grid; gap: var(--space-1); align-content: center; justify-items: center; padding: var(--space-8) var(--space-4); text-align: center; }
.empty-state-title { margin: 0; font: var(--text-section); font-weight: 600; }
.empty-state-desc { margin: 0; color: var(--muted); font: var(--text-meta); }

.mcp-section { display: grid; gap: var(--space-3); margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--border); min-width: 0; }
.mcp-section > h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-bold); }
.mcp-credential { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-1) var(--space-2); min-width: 0; }
.mcp-credential code { display: block; min-width: 0; padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-muted); font: var(--text-code); overflow-wrap: anywhere; word-break: break-all; user-select: all; }
.mcp-copy-status { grid-column: 1 / -1; min-height: 1.25rem; color: var(--muted); font: var(--text-meta); }
.mcp-facts { margin: 0; color: var(--secondary-ink); font: var(--text-meta); }
.mcp-switch { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 var(--space-3); min-width: 0; }
.mcp-switch-control { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--row-min-block); cursor: pointer; }
.mcp-switch input[type="checkbox"] { width: 1.125rem; height: 1.125rem; margin: 0; }
.mcp-switch-label { font-weight: var(--font-weight-semibold); }
.mcp-switch-status { color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.mcp-switch-desc { grid-column: 1 / -1; margin: 0; padding-left: calc(1.125rem + var(--space-3)); color: var(--muted); font: var(--text-meta); }
.mcp-recent th, .mcp-recent td { text-align: left; }
.mcp-recent td { overflow-wrap: anywhere; }
.mcp-connect ol { display: grid; gap: var(--space-3); margin: 0; padding-left: var(--space-5); }
.mcp-connect pre { margin: var(--space-1) 0 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); background: var(--surface-muted); font: var(--text-code); white-space: pre-wrap; overflow-wrap: anywhere; }
.mcp-authorize-card { display: grid; gap: var(--space-3); max-width: 28rem; }
.mcp-authorize-title { margin: 0; font: var(--text-work-title); font-weight: var(--font-weight-bold); }
.mcp-authorize-client, .mcp-authorize-fact { margin: 0; overflow-wrap: anywhere; }
.mcp-authorize-fact { color: var(--secondary-ink); }
.mcp-authorize-form { display: grid; gap: var(--space-3); }
.mcp-authorize-form label { display: grid; gap: var(--space-1); font-weight: var(--font-weight-semibold); }
.mcp-authorize-form select { width: 100%; min-height: var(--control-height); }
.mcp-authorize-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.vault-result-count { color: var(--muted); font: var(--text-meta); }
.vault-project-fields details { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-3); }
.vault-project-fields details > div { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.vault-secret-form { margin-top: var(--space-4); }
.vault-secret-form { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
pre { max-width: 100%; overflow: auto; padding: var(--space-3); background: var(--surface-muted); color: var(--ink); font: var(--text-code); white-space: pre-wrap; overflow-wrap: anywhere; }
.tasks-table { min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.tasks-table table { width: max(100%, 66.5rem); min-width: 66.5rem; table-layout: fixed; margin-top: 0; }
.tasks-table .tasks-col-title { width: 17rem; }
.tasks-table .tasks-col-status { width: 10rem; }
.tasks-table .tasks-col-priority { width: 8rem; }
.tasks-table .tasks-col-due { width: 17rem; }
.panel.tasks .tasks-table .tasks-col-entities { width: 16rem; }
.tasks-table .tasks-col-actions { width: 4rem; }
.tasks-table th, .tasks-table td { min-width: 0; padding: var(--space-2); vertical-align: middle; }
.tasks-table td { overflow-wrap: anywhere; }
.tasks-table input, .tasks-table select { width: 100%; min-width: 0; }
.tasks-table .task-cell-title { font-weight: var(--font-weight-semibold); }
.tasks-table .task-status-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); min-width: 0; }
.tasks-table .task-due-controls { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); min-width: 0; }
.tasks-table .task-clear-due { flex: 0 0 auto; padding: 0 var(--space-2); }
.tasks-table .task-due-overdue input { border-color: var(--danger); color: var(--danger); }
.tasks-table tbody tr:hover { background: var(--surface-muted); }
.tasks-table tbody tr[aria-selected="true"] { background: var(--surface-muted); }
.tasks-table-footer-row { border-top: 1px solid var(--border); }
.tasks-table-footer-row td { background: var(--surface-muted); }
.tasks-table-footer-row .badge { white-space: nowrap; }
.schedules-empty-state { display: grid; gap: var(--space-2); min-height: 16rem; align-content: center; justify-items: center; text-align: center; }
.schedules-empty-state h2, .schedules-empty-state p { margin: 0; }
.schedules-empty-state p { color: var(--muted); }
.schedule-edit-form { width: 100%; }
.schedule-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.schedule-config-grid > legend, .schedule-config-grid > fieldset { grid-column: 1 / -1; }
.schedule-view-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-3); align-items: center; }
.schedule-view-header h2 { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.schedule-view-header .badge { justify-self: end; }
.schedule-view-meta, .schedule-view-description { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.schedule-view-meta { min-width: 0; font: var(--text-meta); }
.schedule-view-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.schedule-run { display: grid; gap: var(--space-2); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.schedule-run h3, .schedule-edit-section > legend { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.schedule-run-header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.schedule-run-exit { color: var(--muted); font: var(--text-meta); }
.schedule-run-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.schedule-run-output { min-height: 3rem; margin: 0; }
.schedule-run-decisions { margin: 0; padding-left: var(--space-5); color: var(--muted); font: var(--text-meta); }
.schedule-actions, .schedule-conditions { display: grid; gap: var(--space-3); }
.schedule-edit-section { display: grid; gap: var(--space-3); min-width: 0; margin: 0; padding: var(--space-4) 0; border: 0; border-top: 1px solid var(--border); }
.schedule-edit-section > legend { padding: 0; }
.schedule-window-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); align-items: end; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-muted); }
.schedule-window-fields > p { grid-column: 1 / -1; margin: 0; color: var(--ink); font: var(--text-meta); }
.schedule-weekdays { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); }
.schedule-weekdays legend { width: 100%; padding: 0; color: var(--muted); font: var(--text-label); }
.schedule-cadence-summary { margin: 0; color: var(--ink); font: var(--text-meta); font-weight: var(--font-weight-bold); overflow-wrap: anywhere; }
.schedule-action { display: grid; gap: var(--space-3); margin: 0; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); }
.schedule-action legend { padding: 0 var(--space-1); font-weight: var(--font-weight-bold); }
.schedule-condition { display: grid; grid-template-columns: minmax(7rem, .7fr) minmax(7rem, .7fr) minmax(9rem, .8fr) minmax(7rem, .7fr) minmax(10rem, 1fr) auto; gap: var(--space-2); align-items: start; padding: var(--space-3); background: var(--surface-muted); border-radius: var(--radius-md); }
.schedule-condition select, .schedule-condition textarea { min-width: 0; width: 100%; }
.schedule-condition [hidden] { display: none; }
.schedule-template { display: grid; gap: var(--space-2); }
.schedule-template-tokens { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.schedule-template-preview { white-space: pre-wrap; overflow-wrap: anywhere; }
.schedule-form-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.schedule-form-actions .danger-action { margin-left: auto; }

.login { display: flex; min-height: 100dvh; align-items: center; justify-content: center; padding: var(--space-6); background: var(--page); color: var(--ink); }
.login-card { width: 100%; max-width: 24rem; padding: var(--space-12); border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--surface); color: var(--ink); box-shadow: none; }
.login-error { color: var(--danger); }
.login-button { display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--control-height); width: 100%; border: 0; border-radius: var(--radius-md); background: var(--primary); color: var(--surface); cursor: pointer; font-weight: var(--font-weight-bold); }
.domain-credential-section { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.domain-credential-section h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.domain-registrar-domains { margin-top: var(--space-6); overflow-x: auto; }
.domain-registrar-domains .data-table { min-width: 34rem; }

/* One owner shell: navigation groups and explicit page/workspace composition. */
.nav-group { display: flex; flex: 0 0 auto; flex-direction: column; gap: 0; min-width: 0; }
.nav-group-title { margin: 0; padding: 0 var(--space-3); color: var(--sidebar-ink); font: var(--text-label); font-weight: var(--font-weight-semibold); letter-spacing: .04em; text-transform: uppercase; opacity: .78; }
.nav-group .nav-link { flex: 0 0 auto; min-width: 0; height: 36px; min-height: 36px; overflow-wrap: anywhere; font: var(--text-nav); }
.nav-group + .nav-group { margin-top: var(--space-2); }
.owner-disclosure > summary .owner-icon { order: -1; }
.owner-page-frame .data-table.owner-table { border: 0; border-radius: 0; }
.owner-page-frame .data-table.owner-table th { height: 32px; padding-block: var(--space-1); }
.owner-page-frame .data-table.owner-table td { height: 44px; padding-block: var(--space-1); }
.owner-page-frame .owner-table--stacked { table-layout: auto; }
.owner-caption:empty, .status-copy:empty, [role="status"]:empty { display: none; }
.code-editor { max-width: 864px; }
.script-variable-row { grid-template-columns: minmax(10rem, 15rem) minmax(8rem, 10rem) minmax(0, 1fr) auto; align-items: end; min-height: 44px; padding-block: var(--space-1); }
.script-variable-row label { min-width: 0; }
.script-variable-row input, .script-variable-row select { width: 100%; min-width: 0; }
.schedule-condition { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 864px; background: transparent; border-bottom: 1px solid var(--border); }
.schedule-condition > :last-child { justify-self: end; }
.telegram-history-preview { max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; font: var(--text-meta); }
.telegram-history-status { text-transform: none; }
.telegram-history-error { padding: 0; background: transparent; }
.owner-page-frame, .owner-tab-panel, .owner-workspace--collection, .owner-workspace--library, .owner-workspace--tree { min-width: 0; min-height: 0; }
.owner-page-frame .owner-workspace > section:first-child:not(.entities-browse-pane),
.owner-page-frame .entities-workspace.owner-workspace--tree > .entity-diagram-canvas,
.owner-page-frame .api-catalog-workspace > #api-catalog-entries,
.owner-page-frame.users .data-table { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.owner-page-frame > [role="status"]:empty, .owner-tab-panel > [role="status"]:empty { display: none; }
.owner-page-frame > .page-header,
.owner-page-frame > .page-tabs,
.owner-page-frame > [role="status"],
.owner-page-frame > .page-toolbar,
.owner-page-frame > .owner-filter-bar,
.owner-tab-panel > .page-header,
.owner-tab-panel > .page-tabs,
.owner-tab-panel > [role="status"],
.owner-tab-panel > .page-toolbar,
.owner-tab-panel > .owner-filter-bar { flex: 0 0 auto; }
.entities-folder-compact { display: none; gap: var(--space-2); min-width: 0; }
.entities-folder-compact label { display: grid; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); }
.entities-folder-compact select { width: 100%; min-width: 0; }
.entities-folder-breadcrumb, .entities-selection-context { margin: 0; overflow-wrap: anywhere; color: var(--muted); font: var(--text-meta); }
.entities-selection-context { color: var(--ink); }

@media (min-width: 900px) {
  .scripts-workspace:has(#script-create-panel:not([hidden])),
  .scripts-workspace:has(#scripts-detail-content > form.owner-form) { position: relative; grid-template-columns: minmax(0, 1fr); }
  .scripts-workspace:has(#script-create-panel:not([hidden])) > #scripts-detail,
  .scripts-workspace:has(#scripts-detail-content > form.owner-form) > #scripts-detail { position: absolute; top: var(--space-2); left: 0; right: 0; z-index: 5; width: min(1040px, calc(100% - 32px)); max-width: none; max-height: calc(100% - var(--space-4)); margin-inline: auto; overflow-y: auto; }
  .scripts-workspace #script-create-form,
  .scripts-workspace #scripts-detail-content > form.owner-form { width: 100%; }
  .tasks-workspace.tasks-table-surface { grid-template-columns: minmax(0, 1fr); }
  .tasks-workspace.tasks-table-surface { position: relative; }
  .library-canvas.library-panel-open .library-workspace > #library-detail { position: absolute; top: 0; right: 0; bottom: 0; z-index: 5; width: min(640px, calc(100% - 32px)); max-width: none; max-height: none; margin: 0; overflow: hidden; }
  .tasks-workspace.tasks-table-surface .tasks-list { display: none; }
  .tasks-table-footer-form { grid-template-columns: minmax(16rem, 2fr) minmax(6rem, .8fr) minmax(9rem, 1fr) minmax(10rem, 1fr) auto; }
  .mobile-header { display: none; }
  .sidebar { position: fixed; inset: 0 auto 0 0; display: flex; width: var(--sidebar-width); flex-direction: column; gap: var(--space-2); padding: var(--space-4); min-height: 0; overflow: hidden; background: var(--sidebar); color: var(--sidebar-ink); }
  .drawer-header { display: none; }
  .drawer-scrim { display: none !important; }
  .sidebar nav { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; gap: 0; min-height: 0; overflow-y: auto; }
  .sidebar-foot { flex: 0 0 auto; }
  .content { height: 100dvh; min-height: 0; margin-left: var(--sidebar-width); padding: var(--page-gutter); }
  .panel, .owner-page-frame { display: flex; min-height: 0; height: 100%; flex-direction: column; }
  .owner-page-frame { overflow: hidden; }
  .owner-page-frame > .owner-tab-panel:not(.owner-tab-panel--single):not([hidden]) { overflow: hidden; }
  .owner-tab-panel:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
  .owner-tab-panel--single:not([hidden]) { overflow-y: auto; overscroll-behavior: contain; }
  .owner-page-frame > .owner-workspace, .owner-tab-panel > .owner-workspace { flex: 1 1 auto; min-height: 0; }
  .owner-workspace.owner-workspace--collection { grid-template-columns: clamp(200px, 28%, 280px) minmax(0, 1fr); align-items: stretch; }
  .owner-workspace.owner-workspace--library { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .owner-workspace.owner-workspace--library.tasks-sheet-open, .owner-workspace.owner-workspace--library.documents-editing { grid-template-columns: minmax(0, 1fr) clamp(288px, 44%, 400px); }
  .owner-workspace.owner-workspace--library.tasks-sheet-open { grid-template-columns: minmax(0, 1fr); }
  .owner-workspace--collection > *, .owner-workspace--library > * { min-height: 0; overflow-y: auto; overscroll-behavior: contain; position: relative; top: auto; align-self: stretch; }
.projects-workspace, .tasks-workspace, .scripts-workspace, .schedules-workspace, .github-workspace, .mcp-workspace, .api-catalog-workspace, .cloud-workspace, .vault-workspace, .telegram-workspace, .domain-registrar-workspace, .documents-workspace { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; }
  .owner-workspace.vault-workspace:has(.vault-items > .empty-state):not(:has(#vault-item-form-panel:not([hidden]))),
  .owner-workspace.scripts-workspace:has(.scripts-list > .empty-state):not(:has(#script-create-panel:not([hidden]))),
  .owner-workspace.cloud-workspace:has(.cloud-accounts > .empty-state):not(:has(#cloud-account-form-panel:not([hidden]))),
  .owner-workspace.github-workspace:has(.github-accounts > .empty-state):not(:has(#github-account-form-panel:not([hidden]))),
  .owner-workspace.domain-registrar-workspace:has(.domain-registrar-accounts > .empty-state):not(:has(#domain-registrar-form-panel:not([hidden]))),
  .owner-workspace.mcp-workspace:has(.mcp-clients > .empty-state):not(:has(#mcp-create-panel:not([hidden]))),
  .owner-workspace.telegram-workspace:has(#telegram-list > .empty-state):not(:has(#telegram-create-panel:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }
  .vault-workspace:has(.vault-items > .empty-state):not(:has(#vault-item-form-panel:not([hidden]))) #vault-detail,
  .scripts-workspace:has(.scripts-list > .empty-state):not(:has(#script-create-panel:not([hidden]))) #scripts-detail,
  .cloud-workspace:has(.cloud-accounts > .empty-state):not(:has(#cloud-account-form-panel:not([hidden]))) #cloud-detail,
  .github-workspace:has(.github-accounts > .empty-state):not(:has(#github-account-form-panel:not([hidden]))) #github-detail,
  .domain-registrar-workspace:has(.domain-registrar-accounts > .empty-state):not(:has(#domain-registrar-form-panel:not([hidden]))) #domain-registrar-detail,
  .mcp-workspace:has(.mcp-clients > .empty-state):not(:has(#mcp-create-panel:not([hidden]))) #mcp-detail,
  .telegram-workspace:has(#telegram-list > .empty-state):not(:has(#telegram-create-panel:not([hidden]))) #telegram-detail { display: none; }
  .workspace-list-hidden { grid-template-columns: minmax(0, 1fr); }
  .projects-list-pane, .tasks-list-pane, .scripts-list-pane, .schedules-list-pane, .github-list-pane, .mcp-list-pane, .cloud-list-pane, .vault-list-pane, .telegram-list-pane, .domain-registrar-list-pane, .documents-list-pane, .cloud-identities-workspace .cloud-list-pane { position: sticky; top: var(--space-4); align-self: start; min-width: 0; }
  .owner-workspace { flex: 1 1 auto; align-items: stretch; }
  .owner-workspace > * { min-height: 0; max-height: 100%; overflow-y: auto; overscroll-behavior: contain; position: relative; top: auto; align-self: stretch; }
  .entities-workspace.owner-workspace { min-height: 0; height: auto; grid-template-rows: minmax(0, 1fr); }
  .entities-workspace.owner-workspace > .entities-browse-pane,
  .entities-workspace.owner-workspace > .detail-pane,
  .entities-workspace.owner-workspace > .entities-tree-pane { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .entities-workspace.owner-workspace > .entities-browse-pane { height: 100%; }
  .entities-workspace.owner-workspace > .entities-browse-pane { min-height: 0; }
  .entities-workspace.owner-workspace.entities-types-workspace,
  .entities-workspace.owner-workspace.entities-lists-workspace { grid-template-rows: minmax(0, 1fr); }
  .entities-workspace.owner-workspace .entities-tree-pane,
  .entities-workspace.owner-workspace .entities-list-pane { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .entities-workspace.owner-workspace--tree { display: grid; flex: 1 1 auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); align-items: stretch; }
  .entities-workspace.owner-workspace--tree > .entities-browse-pane { display: grid; grid-column: 1; grid-row: 1; grid-template-columns: 208px minmax(0, 1fr); gap: var(--space-4); min-height: 0; height: auto; overflow: hidden; }
  .entities-workspace.owner-workspace--tree.entities-view-tree > .entities-browse-pane { display: none; }
  .entities-workspace.owner-workspace--tree .entities-tree-pane, .entities-workspace.owner-workspace--tree .entities-list-pane { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .entities-workspace.owner-workspace--tree.entities-view-table > .entities-browse-pane, .entities-workspace.owner-workspace--tree.entities-view-cards > .entities-browse-pane { grid-template-columns: minmax(0, 1fr); }
  .entities-workspace.owner-workspace--tree.entities-compact > .entities-browse-pane { grid-template-columns: minmax(228px, 1fr); }
  .entities-workspace.owner-workspace--tree.entities-compact .entities-tree-pane { display: none; }
  .entities-workspace.owner-workspace--tree.entities-compact .entities-folder-compact { display: grid; }
  .entities-workspace.owner-workspace--collection { grid-template-columns: clamp(200px, 28%, 280px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .entities-workspace.owner-workspace--collection > .entities-tree-pane, .entities-workspace.owner-workspace--collection > .detail-pane { min-height: 0; overflow-y: auto; }
  .vault #vault-item-form-panel { grid-column: 2; grid-row: 1; }
  .detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .documents-workspace.documents-library.documents-editing { grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem); }
  .documents-workspace.documents-library.documents-editing > .detail-pane { grid-column: 2; grid-row: 1; }
  .documents-workspace.documents-library.documents-writing { grid-template-columns: minmax(0, 1fr); }
  .documents-workspace.documents-library.documents-writing > #documents-detail { position: absolute; top: var(--space-2); left: 0; right: 0; z-index: 5; grid-column: 1; width: min(864px, calc(100% - 32px)); max-width: none; max-height: calc(100% - var(--space-4)); margin-inline: auto; overflow: auto; }
}
@media (min-width: 900px) {
  /* One filter row on the Entities tab: Search, Type and Clear filters share the line; the view switch lives in the header. */
  .panel.entities .owner-filter-bar > .owner-filter-controls { flex: 0 1 auto; }
  .panel.entities .owner-filter-bar > .owner-filter-toggle { order: 2; }
}
@media (min-width: 900px) and (max-width: 1099px) {
  /* Measured fallback (plan W0 a): below 1100px the Stage narrows so the collection keeps a card's width. */
  .entities-workspace.owner-workspace--tree.entities-stage-open { grid-template-columns: minmax(16rem, 1fr) minmax(20rem, 24rem); }
}

@media (min-width: 900px) and (max-width: 1279px) {
  .entity-type-field { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .entity-type-field.entity-type-field-row > * { grid-column: 1; grid-row: auto; }
  .entity-type-field-order { justify-content: flex-start; }
  :is(
    .github-workspace:has(#github-account-form-panel:not([hidden])),
    .github-workspace:has(#github-detail-content > form.owner-form),
    .cloud-workspace:has(#cloud-account-form-panel:not([hidden])),
    .domain-registrar-workspace:has(#domain-registrar-form-panel:not([hidden])),
    .mcp-workspace:has(#mcp-create-panel:not([hidden])),
    .telegram-workspace:has(#telegram-create-panel:not([hidden])),
    .vault-workspace:has(#vault-item-form-panel:not([hidden]))
  ) { position: relative; grid-template-columns: minmax(0, 1fr); }
  :is(
    .github-workspace:has(#github-account-form-panel:not([hidden])),
    .github-workspace:has(#github-detail-content > form.owner-form),
    .cloud-workspace:has(#cloud-account-form-panel:not([hidden])),
    .domain-registrar-workspace:has(#domain-registrar-form-panel:not([hidden])),
    .mcp-workspace:has(#mcp-create-panel:not([hidden])),
    .telegram-workspace:has(#telegram-create-panel:not([hidden]))
  ) > .detail-pane,
  .vault-workspace:has(#vault-item-form-panel:not([hidden])) > #vault-item-form-panel {
    position: absolute; top: var(--space-2); left: 0; right: 0; z-index: 5;
    width: min(864px, calc(100% - 32px)); max-width: none; max-height: calc(100% - var(--space-4));
    margin-inline: auto; overflow-y: auto;
  }
  .vault-workspace:has(#vault-item-form-panel:not([hidden])) > #vault-item-form-panel { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 899px) {
  :root { --text-title: 20px/26px var(--font-sans); --page-gutter: var(--space-3); }
  .entities-table.owner-table--stacked, .entities-table.owner-table--stacked tbody, .entities-table.owner-table--stacked tr { display: block; width: 100%; }
  .entities-table.owner-table--stacked { min-width: 0; }
  .entities-table.owner-table--stacked thead, .entities-table.owner-table--stacked colgroup, .entities-table.owner-table--stacked td:not(:first-child) { display: none; }
  .entities-table.owner-table--stacked tr { min-height: 52px; }
  .entities-table.owner-table--stacked td:first-child { display: block; width: 100%; min-height: 52px; height: auto; white-space: normal; }
  .entities-table.owner-table--stacked .owner-table-secondary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .owner-property { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .owner-chip-remove, .owner-choice-chip-remove { width: var(--touch-control-height); min-height: var(--touch-control-height); }
  .owner-form label.owner-inline-check { min-height: var(--touch-control-height); }
  .detail-pane:has(> form .owner-draft-bar) { display: flex; flex-direction: column; overflow: hidden; }
  .detail-pane > form:has(.owner-draft-bar) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow-y: auto; }
  .detail-pane > form .owner-draft-bar { position: sticky; bottom: 0; flex: 0 0 auto; background: var(--surface); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
  body.tasks-detail-open #tasks-detail:has(#task-create-panel:not([hidden])) { display: flex; flex-direction: column; overflow: hidden; }
  #task-create-panel:not([hidden]) { display: flex; flex: 1 1 auto; min-height: 0; }
  #task-create-panel:not([hidden]) > form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow-y: auto; }
  #task-create-panel .owner-draft-bar { position: sticky; bottom: 0; flex: 0 0 auto; background: var(--surface); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
  body.documents-detail-open #documents-detail:has(#document-add-panel:not([hidden])) { display: flex; flex-direction: column; overflow: hidden; }
  #document-add-panel:not([hidden]) { display: flex; flex: 1 1 auto; min-height: 0; }
  #document-add-panel:not([hidden]) > form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow-y: auto; }
  #document-add-panel .owner-draft-bar { position: sticky; bottom: 0; flex: 0 0 auto; background: var(--surface); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
  .entity-type-field.entity-type-field-row > * { grid-row: auto; }
  .git-library-workspace, .git-library-workspace:has(#git-library-detail:not([hidden])) { grid-template-columns: minmax(0, 1fr); }
  .git-library-workspace .detail-pane { display: none; }
  body.git-library-detail-open .git-library-list-pane { display: none; }
  body.git-library-detail-open #git-library-detail:not([hidden]) { position: fixed; top: var(--mobile-header-height); right: 0; bottom: 0; left: 0; z-index: 50; display: block; overflow-y: auto; padding: var(--space-4); background: var(--surface); }
  body.git-library-detail-open #git-library-back { display: inline-flex; }
  .tasks-table, .tasks-table-footer { display: none; }
  .tasks-list { display: grid; }
  .mobile-header { width: 100%; max-width: 100%; margin: 0; padding-left: var(--space-4); padding-right: var(--space-4); }
  .menu-toggle { width: var(--control-height); min-width: var(--control-height); padding: 0; display: inline-flex; align-items: center; justify-content: center; }
  body.home .mobile-page-title { display: none; }
  .content, .panel, .page-header, .page-header > *, .owner-workspace, .owner-workspace > *, .projects-workspace, .tasks-workspace, .scripts-workspace, .schedules-workspace, .github-workspace, .mcp-workspace, .api-catalog-workspace, .vault-workspace, .cloud-workspace, .telegram-workspace, .domain-registrar-workspace, .documents-workspace { min-width: 0; max-width: 100%; }
  .entities-workspace, .entities-workspace > * { min-width: 0; max-width: 100%; }
  .content { width: 100%; padding: var(--page-gutter); }
  .panel { display: block; width: 100%; height: auto; min-height: 0; padding: var(--space-4); border-radius: var(--radius-lg); }
  .panel.owner-page-frame { padding: 0; border-radius: 0; background: transparent; }
  .owner-page-frame input:not([type="checkbox"]):not([type="radio"]), .owner-page-frame select, .owner-page-frame button:not(.menu-toggle) { min-height: var(--touch-control-height); }
  .page-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; width: 100%; gap: var(--space-2); }
  .page-header > div:first-child { min-width: 0; }
  .page-header .page-subtitle { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .page-header .form-actions, .page-header .owner-action-row { justify-content: flex-end; min-width: 0; }
  .page-header > * { overflow-wrap: anywhere; }
  .page-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; width: 100%; min-width: 0; max-width: 100%; }
  .page-toolbar > *, .page-toolbar label, .page-toolbar input, .page-toolbar select, .page-toolbar textarea, .page-toolbar button { width: 100%; min-width: 0; max-width: 100%; }
  .page-subtitle { overflow-wrap: anywhere; }
  .projects-list-pane, .tasks-list-pane, .scripts-list-pane, .schedules-list-pane, .github-list-pane, .mcp-list-pane, .vault-list-pane, .telegram-list-pane, .domain-registrar-list-pane, .documents-list-pane, .api-catalog-workspace > *, .cloud-identities-workspace .cloud-list-pane { width: 100%; min-width: 0; max-width: 100%; }
  .entities-tree-pane { width: 100%; min-width: 0; max-width: 100%; }
  .entities-lists-workspace { grid-template-columns: minmax(0, 1fr); }
  .entities-workspace.entities-lists-workspace { grid-template-columns: minmax(0, 1fr); }
  .entity-list-add-row { flex-wrap: wrap; }
  .entity-list-add-row input { flex-basis: 100%; }
  .projects-workspace > *, .tasks-workspace > *, .scripts-workspace > *, .schedules-workspace > *, .github-workspace > *, .mcp-workspace > *, .api-catalog-workspace > *, .vault-workspace > *, .cloud-workspace > *, .telegram-workspace > *, .domain-registrar-workspace > *, .documents-workspace > * { min-width: 0; max-width: 100%; }
  .entities-workspace, .entities-workspace.entities-view-table, .entities-workspace.entities-view-cards { grid-template-columns: minmax(0, 1fr); }
  .entities-browse-pane, .entities-workspace.entities-view-table .entities-browse-pane, .entities-workspace.entities-view-cards .entities-browse-pane { grid-template-columns: minmax(0, 1fr); }
  .entities-cards-grid { grid-template-columns: minmax(0, 1fr); }
  .entity-type-field { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .entity-type-field > * { grid-column: 1; }
  .entity-type-field-order { justify-content: flex-start; }
  .entity-date-range { grid-template-columns: minmax(0, 1fr); }
  .list-row, .list-row > * { min-width: 0; max-width: 100%; }
  body.nav-drawer-open { overflow: hidden; }
  .sidebar { --owner-safe-area-bottom: env(safe-area-inset-bottom); position: fixed; inset: 0 auto 0 0; z-index: 100; display: none; width: min(80vw, 18rem); height: 100dvh; flex-direction: column; gap: var(--space-1); overflow: hidden; padding: var(--space-2) var(--space-4) max(var(--space-2), var(--owner-safe-area-bottom)); background: var(--sidebar); color: var(--sidebar-ink); }
  body.nav-drawer-open .sidebar { display: flex; }
  .drawer-header { flex: 0 0 auto; min-height: var(--touch-control-height); padding-bottom: 0; }
  .drawer-header .secondary-action { min-height: var(--touch-control-height); }
  .sidebar nav { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; gap: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .sidebar-foot { flex: 0 0 auto; padding-top: var(--space-1); }
  .nav-group + .nav-group { margin-top: max(0px, calc(var(--space-1) - var(--owner-safe-area-bottom))); }
  .owner-workspace { flex: none; min-height: auto; }
  .owner-workspace > * { max-height: none; overflow: visible; overscroll-behavior: auto; }
  .owner-tab-panel:not([hidden]) { display: block; }
  .entities-workspace.owner-workspace--tree .entities-tree-pane { display: none; }
  .entities-workspace.owner-workspace--tree .entities-folder-compact { display: grid; }
  .entities-view-tree > .entity-diagram-canvas:not([hidden]) { display: block; min-height: 24rem; }
  .entity-diagram-group, .owner-diagram-group { flex-direction: column; min-width: 0; width: 100%; }
  .entity-diagram-forest, .owner-diagram-forest { flex-direction: column; flex-wrap: nowrap; min-width: 0; width: 100%; }
  .entity-diagram-card, .owner-diagram-card { width: 100%; min-width: 0; }
  .entity-diagram-gutter, .owner-diagram-gutter { width: 100%; min-height: var(--space-4); flex-basis: var(--space-4); }
  .entity-diagram-gutter::before, .owner-diagram-gutter::before { top: 0; right: auto; bottom: 0; left: 1.5rem; border-top: 0; border-left: 1px solid var(--border); }
  .entity-diagram-column, .owner-diagram-column { min-width: 0; width: 100%; padding-left: var(--space-4); }
  .entity-diagram-column > .entity-diagram-group::before, .owner-diagram-column > .owner-diagram-group::before { display: none; }
  .entities-workspace.entities-view-tree > .entities-browse-pane { display: none; }
  body.entities-type-detail-open #entity-type-detail-pane:not([hidden]) { display: flex; flex-direction: column; overflow: hidden; }
  body.entities-type-detail-open #entity-type-form:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
  body.entities-type-detail-open #entity-type-fields { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  body.entities-type-detail-open #entity-type-form .owner-draft-bar { position: relative; flex: 0 0 auto; }
  .schedules-workspace.schedules-editing .schedules-list-pane, .schedules-workspace.schedules-creating .schedules-list-pane { display: none; }
  body.shell { overflow-x: clip; }
  .detail-pane { display: none; }
  body.shell[class*="-detail-open"] .detail-pane { position: fixed; top: var(--mobile-header-height); right: 0; bottom: 0; left: 0; z-index: 50; display: block; min-width: 0; overflow-x: clip; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-4); padding-bottom: calc(var(--space-8) + env(safe-area-inset-bottom)); scroll-padding-top: var(--space-4); border: 0; border-radius: 0; box-shadow: none; background: var(--surface); }
  body.shell[class*="-detail-open"] .detail-pane:has(> .owner-bounded-draft),
  body.shell[class*="-detail-open"] .detail-pane:has(> :not([hidden]) > .owner-bounded-draft) { display: flex; flex-direction: column; overflow-y: hidden; }
  .detail-mobile-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; min-height: var(--control-height); margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4); padding: var(--space-2) var(--space-4); border-bottom: 1px solid var(--border); background: var(--surface); }
  .detail-mobile-bar .mobile-back { display: inline-flex; }
  .detail-pane .form-actions { padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
  .project-github-add-bar { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .project-github-add-bar > * { width: 100%; min-width: 0; }
  .project-github-link-title, .project-github-subtext, .project-github-badge { overflow-wrap: anywhere; }
  .cloud-secret-row, .cloud-binding-form, .cloud-inventory-card { min-width: 0; }
  .cloud-inventory-cards { grid-template-columns: minmax(0, 1fr); }
  .owner-action-row { align-items: stretch; width: 100%; max-width: 100%; }
  .owner-action-row > button, .owner-action-row > a, .owner-inline-confirm-actions > button, .owner-inline-confirm-actions > a { max-width: 100%; }
  .users-filter { width: 100%; min-width: 0; }
  .owner-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-2); width: 100%; min-width: 0; }
  .owner-filter-primary { grid-column: 1; width: 100%; min-width: 0; }
  .owner-filter-persistent { grid-column: 1 / -1; min-width: 0; }
  .owner-filter-toggle { grid-column: 2; grid-row: 1; display: inline-flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; white-space: nowrap; }
  /* Dev Work phone bar: Search alone on row one; Manage groups and Filters share row two; the view switch takes row three and Clear row four. */
  .dev-work-toolbar .owner-filter-primary { grid-column: 1 / -1; grid-row: 1; }
  .dev-work-toolbar #dev-work-groups-toggle { grid-column: 1; grid-row: 2; justify-self: start; width: fit-content; }
  .dev-work-toolbar .owner-filter-toggle { grid-column: 2; grid-row: 2; justify-self: end; }
  .dev-work-toolbar #dev-work-view-toggle { grid-column: 1 / -1; grid-row: 3; }
  .dev-work-toolbar #dev-work-clear-filter { grid-column: 1 / -1; grid-row: 4; }
  .owner-filter-controls { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; width: 100%; }
  .owner-filter-controls[hidden] { display: none !important; }
  .owner-filter-controls label, .owner-filter-controls input, .owner-filter-controls select, .owner-filter-controls button { width: 100%; min-width: 0; }
  .owner-filter-controls.page-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .owner-filter-controls.page-toolbar label, .owner-filter-controls.page-toolbar input, .owner-filter-controls.page-toolbar select, .owner-filter-controls.page-toolbar button { width: 100%; min-width: 0; }
  .entities-folder-compact { grid-template-columns: minmax(0, 1fr); }
  .entities-folder-compact label { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-2); }
  .entities-folder-breadcrumb { display: none; }
  .cloud-inventory-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); }
  .cloud-inventory-header > div { display: none; }
  .users .data-table { border: 0; overflow: visible; }
  .users .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .users .data-table tbody { display: block; width: 100%; }
  .users .data-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; margin-top: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
  .users .data-table td { display: block; width: 100%; min-height: 0; padding: var(--space-2); overflow-wrap: anywhere; }
  .users .data-table td::before { display: block; margin-bottom: var(--space-1); color: var(--muted); font: var(--text-label); content: attr(data-label); }
  .api-catalog-workspace { grid-template-columns: minmax(0, 1fr); }
  .owner-phone-table { border: 0; overflow: visible; }
  .owner-phone-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .owner-phone-table tbody, .owner-phone-table tr, .owner-phone-table td { display: block; width: 100%; }
  .owner-phone-table tr { margin-top: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
  .owner-phone-table td { min-height: var(--control-height); padding: var(--space-3); overflow-wrap: anywhere; word-break: break-word; }
  .owner-phone-table td::before { display: block; margin-bottom: var(--space-1); color: var(--muted); font: var(--text-label); content: attr(data-label); }
  .owner-phone-table td:last-child { border-bottom: 0; }
  .entity-type-field.entity-type-field-row { grid-template-columns: minmax(0, 1fr); }
  .entity-type-field.entity-type-field-row > * { grid-column: 1 / -1; }
  .entity-type-field.entity-type-field-row > .owner-inline-confirm { grid-column: 1 / -1; }
  .domain-registrar-domains { overflow: visible; }
  .domain-registrar-domains .data-table { min-width: 0; }
  .api-catalog .page-toolbar { align-items: stretch; }
  .api-catalog .page-toolbar label, .api-catalog .page-toolbar input, .api-catalog .page-toolbar select, .api-catalog .page-toolbar button { width: 100%; min-width: 0; }
  .api-catalog .list-row { overflow-wrap: anywhere; }
  .schedule-view-header { grid-template-columns: minmax(0, 1fr) auto; }
  .schedule-view-meta, .schedule-view-actions { grid-column: 1 / -1; }
  .schedule-run-facts { grid-template-columns: minmax(0, 1fr); }
  .schedule-config-grid { grid-template-columns: minmax(0, 1fr); }
  .schedule-window-fields { grid-template-columns: minmax(0, 1fr); }
  .schedule-condition { grid-template-columns: minmax(0, 1fr); }
  .schedule-form-actions { top: auto; }
  .vault .page-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .vault .page-toolbar label, .vault .page-toolbar input, .vault .page-toolbar select { width: 100%; min-width: 0; }
  .vault-sensitive-value { max-width: 100%; overflow-x: auto; overflow-wrap: anywhere; }
  .owner-view-toggle { width: 100%; margin-left: 0; }
  .owner-view-toggle > * { flex: 1 1 0; }
  .owner-viewer-overlay-header { align-items: flex-start; padding: var(--space-3) var(--space-4); }
  .owner-viewer-overlay-header .owner-action-row { width: auto; }
  .owner-viewer-overlay-stage { padding: var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom)); }
  .owner-viewer-overlay-stage.owner-viewer-stage-fill { padding: 0; }
  .owner-pdf-toolbar, .owner-pdf-findbar { gap: var(--space-2) var(--space-3); padding: var(--space-2) var(--space-3); }
  .owner-pdf-toolbar :is(button, select, input), .owner-pdf-findbar :is(button, input[type="search"]), .owner-pdf-highlight { min-height: var(--touch-control-height); }
  .owner-pdf-icon-command { width: var(--touch-control-height); min-width: var(--touch-control-height); }
}
@media (max-width: 899px) {
  /* The view switch takes its own row under the title on the Entities tab, as on Work Space; the save slot starts the next row. */
  .panel.entities:has(#entities-view-toggle:not([hidden])) .page-header { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .entities-header-actions:has(> #entities-view-toggle:not([hidden])) { justify-content: flex-start; }
  .entities-header-actions > .owner-view-toggle { flex: 1 1 100%; }
  .entities-header-actions > .owner-view-toggle > .owner-view-segment { flex: 1 1 0; justify-content: center; }
  .entities-save-slot { order: 3; flex-basis: 100%; justify-content: flex-start; min-width: 0; }
  .entities-stage-commands > button[aria-label] { width: var(--touch-control-height); min-width: var(--touch-control-height); }
}

@media (max-width: 479px) {
  .page-tabs a, .page-tabs button { padding-left: var(--space-2); padding-right: var(--space-2); }
}

@media (max-width: 899px) {
  .login-card { padding: var(--space-8); }
  .login-button { min-height: var(--touch-control-height); }
  .mcp-authorize-actions > button { flex: 1 1 auto; min-height: var(--touch-control-height); }
  .mcp-credential button { min-height: var(--touch-control-height); }
  .mcp-switch-control { min-height: var(--touch-control-height); }
  .nav-group .nav-link { min-height: var(--touch-control-height); height: var(--touch-control-height); }
  .signout { min-height: var(--touch-control-height); }
  .detail-mobile-bar { gap: var(--space-2); }
  .detail-mobile-bar .mobile-back { min-height: var(--touch-control-height); border-color: transparent; background: transparent; }
  .detail-mobile-bar::after { content: attr(data-sheet-title); font: var(--text-nav); font-weight: var(--font-weight-semibold); }
  .users .data-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 52px; margin: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
  .users .data-table td { min-height: 0; padding: var(--space-1) var(--space-2); border: 0; }
  .users .data-table td::before { display: none; }
  .users .data-table td:last-child { text-align: right; }
  .script-variable-row { grid-template-columns: minmax(0, 1fr) auto; }
  .script-variable-row label:nth-child(2), .script-variable-row label:nth-child(3) { grid-column: 1 / -1; }
  .schedule-condition { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .entity-tag-bindings { grid-template-columns: minmax(0, 1fr); }
  .entity-tag-values > .owner-section-header form { width: 100%; }
  .owner-draft-bar { position: sticky; bottom: 0; z-index: 3; background: var(--surface); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
}

@media (min-width: 900px) {
  .documents-workspace.documents-writing > #documents-detail:not([hidden]) { height: min(720px, calc(100% - var(--space-4))); }
}

@media (max-width: 899px) {
  .document-viewer-image-frame .document-viewer-toolbar button { min-height: var(--touch-control-height); }
  .documents-workspace.documents-writing > #documents-detail:not([hidden]) { height: auto; }
}

.document-viewer-image-canvas { display: block; max-width: none; height: auto; margin: 0 auto; background: var(--surface); }

/* Collection summaries: complete facts live in the selected work surface. */
.owner-page-frame :is(button, a).owner-collection-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: var(--space-2); row-gap: 0; min-width: 0; min-height: 52px; padding: 4px var(--space-3); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); font: var(--text-body); text-align: left; }
.owner-page-frame :is(button, a).owner-collection-row:not(:has(.list-row-meta, .list-row-trailing)) { min-height: 44px; grid-template-rows: auto; }
:is(button, a).owner-collection-row .list-row-name, :is(button, a).owner-collection-row .list-row-meta { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:is(button, a).owner-collection-row .list-row-name { grid-column: 1; grid-row: 1; }
:is(button, a).owner-collection-row .list-row-meta { grid-column: 1; grid-row: 2; }
:is(button, a).owner-collection-row .list-row-state { grid-column: 2; grid-row: 1; }
:is(button, a).owner-collection-row .list-row-trailing { grid-column: 2; grid-row: 2; }
button.owner-collection-row[aria-pressed="true"], button.owner-collection-row[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
:is(button, a).owner-collection-row:hover { background: var(--surface-quiet); }
.owner-work-hint { margin: 0; padding: var(--space-3) 0; color: var(--muted); font: var(--text-meta); }
/* Runs stage: one bounded reader, scoped to this tab. Existing shell and tokens stay authoritative. */
.workstations-runs { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.workstations-runs .runs-status { display: flex; flex-wrap: wrap; gap: 4px 16px; flex: 0 0 auto; margin-block: 8px; }
.workstations-runs .runs-status > * { margin: 0; }
.workstations-runs .workstations-workspace { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 12px; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: hidden; }
.workstations-runs .workstations-list-pane { min-height: 0; overflow-y: auto; padding: 12px; }
.workstations-runs .runs-stage { display: none; min-height: 0; padding: 0; overflow: hidden; }
.workstations-runs.runs-open .runs-stage { display: flex; flex-direction: column; }
.workstations-runs.runs-open:not(.runs-split) .workstations-list-pane { display: none; }
.workstations-runs.runs-split .workstations-workspace { grid-template-columns: clamp(320px, calc(100% - 656px), 360px) minmax(0, 1fr); }
.workstations-runs.runs-split.runs-expanded .workstations-workspace { grid-template-columns: minmax(0, 1fr); }
.workstations-runs.runs-split.runs-expanded .workstations-list-pane { display: none; }
.workstations-runs #workstations-detail-content:not([hidden]) { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.workstations-runs .detail-mobile-bar { display: none; }
.workstations-runs .runs-stage-header { flex: 0 0 auto; display: grid; gap: 8px; padding: 12px 20px; border-bottom: 1px solid var(--border); min-width: 0; }
.workstations-runs .runs-stage-header .detail-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.workstations-runs .runs-copy-commands { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; }
.workstations-runs .runs-copy-commands > .owner-command-cluster { margin: 0; }
.workstations-runs .runs-identity > h2 { flex: 1 1 160px; }
.workstations-runs .runs-stage-header h2 { font: var(--text-section); }
.workstations-runs .runs-stage-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 20px; overflow-wrap: anywhere; }
.workstations-runs .runs-stage-body > section { margin-top: 16px; padding-top: 12px; }
.workstations-runs .runs-stage-body > section:first-child { margin-top: 0; border-top: 0; }
.workstations-runs .runs-stage-body pre { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; max-height: none; overflow-y: visible; direction: auto; }
.workstations-runs .runs-document { font: var(--text-body); margin: 0; }
.workstations-runs .runs-facts .owner-properties { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.workstations-runs .runs-facts .owner-property { display: block; }
.workstations-runs .runs-facts dd { margin: 4px 0 0; }
.workstations-runs .runs-navigation, .workstations-runs .runs-document-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.workstations-runs .runs-phone-copy, .workstations-runs .runs-tabs { display: none; }
.workstations-runs .runs-details { margin-top: 20px; }
.workstations-runs .runs-claims-path { white-space: pre-wrap; overflow-wrap: anywhere; }
.workstations-runs .runs-stage-header .runs-full-title { display: none; }
.workstations-runs.runs-compact .runs-stage-header > :not(.runs-identity) { display: none; }
.workstations-runs.runs-compact .runs-header-extra { display: block; }
.workstations-runs .runs-header-extra { display: none; }
.workstations-runs .runs-stage-header .owner-command-reason:empty { display: none; }
@media (max-width: 899px) {
  .workstations-runs { height: calc(100dvh - var(--mobile-header-height) - 32px); }
  body.workstations-detail-open .workstations-runs .runs-stage { position: fixed; top: var(--mobile-header-height); bottom: 0; left: 0; right: 0; height: calc(100dvh - var(--mobile-header-height)); padding: 0; display: flex; overflow: hidden; }
  .workstations-runs .runs-stage-header { padding: 8px 16px; }
  .workstations-runs .runs-stage-body { padding: 0 16px calc(16px + env(safe-area-inset-bottom)); }
  .workstations-runs .runs-desktop-copy, .workstations-runs .runs-header-metadata { display: none; }
  .workstations-runs .runs-phone-copy, .workstations-runs .runs-tabs { display: flex; }
  .workstations-runs .runs-document-section:not(.runs-active-document) { display: none; }
  .workstations-runs .runs-facts .owner-properties { grid-template-columns: minmax(0,1fr); }
  .workstations-runs .runs-navigation > :not([data-section="request"]):not([data-section="result"]) { display: none; }
  .workstations-runs .runs-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
}

/* Navigation has its own boundary; page and workspace rules remain at 900px. */
:root { --nav-width: 16rem; }
.nav-group { display: block; }
.nav-group > summary { color: var(--sidebar-ink); display: flex; align-items: center; justify-content: space-between; min-height: 40px; cursor: pointer; list-style: none; border-radius: var(--radius-md); }
.nav-group > summary .owner-icon { order: 0; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group:not([open]) > .nav-group-links { display: none; }
.nav-group[open] > .nav-group-links { display: flex; flex-direction: column; }
.sidebar .nav-link { flex: 0 0 auto; height: auto; min-height: 40px; gap: var(--space-2); }
.nav-destination-icon { display: none; flex: 0 0 20px; width: 20px; height: 20px; }
.nav-label { min-width: 0; }
.nav-link[aria-current="page"] { border-inline-start: 2px solid var(--sidebar-ink); }
.nav-group[data-nav-current="true"] > summary { border-inline-start: 2px solid var(--sidebar-ink); }
#shell-nav-toggle { display: none; flex: 0 0 auto; width: 44px; height: 44px; min-height: 44px; align-items: center; justify-content: center; border-color: var(--sidebar-line); background: transparent; color: var(--sidebar-ink); padding: 0; }
.nav-toggle-icon { display: inline-flex; width: 20px; height: 20px; }
#shell-nav-toggle[hidden] { display: none; }
.nav-tooltip { position: fixed; z-index: 150; max-width: min(18rem, calc(100vw - 76px)); padding: var(--space-2) var(--space-3); border: 1px solid var(--sidebar-line); border-radius: var(--radius-md); background: var(--sidebar); color: var(--sidebar-ink); font: var(--text-nav); }
.nav-tooltip[hidden] { display: none; }
.shell-fallback-toggle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.shell-fallback-action { display: inline-flex; min-height: 44px; align-items: center; cursor: pointer; }
html[data-owner-drawer-ready="true"] .shell-fallback-toggle, html[data-owner-drawer-ready="true"] .shell-fallback-action { display: none; }
html:not([data-owner-drawer-ready="true"]) #shell-menu-toggle, html:not([data-owner-drawer-ready="true"]) #shell-drawer-close { display: none; }
@media (min-width: 768px) {
  html[data-nav-rail="true"] { --nav-width: 64px; }
  .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 100; display: flex; width: var(--nav-width); height: 100dvh; flex-direction: column; gap: var(--space-2); padding: var(--space-4); min-height: 0; overflow: hidden; background: var(--sidebar); color: var(--sidebar-ink); }
  .sidebar nav { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow-y: auto; }
  .sidebar-foot { flex: 0 0 auto; padding-bottom: env(safe-area-inset-bottom); }
  .drawer-header, .drawer-scrim, .shell-fallback-toggle, .shell-fallback-action, #shell-menu-toggle { display: none !important; }
  #shell-nav-toggle:not([hidden]) { display: flex; }
  .content { width: calc(100% - var(--nav-width)); margin-left: var(--nav-width); }
  .owner-viewer-overlay { left: var(--nav-width); }
  html[data-nav-rail="true"] .sidebar { padding-inline: 10px; }
  html[data-nav-rail="true"]:not([data-nav-ready="true"]) .sidebar::before { content: ""; display: block; flex: 0 0 44px; }
  html[data-nav-rail="true"] .nav-link, html[data-nav-rail="true"] .nav-group > summary { min-height: 44px; white-space: nowrap; }
  html[data-nav-rail="true"] .nav-destination-icon { display: inline-flex; }
  html[data-nav-ready="true"][data-nav-rail="true"] .nav-label,
  html[data-nav-ready="true"][data-nav-rail="true"] .nav-group-title,
  html[data-nav-ready="true"][data-nav-rail="true"] .nav-toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html[data-nav-ready="true"][data-nav-rail="true"] .nav-link,
  html[data-nav-ready="true"][data-nav-rail="true"] .nav-group > summary { justify-content: center; padding-inline: 0; min-height: 44px; }
  html[data-nav-rail="true"] .signout { padding-inline: 0; overflow-wrap: normal; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .mobile-header { width: calc(100% - var(--nav-width)); margin-left: var(--nav-width); }
  body.shell[class*="-detail-open"] .detail-pane,
  body.git-library-detail-open #git-library-detail:not([hidden]),
  body.workstations-detail-open .workstations-runs .runs-stage { left: var(--nav-width); }
  .sidebar .nav-link, .nav-group > summary { min-height: 44px; }
}
@media (max-width: 767px) {
  .content { margin-left: 0; }
  .nav-group > summary, .sidebar .nav-link { min-height: 44px; }
  html:not([data-owner-drawer-ready="true"]) #shell-fallback-toggle:checked ~ .sidebar { display: flex; }
  html:not([data-owner-drawer-ready="true"]) #shell-fallback-toggle:focus-visible ~ .mobile-header .shell-fallback-action { outline: var(--focus-ring-inverse); }
}

:is(.scripts-list, .schedules-list, .vault-items, .github-accounts, .cloud-accounts, .telegram-list, .mcp-clients) { gap: 0; }

/* Unit B measured table regions: compact from their own inline size. */

@container (max-width: 903px) {
  .entities-table.owner-table--responsive, .entities-table.owner-table--responsive tbody, .entities-table.owner-table--responsive tr { display: block; width: 100%; min-width: 0; }
  .entities-table.owner-table--responsive thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .entities-table.owner-table--responsive colgroup, .entities-table.owner-table--responsive td:not(:first-child) { display: none; }
  .entities-table.owner-table--responsive tr { min-height: 52px; }
  .entities-table.owner-table--responsive td:first-child { display: block; width: 100%; min-height: 52px; height: auto; padding: var(--space-2) var(--space-3); white-space: normal; }
  .entities-table.owner-table--responsive .owner-table-secondary { display: block; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
}

@container (max-width: 559px) {
  .owner-table--vault, .owner-table--vault tbody { display: block; width: 100%; min-width: 0; overflow: visible; }
  .owner-table--vault thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .owner-table--vault tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; min-width: 0; margin: 0; padding: var(--space-2); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); }
  .owner-table--vault td { display: block; width: auto; min-width: 0; min-height: 0; height: auto; padding: var(--space-1); border: 0; overflow: visible; text-overflow: clip; white-space: normal !important; overflow-wrap: anywhere; }
  .owner-table--vault td::before { display: inline; margin-right: var(--space-1); color: var(--muted); font: var(--text-label); content: attr(data-label) ": "; }
  .owner-table--vault td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .owner-table--vault td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .owner-table--vault td:nth-child(3) { grid-column: 1 / -1; grid-row: 3; justify-self: stretch; color: var(--muted); font: var(--text-meta); }
  .owner-table--vault td:nth-child(4) { grid-column: 2; grid-row: 1; justify-self: end; }
  .owner-table--vault td:nth-child(4)::before { display: none; }
}

@container (max-width: 631px) {
  .owner-table--registrar, .owner-table--registrar tbody { display: block; width: 100%; min-width: 0; overflow: visible; }
  .owner-table--registrar thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .owner-table--registrar tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; min-width: 0; margin: 0; padding: var(--space-2); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: var(--surface); }
  .owner-table--registrar td { display: block; width: auto; min-width: 0; min-height: 0; height: auto; padding: var(--space-1); border: 0; overflow: visible; text-overflow: clip; white-space: normal !important; overflow-wrap: anywhere; }
  .owner-table--registrar td::before { display: inline; margin-right: var(--space-1); color: var(--muted); font: var(--text-label); content: attr(data-label) ": "; }
  .owner-table--registrar td:nth-child(1), .owner-table--registrar td:nth-child(4) { grid-column: 1 / -1; }
  .owner-table--registrar td:nth-child(2) { grid-column: 1; text-align: left; }
  .owner-table--registrar td:nth-child(3) { grid-column: 2; justify-self: end; }
}

@container (max-width: 399px) {
  .owner-table-region--users .owner-table--users, .owner-table-region--users .owner-table--users tbody { display: block; width: 100%; min-width: 0; }
  .owner-table-region--users .owner-table--users thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .owner-table-region--users .owner-table--users tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; min-width: 0; min-height: 52px; margin: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
  .owner-table-region--users .owner-table--users td { display: block; width: auto; min-width: 0; min-height: 0; height: auto; padding: var(--space-2); border: 0; overflow-wrap: anywhere; }
  .owner-table-region--users .owner-table--users td::before { display: none; }
  .owner-table-region--users .owner-table--users td:last-child { text-align: right; white-space: nowrap; }
  .owner-table-region--users .owner-table--users td[colspan] { grid-column: 1 / -1; text-align: left; }
}

@container (max-width: 447px) {
  .cloud-token-summary { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .cloud-token-summary-fact { grid-template-columns: 6rem minmax(0, 1fr); gap: var(--space-2); }
  .cloud-token-summary-fact:last-child dd { white-space: normal; }
  .cloud-binding-form select { width: 100%; }
}

.owner-collection-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: end; min-width: 0; }
.owner-collection-toolbar > .owner-filter-primary { flex: 1 1 10rem; }
.owner-toolbar-secondary { flex: 1 0 100%; }
.owner-toolbar-secondary[hidden] { display: none; }

.owner-filter-controls { flex-basis: 100%; }
.owner-filter-controls[hidden], button.owner-collection-row[hidden], .owner-local-search-empty[hidden] { display: none; }
.owner-filter-bar > .tertiary-action { grid-column: 1 / -1; justify-self: start; }

@media (max-width: 350px) {
  .git-library .owner-command-reason {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/* Dev Work: measured effort table, selected work surface, and group work region. */
.dev-work { container: dev-work / inline-size; }
.dev-work-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; margin-top: var(--space-4); }
.dev-work-list-pane { min-width: 0; }
.dev-work-table col.dev-work-col-project { width: 8rem; }
.dev-work-table col.dev-work-col-status { width: 8.5rem; }
.dev-work-table col.dev-work-col-agent { width: 6rem; }
.dev-work-table col.dev-work-col-documents { width: 6.5rem; }
.dev-work-table col.dev-work-col-updated { width: 10.5rem; }
.dev-work-table tbody tr { cursor: pointer; border-top: 1px solid var(--border); }
.dev-work-table tbody tr:hover { background: var(--surface-quiet); }
.dev-work-table tbody tr:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
.dev-work-table td { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dev-work-table td.dev-work-title-cell { white-space: normal; overflow-wrap: anywhere; }
.dev-work-row-title { display: block; color: var(--ink); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.dev-work-row-path { display: block; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.dev-work-pages { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); }
.dev-work-breadcrumb { margin: var(--space-1) 0 var(--space-3); color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.dev-work-section { display: grid; gap: var(--space-3); min-width: 0; margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.dev-work-section h3, .dev-work-edit-form h3, .dev-work-group-create h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.dev-work-prompts-head, .dev-work-prompt-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.dev-work-prompts-head h3 { margin-inline-end: auto; }
.dev-work-prompts-list { display: grid; gap: 0; min-width: 0; list-style: none; margin: 0; padding: 0; }
.dev-work-prompt { display: grid; gap: var(--space-2); min-width: 0; padding: var(--space-3) 0; border-top: 1px solid var(--border); }
.dev-work-prompt-facts { font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.dev-work-prompt-head time { color: var(--muted); font: var(--text-meta); }
.dev-work-prompt-head [data-copy-prompt] { margin-inline-start: auto; }
.dev-work-prompt-meta, .dev-work-prompt-message { margin: 0; overflow-wrap: anywhere; }
.dev-work-prompt-body { margin: 0; max-height: 18em; overflow: hidden; color: var(--ink); font: var(--text-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.dev-work-prompt-body.expanded { max-height: none; }
.dev-work-prompt-commands { display: flex; flex-wrap: wrap; align-items: start; gap: var(--space-2); min-width: 0; }
.dev-work-prompt-commands > .owner-inline-confirm { flex-basis: 100%; }
.dev-work-prompt-add > summary, .dev-work-prompt-edit > summary { cursor: pointer; font: var(--text-button); }
.dev-work-prompt-fields { display: grid; gap: var(--space-3); min-width: 0; margin-top: var(--space-2); }
.dev-work-prompt-fields label { min-width: 0; }
.dev-work-prompt-fields textarea { width: 100%; min-width: 0; }
.dev-work-prompt-edit { flex-basis: 100%; }
.dev-work-prompt-edit-form { display: grid; gap: var(--space-2); }
.dev-work-edit-form, .dev-work-group-create { display: grid; gap: var(--space-3); min-width: 0; margin-top: var(--space-4); }
.dev-work-log-form { display: grid; gap: var(--space-3); min-width: 0; }
.dev-work-edit-form { margin-top: var(--space-3); }
.dev-work-conflict { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--danger); border-radius: var(--radius-md); background: var(--danger-surface); color: var(--ink); overflow-wrap: anywhere; }
.dev-work-conflict[hidden], .dev-work-groups-alert[hidden] { display: none; }
.dev-work-documents, .dev-work-log-list, .dev-work-group-list { display: grid; gap: 0; min-width: 0; margin: 0; padding: 0; list-style: none; }
.dev-work-document, .dev-work-log-entry, .dev-work-group-row { display: grid; gap: var(--space-2); min-width: 0; padding: var(--space-3) 0; border-top: 1px solid var(--border); }
.dev-work-document-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.dev-work-document-link { min-width: 0; overflow-wrap: anywhere; }
.dev-work-document-facts, .dev-work-log-meta, .dev-work-group-path { margin: 0; overflow-wrap: anywhere; }
.dev-work-log-meta { color: var(--muted); font: var(--text-meta); }
.dev-work-log-note { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.dev-work-document-controls, .dev-work-group-commands, .dev-work-group-rename, .dev-work-rehome { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-2); min-width: 0; }
.dev-work-document-controls label, .dev-work-group-commands label, .dev-work-group-rename label, .dev-work-rehome label { display: grid; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); }
.dev-work-check, .owner-form label.dev-work-check { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); font: inherit; font-weight: var(--font-weight-regular); letter-spacing: normal; color: var(--ink); }
.dev-work-check-text { min-width: 0; overflow-wrap: anywhere; }
.dev-work-check-reason { margin: 0; }
.dev-work-document-current { color: var(--muted); font: var(--text-meta); }
.dev-work-document-commands { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-2); min-width: 0; }
.dev-work-document-change > summary, .dev-work-link-files > summary { font: var(--text-button); font-weight: 500; color: var(--ink); cursor: pointer; }
.dev-work-document-change > summary { min-height: var(--control-height); padding: 0 var(--space-3); border-radius: var(--radius-md); }
.dev-work-document-change > summary:hover, .dev-work-link-files > summary:hover { background: var(--surface-quiet); }
.dev-work-document-change .dev-work-document-controls, .dev-work-link-body { margin-top: var(--space-2); }
.dev-work-link-caption, .dev-work-link-state, .dev-work-link-replaces, .dev-work-link-reason { margin: 0; min-width: 0; overflow-wrap: anywhere; }
/* Development Funnels (effort 390): the funnel collection beside the selected funnel; its tasks table stacks into labelled records on phone. */
.dev-funnels-workspace { display: grid; gap: var(--space-4); min-width: 0; margin-top: var(--space-4); }
.dev-funnels-workspace > * { min-width: 0; }
.dev-funnels-heading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.dev-funnels-heading h2 { min-width: 0; margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.dev-funnels-heading .owner-command-cluster { margin-left: auto; }
.dev-funnels-sentence { margin: var(--space-2) 0 var(--space-3); color: var(--ink); }
.dev-funnels-section + .dev-funnels-section { margin-top: var(--space-3); }
.dev-funnels-field, .dev-funnels-choice { display: grid; gap: var(--space-1); max-width: 36rem; min-width: 0; margin: 0 0 var(--space-3); padding: 0; border: 0; }
.dev-funnels-times, .dev-funnels-choice-grid { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
.dev-funnels-times label, .dev-funnels-choice-grid label, .dev-funnels-choice > label { display: grid; flex: 1 1 9rem; gap: var(--space-1); min-width: 0; }
.dev-funnels-save-status:empty { display: none; }
.dev-funnels-tasks { table-layout: auto; }
.dev-funnels-tasks td { vertical-align: top; padding: var(--space-2) var(--space-3); overflow-wrap: anywhere; }
.dev-funnels-tasks td > div { display: grid; gap: var(--space-1); min-width: 0; }
.dev-funnels-commands .owner-command-cluster { flex-wrap: wrap; }
.dev-funnels-task-settings-row td { padding-top: 0; border-top: 0; }
.dev-funnels-task-settings > summary { font: var(--text-label); }
.dev-funnels-add-task { margin-bottom: var(--space-3); }
.dev-funnels-history { display: grid; gap: var(--space-2); margin: 0 0 var(--space-2); padding: 0; list-style: none; }
.dev-funnels-event { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-2); min-width: 0; overflow-wrap: anywhere; }
.dev-funnels-delete { display: grid; justify-items: start; gap: var(--space-1); margin-top: var(--space-3); }
@media (min-width: 900px) {
  .dev-funnels-workspace { grid-template-columns: clamp(220px, 30%, 320px) minmax(0, 1fr); align-items: start; }
}
@media (max-width: 899px) {
  .dev-funnels-tasks, .dev-funnels-tasks tbody, .dev-funnels-tasks tr, .dev-funnels-tasks td { display: block; width: 100%; }
  .dev-funnels-tasks thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .dev-funnels-tasks tr.dev-funnels-task { padding-top: var(--space-2); border-top: 1px solid var(--border); }
  .dev-funnels-tasks td { padding: var(--space-1) 0; border: 0; }
  .dev-funnels-tasks tr.dev-funnels-task td::before { content: attr(data-label); display: block; color: var(--muted); font: var(--text-label); font-weight: var(--font-weight-semibold); }
}
/* Smart Home (effort 393): the integration panel above one collection of devices beside the selected device; three
   figures with tabular numerals, native controls each with a reserved status line; list-first on phone. */
.smart-home-tab { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; margin-top: var(--space-4); }
.smart-home-tab > * { min-width: 0; }
.smart-home-integration:empty { display: none; }
.smart-home .smart-home-reserved { display: block; min-height: 1lh; margin: 0; }
.smart-home .smart-home-reserved[data-owner-save-state="failed"] { color: var(--danger); }
.smart-home-panel-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.smart-home-panel-title > h3 { min-width: 0; margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); color: var(--ink); overflow-wrap: anywhere; }
.smart-home-sentence, .smart-home-attention { margin: 0 0 var(--space-3); color: var(--ink); overflow-wrap: anywhere; }
.smart-home-panel > .owner-properties--facts { margin: var(--space-2) 0 var(--space-3); }
.smart-home-link { display: block; width: max-content; max-width: 100%; color: var(--ink); text-decoration: underline; text-decoration-color: var(--focus); text-underline-offset: 3px; font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.smart-home-connect-form { display: grid; gap: var(--space-3); max-width: 36rem; min-width: 0; }
.smart-home-connect-form .owner-draft-fields { display: grid; gap: var(--space-3); min-width: 0; }
.smart-home-key-field { display: grid; gap: var(--space-1); min-width: 0; }
.smart-home-key-field .owner-field-help { margin: 0; }
.smart-home-test { display: grid; justify-items: start; gap: var(--space-1); min-width: 0; }
.smart-home-agent { max-width: 36rem; margin-bottom: var(--space-3); }
.smart-home-disconnect { display: grid; justify-items: start; gap: var(--space-1); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.smart-home-disconnect > .owner-inline-confirm { justify-self: stretch; }
.smart-home-workspace { display: grid; gap: var(--space-4); min-width: 0; }
.smart-home-workspace > * { min-width: 0; }
.smart-home .smart-home-devices button.owner-collection-row { grid-template-columns: minmax(0, 1fr) auto auto; }
.smart-home .smart-home-devices .owner-collection-row .list-row-trailing { grid-column: 2; grid-row: 1; color: var(--ink); font: var(--text-body); font-variant-numeric: tabular-nums; }
.smart-home .smart-home-devices .owner-collection-row .list-row-state { grid-column: 3; grid-row: 1; }
.smart-home .smart-home-devices .owner-collection-row .list-row-meta { grid-column: 1 / -1; grid-row: 2; }
.smart-home-heading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.smart-home-heading h2 { min-width: 0; margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.smart-home-heading .owner-command-cluster { margin-left: auto; }
.smart-home-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--space-3) 0 var(--space-1); }
.smart-home-figure { min-width: 0; padding: var(--space-2) var(--space-4); border-left: 1px solid var(--border); }
.smart-home-figure:first-child { padding-left: 0; border-left: 0; }
.smart-home-figure dt { color: var(--muted); font: var(--text-meta); }
.smart-home-figure dd { margin: 0; color: var(--ink); font: var(--text-title); font-weight: var(--font-weight-semibold); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.smart-home-caption { margin: 0 0 var(--space-4); color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.smart-home-section + .smart-home-section { margin-top: var(--space-3); }
.smart-home-controls-reason { margin: 0 0 var(--space-3); }
.smart-home-controls { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: var(--space-3) var(--space-4); min-width: 0; }
.smart-home-control, .smart-home-control-field { display: grid; align-content: start; gap: var(--space-1); min-width: 0; }
.smart-home-control :is(select, input[type="number"]) { width: 100%; min-width: 0; }
.smart-home-control .owner-field-help { margin: 0; }
.smart-home-quiet { font-weight: var(--font-weight-regular); }
.smart-home-activity { display: grid; gap: var(--space-2); margin: 0 0 var(--space-2); padding: 0; list-style: none; }
.smart-home-activity-item { min-width: 0; overflow-wrap: anywhere; }
@media (min-width: 900px) {
  .smart-home .smart-home-tab:not([hidden]) { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .smart-home .smart-home-workspace { flex: 1 1 0; min-height: 24rem; grid-template-columns: clamp(240px, 32%, 340px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .smart-home .smart-home-workspace:has(> .detail-pane[hidden]) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .smart-home-figures { grid-template-columns: minmax(0, 1fr); }
  .smart-home-figure, .smart-home-figure:first-child { padding: var(--space-2) 0; border-left: 0; border-bottom: 1px solid var(--border); }
  .smart-home-controls { grid-template-columns: minmax(0, 1fr); }
  .smart-home-connect-form, .smart-home-agent { max-width: none; }
  .smart-home :is(button, select, input:not([type="checkbox"])), .smart-home .mcp-switch-control { min-height: var(--touch-control-height); }
  .smart-home-link { display: flex; align-items: center; min-height: var(--touch-control-height); }
}

/* Link files: Link as and Search, a single-choice folder strip, the shared picker, a pager, and one Link command. */
.dev-work-link-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.dev-work-link-controls { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); min-width: 0; }
.dev-work-link-controls > label { flex: 1 1 16rem; min-width: 0; }
.dev-work-link-controls > label:first-child { flex: 0 1 12rem; }
.dev-work-folder-strip { display: flex; flex-wrap: wrap; gap: var(--space-1); min-width: 0; }
.dev-work-folder { display: inline-flex; flex: 0 0 auto; align-items: center; gap: var(--space-1); white-space: nowrap; }
.dev-work-folder-strip [aria-checked="true"] { border-color: var(--selection-border); background: var(--surface-muted); color: var(--ink); }
.dev-work-folder-count { color: var(--muted); font-variant-numeric: tabular-nums; }
.dev-work-link-state.error { color: var(--danger); }
/* Each chosen file is one full-width tray row: its chip and Remove, then its role and Current flag, wrapping below the chip on a narrow sheet. */
.dev-work-link-picker .owner-choice-selected-row { display: flex; flex-wrap: wrap; width: 100%; gap: var(--space-2); padding-block: var(--space-1); }
.dev-work-link-picker .owner-choice-selected-row > .owner-choice-chip { flex: 1 1 10rem; }
.dev-work-link-picker .owner-choice-selected-row select { flex: 0 0 9.5rem; width: 9.5rem; max-width: 100%; }
.dev-work-link-picker .owner-choice-selected-row .dev-work-check { flex: 0 0 auto; white-space: nowrap; padding-inline-end: var(--space-2); }
.dev-work-link-pages { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.dev-work-link-range { margin-inline-end: auto; color: var(--muted); font: var(--text-meta); font-variant-numeric: tabular-nums; }
.dev-work-document-commands > .owner-inline-confirm { grid-column: 1 / -1; }
.dev-work-document-commands .owner-inline-confirm-sentence { overflow-wrap: anywhere; }
.dev-work-log-composer { align-items: end; }
.dev-work-log-composer > label { flex: 1 1 16rem; display: grid; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); font-weight: 500; }
.dev-work-log-composer textarea { min-height: var(--control-height); padding-block: var(--space-1); resize: vertical; }
.dev-work-log-empty { margin: 0; }
.dev-work-log-entry { gap: 2px; padding: var(--space-1) 0; }
.dev-work-log-form { gap: var(--space-2); }
.dev-work-log-form .form-status:empty { display: none; }
#dev-work-log.dev-work-section { gap: var(--space-2); }
.dev-work-row-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); min-width: 0; }
.dev-work-row-head .dev-work-row-title { flex: 1 1 auto; min-width: 0; }
.dev-work-row-state { display: none; flex: 0 0 auto; }
.dev-work-row-trailing { flex: 0 0 auto; margin-inline-start: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dev-work-group-move { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-2); min-width: 0; }
.dev-work-group-move label { display: grid; gap: var(--space-1); min-width: 0; color: var(--muted); font: var(--text-label); }
.dev-work-group-move[hidden], .dev-work-group-rename[hidden] { display: none; }
.dev-work-groups-choice { margin-bottom: var(--space-2); }
.dev-work-group-path { font-weight: var(--font-weight-semibold); }
.dev-work-groups-alert { margin: 0 0 var(--space-3); color: var(--danger); overflow-wrap: anywhere; }
.dev-work-rehome-title { flex: 1 1 12rem; min-width: 0; overflow-wrap: anywhere; }
.dev-work-failure { overflow-wrap: anywhere; }
#dev-work-groups-panel { display: grid; gap: var(--space-3); min-width: 0; }
#dev-work-groups-panel[hidden] { display: none; }
#dev-work-groups-panel h2 { margin: 0; }
@container (max-width: 831px) {
  .dev-work-table, .dev-work-table tbody { display: block; width: 100%; min-width: 0; }
  .dev-work-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .dev-work-table colgroup, .dev-work-table td:not(:first-child) { display: none; }
  .dev-work-table tr { display: block; width: 100%; min-height: 52px; }
  .dev-work-table td.dev-work-title-cell { display: block; width: 100%; height: auto; min-height: 52px; padding: var(--space-2) var(--space-3); }
  .dev-work-table .owner-table-secondary { display: block; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
  .dev-work-table td.dev-work-title-cell { padding: var(--space-1) var(--space-3); }
  .dev-work-table .dev-work-row-state { display: inline-flex; }
  .dev-work-table .dev-work-row-facts { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: baseline; gap: var(--space-3); }
  .dev-work-table .dev-work-row-fact-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
}
@container dev-work (min-width: 956px) {
  .dev-work-workspace.dev-work-detail-shown { grid-template-columns: minmax(340px, 1fr) minmax(600px, 1.25fr); }
}
@media (min-width: 900px) {
  @container dev-work (max-width: 955.98px) {
    .dev-work-workspace.dev-work-detail-shown > .dev-work-list-pane { display: none; }
  }
}
@media (max-width: 899px) {
  .dev-work-detail-close { display: none; }
}

/* Entities Tree look v1: the Dev Work Groups look on the Entities Tree, scoped to its canvas: soft cards whose names wrap,
   thin elbows that end at the last child, a small round control on the card edge, and a quiet selected fill.
   On phone the tree is an indented outline with no connector. The shared diagram rules keep the structure. */
.entity-diagram-canvas { --et-card-w: 15rem; --et-radius: var(--radius-lg); --et-gap: var(--space-2); --et-elbow-y: 1.25rem; --et-run: var(--space-4); }
.entity-diagram-canvas .entity-diagram-group { position: relative; padding-inline-end: 12px; }
.entity-diagram-canvas .entity-diagram-card { grid-template-columns: minmax(0, 1fr); width: var(--et-card-w); min-width: var(--et-card-w); min-height: 3rem; border-color: transparent; border-radius: var(--et-radius); background: var(--surface-quiet); }
.entity-diagram-canvas .entity-diagram-card:hover { border-color: var(--border); }
.entity-diagram-canvas .entity-diagram-card[aria-selected="true"] { border-color: var(--control-border); background: var(--surface-muted); box-shadow: none; }
.entity-diagram-canvas .entity-diagram-card--ancestor { border-color: var(--border); background: var(--surface-quiet); }
.entity-diagram-canvas .entity-diagram-card-name { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.entity-diagram-canvas .entity-diagram-card--has-toggle .entity-diagram-card-name, .entity-diagram-canvas .entity-diagram-card--has-toggle .entity-diagram-card-type { grid-column: 1 / -1; }
.entity-diagram-canvas .entity-diagram-card .entity-card-toggle { position: absolute; z-index: 2; grid-area: auto; align-self: auto; inset-inline-end: -12px; top: calc(var(--et-elbow-y) - 12px); display: grid; place-items: center; width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--ink); }
.entity-diagram-canvas .entity-diagram-card .entity-card-toggle::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 40px; height: 40px; transform: translate(-50%, -50%); }
.entity-diagram-canvas .entity-diagram-gutter { flex: 0 0 var(--space-5); width: var(--space-5); min-height: 3rem; }
.entity-diagram-canvas .entity-diagram-gutter::before { top: var(--et-elbow-y); inset-inline: 0; border-block-start: 1px solid var(--border); }
.entity-diagram-canvas .entity-diagram-column { gap: var(--et-gap); padding-inline-start: var(--et-run); }
.entity-diagram-canvas .entity-diagram-column > .entity-diagram-group::before { inset-inline-start: calc(-1 * var(--et-run)); top: 0; bottom: auto; width: var(--et-run); height: var(--et-elbow-y); border-inline-start: 1px solid var(--border); border-block-end: 1px solid var(--border); border-end-start-radius: 8px; }
.entity-diagram-canvas .entity-diagram-column > .entity-diagram-group:first-child::before { border-inline-start: 0; }
.entity-diagram-canvas .entity-diagram-column > .entity-diagram-group:not(:last-child)::after { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--et-run)); top: var(--et-elbow-y); bottom: calc(-1 * var(--et-gap)); border-inline-start: 1px solid var(--border); }
@media (max-width: 899px) {
  .entity-diagram-canvas .entity-diagram-group { padding-inline-end: 0; }
  .entity-diagram-canvas .entity-diagram-card { width: 100%; min-width: 0; }
  .entity-diagram-canvas .entity-diagram-card--has-toggle .entity-diagram-card-name, .entity-diagram-canvas .entity-diagram-card--has-toggle .entity-diagram-card-type { padding-inline-end: 3rem; }
  .entity-diagram-canvas .entity-diagram-card .entity-card-toggle { inset-inline-end: var(--space-2); top: 50%; transform: translateY(-50%); }
  .entity-diagram-canvas .entity-diagram-card .entity-card-toggle::after { width: 44px; height: 44px; }
  .entity-diagram-canvas .entity-diagram-gutter, .entity-diagram-canvas .entity-diagram-gutter::before { display: none; }
  .entity-diagram-canvas .entity-diagram-column { min-width: 0; width: 100%; padding-block-start: var(--et-gap); padding-inline-start: var(--space-3); }
  .entity-diagram-canvas .entity-diagram-column > .entity-diagram-group::before, .entity-diagram-canvas .entity-diagram-column > .entity-diagram-group::after { display: none; }
}
/* End Entities Tree look v1. */

/* Entities Tree outline v1: roots stand one under another at the inline start, each open card is followed by its
   complete child branch one step in, and the branch line leaves the parent card's bottom edge, elbows into every
   child at its connector height and ends at the last child. Phone keeps the look block's indented outline. */
.entity-diagram-canvas .entity-diagram-group { display: grid; grid-template-columns: var(--space-5) max-content; align-content: start; align-items: start; row-gap: var(--et-gap); }
.entity-diagram-canvas .entity-diagram-group > .entity-diagram-card { grid-column: 1 / -1; grid-row: 1; }
.entity-diagram-canvas .entity-diagram-group > .entity-diagram-gutter { grid-column: 1; grid-row: 2; }
.entity-diagram-canvas .entity-diagram-group > .entity-diagram-column { grid-column: 2; grid-row: 2; }
.entity-diagram-canvas .entity-diagram-gutter::before { content: none; }
.entity-diagram-canvas .entity-diagram-column > .entity-diagram-group:first-child::before { top: calc(-1 * var(--et-gap)); height: calc(var(--et-gap) + var(--et-elbow-y)); border-inline-start: 1px solid var(--border); }
@media not all and (max-width: 899px) {
  .entity-diagram-canvas .entity-diagram-forest { flex-flow: column nowrap; align-items: flex-start; }
}
@media (max-width: 899px) {
  .entity-diagram-canvas .entity-diagram-group { display: flex; flex-direction: column; grid-template-columns: none; row-gap: 0; }
  .entity-diagram-canvas .entity-diagram-group > .entity-diagram-card,
  .entity-diagram-canvas .entity-diagram-group > .entity-diagram-gutter,
  .entity-diagram-canvas .entity-diagram-group > .entity-diagram-column { grid-area: auto; }
}
/* End Entities Tree outline v1. */

/* Dev Work views: Groups draws the shared diagram grammar, List keeps the measured table, and Cards share the Documents card rules. */
.dev-work-toolbar .page-toolbar label.dev-work-check { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-regular); }
.dev-work-toolbar .page-toolbar label.dev-work-check input[type="checkbox"] { width: auto; min-width: 0; min-height: 0; margin: 0; }
/* Dev Projects stand one under another from the left edge; each project's own tree opens as before, and Entities keeps its wrapping forest. */
.dev-work-diagram .owner-diagram-forest { flex-flow: column nowrap; align-items: flex-start; }
.dev-work-diagram .owner-diagram-card-name { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.dev-work-node-head, .dev-work-node-facts { grid-column: 1 / -1; display: flex; align-items: flex-start; justify-content: space-between; gap: 0 var(--space-2); min-width: 0; }
.dev-work-diagram .owner-diagram-card--has-toggle > .dev-work-node-head, .dev-work-diagram .owner-diagram-card--has-toggle > .dev-work-node-facts { grid-column: 1 / -1; }
.dev-work-node-head .owner-diagram-card-name { flex: 1 1 auto; }
.dev-work-node-head .badge { flex: 0 0 auto; }
.dev-work-node-facts { flex-wrap: wrap; color: var(--muted); font: var(--text-meta); }
.dev-work-node-fact-text { min-width: 0; overflow-wrap: anywhere; }
.dev-work-node-trailing { margin-inline-start: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dev-work-node-caption, .dev-work-node-note { margin: 0; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.dev-work-node-note { max-width: 15rem; padding-block: var(--space-2); }
.dev-work-cards { padding: var(--space-4); }
.dev-work-cards-grid { align-items: start; }
.dev-work-card { gap: 2px; }
.dev-work-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); min-width: 0; }
.dev-work-card-title { min-width: 0; font-weight: var(--font-weight-semibold); overflow-wrap: anywhere; }
.dev-work-card-head .badge { flex: 0 0 auto; }
.dev-work-card-path, .dev-work-card-facts, .dev-work-card-trailing { display: block; min-width: 0; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.dev-work-card-trailing { text-align: end; font-variant-numeric: tabular-nums; }
.dev-work-group-row[aria-current="true"] { padding-inline-start: var(--space-3); background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
@media (min-width: 900px) {
  .dev-work-toolbar .page-toolbar select { min-width: 11rem; }
}
@media (max-width: 899px) {
  .owner-page-frame.dev-work .dev-work-workspace > .dev-work-list-pane[data-view="groups"],
  .owner-page-frame.dev-work .dev-work-workspace > .dev-work-list-pane[data-view="cards"] { border: 0; border-radius: 0; background: transparent; }
  .dev-work-diagram.owner-diagram-canvas, .dev-work-cards { padding: 0; }
  .dev-work-toolbar .page-toolbar label.dev-work-check { min-height: var(--touch-control-height); }
  /* The folder strip keeps one line on phone and scrolls within it; the page never scrolls sideways. */
  .dev-work-folder-strip { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: var(--space-1); }
  .dev-work-link-controls > label, .dev-work-link-controls > label:first-child { flex: 1 1 100%; }
}

/* Dev Work Groups look v1: local card, control, and connector treatment. */
.dev-work-diagram { --dw-card-w: 15rem; --dw-effort-w: 15rem; --dw-radius: var(--radius-lg); --dw-gap: var(--space-2); --dw-elbow-y: 1.25rem; --dw-run: var(--space-4); }
.dev-work-diagram .owner-diagram-group { position: relative; min-width: max-content; padding-inline-end: 12px; }
.dev-work-diagram .owner-diagram-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-1) var(--space-2); width: var(--dw-card-w); min-width: var(--dw-card-w); min-height: 3rem; padding: var(--space-3); border: 1px solid transparent; border-radius: var(--dw-radius); background: var(--surface-quiet); color: var(--ink); text-align: left; cursor: pointer; }
.dev-work-diagram .owner-diagram-card.dev-work-node--effort { width: var(--dw-effort-w); min-width: var(--dw-effort-w); min-height: 2.75rem; padding: var(--space-2) var(--space-3); }
.dev-work-diagram .owner-diagram-card:hover { border-color: var(--border); }
.dev-work-diagram .owner-diagram-card[aria-selected="true"] { border-color: var(--control-border); background: var(--surface-muted); box-shadow: none; }
.dev-work-diagram .owner-diagram-card--ancestor { border-color: var(--border); background: var(--surface-quiet); }
.dev-work-diagram .owner-diagram-card--has-toggle > .dev-work-node-head, .dev-work-diagram .owner-diagram-card--has-toggle > .dev-work-node-facts { grid-column: 1 / -1; }
.dev-work-diagram .owner-diagram-toggle { position: absolute; z-index: 2; inset-inline-end: -12px; top: calc(var(--dw-elbow-y) - 12px); display: grid; place-items: center; width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
.dev-work-diagram .owner-diagram-toggle::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 40px; height: 40px; transform: translate(-50%, -50%); }
.dev-work-diagram .owner-diagram-gutter { position: relative; flex: 0 0 var(--space-5); width: var(--space-5); min-height: 3rem; }
.dev-work-diagram .owner-diagram-gutter::before { content: ""; position: absolute; top: var(--dw-elbow-y); inset-inline: 0; border-block-start: 1px solid var(--border); }
.dev-work-diagram .owner-diagram-column { gap: var(--dw-gap); min-width: max-content; padding-inline-start: var(--dw-run); }
.dev-work-diagram .owner-diagram-column > .owner-diagram-group::before { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--dw-run)); top: 0; width: var(--dw-run); height: var(--dw-elbow-y); border-inline-start: 1px solid var(--border); border-block-end: 1px solid var(--border); border-end-start-radius: 8px; }
.dev-work-diagram .owner-diagram-column > .owner-diagram-group:first-child::before { border-inline-start: 0; }
.dev-work-diagram .owner-diagram-column > .owner-diagram-group:not(:last-child)::after { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--dw-run)); top: var(--dw-elbow-y); bottom: calc(-1 * var(--dw-gap)); border-inline-start: 1px solid var(--border); }
.dev-work-diagram .dev-work-node-note { max-width: 15rem; padding-block: var(--space-2); }
.dev-work-diagram .dev-work-node-trailing { display: flex; align-items: center; flex: 0 1 auto; gap: var(--space-2); margin-inline-start: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dev-work-diagram .dev-work-node-prompt-mark { flex: 0 0 auto; }
@media (max-width: 899px) {
  .dev-work-diagram .owner-diagram-group { flex-direction: column; min-width: 0; width: 100%; padding-inline-end: 0; }
  .dev-work-diagram .owner-diagram-card, .dev-work-diagram .owner-diagram-card.dev-work-node--effort { width: 100%; min-width: 0; }
  .dev-work-diagram .owner-diagram-card--has-toggle > .dev-work-node-head { padding-inline-end: 3rem; }
  .dev-work-diagram .owner-diagram-card .owner-diagram-toggle { width: 24px; min-width: 24px; height: 24px; min-height: 24px; }
  .dev-work-diagram .owner-diagram-toggle { inset-inline-end: var(--space-2); top: 50%; transform: translateY(-50%); }
  .dev-work-diagram .owner-diagram-toggle::after { width: 44px; height: 44px; }
  .dev-work-diagram .owner-diagram-gutter, .dev-work-diagram .owner-diagram-gutter::before { display: none; }
  .dev-work-diagram .owner-diagram-column { min-width: 0; width: 100%; gap: var(--dw-gap); padding-inline-start: var(--space-3); }
  .dev-work-diagram .owner-diagram-group::before, .dev-work-diagram .owner-diagram-group::after { display: none; }
}

/* Dev Work document nodes v1: with Show documents on, an effort's Git documents hang below its card as flat link rows,
   joined by the same thin elbow and never wider than the card. A node is quieter than an effort: no fill, a hairline. */
.dev-work-diagram { --dw-doc-x: var(--space-3); --dw-doc-y: 20px; }
.dev-work-diagram .owner-diagram-group.dev-work-node-group--documents { flex-direction: column; }
.dev-work-diagram .dev-work-doc-branch { display: flex; flex-direction: column; gap: var(--space-1); width: var(--dw-effort-w); margin: 0; padding: var(--space-1) 0 0; padding-inline-start: calc(var(--dw-doc-x) + var(--dw-run)); list-style: none; }
.dev-work-diagram .dev-work-doc-node { position: relative; min-width: 0; }
.dev-work-diagram .dev-work-doc-node::before { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--dw-run)); top: calc(-1 * var(--space-1)); width: var(--dw-run); height: calc(var(--dw-doc-y) + var(--space-1)); border-inline-start: 1px solid var(--border); border-block-end: 1px solid var(--border); border-end-start-radius: 8px; }
.dev-work-diagram .dev-work-doc-node:not(:last-child)::after { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--dw-run)); top: var(--dw-doc-y); bottom: calc(-1 * var(--space-1)); border-inline-start: 1px solid var(--border); }
.dev-work-diagram .dev-work-doc-link, .dev-work-diagram .dev-work-doc-more { display: flex; flex-wrap: wrap; align-items: center; align-content: center; gap: 0 var(--space-2); width: 100%; min-width: 0; min-height: 40px; margin: 0; padding: var(--space-1) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: transparent; color: var(--ink); font: var(--text-meta); text-align: start; text-decoration: none; cursor: pointer; }
.dev-work-diagram .dev-work-doc-kind { flex: 0 0 auto; color: var(--muted); }
.dev-work-diagram .dev-work-doc-name { min-width: 0; color: var(--ink); overflow-wrap: anywhere; }
.dev-work-diagram .dev-work-doc-node--missing .dev-work-doc-name, .dev-work-diagram .dev-work-doc-more { color: var(--muted); }
.dev-work-diagram .dev-work-doc-link:hover, .dev-work-diagram .dev-work-doc-more:hover { background: var(--surface-quiet); }
.dev-work-diagram .dev-work-doc-link:hover .dev-work-doc-name { text-decoration: underline; }
@media (max-width: 899px) {
  .dev-work-diagram .dev-work-doc-branch { width: 100%; padding-inline-start: var(--space-3); }
  .dev-work-diagram .dev-work-doc-link, .dev-work-diagram .dev-work-doc-more { min-height: var(--touch-control-height); }
  .dev-work-diagram .dev-work-doc-node::before, .dev-work-diagram .dev-work-doc-node::after, .dev-work-diagram .dev-work-doc-node:not(:last-child)::after { display: none; }
}
/* End Dev Work document nodes v1. */

/* Workstations: Pairing and Status are a collection beside a work surface; Install is one region. */
.workstations-workspace { display: grid; gap: var(--space-4); min-width: 0; margin-top: var(--space-4); }
.workstations-agent-form { min-height: 0; }
.workstations-agent-form .owner-draft-fields { min-height: 0; overflow-y: auto; }
.workstations-agent-form .owner-draft-bar { position: sticky; bottom: 0; background: var(--surface); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
.workstations-agent-rows { display: grid; gap: var(--space-3); min-width: 0; }
.workstations-agent-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--space-3); min-width: 0; padding: var(--space-3); border: 1px solid var(--border); border-radius: 8px; }
.workstations-agent-row > *, .workstations-agent-allowed { min-width: 0; }
.workstations-agent-row input, .workstations-agent-row select { max-width: 100%; }
.workstations-agent-allowed { display: flex; flex-wrap: wrap; gap: 0 var(--space-4); grid-column: 1 / -1; }
.workstations-agent-row > .owner-inline-check { align-self: end; }
/* Efforts: measured columns; spare width stays quiet. An empty table shows no header until an effort is added. */
.workstations-effort-table th:nth-child(1) { width: 12rem; }
.workstations-effort-table th:nth-child(3) { width: 6rem; }
.workstations-effort-table th:nth-child(4) { width: 7rem; }
.workstations-effort-table:not(:has(tbody > tr)) { display: none; }
.workstations-agent-token { display: grid; gap: var(--space-1); min-width: 0; }
.workstations-agent-stable-id { align-self: end; margin: 0; overflow-wrap: anywhere; }
/* Saved choices: the committed summary. On desktop a bounded strip above the draft bar that scrolls within itself; on
   phone and in a short window it joins the scrolling surface so it never covers a control. */
.workstations-agent-summary { display: grid; gap: var(--space-2); min-width: 0; margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.workstations-agent-form > .workstations-agent-summary { flex: 0 0 auto; max-height: min(14rem, 30vh); overflow-y: auto; overscroll-behavior: contain; margin-top: var(--space-2); }
.workstations-agent-summary h3 { margin: 0; }
.workstations-agent-summary-caption { margin: 0; }
.workstations-agent-summary-list { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.workstations-agent-summary-list > li { display: grid; gap: var(--space-1); min-width: 0; overflow-wrap: anywhere; }
.workstations-saved-agent > strong { font: var(--text-body); font-weight: var(--font-weight-semibold); }
.workstations-saved-models { display: grid; gap: var(--space-1); margin: 0; padding: 0; list-style: none; }
.workstations-saved-model, .workstations-saved-default { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-2); min-width: 0; }
.workstations-saved-label { color: var(--ink); font: var(--text-body); overflow-wrap: anywhere; }
.workstations-saved-ids { color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.workstations-saved-ids--lead { color: var(--ink); }
.workstations-saved-code { font-family: var(--font-mono); }
.workstations-saved-reason { display: block; color: var(--secondary-ink); font: var(--text-meta); }
@media (max-width: 899px), (max-height: 640px) {
  .workstations-agent-form.owner-bounded-draft { overflow-y: auto; }
  /* The form lays out as a grid (.owner-form), so the fields keep their content height here instead of collapsing under the summary. */
  .workstations-agent-form > .owner-draft-fields { flex: 0 0 auto; min-height: auto; overflow: visible; }
  .workstations-agent-form > .workstations-agent-summary { max-height: none; overflow: visible; }
}
.workstations-workspace > *, .workstations-list-pane { min-width: 0; }
.workstations-list { display: grid; gap: var(--space-2); }
.workstations-explain { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); }
.workstations-section { display: grid; gap: var(--space-3); min-width: 0; margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--border); }
.workstations-section > h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.workstations-facts, .workstations-download-status { margin: 0; color: var(--secondary-ink); font: var(--text-meta); overflow-wrap: anywhere; }
.workstations-manage { justify-self: start; }
.workstations-install-region { display: grid; gap: var(--space-3); max-width: 40rem; margin-top: var(--space-4); }
.workstations-install-region h2, .workstations-install-region h3, .workstations-install-region p { margin: 0; }
.workstations-install-region h3 { font: var(--text-section); font-weight: var(--font-weight-semibold); }
.workstations-steps { display: grid; gap: var(--space-2); margin: 0; padding-left: var(--space-5); }
/* Configuration: the apply sentence, then one row per collector with its switch, cadence, hint and note. */
.workstations-apply { margin: var(--space-3) 0 0; overflow-wrap: anywhere; }
.workstations-collectors { display: grid; gap: var(--space-3); min-width: 0; margin: 0; padding: 0; border: 0; }
.workstations-collectors > legend { padding: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.workstations-collector { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-4); min-width: 0; }
.workstations-collector > .workstations-facts { flex-basis: 100%; }
.workstations-collector-switch, .workstations-collector-cadence { display: inline-flex; align-items: center; gap: var(--space-2); }
.workstations-collector-cadence input { width: 5rem; }
.workstations-collector-hint { color: var(--muted); font: var(--text-meta); }
@media (max-width: 899px) {
  .workstations-detail-close { display: none; }
}

/* Skills Library uses the existing list and detail work surfaces. */
.skills-library-source { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.skills-library-source > span { min-width: 0; }
.skills-library-workspace { display: grid; gap: var(--space-4); min-width: 0; min-height: 0; margin-top: var(--space-3); }
.skills-library-list-pane { min-width: 0; padding: var(--work-padding); overflow-y: auto; }
.skills-library-workspace .detail-pane[hidden] { display: none !important; }
.skills-library-filters label, .skills-library-filters select, .skills-library-filters input { min-width: 0; }
.skills-library-filters label { display: grid; gap: var(--space-1); }
.skills-library-filters select { width: 100%; }
.skills-library-row { cursor: pointer; }
.skills-library-row[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.skills-library-row:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
.skills-library-name, .skills-library-path { display: block; min-width: 0; overflow-wrap: anywhere; }
.skills-library-path { color: var(--muted); font: var(--text-meta); }
.skills-library-pages { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-3); }
.skills-library-facts { display: grid; grid-template-columns: minmax(7rem, 30%) minmax(0, 1fr); gap: var(--space-2); overflow-wrap: anywhere; }
.skills-library-facts dt { color: var(--muted); }
.skills-library-facts dd { min-width: 0; margin: 0; }
.skills-library-links, .skills-library-tags { overflow-wrap: anywhere; }
.skills-library-tags { margin-top: var(--space-4); }
.skills-library-tag-choice, .skills-library-project-choice { min-width: 0; }
.skills-library-project-choice { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); }
#skills-library-settings-panel .owner-draft-fields { min-height: 0; }
#skills-library-settings-panel fieldset { min-width: 0; }
#skills-library-settings-panel select { width: 100%; }
@media (min-width: 900px) {
  .skills-library-workspace:has(> .detail-pane:not([hidden])) { grid-template-columns: minmax(0, 1fr) clamp(288px, 40%, 420px); }
  .skills-library-workspace > .detail-pane:not([hidden]) { min-height: 0; overflow-y: auto; }
  .skills-library-workspace #skills-library-settings-panel:not([hidden]) { overflow: hidden; }
  .skills-library-workspace #skills-library-settings-form { height: 100%; }
}
@container (max-width: 660px) {
  .skills-library-list-pane .owner-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .skills-library-list-pane .owner-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; }
  .skills-library-list-pane .owner-table td { display: block; min-width: 0; height: auto; padding: var(--space-2); overflow-wrap: anywhere; }
  .skills-library-list-pane .owner-table td:nth-child(2), .skills-library-list-pane .owner-table td:nth-child(3),
  .skills-library-list-pane .owner-table td:nth-child(4) { display: none; }
}
@media (max-width: 899px) {
  .skills-library .page-header { align-items: flex-start; }
  .skills-library .owner-command-cluster { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .skills-library .owner-command-cluster button { min-height: var(--touch-control-height); }
  .skills-library-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .skills-library-filters .owner-filter-primary { grid-column: 1 / -1; }
  .skills-library-workspace { display: block; }
  .skills-library-list-pane { padding: var(--space-3); }
  .skills-library .detail-pane:not([hidden]) { display: block; }
  .skills-library .detail-mobile-bar .mobile-back { min-height: var(--touch-control-height); }
}

/* Home composes the shared collection link in the existing page measure. */
a.owner-collection-row { color: inherit; text-decoration: none; }
a.owner-collection-row .list-row-name { white-space: normal; overflow-wrap: anywhere; }
.home .hello { margin: 0 0 var(--space-4); }
.home-section + .home-section { margin-top: var(--space-5); }
.home-section h2 { margin: 0 0 var(--space-2); }
.home-section .status-copy { margin: 0 0 var(--space-2); }
.home-section .status-copy:empty { display: none; }
.home-section > div { display: grid; min-width: 0; }

/* Two read-only weekly observations, measured against the available Home frame. */
.owner-page-frame.home { container-type: inline-size; }
.home-usage { display: grid; gap: 20px; max-width: 720px; margin-top: 24px; }
.home-usage-element { min-width: 0; display: grid; gap: 8px; }
.home-usage-label-row { display: flex; align-items: baseline; gap: 8px; font: var(--text-body); color: var(--ink); font-weight: var(--font-weight-medium); }
.home-usage-weekly, .home-usage-reset { color: var(--muted); font: var(--text-meta); font-weight: var(--font-weight-regular); }
.home-usage-percent { margin-left: auto; font-variant-numeric: tabular-nums; }
.home-usage-track { height: 4px; background: var(--surface-muted); }
.home-usage-track > span { display: block; height: 100%; width: 0; background: var(--primary); }
.home-usage-reset { margin: 0; overflow-wrap: anywhere; }
@container (min-width: 600px) { .home-usage { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; } }

.dev-work-list-pane[data-view="galaxy"] { width:100%; min-width:0; }

@media (max-width: 599px) { .dev-work-toolbar #dev-work-view-toggle > button { min-width: 0; padding-inline: 8px; } }

/* Home alone places a clipboard command beside each native collection anchor. */
.home .home-record-row { display: grid; grid-template-columns: minmax(0, 1fr) 40px; align-items: center; gap: 8px; min-width: 0; border-bottom: 1px solid var(--border); background: var(--surface); }
.home .home-record-row > a.owner-collection-row { border-bottom: 0; height: 100%; }
.home .home-copy-commands { position: relative; display: flex; width: 40px; margin: 0; gap: 0; }
.home .home-copy-link { display: grid; place-items: center; width: 40px; min-width: 40px; height: 40px; min-height: 40px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--muted); cursor: pointer; }
.home .home-copy-link:hover, .home .home-copy-link:focus-visible { color: var(--ink); }
.home .home-copy-link:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
.home .home-copy-feedback { position: absolute; right: 48px; top: 50%; transform: translateY(-50%); z-index: 2; width: max-content; max-width: 200px; padding: 4px 8px; background: var(--surface); color: var(--ink); font: var(--text-meta); pointer-events: none; }
.home .home-copy-feedback:empty { display: none; }
.home-copy-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 767px) {
  .home .home-record-row { grid-template-columns: minmax(0, 1fr) 44px; }
  .home .home-copy-commands { width: 44px; }
  .home .home-copy-link { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .home .home-copy-feedback { right: 52px; }
}

/* At a zoomed narrow measure the badge takes its own line, keeping the name readable. */
@container (max-width: 240px) {
  .home .home-record-row > a.owner-collection-row { grid-template-columns: minmax(0, 1fr) auto; }
  .home .home-record-row .list-row-name { grid-column: 1 / -1; }
  .home .home-record-row .list-row-state { grid-column: 1 / -1; grid-row: 3; justify-self: end; max-width: 100%; white-space: normal; }
  .home .home-copy-feedback { max-width: calc(100cqw - 52px); }
}

/* Home's final connected-Mac observations stay in normal document flow. */
.home .home-workstations-section { margin-top: 24px; }
.home #home-workstations { margin: 0; padding: 0; list-style: none; }
.home .home-mac-row { display: flex; flex-wrap: wrap; align-items: center; column-gap: 16px; row-gap: 0; font: var(--text-body); color: var(--muted); }
.home .home-mac-row a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; max-width: 100%; overflow-wrap: anywhere; }
.home .home-mac-reason { font: var(--text-meta); }


/* Shared section panels, technical value pills, and fact-grid modifier. */
.owner-section-panel { min-width: 0; padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-quiet); }
.owner-section-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-3); }
.owner-section-panel__head > h3 { min-width: 0; margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); color: var(--ink); }
.owner-section-panel :is(input, select, textarea) { border-color: var(--control-border); background: var(--surface); }
.owner-value-pill { display: inline; max-width: 100%; padding: 0 6px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); color: var(--ink); font: var(--text-code); overflow-wrap: anywhere; white-space: normal; user-select: text; }
.owner-section-panel .owner-value-pill { background: var(--surface); }
.owner-properties.owner-properties--facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: var(--space-3) var(--space-5); margin: 0; }
.owner-properties--facts > .owner-property { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-1); min-width: 0; }
.owner-properties--facts > .owner-property--wide { grid-column: 1 / -1; }
.owner-properties--facts dt { color: var(--muted); font: var(--text-meta); }
.owner-properties--facts dd { min-width: 0; margin: 0; color: var(--ink); font: var(--text-body); overflow-wrap: anywhere; }
@media (max-width: 899px) {
  .owner-section-panel { padding: var(--space-3); }
  .owner-properties.owner-properties--facts { grid-template-columns: minmax(0, 1fr); }
}
/* End shared section panels, technical value pills, and fact-grid modifier. */


/* Tasks modern redesign — Wave 2. */
.panel.tasks .tasks-collection-caption { padding: 8px; overflow-wrap: anywhere; }
.panel.tasks #tasks-status.error { min-height: 40px; padding: 10px 12px; border-inline-start: 3px solid var(--danger); background: var(--surface-quiet); color: var(--ink); }
.panel.tasks .tasks-table .tasks-col-title { width: auto; }
.panel.tasks .tasks-table .tasks-col-status { width: 7.5rem; }
.panel.tasks .tasks-table .tasks-col-priority { width: 8rem; }
.panel.tasks .tasks-table .tasks-col-due { width: 9.5rem; }
.panel.tasks .tasks-table .tasks-col-actions { width: 4rem; }
.panel.tasks .tasks-table th { position: sticky; top: 0; z-index: 1; height: 32px; padding: 7px 8px; border-bottom: 0; background: var(--surface-quiet); color: var(--muted); font: var(--text-meta); text-align: left; }
.panel.tasks .tasks-table :is(tbody, tfoot) td { position: relative; height: 48px; padding: 4px 8px; border-bottom: 0; vertical-align: middle; }
.panel.tasks .tasks-table :is(th, tbody td, tfoot td)::after { position: absolute; inset-inline: 0; bottom: 0; border-bottom: 1px solid var(--border); content: ""; pointer-events: none; }
.panel.tasks .tasks-table :is(th, tbody td, tfoot td):not(:last-child) { border-inline-end: 1px solid var(--border); }
.panel.tasks .tasks-table tbody tr:hover { background: var(--surface-quiet); }
.panel.tasks .tasks-table tbody tr:is([aria-current="true"], .tasks-table-row--added) { background: var(--surface-muted); }
.panel.tasks .tasks-table tbody tr:is([aria-current="true"], .tasks-table-row--added) > td:first-child { box-shadow: inset 2px 0 0 var(--selection-border); }
.panel.tasks .tasks-table :is(input, select, button) { min-height: 40px; }
.panel.tasks .tasks-table .tertiary-action { padding-inline: 8px; color: var(--ink); }
.panel.tasks .task-title-stack { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; min-width: 0; }
.panel.tasks .task-title-stack > .task-cell-title { flex: 1 1 8rem; min-width: 0; }
.panel.tasks .task-title-stack > :is(.owner-draft-status, .task-parent-line) { flex: 1 0 100%; }
.panel.tasks .tasks-table tbody :is(.task-cell-title, .task-cell-priority) { border-color: transparent; background-color: transparent; }
.panel.tasks .tasks-table tbody :is(.task-cell-title, .task-cell-priority):is(:hover, :focus) { border-color: var(--control-border); background-color: var(--surface); }
.panel.tasks .tasks-table-row--subtask .task-title-stack { position: relative; padding-left: 28px; }
.panel.tasks .tasks-table-row--subtask .task-title-stack::before { position: absolute; top: -4px; bottom: -4px; left: 12px; border-left: 1px solid var(--border); content: ""; }
.panel.tasks .tasks-table-row--subtask .task-cell-title { font-weight: var(--font-weight-regular); }
.panel.tasks .task-parent-line, .panel.tasks .task-entity-more { margin: 0; color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.panel.tasks .task-parent-line { white-space: normal; overflow-wrap: anywhere; }
.panel.tasks .task-priority-pill { width: auto; max-width: 100%; padding-inline: 8px; border-color: var(--border); border-radius: var(--radius-sm); background-color: var(--surface-quiet); color: var(--muted); font: var(--text-meta); }
.panel.tasks .task-priority-pill:is([data-priority="high"], [data-priority="medium"]) { color: var(--ink); }
.panel.tasks .task-priority-pill[data-priority="high"] { background-color: var(--surface-muted); font-weight: var(--font-weight-semibold); }
.panel.tasks .task-due-pill { display: inline-flex; align-items: center; min-height: 40px; max-width: 100%; padding: 0 8px; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--ink); font: var(--text-body); white-space: nowrap; cursor: pointer; }
.panel.tasks .task-due-pill:is(:hover, :focus-visible) { border-color: var(--control-border); background: var(--surface); }
.panel.tasks .task-due-pill--empty { color: var(--muted); }
.panel.tasks .task-due-pill--overdue { color: var(--status-warn); }
.panel.tasks .task-due-editor { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.panel.tasks .task-due-editor .task-cell-due { width: 100%; min-width: 0; }
.panel.tasks .task-clear-due { flex: 0 0 auto; min-width: 44px; padding-inline: 8px; font: var(--text-meta); }
.panel.tasks .task-entity-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: start; gap: 4px; width: 100%; min-height: 40px; padding: 4px; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; text-align: left; white-space: normal; }
.panel.tasks .tasks-table .task-entity-summary { padding-inline: 4px; }
.panel.tasks .task-entity-summary:is(:hover, :focus-visible) { border-color: var(--control-border); background: var(--surface); }
.panel.tasks .task-entity-empty { color: var(--muted); font: var(--text-meta); }
.panel.tasks .task-entity-editor { display: grid; gap: 8px; margin-top: 4px; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-quiet); }
.panel.tasks .task-entity-close { justify-self: end; }
.panel.tasks .tasks-table-footer-row td { background: var(--surface-quiet); }
.panel.tasks .tasks-table-footer-row .owner-caption { margin-bottom: 4px; }
.panel.tasks .tasks-list-row--subtask { width: calc(100% - 16px); margin-inline-start: 16px; }
#tasks-detail .tasks-panel-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; padding-inline-end: 48px; }
#tasks-detail .tasks-panel-title { flex: 1 1 16rem; min-width: 0; }
#tasks-detail .task-panel-title { width: 100%; min-height: 40px; padding-inline: 8px; border-color: transparent; background: transparent; font: var(--text-work-title); font-weight: var(--font-weight-semibold); }
#tasks-detail .task-panel-title:is(:hover, :focus) { border-color: var(--control-border); background: var(--surface); }
#tasks-detail .owner-section-panel + .owner-section-panel { margin-top: 16px; }
#tasks-detail .tasks-panel-grid { display: grid; gap: 12px; margin: 0; }
#tasks-detail .tasks-panel-grid > .owner-property { min-width: 0; }
#tasks-detail .tasks-panel-grid dt { color: var(--muted); font: var(--text-meta); }
#tasks-detail .tasks-panel-grid dd { min-width: 0; margin: 0; }
#tasks-detail .task-panel-priority { min-height: 40px; }
@media (min-width: 900px) {
  .panel.tasks .tasks-list-pane { align-self: start; height: auto; min-height: 0; }
  .panel.tasks .tasks-workspace { min-height: calc(100vh - 220px); }
}
@media (max-width: 899px) {
  .panel.tasks .tasks-collection-caption { padding: 0 8px 8px; }
  #tasks-detail .owner-section-panel { padding: 12px; }
  #tasks-detail .tasks-panel-head { padding-inline-end: 0; }
  #tasks-detail .tasks-panel-grid > .owner-property { display: grid; gap: 4px; }
}
/* End Tasks modern redesign — Wave 2. */
/* Tasks modern redesign — Wave 3. */
.panel.tasks .tasks-toolbar-row { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: end; gap: 12px; min-width: 0; margin-top: 16px; }
.panel.tasks .tasks-toolbar-row > .owner-filter-bar { flex: 1 1 24rem; margin-top: 0; }
.panel.tasks .tasks-view-toggle { flex: 0 0 auto; }
.panel.tasks .tasks-view-toggle > button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.panel.tasks .tasks-table .tasks-col-handle { width: 40px; }
.panel.tasks .tasks-table :is(tbody, tfoot) td.task-handle-cell, .panel.tasks .tasks-table tr > td:first-child:empty { padding-inline: 0; }
.panel.tasks .task-drag-handle { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-width: 40px; min-height: 40px; padding: 0; border-color: transparent; background: transparent; color: var(--muted); cursor: grab; touch-action: none; user-select: none; }
.panel.tasks .task-drag-handle:is(:hover, :focus-visible), .panel.tasks :is(.tasks-table-row, .task-card, .task-card-subtask, .tasks-list-item):hover > * > .task-drag-handle, .panel.tasks :is(.task-card-subtask, .tasks-list-item):hover > .task-drag-handle { color: var(--ink); }
.panel.tasks .task-drag-handle[aria-disabled="true"] { cursor: default; color: var(--muted); }
.panel.tasks .task-subtask-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 40px; min-width: 40px; padding: 0; }
.panel.tasks .task-subtask-count { margin: 0; color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.panel.tasks .tasks-table-row .task-title-stack { position: relative; padding-left: 48px; }
.panel.tasks .tasks-table-row .task-title-stack--parent { padding-left: 0; }
.panel.tasks .tasks-table-row--subtask .task-title-stack { padding-left: 76px; }
.panel.tasks .tasks-table-row--subtask .task-title-stack::before { left: 20px; }
.panel.tasks .tasks-add-subtask-row td { height: 48px; }
.panel.tasks .tasks-add-subtask-row .task-add-subtask { margin-inline-start: 80px; padding-inline: 8px; color: var(--ink); }
.panel.tasks .tasks-add-subtask-row--open td { background: var(--surface-quiet); }
.panel.tasks .tasks-add-subtask-row--open td:nth-child(2) { padding-left: 84px; }
.panel.tasks .tasks-drag-source, .panel.tasks .tasks-drag-source > td { background: var(--surface-quiet); }
.panel.tasks .tasks-drag-source:not(tr) { outline: 1px dashed var(--control-border); outline-offset: -1px; }
.panel.tasks .tasks-drop-nest, .panel.tasks .tasks-drop-nest > td { background: var(--surface-quiet); }
.tasks-drag-placeholder { position: fixed; z-index: 39; border: 1px dashed var(--control-border); pointer-events: none; }
.tasks-drop-indicator { position: fixed; z-index: 40; background: var(--ink); pointer-events: none; }
.tasks-drop-indicator--nest { border: 2px solid var(--ink); border-radius: var(--radius-md); background: transparent; }
.tasks-drag-label { position: fixed; z-index: 41; display: grid; gap: 2px; max-width: 20rem; padding: 4px 8px; border: 1px solid var(--control-border); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: var(--text-meta); pointer-events: none; }
.tasks-drag-label-title { overflow: hidden; font-weight: var(--font-weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.tasks-drag-label-nest { color: var(--muted); }
.tasks-drag-label-nest:empty { display: none; }
.panel.tasks .tasks-workspace.tasks-view-cards :is(#tasks-table, #tasks-list) { display: none; }
.panel.tasks .tasks-workspace.tasks-view-cards > .tasks-list-pane { border: 0; background: transparent; }
.panel.tasks .tasks-cards:not([hidden]) { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 12px; align-items: start; min-width: 0; }
.panel.tasks .tasks-cards > .empty-state, .panel.tasks .tasks-cards > :not(.task-card) { grid-column: 1 / -1; }
.panel.tasks .task-card { display: grid; gap: 8px; min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); }
.panel.tasks .task-card:hover { background: var(--surface-quiet); }
.panel.tasks .task-card:is([aria-current="true"], .task-card--added) { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.panel.tasks .task-card-head { display: flex; align-items: center; gap: 4px; min-width: 0; }
.panel.tasks .task-card-head .task-drag-handle { margin-inline-start: -8px; }
.panel.tasks .task-card-title-wrap { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.panel.tasks .task-card-title { min-width: 0; margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.panel.tasks .task-card-title-button { display: block; width: 100%; min-height: 40px; padding: 0 8px; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--ink); font: inherit; text-align: left; overflow-wrap: anywhere; white-space: normal; cursor: text; }
.panel.tasks .task-card-title-button:is(:hover, :focus-visible) { border-color: var(--control-border); background: var(--surface); }
.panel.tasks .task-card-open { cursor: pointer; }
.panel.tasks .task-card .task-cell-title { width: 100%; min-height: 40px; font-weight: var(--font-weight-semibold); }
.panel.tasks .task-card-head > .task-status-wrap { flex: 0 0 auto; }
.panel.tasks .task-card-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
.panel.tasks .task-card-facts .task-due-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.panel.tasks .task-card-facts .task-priority-pill { min-height: 40px; }
.panel.tasks .task-card-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-quiet); color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.panel.tasks .task-card-pill:is([data-priority="high"], [data-priority="medium"]) { color: var(--ink); }
.panel.tasks .task-card-pill[data-priority="high"] { background: var(--surface-muted); font-weight: var(--font-weight-semibold); }
.panel.tasks .task-card-pill.task-due-pill--overdue { color: var(--status-warn); }
.panel.tasks .task-card-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
.panel.tasks .task-card-entities { display: grid; gap: 4px; min-width: 0; }
.panel.tasks .task-card-subtasks { display: grid; gap: 2px; min-width: 0; padding-top: 8px; border-top: 1px solid var(--border); }
.panel.tasks .task-card-subtasks-label { margin: 0; color: var(--muted); font: var(--text-meta); }
.panel.tasks :is(.task-card-subtask, .tasks-panel-subtask) { display: flex; align-items: center; gap: 4px; min-width: 0; }
.panel.tasks :is(.task-card-subtask, .tasks-panel-subtask) .task-subtask-open { display: block; flex: 1 1 auto; min-width: 0; padding-inline: 8px; overflow: hidden; color: var(--ink); text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.panel.tasks .task-subtask-due { flex: 0 0 auto; color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.panel.tasks .task-subtask-due:empty { display: none; }
.panel.tasks .task-subtask-due.task-due-pill--overdue { color: var(--status-warn); }
.panel.tasks .task-card-more > summary { min-height: 40px; color: var(--ink); font: var(--text-meta); font-weight: var(--font-weight-semibold); }
.panel.tasks :is(.task-card-subtasks, .tasks-panel-subtasks) > .task-add-subtask { justify-self: start; padding-inline: 8px; color: var(--ink); }
.panel.tasks .task-subtask-entry { display: grid; gap: 8px; min-width: 0; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-quiet); }
.panel.tasks .task-subtask-entry-title { width: 100%; min-width: 0; }
.panel.tasks :is(.task-subtask-entry-facts, .task-subtask-entry-actions) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.panel.tasks .tasks-list-item { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: stretch; gap: 4px; min-width: 0; }
.panel.tasks .tasks-list-item .task-drag-handle { width: 44px; min-width: 44px; min-height: 44px; height: 100%; }
.panel.tasks .tasks-list-item--subtask { padding-inline-start: 16px; }
.panel.tasks .tasks-list-item .tasks-list-row--subtask { width: auto; margin-inline-start: 0; }
#tasks-detail .tasks-parent-crumb { justify-self: start; margin: -8px 0 16px; padding-inline: 8px; color: var(--ink); }
#tasks-detail .tasks-panel-subtasks { display: grid; gap: 4px; }
@media (max-width: 899px) {
  .panel.tasks .tasks-toolbar-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .panel.tasks .tasks-view-toggle { display: flex; width: 100%; }
  .panel.tasks .tasks-cards:not([hidden]) { grid-template-columns: minmax(0, 1fr); }
  .panel.tasks .task-card .task-drag-handle { width: 44px; min-width: 44px; min-height: 44px; }
  .panel.tasks .task-card { cursor: pointer; }
}
/* End Tasks modern redesign — Wave 3. */

/* Entity Linker: shared hierarchical picker; flat owner pickers keep their grammar. */
.entity-linker-rest { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.entity-linker-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.entity-linker-chip { display: flex; align-items: center; gap: 6px; }
.entity-linker-chip--armed { outline: 2px solid var(--ink); outline-offset: 2px; }
.entity-linker-trigger { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; text-align: start; }
.entity-linker-layer { width: 100%; min-width: 0; padding: 12px; background: var(--surface); color: var(--ink); border: 1px solid var(--control-border); border-radius: 8px; box-sizing: border-box; }
.entity-linker-layer[hidden] { display: none; }
.entity-linker-layer--anchored { position: fixed; margin: 0; max-height: calc(100dvh - 16px); overflow: auto; }
.entity-linker-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.entity-linker-head label { font-weight: 600; }
.entity-linker-input { width: 100%; margin-block: 8px; }
.entity-linker-scope { display: flex; flex-wrap: wrap; gap: 4px; }
.entity-linker-viewport { height: min(360px, 45dvh); overflow-y: auto; overscroll-behavior: contain; margin-block: 8px; }
.entity-linker-section { height: 32px; box-sizing: border-box; padding: 6px 8px; color: var(--muted); font-size: 13px; }
.entity-linker-option { display: flex; align-items: center; gap: 8px; height: var(--row-two-line); padding: 4px 8px; box-sizing: border-box; border-radius: 6px; cursor: pointer; }
.entity-linker-option:hover, .entity-linker-option--active { background: var(--surface-quiet); }
.entity-linker-option[aria-disabled="true"] { color: var(--muted); cursor: default; }
.entity-linker-mark { width: 24px; flex: 0 0 24px; }
.entity-linker-option-text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.entity-linker-option-text > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entity-linker-inside { min-width: 40px; color: var(--muted); font-size: 13px; }
.entity-linker-footer { border-top: 1px solid var(--border); padding-top: 8px; font-size: 13px; overflow-wrap: anywhere; }
.entity-linker-footer p { margin: 0; }
.entity-linker--open:not(.entity-linker--anchored) > .entity-linker-rest { display: none; }
@media (max-width: 899px) {
  .entity-linker-input { min-height: 44px; font-size: 16px; position: sticky; top: 0; background: var(--surface); }
  .entity-linker-inside { min-width: 44px; }
  .entity-linker-layer { border: 0; padding: 0; }
  .entity-linker-viewport { height: min(55dvh, 480px); }
  .entity-linker-footer { position: sticky; bottom: 0; background: var(--surface); padding-bottom: env(safe-area-inset-bottom, 0px); }
}
/* Shared Entity Linker row navigation. */
.entity-linker-row { display: flex; align-items: stretch; height: var(--row-two-line); border-radius: 6px; }
.entity-linker-row > .entity-linker-option { flex: 1; min-width: 0; }
.entity-linker-row:has(.entity-linker-option--active), .entity-linker-row:hover { background: var(--surface-quiet); }
.entity-linker-open { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 40px; height: 100%; padding: 4px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font: var(--text-meta); white-space: nowrap; cursor: pointer; }
.entity-linker-open:hover, .entity-linker-open:focus, .entity-linker-row:has(.entity-linker-option--active) .entity-linker-open { color: var(--ink); }
.entity-linker-open:hover, .entity-linker-open:focus { background: var(--surface); }
.entity-linker-breadcrumb { align-items: flex-start; min-height: 32px; gap: 4px 8px; }
.entity-linker-breadcrumb[hidden] { display: none; }
.entity-linker-path { display: flex; flex: 1; min-width: 0; flex-wrap: wrap; align-items: center; gap: 0 4px; }
.entity-linker-ancestor { min-height: 40px; min-width: 40px; padding-inline: 4px; overflow-wrap: anywhere; }
.entity-linker-place { min-width: 0; max-width: 100%; overflow-wrap: anywhere; font: var(--text-label); font-weight: 600; }
.entity-linker-separator { color: var(--muted); font: var(--text-meta); }
.entity-linker-breadcrumb > .entity-linker-inside { padding-block: 12px; white-space: nowrap; font: var(--text-meta); }
.entity-linker-section--quiet { display: none; }
.entity-linker-layer--rows .entity-linker-viewport > [aria-label="This entity"] { position: sticky; top: 0; z-index: 1; background: var(--surface); }
.entity-linker-footer-open { width: 100%; min-height: 40px; height: 40px; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entity-linker-footer-open--empty { visibility: hidden; }
@media (max-width: 899px) {
  .entity-linker-open { min-width: 44px; }
  .entity-linker-ancestor, .entity-linker-back { min-height: 44px; }
  .entity-linker-breadcrumb { position: sticky; top: 44px; z-index: 2; background: var(--surface); }
  .entity-linker-footer-open { min-height: 44px; height: 44px; }
  #tasks-detail.tasks-linker-phone:has(.entity-linker-layer--rows) .tasks-panel-grid > .owner-property:not(:has(.entity-linker--open)) { display: none; }
  #tasks-detail.tasks-linker-phone .entity-linker-layer--rows { display: flex; flex-direction: column; height: calc(var(--entity-linker-viewport-height, 100dvh) - 160px); min-height: 0; }
  #tasks-detail.tasks-linker-phone .entity-linker-layer--rows .entity-linker-viewport { flex: 1; height: auto; min-height: 120px; }
  .entity-linker-layer--rows > .entity-linker-head, .entity-linker-layer--rows > .entity-linker-chips, .entity-linker-layer--rows > .entity-linker-breadcrumb, .entity-linker-layer--rows > .entity-linker-footer { flex-shrink: 0; }

}
/* End Entity Linker. */
@media (max-width: 899px) {
  .tasks-linker-phone #tasks-detail-content > :not(:has(.entity-linker--open)) { display: none; }
  .tasks-linker-phone .owner-properties > :not(:has(.entity-linker--open)) { display: none; }
  .tasks-linker-phone .owner-property:has(.entity-linker--open) > dt { display: none; }
  .tasks-linker-phone #task-create-form > :not(:has(.entity-linker--open)) { display: none; }
  .tasks-linker-phone .entity-linker-layer { min-height: calc(var(--entity-linker-viewport-height, 100dvh) - 160px); }
  .tasks-linker-phone .entity-linker-viewport { height: calc(var(--entity-linker-viewport-height, 100dvh) - 280px); min-height: 120px; }
}

@media (max-width: 899px) {
  .tasks-linker-phone .tasks-panel-properties { padding: 0; border: 0; background: var(--surface); }
  .tasks-linker-phone .tasks-panel-grid { margin: 0; }
}
/* Entity Linker filter and readable link lines. */
.entity-linker-filter-controls label { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.entity-linker-filter-controls input { width: auto; }
.entity-linker-rest:has(.entity-linker-chip > .owner-caption) { align-items: flex-start; }
.entity-linker-rest .entity-linker-chips:has(.owner-caption) { flex-direction: column; width: 100%; }
.entity-linker-rest .entity-linker-chip:has(.owner-caption) { flex-wrap: wrap; }
#task-entity-filter-linker { min-width: 12rem; }
@media (max-width: 899px) { .task-filter-linker-open { width: 100%; } .entity-linker-filter-controls label { min-height: 44px; } }

.entity-linker-head label, .entity-linker-trigger { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 899px) {
  .documents-linker-open .documents-edit-fields > :not(:has(.entity-linker--open)),
  .documents-linker-open #document-add-form > .owner-draft-fields > :not(:has(.entity-linker--open)),
  .documents-linker-open .owner-draft-bar,
  .documents-linker-open #document-add-form > .form-actions { display: none; }
  .documents-linker-open fieldset:has(.entity-linker--open) > legend { display: none; }
  .documents-linker-open .entity-linker-viewport { height: calc(var(--entity-linker-viewport-height, 100dvh) - 280px); min-height: 120px; }
}

/* Documents working collection v1 (effort 362): one aligned toolbar, editable records and contextual commands.
   Scoped to Documents; the shared editable-table, filter-bar and view-switch defaults stay unchanged for other pages. */
.documents-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); min-width: 0; }
.documents-count { color: var(--muted); font: var(--text-meta); font-variant-numeric: tabular-nums; }
.documents-count:empty, .documents-status:empty { display: none; }
.owner-filter-bar.documents-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-2) var(--space-4); }
.documents-toolbar .documents-caption { display: inline-flex; align-items: center; gap: 6px; min-height: 18px; color: var(--muted); font: var(--text-label); font-weight: 500; }
.documents-toolbar .documents-search-field { display: grid; flex: 1 1 16rem; gap: var(--space-1); min-width: min(16rem, 100%); }
.documents-search-control { position: relative; display: block; min-width: 0; }
.documents-search-control > .owner-icon { position: absolute; top: 50%; left: 11px; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.documents-search-control > input { width: 100%; min-width: 0; padding-left: 36px; }
.documents-toolbar .documents-filter-controls { flex: 0 1 auto; margin: 0; }
.documents-toolbar .documents-filter-controls[hidden] { display: none; }
.documents-filter-controls label { display: grid; gap: var(--space-1); min-width: 10rem; color: var(--muted); font: var(--text-label); font-weight: 500; }
.documents-filter-controls select { width: 100%; min-width: 10rem; }
.documents-toolbar-commands { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.documents-toolbar-commands > button, .documents-toolbar .documents-view-toggle > button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: var(--control-height); white-space: nowrap; }
.documents-toolbar .documents-view-toggle { width: auto; margin-left: 0; }
.documents-filter-count:not(:empty) { color: var(--muted); font: var(--text-meta); font-variant-numeric: tabular-nums; }
.documents-tag-error { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-2); }
.documents-tag-error[hidden] { display: none; }
.documents-tag-error > p { margin: 0; }

.documents-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0; }
.documents-table col.documents-col-name { width: auto; }
.documents-table col.documents-col-type { width: 6.5rem; }
.documents-table col.documents-col-size { width: 5.5rem; }
.documents-table col.documents-col-updated { width: 9.5rem; }
.documents-table col.documents-col-entities { width: 10rem; }
.documents-table col.documents-col-tags { width: 10rem; }
.documents-table th { height: 32px; padding: 0 var(--space-2); text-align: start; }
.documents-table th:nth-child(3) { text-align: right; }
.documents-table td { height: auto; min-width: 0; padding: var(--space-2); vertical-align: top; overflow-wrap: anywhere; }
.documents-table tr.documents-row > td { border-top: 1px solid var(--border); }
.documents-table tr.documents-row:hover { background: var(--surface-quiet); }
/* Zebra by record, not by DOM position: the hidden detail row shares its record's band, and a deleted record restripes the rest. */
.documents-table tr.documents-row:nth-child(even of .documents-row), .documents-table tr.documents-row:nth-child(even of .documents-row) + .documents-detail-row { background: var(--surface-quiet); }
.documents-table tr.documents-row:nth-child(even of .documents-row):hover { background: var(--surface-muted); }
.documents-name-stack { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2px; min-width: 0; }
.documents-type-host, .documents-size, .documents-updated { display: inline-flex; align-items: center; min-height: var(--control-height); font: var(--text-meta); font-variant-numeric: tabular-nums; white-space: nowrap; }
.documents-size, .documents-updated { color: var(--muted); }
.documents-type { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font: var(--text-meta); white-space: nowrap; }
.documents-type > .owner-icon { flex: 0 0 auto; color: var(--muted); }

.documents-name-field { display: grid; gap: 2px; min-width: 0; }
.documents-name-input { width: 100%; min-width: 0; padding: 0 var(--space-2); border-color: transparent; background: transparent; color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-semibold); text-overflow: ellipsis; }
.documents-row:hover .documents-name-input, .documents-card:hover .documents-name-input, .documents-name-input:focus { border-color: var(--control-border); background: var(--surface); }
.documents-card-title { margin: 0; font: inherit; }
.documents-card-name { display: block; width: 100%; min-height: var(--control-height); padding: var(--space-2); border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-semibold); text-align: start; overflow-wrap: anywhere; cursor: text; }
.documents-card-name:hover { border-color: var(--control-border); background: var(--surface); }
.documents-missing { justify-self: start; margin: 0 var(--space-2); padding: 0 var(--space-2); border-radius: var(--radius-sm); background: var(--status-warn-surface); color: var(--status-warn); font: var(--text-meta); }
.documents-field-status:not([hidden]) { margin: 0 var(--space-2); font: var(--text-meta); color: var(--muted); }
.documents-field-status[data-owner-save-state="failed"] { color: var(--danger); }

.documents-membership { display: grid; gap: 2px; min-width: 0; }
.documents-membership .documents-membership-trigger { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 4px; width: 100%; min-height: var(--control-height); padding: 4px 8px; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--ink); font: var(--text-meta); text-align: start; white-space: normal; cursor: pointer; }
.documents-membership .documents-membership-trigger:is(:hover, :focus-visible) { border-color: var(--control-border); background: var(--surface); }
.documents-membership .documents-membership-trigger:disabled { cursor: not-allowed; }
.documents-empty-trigger, .documents-membership .task-entity-empty, .documents-more, .documents-membership .task-entity-more { color: var(--muted); font: var(--text-meta); white-space: nowrap; }
.documents-tag-editor { display: grid; gap: var(--space-2); max-width: 40rem; margin-top: var(--space-2); padding: var(--space-3); border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); }
.documents-tag-editor[hidden] { display: none; }
.documents-tag-editor-bar { position: static; padding: 0; }

.documents-record-commands { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); min-width: 0; }
.documents-commands { gap: var(--space-1); }
.documents-record-commands .documents-details-toggle, .documents-commands > .tertiary-action, .documents-commands > .danger-action { display: inline-flex; align-items: center; gap: 6px; min-height: var(--control-height); padding: 0 var(--space-2); text-decoration: none; white-space: nowrap; }
.documents-record-commands .documents-details-toggle { color: var(--muted); }
.documents-record-commands .documents-details-toggle[aria-expanded="true"] { color: var(--ink); }
@media (hover: hover) and (pointer: fine) {
  .documents-commands { opacity: 0; }
  .documents-row:is(:hover, :focus-within) .documents-commands, .documents-card:is(:hover, :focus-within) .documents-commands,
  .documents-row[aria-busy="true"] .documents-commands, .documents-row:has(+ .documents-detail-row .owner-inline-confirm:not([hidden])) .documents-commands,
  .documents-row:has(+ .documents-detail-row :is(.documents-details, .documents-tag-editor):not([hidden])) .documents-commands,
  .documents-card:has(.owner-inline-confirm:not([hidden])) .documents-commands, .documents-card:has(:is(.documents-details, .documents-tag-editor):not([hidden])) .documents-commands { opacity: 1; }
}
.documents-detail-row { display: none; }
.documents-detail-row:has(.documents-tag-editor:not([hidden]), .owner-inline-confirm:not([hidden]), .documents-details:not([hidden]), .documents-record-status:not(:empty)) { display: table-row; }
.documents-detail-row > td { padding: 0 var(--space-2) var(--space-3); }
.documents-details { display: grid; gap: var(--space-3); margin-top: var(--space-2); padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-quiet); }
.documents-details[hidden] { display: none; }
.documents-details .owner-properties { margin: 0; }
.documents-note-form { display: grid; gap: var(--space-2); max-width: 48rem; }
.documents-note-form label { display: grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); }
.documents-note-form textarea { width: 100%; min-width: 0; padding: var(--space-2) var(--space-3); color: var(--ink); font: var(--text-body); }
.documents-note-form .owner-draft-bar { position: static; padding: 0; background: transparent; }
.documents-confirm-host .owner-inline-confirm { max-width: 40rem; margin-top: var(--space-2); }
.documents-confirm-identity { margin: 0; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.documents-confirm-error:empty, .documents-record-status:empty { display: none; }
.documents-record-status { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); }

.documents-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18rem, 100%), 1fr)); gap: var(--space-4); }
.documents-card { display: grid; align-content: start; gap: var(--space-3); min-width: 0; padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); }
.documents-card-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-3); margin: 0; }
.documents-card-facts > * { min-height: 24px; }
.documents-field { display: grid; gap: 2px; min-width: 0; }
.documents-field-label { color: var(--muted); font: var(--text-label); }
.documents-empty .secondary-action { display: inline-flex; align-items: center; gap: 6px; margin-top: var(--space-2); }

/* Stacked records: when the measured column budget fails, each record keeps the same controls in logical order. */
@container (max-width: 59.99rem) {
  .documents-table, .documents-table tbody { display: block; }
  .documents-table thead, .documents-table colgroup { display: none; }
  .documents-table tr.documents-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-1) var(--space-3); padding: var(--space-3) var(--space-2); border-top: 1px solid var(--border); }
  .documents-table tr.documents-row > td { display: block; height: auto; padding: 0; border: 0; text-align: start; }
  .documents-table tr.documents-row > td.documents-name-cell, .documents-table .documents-name-stack { display: contents; }
  .documents-table .documents-name-field { flex: 1 1 100%; order: 0; }
  .documents-table .documents-type-cell { order: 1; padding-inline-start: 9px; }
  .documents-table .documents-size-cell { order: 2; }
  .documents-table .documents-updated-cell { order: 3; }
  .documents-table tr.documents-row::after { content: ''; flex: 1 1 100%; order: 3; height: 0; }
  .documents-table .documents-entities-cell { order: 4; flex: 1 1 calc(50% - var(--space-3)); min-width: 0; }
  .documents-table .documents-tags-cell { order: 5; flex: 1 1 calc(50% - var(--space-3)); min-width: 0; }
  .documents-table .documents-name-stack > .documents-record-commands { display: flex; flex: 1 1 100%; order: 6; }
  .documents-table .documents-entities-cell::before, .documents-table .documents-tags-cell::before { content: attr(data-label); display: block; padding-inline-start: 9px; color: var(--muted); font: var(--text-label); }
  .documents-table .documents-commands { opacity: 1; }
  .documents-table tr.documents-detail-row:has(.documents-tag-editor:not([hidden]), .owner-inline-confirm:not([hidden]), .documents-details:not([hidden]), .documents-record-status:not(:empty)) { display: block; }
  .documents-table tr.documents-detail-row > td { display: block; padding: 0 var(--space-2) var(--space-3); }
}
@container (max-width: 35.99rem) {
  .documents-table .documents-entities-cell, .documents-table .documents-tags-cell { flex-basis: 100%; }
}
.documents-card .documents-commands { opacity: 1; }
.documents-card-facts { padding-inline-start: 9px; }
.documents-field-label { padding-inline-start: 9px; }
.documents-card .owner-property { grid-template-columns: minmax(0, 1fr); gap: 0; }
.documents-card .owner-properties dd { overflow-wrap: break-word; }
@media (max-width: 899px) {
  .owner-filter-bar.documents-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "search" "commands" "filters"; gap: var(--space-2); }
  .documents-toolbar .documents-search-field { grid-area: search; grid-column: auto; min-width: 0; }
  .documents-toolbar .documents-toolbar-commands { grid-area: commands; }
  .documents-toolbar .documents-filter-controls { grid-area: filters; grid-column: auto; }
  .documents-toolbar .documents-filter-controls label, .documents-toolbar .documents-filter-controls select { width: 100%; min-width: 0; }
  .documents-toolbar-commands > button, .documents-toolbar .documents-view-toggle > button { min-height: var(--touch-control-height); flex: 0 0 auto; }
  .documents-toolbar .documents-view-toggle { width: auto; }
  .documents-name-input, .documents-card-name, .documents-membership .documents-membership-trigger, .documents-record-commands .documents-details-toggle, .documents-commands > .tertiary-action, .documents-commands > .danger-action { min-height: var(--touch-control-height); }
}

/* Tasks subtasks and inherited Entity links */
.owner-chip--locked { gap: 4px; }
.owner-chip--locked .owner-icon { color: var(--muted); flex: 0 0 auto; }
.task-inherited-parent { color: var(--muted); }
.task-title-stack .task-add-subtask--quiet { margin-left: auto; opacity: 0; }
.tasks-table-row:hover .task-add-subtask--quiet,
.tasks-table-row:focus-within .task-add-subtask--quiet { opacity: 1; }
.panel.tasks .task-subtask-entry { display: flex; align-items: center; gap: 8px; }
.panel.tasks .task-subtask-entry-title { flex: 1 1 180px; min-width: 0; }
.panel.tasks .task-subtask-entry-actions { display: flex; flex: 0 0 auto; gap: 4px; }
.tasks-add-subtask-row--open .task-subtask-entry-title { width: auto; }
.panel.tasks .task-card-subtasks:not(:has(.task-card-subtask)):not(:has(.task-card-subtasks-label)) { border-top: 0; }
.entities-linked-subtasks { list-style: none; margin: 4px 0 8px 16px; padding-left: 16px; border-left: 1px solid var(--border); }
.entities-linked-subtasks li { margin: 0; padding: 0; }
@media (hover: none), (pointer: coarse) {
  .task-title-stack .task-add-subtask--quiet { opacity: 1; }
}
@media (max-width: 899px) {
  .task-subtask-entry-actions button, .task-inherited-parent { min-height: 44px; }
  .tasks-linker-phone .owner-property:has(.entity-linker--open) > .owner-caption { display: none; }
  #tasks-detail.tasks-linker-phone .entity-linker-layer--rows { height: calc(var(--entity-linker-viewport-height, 100dvh) - 168px); }
}
/* End Tasks subtasks and inherited Entity links */

/* Task status uses the native immediate-save pill, with existing status tones. */
.panel.tasks .task-status-pill { width: auto; max-width: 100%; min-width: 0; padding-inline: 8px; border-color: var(--border); border-radius: var(--radius-sm); background-color: var(--surface-quiet); color: var(--ink); font: var(--text-meta); }
.panel.tasks .task-status-pill[data-status="done"] { color: var(--status-ok); }
.panel.tasks .task-status-pill[data-status="cancelled"] { color: var(--muted); }
.panel.tasks .task-overdue { margin: 0; color: var(--status-warn); font: var(--text-meta); white-space: nowrap; }

.panel.tasks .task-title-marks { display: inline-flex; align-items: center; gap: 8px; }
.panel.tasks .task-title-marks:has(> .task-overdue[hidden]) { display: none; }
.panel.tasks .task-status-control { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); min-width: 0; max-width: 100%; }

/* Dev Work top controls v1: shared opt-in treatments; fields and captions stay scoped to this toolbar. */
.secondary-action--hairline { border-color: var(--border); }
.owner-view-toggle--segmented { gap: 2px; padding: 0; border: 0; border-radius: var(--radius-md); background: var(--surface-quiet); }
.owner-view-toggle--segmented > .owner-view-segment { min-height: var(--control-height); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-md); background: transparent; color: var(--muted); cursor: pointer; font: var(--text-button); font-weight: var(--font-weight-regular); }
.owner-view-toggle--segmented > .owner-view-segment[aria-checked="true"] { background: var(--surface); color: var(--ink); font-weight: var(--font-weight-medium); box-shadow: 0 0 0 1px var(--border); }
.owner-view-toggle--segmented > .owner-view-segment:not([aria-checked="true"]):hover { background: var(--surface-muted); }
.dev-work-toolbar .owner-filter-primary { flex: 1 1 24rem; min-width: min(20rem, 100%); font-weight: var(--font-weight-regular); }
.dev-work-search-control { position: relative; display: block; min-width: 0; }
.dev-work-search-control > .owner-icon { position: absolute; top: 50%; left: 11px; transform: translateY(-50%); width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.dev-work-search-control > input { width: 100%; min-width: 0; padding-left: 36px; border-color: var(--border); border-radius: var(--radius-sm); }
.dev-work-toolbar > .owner-filter-controls.page-toolbar { column-gap: var(--space-4); }
.dev-work-toolbar .page-toolbar label { font-weight: var(--font-weight-regular); }
.dev-work-toolbar .page-toolbar select { border-color: var(--border); border-radius: var(--radius-sm); }
.dev-work-toolbar .page-toolbar label.dev-work-check { font: var(--text-label); font-weight: var(--font-weight-regular); }
.dev-work-toolbar .page-toolbar label.dev-work-check input[type="checkbox"] { width: 1rem; height: 1rem; }
@media (min-width: 900px) {
  .dev-work-toolbar > .owner-filter-controls.page-toolbar { margin-top: var(--space-2); }
}
@media (max-width: 899px) {
  .owner-view-toggle--segmented > .owner-view-segment { min-height: var(--touch-control-height); }
}
@media (max-width: 599px) {
  .dev-work-toolbar #dev-work-view-toggle > .owner-view-segment { padding-inline: var(--space-2); }
}
/* End Dev Work top controls v1. */

/* Shared owner frequency group: native number and unit, wrapping on phone. */
.owner-frequency { min-width: 0; margin: 0; }
.owner-frequency-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.owner-frequency-controls label { display: grid; gap: 4px; }
.owner-frequency input { width: 6rem; }
.owner-frequency select { width: 9rem; }
.owner-frequency .field-error { min-height: 1.5em; margin-bottom: 0; }
/* Tasks row Delete — effort 392. Icon-only, muted at rest and danger on hover and focus; the shared in-page
   confirmation opens as an anchored layer under the button's trailing edge (phone rows: full width below the row). */
.panel.tasks .task-delete-host { position: relative; display: inline-flex; flex: 0 0 auto; }
.panel.tasks .task-delete-host > .task-delete { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-width: 40px; min-height: 40px; padding: 0; border-color: transparent; background: transparent; color: var(--muted); }
.panel.tasks .task-delete-host > .task-delete:is(:hover, :focus-visible, [aria-expanded="true"]) { background: var(--danger-surface); color: var(--danger); }
.panel.tasks .task-delete-host > .task-delete-confirm { position: absolute; top: calc(100% + 4px); right: 0; z-index: 6; width: min(22rem, calc(100vw - 32px)); margin: 0; border: 1px solid var(--control-border); border-radius: 8px; background: var(--surface); text-align: left; white-space: normal; }
.panel.tasks .task-delete-confirm .owner-inline-confirm-sentence { overflow-wrap: anywhere; }
.panel.tasks .tasks-table .task-delete-cell { text-align: center; }
.panel.tasks .tasks-table .tasks-footer-add-cell { padding-inline: 4px; }
.panel.tasks .tasks-table:has(tbody .task-delete-confirm:not([hidden])) { padding-bottom: 8rem; }
.panel.tasks .task-card-head > .task-delete-host { margin-inline-end: -8px; }
.panel.tasks .task-card-entry { grid-column: 1 / -1; }
.panel.tasks .tasks-list-item { grid-template-columns: 44px minmax(0, 1fr) 44px; }
.panel.tasks .tasks-list-item > .task-delete-host { display: contents; }
.panel.tasks .tasks-list-item > .task-delete-host > .task-delete { width: 44px; min-width: 44px; min-height: 44px; height: 100%; }
.panel.tasks .tasks-list-item > .task-delete-host > .task-delete-confirm { position: static; grid-column: 1 / -1; width: auto; margin-top: 4px; }
@media (max-width: 899px) {
  .panel.tasks .task-delete-host > .task-delete { width: 44px; min-width: 44px; min-height: 44px; }
}
/* Work Space: Outline, Stage and Board. Layout, spacing, surfaces and state only; every color and font is a shared token. */
.panel.work-space .page-header { align-items: center; }
.work-space-header-commands { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-3); }
.work-space-header-commands .owner-view-segment, .work-space-header-commands .primary-action { display: inline-flex; align-items: center; gap: var(--space-2); }
.work-space-header-commands > .owner-view-toggle > .owner-view-segment { white-space: nowrap; }
.work-space-save-slot { display: inline-flex; align-items: center; min-width: 10.5rem; min-height: 18px; justify-content: flex-end; }
/* Export (effort 409): a tertiary text command after the view switch; its panel hangs from it on the Search results surface. */
.work-space-export { position: relative; display: inline-flex; }
.panel.work-space .work-space-export-panel { position: absolute; z-index: 30; top: calc(100% + var(--space-1)); inset-inline-end: 0; display: grid; gap: var(--space-2); width: min(20rem, calc(100vw - 16px)); padding: var(--space-3); border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); text-align: start; }
.panel.work-space .work-space-export-panel[hidden] { display: none; }
.work-space-export-note { margin: 0; color: var(--muted); font: var(--text-meta); }
.panel.work-space .work-space-export-option { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); margin: 0; color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-regular); cursor: pointer; }
.panel.work-space .work-space-export-option > input { min-height: 0; margin: 0; }
.work-space-export-status, .work-space-compile-status { min-height: 18px; margin: 0; color: var(--muted); font: var(--text-meta); }
.work-space-export-status:empty, .work-space-compile-status:empty { display: block; }
.work-space-export-status.is-warn, .work-space-compile-status.is-warn { color: var(--status-warn); }
/* Compile (effort 427): the panel's Document group under a 1px divider, in the same grammar as the JSON group above it. */
.panel.work-space .work-space-export-divider { border-top: 1px solid var(--border); }
.panel.work-space .work-space-compile-format { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-height: var(--control-height); margin: 0; color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-regular); }
.panel.work-space .work-space-compile-format > select { flex: 0 1 auto; min-width: 0; max-width: 100%; margin: 0; }
.work-space-save-state { color: var(--muted); font: var(--text-meta); }
.work-space-save-state.is-warn { color: var(--status-warn); }
.work-space-workspace { --ws-pane-height: calc(100dvh - 9.5rem); display: grid; grid-template-columns: clamp(220px, 26%, 300px) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.work-space-outline-pane, .work-space-stage, .work-space-board { min-width: 0; max-height: var(--ws-pane-height); overflow: auto; overscroll-behavior: contain; }
.work-space-outline-pane { padding: var(--space-1); }
.work-space-stage { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.work-space-stage > :is(.work-space-record-head, .work-space-panels, .work-space-properties, .work-space-move-host, .work-space-confirm-mount) { max-width: 960px; }

/* Outline: a compact indented tree, the named Work Space variant of the collection row. */
.work-space-outline { display: flex; flex-direction: column; gap: 1px; }
.work-space-tree-item, .work-space-adders { --ws-indent: calc(var(--ws-level, 0) * 20px); display: flex; align-items: center; min-height: var(--row-min-block); padding-inline: var(--ws-indent) var(--space-2); border-radius: var(--radius-md); }
.work-space-tree-item { gap: 0; color: var(--ink); font: var(--text-body); cursor: pointer; user-select: none; -webkit-user-select: none; }
.work-space-tree-item:hover { background: var(--surface-quiet); }
.work-space-tree-item[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.work-space-tree-item:focus-visible { outline: var(--focus-ring); outline-offset: -2px; }
.work-space-disclosure, .work-space-gutter { display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; width: 40px; min-height: 40px; }
.work-space-disclosure { padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; }
.work-space-disclosure:hover { color: var(--ink); }
.work-space-tree-title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-space-tree-title.is-placeholder, .work-space-tree-title.is-done, .work-space-record-link.is-placeholder, .work-space-card-title.is-placeholder { color: var(--muted); }
.work-space-tree-fact { flex: 0 0 auto; margin-inline-start: var(--space-2); color: var(--muted); font: var(--text-meta); }
.work-space-overdue { color: var(--status-warn); font: var(--text-meta); font-weight: var(--font-weight-medium); }
.work-space-adders { align-items: flex-start; min-height: 36px; }
.work-space-adders > .work-space-gutter { min-height: 36px; }
.work-space-adder-list { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 0 2px; min-width: 0; }
.work-space-adder { gap: var(--space-1); min-height: 36px; padding-inline: var(--space-1) var(--space-2); color: var(--muted); font: var(--text-meta); }
.work-space-adder:hover, .work-space-adder:focus-visible { color: var(--ink); background: var(--surface-quiet); }
.work-space-tree-item.is-drop-inside { background: var(--surface-muted); box-shadow: inset 0 0 0 1px var(--control-border); }
.work-space-tree-item.is-drag-source, .work-space-link-row-item.is-drag-source { opacity: 0.45; }
.work-space-drag-label { position: fixed; z-index: 40; max-width: 240px; padding: var(--space-1) var(--space-2); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: var(--text-meta); white-space: nowrap; text-overflow: ellipsis; pointer-events: none; }
.work-space-drop-line { position: fixed; z-index: 39; height: 2px; border-radius: 1px; background: var(--primary); pointer-events: none; }
.panel.work-space.is-dragging, .panel.work-space.is-dragging * { cursor: grabbing; user-select: none; -webkit-user-select: none; }

/* Stage: record header, title in place and the reserved status line. */
.work-space-record-head { display: grid; gap: var(--space-2); margin-bottom: var(--space-4); }
.work-space-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); color: var(--muted); font: var(--text-meta); }
.work-space-crumb { min-height: 28px; padding: 0 var(--space-1); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; font: var(--text-meta); }
.work-space-crumb:hover { color: var(--ink); text-decoration: underline; }
.work-space-crumb-current { color: var(--ink); }
.work-space-title-row { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.work-space-title-field { flex: 1 1 18rem; min-width: 0; }
.work-space-title-input { width: 100%; min-height: 40px; padding: var(--space-1) 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; color: var(--ink); font: var(--text-title); font-weight: var(--font-weight-semibold); }
.work-space-title-input::placeholder { color: var(--muted); }
.work-space-title-input:focus { border-bottom-color: var(--control-border); outline: none; }
.work-space-title-input:focus-visible { outline: none; box-shadow: 0 2px 0 0 var(--ink); }
.work-space-record-head .owner-command-cluster button { display: inline-flex; align-items: center; gap: var(--space-1); }
.work-space-record-status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-height: 18px; color: var(--muted); font: var(--text-meta); }
.work-space-record-status-text.is-warn { color: var(--status-warn); }
.work-space-record-status-actions:empty { display: none; }
.work-space-record-status-actions .tertiary-action { min-height: 28px; padding-inline: var(--space-2); font: var(--text-meta); }
.work-space-move-host { margin-bottom: var(--space-3); }
.work-space-move-label { display: inline-grid; gap: var(--space-1); color: var(--muted); font: var(--text-label); }
.work-space-move-label select { min-width: 16rem; max-width: 100%; }
.work-space-panels { display: grid; gap: var(--space-4); }
.work-space-panel { background: var(--surface); }
.work-space-quiet { margin: 0 0 var(--space-2); color: var(--muted); font: var(--text-meta); }
.work-space-group-caption { margin: var(--space-3) 0 var(--space-1); color: var(--muted); font: var(--text-meta); font-weight: var(--font-weight-semibold); }
/* The Task row is a summary (effort 423): the title link, Status, the muted facts, the reserved status, marks, Delete. */
.work-space-task-row { display: grid; grid-template-columns: minmax(8rem, 1fr) 9rem minmax(0, 10rem) minmax(0, auto) 40px; gap: var(--space-2); align-items: center; min-height: var(--row-min-block); padding-block: 2px; }
.work-space-task-row + .work-space-task-row { border-top: 1px solid var(--border); }
.work-space-task-row.is-done .work-space-task-link { color: var(--muted); }
.work-space-task-link { justify-self: start; min-width: 0; max-width: 100%; text-align: start; overflow-wrap: anywhere; }
.work-space-task-facts { display: inline-flex; flex-wrap: wrap; gap: 0 var(--space-2); min-width: 0; color: var(--muted); font: var(--text-meta); }
.work-space-task-row > .owner-inline-confirm { grid-column: 1 / -1; }
.work-space-task-row .work-space-record-status { justify-content: flex-end; }
/* Effort 413: a row added from the Map panel's Entities inside writes its title in the Task row title grammar. */
.work-space-task-title, .work-space-child-title-input { min-width: 0; border-color: transparent; background: transparent; }
.work-space-task-title:hover, .work-space-child-title-input:hover { border-color: var(--border); }
.work-space-task-title:focus, .work-space-child-title-input:focus { border-color: var(--control-border); background: var(--surface); }
.work-space-child-title-input { flex: 1 1 12rem; }
.work-space-icon-delete { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-height: 40px; padding: 0; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--muted); cursor: pointer; }
.work-space-icon-delete:hover, .work-space-icon-delete:focus-visible { color: var(--danger); background: var(--danger-surface); }
.work-space-row-open { min-height: 36px; padding-inline: var(--space-2); }
.work-space-task-adder { margin-top: var(--space-2); }
.work-space-adder-field { display: flex; align-items: center; gap: var(--space-2); color: var(--muted); }
.work-space-adder-field input { flex: 1 1 auto; min-width: 0; border-style: dashed; background: transparent; }
.work-space-link-row-item { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); min-height: var(--row-min-block); }
.work-space-link-row-item + .work-space-link-row-item { border-top: 1px solid var(--border); }
.work-space-link-row-item > .owner-inline-confirm { flex-basis: 100%; }
/* Entities inside reorder (effort 410): a decorative grip in a reserved 24px gutter, 32px wide to the pointer, shown on hover and focus. */
.work-space-row-grip { display: inline-flex; flex: 0 0 32px; align-self: stretch; align-items: center; justify-content: center; margin-inline: -4px; color: var(--muted); cursor: grab; visibility: hidden; touch-action: none; user-select: none; -webkit-user-select: none; }
.work-space-link-row-item:is(:hover, :focus-within, .is-drag-source) > .work-space-row-grip { visibility: visible; }
.work-space-link-row-item:hover > .work-space-row-grip { color: var(--ink); }
@media (hover: none) { .work-space-row-grip { visibility: visible; } }
.work-space-record-link { flex: 1 1 auto; min-height: 40px; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; font: var(--text-body); text-align: start; overflow-wrap: anywhere; }
.work-space-record-link:hover { text-decoration: underline; }
.work-space-fact { color: var(--muted); font: var(--text-meta); }
.work-space-panel-adder { gap: var(--space-1); margin-top: var(--space-2); color: var(--muted); }
.work-space-properties .owner-property dd { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.work-space-entity-name { color: var(--ink); }

/* Document: a writing surface, not a form. */
.work-space-writing { width: min(100%, 760px); margin-inline: auto; }
/* Document focus (effort 424): the full-screen view of the open Document. One native modal dialog covers the viewport,
   rail and page header included; a compact bar names the document, repeats the save summary and holds X, and the one
   Stage scrolls below it with the 760px writing measure centred. The ordinary Stage, panel and phone sheet rules are
   overridden only here, so nothing changes while the view is closed. */
html.work-space-focus-open, html.work-space-focus-open body { overflow: hidden; }
.panel.work-space .work-space-focus { position: fixed; inset: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 0; overflow: hidden; border: 0; background: var(--surface); color: var(--ink); }
.panel.work-space .work-space-focus[open] { display: flex; flex-direction: column; }
.panel.work-space .work-space-focus::backdrop { background: transparent; }
.work-space-focus-bar { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-3); min-height: 52px; padding: max(var(--space-1), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) var(--space-1) max(var(--space-4), env(safe-area-inset-left)); border-bottom: 1px solid var(--border); background: var(--surface); }
.work-space-focus-title { flex: 1 1 auto; min-width: 0; margin: 0; overflow: hidden; color: var(--ink); font: var(--text-label); font-weight: var(--font-weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.work-space-focus-title.is-placeholder { color: var(--muted); }
.work-space-focus-summary { flex: 0 1 auto; min-width: 0; color: var(--muted); font: var(--text-meta); }
.work-space-focus-summary.is-warn { color: var(--status-warn); }
.work-space-focus-bar .work-space-focus-exit { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; }
body .panel.work-space .work-space-focus[open] > .work-space-stage { display: block; flex: 1 1 auto; min-height: 0; max-height: none; overflow: auto; overscroll-behavior: contain; padding-bottom: calc(var(--space-8) + env(safe-area-inset-bottom)); border: 0; border-radius: 0; }
.panel.work-space .work-space-focus > .work-space-stage > :is(.work-space-record-head, .work-space-confirm-mount) { max-width: 760px; margin-inline: auto; }
.panel.work-space .work-space-focus .work-space-focus-enter { display: none; }
.work-space-slash { position: fixed; z-index: 45; width: 240px; max-height: 320px; padding: var(--space-1); overflow: auto; border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); }
.work-space-slash-item { display: flex; align-items: center; min-height: 40px; padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--ink); cursor: pointer; font: var(--text-body); }
.work-space-slash-item[aria-selected="true"], .work-space-slash-item:hover { background: var(--surface-muted); }
.work-space-toolbar { position: fixed; z-index: 45; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); max-width: min(560px, calc(100vw - 16px)); padding: var(--space-1); border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); }
.work-space-toolbar-button { min-width: 40px; min-height: 40px; padding: 0 var(--space-2); border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); cursor: pointer; font: var(--text-button); }
.work-space-toolbar-button.is-bold { font-weight: var(--font-weight-bold); }
.work-space-toolbar-button.is-italic { font-style: italic; }
.work-space-toolbar-button[aria-pressed="true"] { background: var(--surface-muted); }
.work-space-toolbar-button:disabled { color: var(--disabled-ink); cursor: default; }
.work-space-turn-into select { min-height: 40px; }
.work-space-link-row { display: flex; flex: 1 0 100%; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding-top: var(--space-1); }
.work-space-link-label { display: flex; flex: 1 1 14rem; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--text-label); }
.work-space-link-label input { flex: 1 1 auto; min-width: 0; }
.work-space-link-error { flex-basis: 100%; margin: 0; color: var(--danger); font: var(--text-meta); }
.work-space-link-error:empty { display: none; }

/* Board: three status columns; order inside a column is computed, so cards never shift during a drag. */
.panel.work-space.is-board .work-space-workspace { align-items: stretch; }
.work-space-board { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto 1fr; gap: var(--space-3); }
.work-space-board.has-sheet { grid-template-columns: minmax(0, 1fr) 360px; }
.work-space-board.has-sheet > :not(.work-space-sheet) { grid-column: 1; }
.work-space-board-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); min-height: 40px; }
.work-space-board-title { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.work-space-scope-chip { display: inline-flex; align-items: center; gap: var(--space-1); min-height: 32px; padding-inline: var(--space-3) 0; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--ink); font: var(--text-meta); }
.work-space-chip-clear { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-height: 32px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; }
.work-space-chip-clear:hover { color: var(--ink); }
.work-space-board-note { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.work-space-columns { display: grid; grid-template-columns: repeat(3, minmax(200px, 1fr)); gap: var(--space-3); min-height: 0; overflow-x: auto; align-items: start; }
.work-space-column { display: flex; flex-direction: column; min-width: 0; max-height: calc(var(--ws-pane-height) - 4rem); padding: var(--space-2); border: 1px solid transparent; border-radius: var(--radius-lg); background: var(--surface-quiet); }
.work-space-column.is-drop-target { border-color: var(--control-border); background: var(--surface-muted); }
.work-space-column-head { display: flex; align-items: center; gap: var(--space-2); min-height: var(--row-min-block); padding-inline: var(--space-2); white-space: nowrap; }
.work-space-column-head h3 { margin: 0; font: var(--text-section); font-weight: var(--font-weight-semibold); }
.work-space-column-count { color: var(--muted); font: var(--text-meta); }
.work-space-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); min-height: 8px; overflow-y: auto; }
.work-space-card { display: flex; gap: var(--space-1); min-width: 0; min-height: var(--row-min-block); padding: var(--space-3) var(--space-3) var(--space-3) var(--space-1); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); cursor: grab; touch-action: none; }
.work-space-card:hover { background: var(--surface-quiet); }
.work-space-card.is-selected { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.work-space-card.is-lifted { border-color: var(--primary); }
.work-space-card.is-dragging { position: fixed; z-index: 40; margin: 0; pointer-events: none; box-shadow: 0 6px 16px color-mix(in srgb, var(--ink) 12%, transparent); }
.work-space-card-placeholder { border: 1px dashed var(--control-border); border-radius: var(--radius-md); }
.work-space-card-handle { display: inline-flex; flex: 0 0 40px; align-items: flex-start; justify-content: center; width: 40px; min-height: 40px; padding: 2px 0 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: grab; }
.work-space-card-handle:hover, .work-space-card-handle:focus-visible { color: var(--ink); }
.work-space-card-body { display: grid; grid-template-columns: minmax(0, 1fr); flex: 1 1 auto; gap: var(--space-1); min-width: 0; }
.work-space-card-title { display: block; width: 100%; min-height: 2lh; max-height: 2lh; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--ink); cursor: pointer; font: var(--text-body); text-align: start; }
.work-space-card-title-text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow-wrap: anywhere; }
/* One card anatomy at every width (effort 423): two reserved title lines and one 24px meta line, tall enough for the
   person marks, so every card in a row has one height. */
.work-space-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--space-2); min-width: 0; height: 24px; overflow: hidden; margin: 0; color: var(--muted); font: var(--text-meta); line-height: 24px; white-space: nowrap; }
.work-space-card-path { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* The date and Overdue keep their width and the path takes what is left. When the marks do not fit beside them they move
   to the clipped second line whole, never cut. */
.work-space-card-meta > span:not(.work-space-card-path):not(.work-space-person-marks) { flex: 0 0 auto; }
.work-space-column-adder { justify-content: flex-start; gap: var(--space-1); margin-top: var(--space-2); color: var(--muted); }
.work-space-composer { display: grid; gap: var(--space-2); margin-top: var(--space-2); padding: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
/* The one task composer (effort 423): Title, then the Task form's fields in the compact property grid, then a secondary
   Add, a tertiary Cancel and one reserved status line. In a Board column each label sits over its control. */
.work-space-composer-title { width: 100%; }
.work-space-composer-fields { margin: 0; }
.work-space-composer select, .work-space-composer input { max-width: 100%; }
.work-space-column .work-space-composer .owner-property { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
/* While a column holds the composer the column scrolls as a whole, so its cards keep their height above it. */
.work-space-column:has(> .work-space-composer) { overflow-y: auto; overscroll-behavior: contain; }
.work-space-column:has(> .work-space-composer) > .work-space-cards { flex-shrink: 0; overflow: visible; }
.work-space-composer-commands { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.work-space-composer-status { min-height: 18px; margin: 0; color: var(--muted); font: var(--text-meta); }
.work-space-composer-status.is-warn { color: var(--status-warn); }
.work-space-no-people { margin: 0; }
.work-space-sheet { grid-column: 2; grid-row: 1 / -1; align-self: start; max-height: calc(var(--ws-pane-height) - 1rem); padding: var(--space-4); overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.work-space-sheet .work-space-title-input { font: var(--text-work-title); font-weight: var(--font-weight-semibold); }

/* People and task ownership (effort 407): person marks, the Board Person filter, the People view and the title-field
   picker. Words, initials and the shared tokens only: no colour per person, no avatar, no icon in a mark. */
.work-space-person-marks { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; }
.work-space-person-marks:empty { display: none; }
.work-space-person-mark { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; background: var(--surface-muted); color: var(--ink); font: 600 11px/1 var(--font-sans); white-space: nowrap; }
.work-space-person-mark.is-owner { box-shadow: 0 0 0 1px var(--control-border); }
.work-space-person-more { color: var(--muted); font: 12px/16px var(--font-sans); }
.work-space-tree-item > .work-space-person-marks { margin-inline-start: var(--space-2); }
.work-space-tree-item--task > .work-space-tree-title { min-width: 4.5rem; }
.work-space-tree-item--task > .work-space-tree-fact { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-space-card-meta > .work-space-person-marks { margin-inline-start: auto; }
.work-space-task-row:has(> .work-space-person-marks:not(:empty)) { grid-template-columns: minmax(8rem, 1fr) 9rem minmax(0, 10rem) minmax(0, auto) auto 40px; }
.work-space-person-filter { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--text-label); }
.work-space-person-filter select { min-height: 32px; }
.work-space-contributors { min-width: 0; }
.panel.work-space .work-space-properties .owner-choice-group { max-width: 28rem; }
.panel.work-space.is-people .work-space-workspace { grid-template-columns: minmax(0, 1fr); }
.panel.work-space.is-people .work-space-outline-pane { display: none; }
.work-space-people { min-width: 0; max-height: var(--ws-pane-height); overflow: auto; overscroll-behavior: contain; }
.work-space-people-surface { max-width: 760px; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.work-space-people-title { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.work-space-people-count { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); }
.work-space-person-adder { margin: var(--space-3) 0 var(--space-2); }
.work-space-people-list { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(8rem, 1fr) auto auto minmax(0, auto) 40px; column-gap: var(--space-2); }
.work-space-people-list > .work-space-group-caption { grid-column: 1 / -1; }
.work-space-person-row { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: center; min-height: 44px; padding-block: 2px; }
.work-space-person-state { display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-2); }
.work-space-person-work { justify-self: start; }
.work-space-person-row + .work-space-person-row { border-top: 1px solid var(--border); }
.work-space-person-row.is-selected { box-shadow: inset 2px 0 0 var(--selection-border); }
.work-space-person-row > input { min-width: 0; }
.work-space-person-row.is-inactive .work-space-person-name { color: var(--muted); }
.work-space-person-active { display: inline-flex; align-items: center; gap: var(--space-1); min-height: 40px; color: var(--ink); font: var(--text-label); }
.work-space-person-fixed, .work-space-person-work { color: var(--muted); font: var(--text-meta); }
.work-space-person-row .work-space-record-status { justify-content: flex-end; }
.work-space-person-row > .owner-inline-confirm, .work-space-person-note { grid-column: 1 / -1; }
.work-space-person-note { margin: 0; color: var(--status-warn); font: var(--text-meta); }
/* Outline view (effort 414): the Entity tree as one document on the People surface. Numbers, then filled, hollow and square
   bullets by depth as in the editor's lists, markers in ink, borderless titles and no row chrome. */
.panel.work-space.is-outline .work-space-workspace { grid-template-columns: minmax(0, 1fr); }
.panel.work-space.is-outline .work-space-outline-pane { display: none; }
.work-space-outline-view { min-width: 0; max-height: var(--ws-pane-height); overflow: auto; overscroll-behavior: contain; }
.work-space-outline-view-surface { max-width: 760px; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.work-space-outline-view-surface:focus { outline: none; }
.work-space-outline-view-surface:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.work-space-outline-view-title { margin: 0 0 var(--space-3); font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.work-space-outline-doc, .work-space-outline-doc ul { margin: 0; padding-inline-start: 1.5em; color: var(--ink); font: var(--text-reader); }
.work-space-outline-doc { list-style: decimal; }
.work-space-outline-doc ul[data-marker="disc"] { list-style: disc; }
.work-space-outline-doc ul[data-marker="circle"] { list-style: circle; }
.work-space-outline-doc ul[data-marker="square"] { list-style: square; }
.work-space-outline-doc > li::marker { font-weight: var(--font-weight-semibold); }
.work-space-outline-title { width: 100%; min-width: 0; min-height: 32px; margin: 0; padding: 3px var(--space-1); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink); font: inherit; font-weight: var(--font-weight-regular); vertical-align: baseline; }
.work-space-outline-doc > li > .work-space-outline-title { font-weight: var(--font-weight-semibold); }
.work-space-outline-title::placeholder { color: var(--muted); }
.work-space-outline-title:focus, .work-space-outline-title:focus-visible { outline: none; background: var(--surface-muted); }
/* Show documents (effort 417): the heading row's native box beside the title (the open panel covers the surface's end below
   about 1,440px, so the box never sits there), Document lines with the 16px file-text mark hung where a marker sits so the
   title starts with its sibling titles, a --primary title, and the Document panel over the workspace's end. */
.work-space-outline-view-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-5); margin: 0 0 var(--space-3); }
.work-space-outline-view-head > .work-space-outline-view-title { margin: 0; }
.work-space-outline-view-show { display: inline-flex; flex: 0 0 auto; align-items: center; gap: var(--space-2); color: var(--muted); cursor: pointer; font: var(--text-meta); white-space: nowrap; }
.work-space-outline-view-show > input { width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; }
.work-space-outline-doc-line { list-style: none; }
.work-space-outline-doc-button { display: flex; align-items: center; gap: var(--space-2); width: calc(100% + 16px + var(--space-2)); min-width: 0; min-height: 32px; margin: 0; margin-inline-start: calc(-16px - var(--space-2)); padding: 3px var(--space-1); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--ink); cursor: pointer; font: inherit; font-weight: var(--font-weight-regular); text-align: start; }
.work-space-outline-doc-button > svg.owner-icon { flex: 0 0 auto; color: var(--muted); }
.work-space-outline-doc-title { min-width: 0; overflow: hidden; color: var(--primary); text-overflow: ellipsis; white-space: nowrap; }
.work-space-outline-doc-title.is-placeholder { color: var(--muted); }
.work-space-outline-doc-button:hover .work-space-outline-doc-title { text-decoration: underline; }
.work-space-outline-doc-button[aria-current="true"] { background: var(--surface-muted); }
.panel.work-space.is-outline .work-space-workspace { position: relative; }
.panel.work-space .work-space-outline-panel { position: absolute; z-index: 3; top: 0; inset-inline-end: 0; width: clamp(360px, calc(100% - 760px - var(--space-4)), 560px); height: var(--ws-pane-height); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.panel.work-space .work-space-outline-panel > .work-space-stage { max-height: none; overflow: visible; border: 0; border-radius: 0; }
@media (min-width: 900px) {
  .panel.work-space .work-space-outline-panel { bottom: 0; height: auto; }
}
@media (max-width: 767px) {
  body.work-space-sheet-open .panel.work-space.is-outline .work-space-outline-view { display: none; }
  .work-space-outline-doc-button, .work-space-outline-view-show { min-height: var(--touch-control-height); }
}
@media (forced-colors: active) {
  .work-space-outline-doc-button[aria-current="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
}
.work-space-mention { position: fixed; z-index: 45; width: min(28rem, calc(100vw - 16px)); max-height: 320px; padding: var(--space-1); overflow: auto; border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); }
.work-space-mention-tabs { display: flex; gap: 2px; margin-bottom: var(--space-1); }
.work-space-mention-tab { min-height: 32px; padding: 0 var(--space-2); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; font: var(--text-meta); white-space: nowrap; }
.work-space-mention-tab[aria-selected="true"] { background: var(--surface-muted); color: var(--ink); font-weight: var(--font-weight-semibold); }
.work-space-mention-option { display: flex; align-items: baseline; gap: var(--space-2); min-height: 40px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); color: var(--ink); cursor: pointer; font: var(--text-body); }
.work-space-mention-option[aria-selected="true"], .work-space-mention-option:hover { background: var(--surface-muted); }
.work-space-mention-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-space-mention-fact { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--muted); font: var(--text-meta); text-align: end; text-overflow: ellipsis; white-space: nowrap; }
.work-space-mention-empty { margin: 0; padding: var(--space-2) var(--space-3); color: var(--muted); font: var(--text-meta); }
@media (forced-colors: active) {
  .work-space-person-mark { border: 1px solid CanvasText; }
  .work-space-mention-tab[aria-selected="true"], .work-space-mention-option[aria-selected="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
}

/* Map: the whole tree as a two-sided mind map. HTML nodes over one canvas of edges; the camera is the only motion. */
.panel.work-space.is-map .work-space-workspace { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.panel.work-space.is-map .work-space-outline-pane { display: none; }
.panel.work-space .work-space-map { position: relative; height: var(--ws-pane-height); min-height: 420px; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.panel.work-space .work-space-map-viewport { position: absolute; inset: 0; overflow: hidden; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.panel.work-space .work-space-map-viewport.is-panning { cursor: grabbing; }
.panel.work-space .work-space-map-edges { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.panel.work-space .work-space-map-world { position: absolute; top: 0; left: 0; width: 0; height: 0; transform-origin: 0 0; }
.panel.work-space .work-space-map-layer, .panel.work-space .work-space-map-toggles { position: absolute; top: 0; left: 0; }
.panel.work-space .work-space-map-node { position: absolute; top: 0; left: 0; box-sizing: border-box; width: 220px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); font: var(--text-body); cursor: pointer; }
.panel.work-space .work-space-map-node:hover { background: var(--surface-quiet); }
.panel.work-space .work-space-map-node:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.panel.work-space .work-space-map-node.is-selected { box-shadow: inset 0 0 0 2px var(--primary); }
.panel.work-space .work-space-map-node.is-dimmed { opacity: 0.55; }
.panel.work-space .work-space-map-node.is-measuring { visibility: hidden; }
.panel.work-space .work-space-map-node--root { width: auto; max-width: 280px; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--sidebar); color: var(--sidebar-ink); white-space: nowrap; }
.panel.work-space .work-space-map-node--root:hover { background: var(--sidebar); }
.panel.work-space .work-space-map-node--root .work-space-map-title { font: 16px/24px var(--font-sans); font-weight: var(--font-weight-semibold); overflow: hidden; text-overflow: ellipsis; }
.panel.work-space .work-space-map-node--entity { width: 240px; padding: 12px 16px; border-radius: var(--radius-lg); }
.panel.work-space .work-space-map-node--document { clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
.panel.work-space .work-space-map-node--document::before { content: ""; position: absolute; top: -1px; right: -1px; width: 12px; height: 12px; box-sizing: border-box; border-bottom: 1px solid var(--border); border-left: 1px solid var(--border); border-bottom-left-radius: 2px; background: var(--surface-quiet); }
.panel.work-space .work-space-map-node--document:focus-visible { outline-offset: -4px; }
.panel.work-space .work-space-map-head { display: flex; align-items: flex-start; gap: var(--space-2); }
.panel.work-space .work-space-map-title { display: -webkit-box; flex: 1 1 auto; min-width: 0; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.panel.work-space .work-space-map-node--entity .work-space-map-title { font-weight: var(--font-weight-semibold); -webkit-line-clamp: 2; line-clamp: 2; }
.panel.work-space .work-space-map-title.is-placeholder, .panel.work-space .work-space-map-node.is-done .work-space-map-title { color: var(--muted); }
.panel.work-space .work-space-map-meta { display: block; margin-top: 2px; color: var(--muted); font: var(--text-meta); overflow-wrap: anywhere; }
.panel.work-space .work-space-map-layer.is-far .work-space-map-meta { visibility: hidden; }
.panel.work-space .work-space-map-status { flex: 0 0 12px; box-sizing: border-box; width: 12px; height: 12px; margin-top: 4.5px; padding: 1.5px; border: 1.5px solid var(--control-border); border-radius: 50%; }
.panel.work-space .work-space-map-status.is-in-progress::after { content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--control-border); }
.panel.work-space .work-space-map-status.is-done { background: var(--control-border); }
.panel.work-space .work-space-map-toggle { position: absolute; top: 0; left: 0; display: grid; place-items: center; box-sizing: border-box; width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; }
.panel.work-space .work-space-map-toggle:hover { background: var(--surface-quiet); }
.panel.work-space .work-space-map-toggle:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.panel.work-space .work-space-map-controls { position: absolute; z-index: 2; bottom: var(--space-4); inset-inline-end: var(--space-4); }
.panel.work-space .work-space-map.has-panel .work-space-map-controls { inset-inline-end: calc(clamp(360px, 36%, 560px) + var(--space-4)); }
.panel.work-space .work-space-map-controls .owner-command-cluster { flex-wrap: nowrap; align-items: center; gap: 2px; padding: 2px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.panel.work-space .work-space-map-controls button { min-height: 40px; padding-inline: var(--space-3); white-space: nowrap; }
.panel.work-space .work-space-map-controls .work-space-map-icon-command { display: inline-flex; align-items: center; justify-content: center; width: 40px; padding: 0; }
.panel.work-space .work-space-map-zoom { display: inline-block; width: 3.5rem; color: var(--muted); font: var(--text-meta); text-align: center; font-variant-numeric: tabular-nums; }
.panel.work-space .work-space-map-legend { position: absolute; z-index: 1; bottom: var(--space-4); inset-inline-start: var(--space-4); display: grid; gap: 0; min-inline-size: 0; margin: 0; padding: var(--space-1) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--muted); font: var(--text-meta); }
.panel.work-space .work-space-map-legend-row { display: flex; align-items: center; gap: var(--space-2); min-height: 28px; cursor: pointer; }
.panel.work-space .work-space-map-legend-row > input { width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; }
.panel.work-space .work-space-map-legend-row:has(> input:disabled) { cursor: default; }
.panel.work-space .work-space-map-swatch { box-sizing: border-box; width: 12px; height: 12px; border: 1.5px solid var(--control-border); }
.panel.work-space .work-space-map-swatch--entity { border-radius: 3px; }
.panel.work-space .work-space-map-swatch--task { border-radius: 50%; }
.panel.work-space .work-space-map-swatch--document { clip-path: polygon(0 0, 65% 0, 100% 35%, 100% 100%, 0 100%); border-radius: 1px; }
.panel.work-space .work-space-map-panel { position: absolute; z-index: 3; top: 0; bottom: 0; inset-inline-end: 0; width: clamp(360px, 36%, 560px); overflow: auto; overscroll-behavior: contain; border-inline-start: 1px solid var(--border); background: var(--surface); }
.panel.work-space .work-space-map-panel > .work-space-stage { max-height: none; overflow: visible; border: 0; border-radius: 0; }
.panel.work-space .work-space-map-panel .work-space-task-row { grid-template-columns: minmax(7.5rem, 1fr) minmax(0, 1fr) auto 40px; }
.panel.work-space .work-space-map-panel .work-space-task-row > .work-space-task-link { grid-column: 1 / -1; }
.panel.work-space .work-space-map-panel .work-space-task-row > .work-space-record-status { grid-row: 3; grid-column: 1 / -1; justify-content: flex-start; }
/* Graph (effort 426): the second owner-approved atmosphere surface after Galaxy. The stage is a deep field in light and
   dark Display alike, because glow and depth do not read on the page colour; the four kind colours and their glow steps
   are scoped stage tokens, never :root tokens. This sheet declares no motion: the only movement is the engine's own frame
   loop and camera flights, which stop when the view is left, the tab is hidden, the stage is offscreen, and under reduced
   motion. The details panel keeps the page surface and the shared Stage. */
.panel.work-space.is-graph .work-space-workspace { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.panel.work-space.is-graph .work-space-outline-pane { display: none; }
.panel.work-space .work-space-graph { position: relative; height: var(--ws-pane-height); min-height: 420px; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.panel.work-space .work-space-graph > .work-space-graph-missing { margin: var(--space-4); }
.panel.work-space .work-space-graph-stage {
  --ws-graph-field: #070b16; --ws-graph-ink: #e6ecf7; --ws-graph-muted: #93a0b8; --ws-graph-edge: #8fa3c7; --ws-graph-ring: #f2f5fb;
  --ws-graph-entity: #b8832a; --ws-graph-document: #2b86c4; --ws-graph-task: #35a052; --ws-graph-person: #c2437f;
  --ws-graph-entity-glow: #e0ac55; --ws-graph-document-glow: #62b2ea; --ws-graph-task-glow: #66c983; --ws-graph-person-glow: #e278aa;
  --ws-graph-chrome: #101a2eeb; --ws-graph-chrome-line: #6a7c9a55;
  position: absolute; inset: 0; overflow: hidden; color: var(--ws-graph-ink); background: radial-gradient(ellipse at 50% 45%, #14203a 0%, var(--ws-graph-field) 68%);
}
.panel.work-space .work-space-graph.has-panel .work-space-graph-stage { inset-inline-end: clamp(360px, 36%, 560px); }
.panel.work-space .work-space-graph-canvas { position: absolute; inset: 0; overflow: hidden; touch-action: none; }
.panel.work-space .work-space-graph-canvas:focus-visible { outline: 2px solid var(--ws-graph-ring); outline-offset: -4px; }
.panel.work-space .work-space-graph-engine, .panel.work-space .work-space-graph-engine > * { position: absolute; inset: 0; }
.panel.work-space .work-space-graph-canvas.is-pointing { cursor: pointer; }
.panel.work-space .work-space-graph-top { position: absolute; z-index: 2; top: var(--space-3); inset-inline: var(--space-3); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); pointer-events: none; }
.panel.work-space .work-space-graph-top > * { pointer-events: auto; }
.panel.work-space .work-space-graph-mode { flex: 0 0 auto; width: auto; padding: 2px; border: 1px solid var(--ws-graph-chrome-line); background: var(--ws-graph-chrome); }
.panel.work-space .work-space-graph-mode > .owner-view-segment { min-width: 3rem; color: var(--ws-graph-muted); }
.panel.work-space .work-space-graph-mode > .owner-view-segment[aria-checked="true"] { background: #24324f; color: var(--ws-graph-ink); box-shadow: 0 0 0 1px var(--ws-graph-chrome-line); }
.panel.work-space .work-space-graph-mode > .owner-view-segment:not([aria-checked="true"]):hover { background: #1a2640; }
.panel.work-space .work-space-graph-mode > .owner-view-segment:disabled { opacity: 0.45; cursor: not-allowed; }
.panel.work-space .work-space-graph-mode > .owner-view-segment:focus-visible { outline: 2px solid var(--ws-graph-ring); outline-offset: 2px; }
.panel.work-space .work-space-graph-facts { margin: 0; color: var(--ws-graph-muted); font: var(--text-meta); font-variant-numeric: tabular-nums; }
.panel.work-space .work-space-graph-note { position: absolute; z-index: 2; top: 50%; inset-inline: var(--space-4); margin: 0; color: var(--ws-graph-muted); font: var(--text-body); text-align: center; pointer-events: none; }
.panel.work-space .work-space-graph-note:empty { display: none; }
.panel.work-space .work-space-graph-stage.is-3d .work-space-graph-note:not(:empty), .panel.work-space .work-space-graph-stage.is-2d .work-space-graph-note:not(:empty) { top: auto; bottom: calc(var(--space-4) + 3rem); }
.panel.work-space .work-space-graph-note button { pointer-events: auto; }
.panel.work-space .work-space-graph-controls { position: absolute; z-index: 2; bottom: var(--space-4); inset-inline-end: var(--space-4); }
.panel.work-space .work-space-graph-controls .owner-command-cluster { padding: 2px; border: 1px solid var(--ws-graph-chrome-line); border-radius: var(--radius-md); background: var(--ws-graph-chrome); }
.panel.work-space .work-space-graph-stage .tertiary-action { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 40px; color: var(--ws-graph-ink); background: transparent; }
.panel.work-space .work-space-graph-stage .tertiary-action:hover { background: #1a2640; }
.panel.work-space .work-space-graph-stage .tertiary-action:focus-visible { outline: 2px solid var(--ws-graph-ring); outline-offset: 2px; }
.panel.work-space .work-space-graph-legend { position: absolute; z-index: 2; bottom: var(--space-4); inset-inline-start: var(--space-4); display: grid; gap: 0; min-inline-size: 0; margin: 0; padding: var(--space-1) var(--space-3); border: 1px solid var(--ws-graph-chrome-line); border-radius: var(--radius-md); background: var(--ws-graph-chrome); color: var(--ws-graph-ink); font: var(--text-meta); }
.panel.work-space .work-space-graph-legend-row { display: flex; align-items: center; gap: var(--space-2); min-height: 28px; cursor: pointer; }
.panel.work-space .work-space-graph-legend-row > input { width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; accent-color: var(--ws-graph-document); }
.panel.work-space .work-space-graph-legend-row:has(> input:disabled) { cursor: default; }
.panel.work-space .work-space-graph-swatch { box-sizing: border-box; width: 12px; height: 12px; }
.panel.work-space .work-space-graph-swatch--entity { border-radius: 50%; background: var(--ws-graph-entity); }
.panel.work-space .work-space-graph-swatch--document { width: 10px; background: var(--ws-graph-document); }
.panel.work-space .work-space-graph-swatch--task { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); background: var(--ws-graph-task); }
.panel.work-space .work-space-graph-swatch--person { clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%); background: var(--ws-graph-person); }
.panel.work-space .work-space-graph-swatch--references { height: 2px; border-radius: 1px; background: var(--ws-graph-document-glow); }
.panel.work-space .work-space-graph-panel { position: absolute; z-index: 3; top: 0; bottom: 0; inset-inline-end: 0; display: flex; flex-direction: column; width: clamp(360px, 36%, 560px); overflow: auto; overscroll-behavior: contain; border-inline-start: 1px solid var(--border); background: var(--surface); }
.panel.work-space .work-space-graph-panel[hidden] { display: none; }
.panel.work-space .work-space-graph-panel-head { display: flex; justify-content: flex-end; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--border); }
.panel.work-space .work-space-graph-stage-host > .work-space-stage { max-height: none; overflow: visible; border: 0; border-radius: 0; }
.panel.work-space .work-space-graph-stage-host .work-space-task-row { grid-template-columns: minmax(7.5rem, 1fr) minmax(0, 1fr) auto 40px; }
.panel.work-space .work-space-graph-stage-host .work-space-task-row > .work-space-task-link { grid-column: 1 / -1; }
.panel.work-space .work-space-graph-stage-host .work-space-task-row > .work-space-record-status { grid-row: 3; grid-column: 1 / -1; justify-content: flex-start; }
.panel.work-space .work-space-graph-person { padding: var(--space-4); }
.panel.work-space .work-space-graph-person[hidden], .panel.work-space .work-space-graph-stage-host[hidden] { display: none; }
.panel.work-space .work-space-graph-person-name { margin: 0 0 var(--space-3); font: var(--text-title); overflow-wrap: anywhere; }
.panel.work-space .work-space-graph-connections { margin: 0 var(--space-4) var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.panel.work-space .work-space-graph-connections > summary { display: flex; align-items: center; gap: var(--space-2); min-height: 40px; cursor: pointer; font: var(--text-body); font-weight: var(--font-weight-semibold); }
.panel.work-space .work-space-graph-connection-list { display: grid; gap: 2px; }
.panel.work-space .work-space-graph-connection-group { margin: var(--space-3) 0 var(--space-1); color: var(--muted); font: var(--text-meta); font-weight: var(--font-weight-medium); }
.panel.work-space .work-space-graph-connection .list-row-name.is-placeholder { color: var(--muted); }
.panel.work-space .work-space-graph-connection-empty { margin: var(--space-2) 0; color: var(--muted); font: var(--text-meta); }
@media (max-width: 899px) {
  .panel.work-space .work-space-graph-legend { bottom: auto; top: calc(var(--space-3) + 3rem); inset-inline-start: var(--space-3); }
}
@media (min-width: 900px) {
  .panel.work-space .work-space-graph { height: 100%; min-height: 0; }
}
@media (max-width: 767px) {
  /* Phone: the stage fills the width below the header with the legend as one 44px row; a focused record opens in the
     Back sheet, a focused person's card rises over the lower half of the stage. */
  .panel.work-space .work-space-graph { height: max(360px, calc(100dvh - 15rem)); min-height: 360px; }
  .panel.work-space .work-space-graph.has-panel .work-space-graph-stage { inset-inline-end: 0; }
  .panel.work-space .work-space-graph-legend { top: auto; bottom: 0; inset-inline: 0; grid-auto-flow: column; justify-content: start; gap: var(--space-3); overflow-x: auto; padding-block: 0; border-width: 1px 0 0; border-radius: 0; }
  .panel.work-space .work-space-graph-legend-row { min-height: 44px; white-space: nowrap; }
  .panel.work-space .work-space-graph-controls { bottom: calc(44px + var(--space-2)); inset-inline-end: var(--space-2); }
  .panel.work-space .work-space-graph-mode > .owner-view-segment { min-height: var(--touch-control-height); }
  .panel.work-space .work-space-graph-panel { top: auto; inset-inline: 0; max-height: 55%; width: auto; border-inline-start: 0; border-top: 1px solid var(--border); }
}
@media (min-width: 768px) {
  /* Six view segments since the Graph (effort 426): tighter segments keep the header's rows where five left them. */
  .work-space-header-commands > .owner-view-toggle > .owner-view-segment { gap: var(--space-1); padding-inline: var(--space-2); }
}
@media (forced-colors: active) {
  .panel.work-space .work-space-graph-stage { background: Canvas; color: CanvasText; }
  .panel.work-space .work-space-graph-mode, .panel.work-space .work-space-graph-legend, .panel.work-space .work-space-graph-controls .owner-command-cluster { background: Canvas; border-color: CanvasText; }
  .panel.work-space .work-space-graph-swatch { background: CanvasText; }
  .panel.work-space .work-space-graph-mode > .owner-view-segment[aria-checked="true"] { outline: 2px solid Highlight; }
}
/* Search: one toolbar field under the header and a find-and-open results panel anchored to it. Surfaces and state only; no motion, no shadow. */
.panel.work-space .work-space-search-bar { position: relative; display: flex; flex-wrap: nowrap; align-items: end; margin: var(--space-3) 0; }
.panel.work-space .work-space-search-bar > .owner-filter-primary { flex: 1 1 24rem; max-width: 40rem; font-weight: var(--font-weight-regular); }
.panel.work-space .work-space-search-bar > .tertiary-action { flex: 0 0 auto; }
.work-space-search-control { position: relative; display: block; min-width: 0; }
.work-space-search-control > .owner-icon { position: absolute; top: 50%; left: 11px; transform: translateY(-50%); width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.work-space-search-control > input { width: 100%; min-width: 0; padding-left: 36px; border-color: var(--border); border-radius: var(--radius-sm); }
.panel.work-space .work-space-search-results { position: absolute; z-index: 30; top: calc(100% + var(--space-1)); left: 0; width: min(44rem, 100%); max-height: min(60dvh, 520px); padding-bottom: var(--space-1); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--control-border); border-radius: var(--radius-md); background: var(--surface); }
.panel.work-space .work-space-search-results[hidden], .work-space-search-footer[hidden] { display: none; }
.work-space-search-status { margin: 0; padding: var(--space-2) var(--space-3); color: var(--muted); font: var(--text-meta); }
.work-space-search-status.is-warn { color: var(--status-warn); }
.work-space-search-retry { min-height: 28px; padding-inline: var(--space-2); font: var(--text-meta); }
.work-space-search-group + .work-space-search-group { margin-top: var(--space-1); border-top: 1px solid var(--border); }
.work-space-search-group-head { padding: var(--space-2) var(--space-3) var(--space-1); color: var(--ink); font: var(--text-meta); font-weight: var(--font-weight-semibold); }
.work-space-search-option { display: grid; gap: 2px; min-height: 44px; padding: 8px 12px; color: var(--ink); cursor: pointer; }
.work-space-search-option:hover { background: var(--surface-quiet); }
.work-space-search-option[aria-selected="true"] { background: var(--surface-muted); box-shadow: inset 2px 0 0 var(--selection-border); }
.work-space-search-option .work-space-search-title { color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-regular); }
.work-space-search-option .work-space-search-title.is-placeholder { color: var(--muted); }
.work-space-search-snippet { display: -webkit-box; overflow: hidden; color: var(--muted); font: var(--text-meta); -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow-wrap: anywhere; }
.work-space-search-option mark { padding: 0 1px; border-radius: 2px; background: var(--surface-muted); color: var(--ink); font-weight: var(--font-weight-semibold); }
.work-space-search-option[aria-selected="true"] mark { background: var(--surface); }
.work-space-search-footer { margin: var(--space-1) 0 0; padding: var(--space-2) var(--space-3) var(--space-1); border-top: 1px solid var(--border); color: var(--muted); font: var(--text-meta); }
.panel.work-space ::highlight(work-space-search) { background-color: var(--surface-muted); color: var(--ink); }
@media (forced-colors: active) {
  .work-space-search-option mark, .panel.work-space ::highlight(work-space-search) { background-color: Mark; color: MarkText; }
  .work-space-search-option[aria-selected="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
}
@media (max-width: 767px) {
  .panel.work-space .work-space-search-bar { display: grid; grid-template-columns: minmax(0, 1fr); margin: var(--space-2) 0 var(--space-3); }
  .panel.work-space .work-space-search-bar > .owner-filter-primary { grid-column: 1 / -1; max-width: none; }
  .work-space-search-control > input { min-height: var(--touch-control-height); }
  .panel.work-space .work-space-search-results { width: 100%; }
  body.work-space-sheet-open .panel.work-space .work-space-search-bar { display: none; }
}
@media (max-width: 899px) {
  .panel.work-space .work-space-map-legend { bottom: auto; top: var(--space-2); inset-inline-start: var(--space-2); }
}
@media (min-width: 768px) and (max-width: 899px) {
  /* Three view segments: the title keeps its width and the commands wrap beside it. */
  .panel.work-space .page-header { grid-template-columns: auto minmax(0, 1fr); }
  /* The page scrolls in this band; the panes give up the search row's measured height (about 5.5rem) to keep their old reach. */
  .panel.work-space .work-space-workspace { --ws-pane-height: calc(100dvh - 15rem); }
}
@media (min-width: 900px) {
  /* The frame clips here, so the grid fills what it leaves below the header and the search row and every pane sizes
     from the grid, whatever the header's height (effort 408). --ws-pane-height stays only below 900px. */
  .panel.work-space > .work-space-workspace { flex: 1 1 auto; min-height: 0; grid-template-rows: minmax(0, 1fr); }
  .work-space-outline-pane, .work-space-stage, .work-space-board, .work-space-people, .work-space-outline-view { max-height: 100%; }
  .work-space-columns { grid-template-rows: minmax(0, 1fr); }
  .work-space-column, .work-space-sheet { max-height: 100%; }
  .panel.work-space .work-space-map { height: 100%; min-height: 0; }
  /* An open Board sheet sets the Outline pane aside and the columns narrow to 180px before they scroll (effort 423). */
  .panel.work-space.is-board.has-board-sheet .work-space-workspace { grid-template-columns: minmax(0, 1fr); }
  .panel.work-space.is-board.has-board-sheet .work-space-outline-pane { display: none; }
  .work-space-board.has-sheet .work-space-columns { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (forced-colors: active) {
  .work-space-outline-title:focus { outline: 2px solid Highlight; outline-offset: 0; }
  .panel.work-space .work-space-map-node.is-dimmed { opacity: 1; }
  .panel.work-space .work-space-map-node.is-path { outline: 2px solid Highlight; outline-offset: 2px; }
  .panel.work-space .work-space-map-node.is-selected { outline: 3px solid Highlight; }
}

@media (min-width: 768px) and (max-width: 899px) {
  /* Five, and since the Graph six, view segments do not fit beside the title here: the switch takes its own row, as on phones (effort 414). */
  .panel.work-space .page-header { grid-template-columns: minmax(0, 1fr); }
  .work-space-header-commands { justify-content: flex-start; }
  .work-space-header-commands > .owner-view-toggle { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .panel.work-space .page-header { grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-3); }
  .work-space-header-commands { justify-content: flex-start; }
  .work-space-header-commands > .owner-view-toggle { flex: 1 1 auto; }
  .work-space-header-commands > .owner-view-toggle > .owner-view-segment { flex: 1 1 0; justify-content: center; }
  .work-space-header-commands .owner-view-segment, .work-space-header-commands .primary-action { min-height: var(--touch-control-height); }
  .work-space-save-slot { order: 3; flex-basis: 100%; justify-content: flex-start; }
  /* Export starts the commands' second row on a phone, so its panel hangs from its start edge. */
  .panel.work-space .work-space-export-panel { inset-inline-start: 0; inset-inline-end: auto; }
  .panel.work-space .work-space-export-option, .panel.work-space .work-space-compile-format { min-height: var(--touch-control-height); }
  .work-space-workspace { --ws-pane-height: none; grid-template-columns: minmax(0, 1fr); }
  .work-space-outline-pane, .work-space-stage, .work-space-board { max-height: none; overflow: visible; }
  .work-space-stage { padding: var(--space-4); }
  .panel.work-space:not(.is-board):not(.is-empty-space) .work-space-stage { display: none; }
  body.work-space-sheet-open .panel.work-space .work-space-outline-pane { display: none; }
  body.work-space-sheet-open .panel.work-space:not(.is-board) .work-space-stage { display: block; }
  .panel.work-space.is-board .work-space-outline-pane { display: none; }
  /* Six view segments: the switch takes its own row under the title (effort 407; Outline since effort 414; Graph since effort 426). */
  .work-space-header-commands > .owner-view-toggle { flex-basis: 100%; }
  .work-space-header-commands > .owner-view-toggle > .owner-view-segment { gap: var(--space-1); padding-inline: var(--space-2); white-space: nowrap; }
  .work-space-person-mark { width: 24px; height: 24px; }
  .work-space-people { max-height: none; overflow: visible; }
  .work-space-people-surface { padding: var(--space-4); }
  .work-space-people-list { display: block; }
  .work-space-outline-view { max-height: none; overflow: visible; }
  .work-space-outline-view-surface { padding: var(--space-4); }
  .work-space-outline-title { min-height: var(--touch-control-height); }
  .work-space-person-row { grid-template-columns: minmax(0, 1fr) 44px; row-gap: var(--space-1); }
  .work-space-person-row > :not(.work-space-icon-delete):not(.work-space-gutter) { grid-column: 1; }
  .work-space-person-row > :is(.work-space-icon-delete, .work-space-gutter) { grid-column: 2; grid-row: 1; }
  .work-space-person-row > input { min-height: var(--touch-control-height); }
  .work-space-task-row:has(> .work-space-person-marks:not(:empty)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
  .work-space-person-filter select { min-height: var(--touch-control-height); }
  .panel.work-space .detail-mobile-bar { display: flex; margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4); }
  .panel.work-space .detail-mobile-bar .mobile-back { display: inline-flex; gap: var(--space-1); min-height: var(--touch-control-height); }
  /* In the full-screen view the focus bar stays on top, so Back scrolls with the Stage and the format bar sticks under the
     focus bar instead of the shell header (effort 424). */
  .panel.work-space .work-space-focus .detail-mobile-bar { position: static; }
  .panel.work-space .work-space-focus .work-space-editor .work-space-format-bar { top: calc(-1 * var(--space-4)); }
  .work-space-tree-item, .work-space-adders { min-height: var(--touch-control-height); }
  .work-space-disclosure, .work-space-gutter, .work-space-icon-delete, .work-space-card-handle, .work-space-chip-clear { flex-basis: 44px; width: 44px; min-height: 44px; }
  .work-space-task-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
  .work-space-task-row > .work-space-task-link { grid-column: 1 / -1; }
  .work-space-composer .owner-property { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .work-space-composer :is(input, select), .work-space-composer-commands > button { min-height: var(--touch-control-height); }
  .work-space-task-row > .work-space-record-status { grid-column: 1 / -2; justify-content: flex-start; }
  .work-space-board, .work-space-board.has-sheet { grid-template-columns: minmax(0, 1fr); }
  /* Columns (effort 423): the three columns side by side in one sideways scroller, 85% wide so the next one peeks in,
     snapping to a column start; Stacked puts them one under another with nothing hidden. */
  .work-space-columns { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 85%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; }
  .work-space-columns.is-stacked { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; }
  .work-space-column { max-height: none; scroll-snap-align: start; }
  /* The last column snaps by its end, the lanes' scroll end, so every engine keeps that position. */
  .work-space-column:last-child { scroll-snap-align: end; }
  .work-space-board-head { row-gap: var(--space-2); }
  .work-space-board-head .work-space-person-filter, .work-space-board-layout { min-height: var(--touch-control-height); }
  .work-space-board-layout > .owner-view-segment { min-height: var(--touch-control-height); white-space: nowrap; }
  .work-space-card { cursor: default; touch-action: auto; }
  body.work-space-sheet-open .panel.work-space.is-board .work-space-board > :not(.work-space-sheet) { display: none; }
  .work-space-sheet { grid-column: 1; max-height: none; padding: var(--space-4); }
  .work-space-sheet .detail-mobile-bar { margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4); }
  .panel.work-space .work-space-map { height: max(360px, calc(100dvh - 15rem)); min-height: 360px; }
  .panel.work-space .work-space-map-controls { inset-inline: var(--space-2); bottom: var(--space-2); }
  .panel.work-space .work-space-map-controls .owner-command-cluster { flex-wrap: wrap; justify-content: center; gap: 0; padding: 0; }
  .panel.work-space .work-space-map-controls button { flex: 0 0 auto; min-height: 44px; padding-inline: 6px; }
  .panel.work-space .work-space-map-zoom { width: 2.75rem; flex: 0 0 auto; }
  .panel.work-space .work-space-map-controls .work-space-map-icon-command { width: 44px; }
  .panel.work-space .work-space-map-legend { grid-auto-flow: column; gap: var(--space-3); padding-block: 0; }
  .panel.work-space .work-space-map-legend-row { min-height: 44px; }
}
@media (max-width: 479px) {
  /* Six view segments fit one row at 360px: the words stay and the segment icons hide (effort 414; Graph since effort 426). */
  .work-space-header-commands > .owner-view-toggle > .owner-view-segment > svg.owner-icon { display: none; }
}
/* Backups (effort 416): the timeline on the People surface, one 3px rule and 8px dot per tier with the tier word always
   printed, the preview banner on the warn surface, read-only fields at rest, and the restore notice on the ok surface. */
.work-space-backups-surface { max-width: 760px; padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.work-space-backups-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.work-space-backups-title { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.work-space-backups-title:focus { outline: none; }
.work-space-backups-title:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.work-space-backups-policy { margin: var(--space-1) 0 0; color: var(--muted); font: var(--text-meta); }
.work-space-backups-settings { color: var(--ink); }
.work-space-backups-status { min-height: 18px; margin: var(--space-1) 0 var(--space-2); color: var(--muted); font: var(--text-meta); }
.work-space-backups-status.is-warn { color: var(--status-warn); }
.work-space-backup-group { margin-top: var(--space-3); padding-inline-start: var(--space-3); border-inline-start: 3px solid var(--primary); }
.work-space-backup-group--hourly { border-inline-start-color: var(--sky); }
.work-space-backup-group--daily { border-inline-start-color: var(--mint); }
.work-space-backup-group-title { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-1); font: var(--text-label); font-weight: var(--font-weight-semibold); }
.work-space-backup-dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--primary); }
.work-space-backup-group--hourly .work-space-backup-dot { background: var(--sky); }
.work-space-backup-group--daily .work-space-backup-dot { background: var(--mint); }
.work-space-backup-rule { margin-inline-start: calc(var(--space-2) * -1); color: var(--muted); font-weight: var(--font-weight-regular); white-space: pre; }
.work-space-backup-row { display: grid; grid-template-columns: minmax(8.5rem, auto) minmax(0, 1fr) auto auto; align-items: center; column-gap: var(--space-3); min-height: 44px; cursor: pointer; }
.work-space-backup-row + .work-space-backup-row { border-top: 1px solid var(--border); }
.work-space-backup-row:hover { background: var(--surface-muted); }
.work-space-backup-name { color: var(--ink); font: var(--text-body); font-weight: var(--font-weight-semibold); text-decoration: none; white-space: nowrap; }
.work-space-backup-name:hover { text-decoration: underline; }
.work-space-backup-facts { min-width: 0; color: var(--muted); font: var(--text-meta); }
.work-space-backup-commands { display: inline-flex; gap: var(--space-1); }
.work-space-backup-commands > a, .panel.work-space a.work-space-preview-exit { display: inline-flex; align-items: center; text-decoration: none; }
.work-space-preview-banner { display: grid; gap: var(--space-2); margin: 0 0 var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--status-warn); border-radius: var(--radius-md); background: var(--status-warn-surface); color: var(--ink); }
.work-space-preview-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); }
.work-space-preview-title { margin: 0; font: var(--text-body); font-weight: var(--font-weight-semibold); }
.work-space-preview-note { margin: var(--space-1) 0 0; font: var(--text-meta); }
.work-space-preview-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.work-space-preview-download-status { margin: 0; font: var(--text-meta); }
.work-space-preview-download-status:empty { display: none; }
.work-space-preview-download-status.is-warn, .work-space-preview-restore-error { color: var(--status-warn); }
.work-space-preview-confirm .owner-inline-confirm { margin: 0; }
.work-space-preview-restore-error { margin: var(--space-2) 0 0; font: var(--text-meta); }
.work-space-preview-restore-error:empty { display: none; }
.panel.work-space.is-preview :is(.work-space-title-input, .work-space-task-title, .work-space-outline-title)[readonly] { border-color: transparent; background: transparent; }
.work-space-restored-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); margin: 0 0 var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--status-ok); border-radius: var(--radius-md); background: var(--status-ok-surface); color: var(--ink); }
.work-space-restored-text { margin: 0; font: var(--text-body); }
.work-space-restored-actions { display: flex; gap: var(--space-2); }
.configuration-backups { padding-top: var(--section-gap); }
.configuration-backups-section { display: grid; gap: var(--space-3); max-width: 960px; }
.configuration-backups-section > h2 { margin: 0; font: var(--text-heading); font-weight: var(--font-weight-semibold); }
.configuration-backup-list { display: grid; gap: var(--space-4); }
.configuration-backup-row { display: grid; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--border); }
.configuration-backup-tier { margin: 0; font: var(--text-label); font-weight: var(--font-weight-semibold); }
.configuration-backup-row > .owner-caption { margin: 0; }
.configuration-backup-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.configuration-backup-status { min-height: 18px; margin: 0; color: var(--muted); font: var(--text-meta); }
@media (min-width: 900px) {
  /* The frame clips here, so the Backups surface scrolls in the place the workspace had. */
  .panel.work-space > .work-space-backups { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; }
}
@media (max-width: 767px) {
  .work-space-backups-surface { padding: var(--space-4); }
  .work-space-backup-row { grid-template-columns: minmax(0, 1fr); row-gap: 2px; padding-block: var(--space-2); }
  .work-space-backup-commands > * { min-height: var(--touch-control-height); }
  .work-space-preview-actions > *, .work-space-restored-actions > * { min-height: var(--touch-control-height); }
  .configuration-backup-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active) {
  .work-space-backup-group, .work-space-backup-group--hourly, .work-space-backup-group--daily { border-inline-start-color: CanvasText; }
  .work-space-backup-dot, .work-space-backup-group--hourly .work-space-backup-dot, .work-space-backup-group--daily .work-space-backup-dot { background: CanvasText; forced-color-adjust: none; }
  .work-space-preview-banner, .work-space-restored-notice { border-color: CanvasText; }
}
