:root {
  color-scheme: light;
  --canvas: #f8f5f3;
  --rail: #f3f0ee;
  --workspace: #f8f5f3;
  --surface: #faf7f5;
  --dialog: #fffcfa;
  --field: #f4f1ef;
  --field-hover: #f6f3f1;
  --surface-hover: #f4f1ef;
  --selected: #f1eeec;
  --hairline: #e6e2e0;
  --line: #e3dfdd;
  --line-strong: #d4d0cd;
  --ink: #2a2724;
  --muted: #5d5956;
  --faint: #6e6966;
  --accent: #8a5642;
  --accent-hover: #774a39;
  --accent-text: #7a4c3a;
  --accent-ink: #fbf8f6;
  --complete: #3f6b4e;
  --warning: #8a5a14;
  --danger: #b42318;
  --shadow: 0 1px 2px rgb(42 39 36 / 5%), 0 8px 24px rgb(42 39 36 / 6%);
  --workspace-gutter: clamp(12px, 1.3vw, 26px);
  --mode-asset-pane-height: clamp(144px, 18vh, 180px);
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
.visually-hidden { position: fixed !important; width: 1px !important; height: 1px !important; overflow: hidden !important; padding: 0 !important; border: 0 !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
body { min-width: 861px; margin: 0; background: var(--canvas); color: var(--ink); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }

.app-shell { display: grid; grid-template-columns: 224px minmax(0, 1fr); min-height: 100vh; }
.main-shell { min-width: 0; }
.topbar { height: 68px; display: flex; align-items: center; gap: 16px; padding: 0 clamp(18px, 2.4vw, 36px); border-bottom: 1px solid var(--line); background: var(--surface); box-shadow: 0 1px 0 rgb(45 35 20 / 2%); }
.section-switch { display: flex; align-items: center; gap: 2px; }
.section-tab { min-height: 34px; padding: 6px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 13px; }
.section-tab:hover { background: var(--surface-hover); color: var(--ink); }
.section-tab.is-active { background: color-mix(in oklch, var(--accent) 7%, var(--surface)); color: var(--ink); font-weight: 680; }
.section-count { display: inline-grid; min-width: 17px; height: 17px; margin-left: 6px; padding: 0 5px; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 720; }
.section-count[hidden] { display: none; }
.topbar-copy { display: grid; min-width: 0; gap: 3px; }
.current-project-label { color: var(--ink); font-size: 12px; font-weight: 620; }
.connection-cluster { display: flex; align-items: center; gap: 10px; min-width: 0; }
.eyebrow { margin: 0; color: var(--muted); font-size: 12px; }
.connection-status { color: var(--complete); font-size: 12px; white-space: nowrap; }
.connection-status + .connection-status::before { margin-right: 10px; color: var(--line-strong); content: "·"; }
.connection-status.is-error { color: var(--danger); }
.topbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; margin-left: auto; }
.topbar-actions > button[hidden] { display: none; }
.topbar-actions .secondary-button { min-height: 32px; padding: 6px 10px; border-radius: 8px; font-size: 12px; }
.mode-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--canvas); }
.mode-switch[hidden] { display: none; }
.mode-switch-label { padding: 0 6px 0 7px; color: var(--muted); font-size: 12px; }
.mode-tab { min-height: 26px; padding: 4px 9px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 12px; white-space: nowrap; }
.mode-tab:hover { color: var(--ink); background: var(--surface-hover); }
.mode-tab.is-active { background: var(--surface); box-shadow: 0 1px 3px rgb(69 52 31 / 10%); color: var(--ink); font-weight: 650; }
.danger-button { min-height: 34px; padding: 7px 11px; border: 1px solid color-mix(in oklch, var(--danger) 42%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--danger) 7%, var(--surface)); color: var(--danger); font: inherit; cursor: pointer; }
.danger-button:hover, .danger-button:focus-visible { border-color: var(--danger); background: color-mix(in oklch, var(--danger) 14%, var(--surface)); }
.danger-button:disabled { cursor: not-allowed; opacity: .48; }

.workspace { min-height: calc(100vh - 68px); }
.project-rail { position: sticky; top: 0; z-index: 20; display: flex; width: 224px; height: 100dvh; min-width: 0; min-height: 0; align-self: start; flex-direction: column; padding: 14px; overflow: visible; border-right: 1px solid var(--line); background: color-mix(in oklch, var(--rail) 94%, var(--surface)); }
.rail-brand-row { display: flex; min-height: 40px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.rail-brand { display: inline-flex; min-width: 0; align-items: center; color: var(--ink); font-size: 17px; font-weight: 720; letter-spacing: -.045em; text-decoration: none; }
.rail-brand-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rail-collapse-button { width: 30px; height: 30px; flex: 0 0 30px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); font-size: 19px; line-height: 1; }
.rail-collapse-button:hover, .rail-collapse-button:focus-visible { border-color: var(--line); background: var(--surface); color: var(--ink); }
.rail-body { min-height: 0; flex: 1 1 auto; overflow: hidden; }
.rail-body > #projectRailContent, .rail-body > #centerRailContent { height: 100%; min-height: 0; overflow: auto; }
.rail-actions { display: flex; gap: 6px; }
.rail-heading, .project-heading, .section-heading, .dialog-heading, .step-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
h1 { margin-bottom: 0; font-size: 18px; letter-spacing: -.035em; }
.rail-title { margin: 0; font-size: 18px; letter-spacing: -.035em; }
h2 { margin-bottom: 7px; font-size: 30px; letter-spacing: -.045em; line-height: 1.16; }
h3 { margin-bottom: 3px; font-size: 15px; letter-spacing: -.015em; }
.icon-button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 19px; line-height: 1; }
.icon-button:hover { border-color: var(--line-strong); background: var(--surface-hover); }
.project-list { display: grid; gap: 3px; margin-top: 18px; }
.project-search { display: block; margin-top: 14px; }
.project-search input { width: 100%; min-height: 32px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; }
.project-search input:focus { border-color: var(--line-strong); outline: 2px solid color-mix(in oklch, var(--accent) 18%, transparent); }
.project-item-row { position: relative; display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: 2px; }
.project-item-row .project-item { min-width: 0; }
.project-item-menu { position: relative; }
.project-item-menu-trigger { display: grid; width: 28px; height: 32px; place-items: center; border-radius: 7px; color: var(--muted); cursor: pointer; list-style: none; letter-spacing: 1px; }
.project-item-menu-trigger::-webkit-details-marker { display: none; }
.project-item-menu-trigger:hover, .project-item-menu[open] .project-item-menu-trigger { background: var(--surface); color: var(--ink); }
.project-item-menu-panel { position: absolute; top: calc(100% + 4px); right: 0; z-index: 40; display: grid; width: 112px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: 0 12px 28px rgb(50 39 27 / 16%); }
.project-item-action { padding: 7px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font-size: 12px; text-align: left; }
.project-item-action:hover { background: var(--surface-hover); }
.project-item-action.is-danger { color: var(--danger); }
.project-item-action:disabled { color: var(--muted); cursor: not-allowed; opacity: .45; }
.project-list-empty { margin: 10px 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.archived-projects { margin-top: 18px; padding-top: 10px; border-top: 1px solid var(--line); }
.archived-projects-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 7px 4px; border: 0; background: transparent; color: var(--muted); font-size: 12px; }
.archived-projects-toggle:hover { color: var(--ink); }
.archived-projects-toggle span:last-child { min-width: 20px; padding: 1px 5px; border-radius: 999px; background: var(--surface); text-align: center; }
.archived-project-list { margin-top: 6px; }
.archived-project-list[hidden] { display: none; }
.archived-project-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px 5px; border-radius: 7px; }
.archived-project-row:hover { background: var(--surface-hover); }
.archived-project-row div { display: grid; min-width: 0; gap: 3px; }
.archived-project-row strong, .archived-project-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archived-project-row strong { font-size: 12px; }
.archived-project-row small { color: var(--muted); font-size: 12px; }
.archived-project-row .archived-project-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; }
.archived-project-actions .project-restore-button { white-space: nowrap; }
.project-restore-button { padding: 5px 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font-size: 12px; }
.center-navigation { display: grid; gap: 4px; margin-top: 18px; }
.center-navigation-item { position: relative; display: flex; width: 100%; min-height: 42px; align-items: center; gap: 8px; padding: 7px 36px 7px 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--ink); text-align: left; }
.center-navigation-item:hover { background: var(--surface-hover); }
.center-navigation-item.is-active { border-color: color-mix(in oklch, var(--accent) 28%, var(--line)); background: color-mix(in oklch, var(--accent) 7%, var(--surface)); }
.rail-navigation-copy { display: grid; min-width: 0; gap: 3px; }
.rail-navigation-copy strong { font-size: 13px; }
.rail-navigation-copy > span { color: var(--muted); font-size: 12px; }
.rail-navigation-short { display: none; font-size: 12px; font-weight: 680; }
.center-navigation-count { position: absolute; top: 50%; right: 10px; min-width: 20px; padding: 2px 5px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 12px; text-align: center; transform: translateY(-50%); }
.center-navigation-item.is-active .center-navigation-count { background: var(--accent); color: var(--accent-ink); }
.project-item { width: 100%; min-height: 60px; padding: 11px 10px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--ink); text-align: left; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.project-item:hover { border-color: transparent; background: var(--surface-hover); }
.project-item.is-selected { border-color: color-mix(in oklch, var(--accent) 36%, var(--line)); background: color-mix(in oklch, var(--accent) 7%, var(--surface)); box-shadow: none; }
.project-item strong, .project-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-item strong { margin-bottom: 4px; font-size: 13px; }
.project-item small { color: var(--muted); font-size: 12px; }
body.project-rail-collapsed .app-shell { grid-template-columns: 64px minmax(0, 1fr); }
body.project-rail-collapsed .project-rail { width: 64px; padding-right: 10px; padding-left: 10px; }
body.project-rail-collapsed .rail-brand-row { display: grid; justify-items: center; gap: 6px; }
body.project-rail-collapsed .rail-brand { display: none; }
body.project-rail-collapsed .rail-collapse-button { width: 36px; }
body.project-rail-collapsed .rail-heading > div:first-child { display: none; }
body.project-rail-collapsed .rail-heading { justify-content: center; }
body.project-rail-collapsed .rail-actions { display: grid; gap: 8px; }
body.project-rail-collapsed .project-list { margin-top: 18px; }
body.project-rail-collapsed .project-search, body.project-rail-collapsed .project-item-menu, body.project-rail-collapsed .archived-projects { display: none; }
body.project-rail-collapsed .project-item-row { display: block; }
body.project-rail-collapsed .project-item { display: grid; width: 42px; min-height: 42px; place-items: center; padding: 0; border-radius: 50%; }
body.project-rail-collapsed .project-item.is-selected { border: 1px solid color-mix(in oklch, var(--accent) 42%, var(--line)); padding: 0; background: color-mix(in oklch, var(--accent) 8%, var(--surface)); }
body.project-rail-collapsed .project-item strong, body.project-rail-collapsed .project-item small { display: none; }
body.project-rail-collapsed .project-item::before { content: attr(data-project-initial); color: var(--ink); font-size: 13px; font-weight: 700; }
body.project-rail-collapsed .center-navigation { justify-items: center; margin-top: 0; }
body.project-rail-collapsed .center-navigation-item { display: grid; width: 42px; min-height: 42px; place-items: center; padding: 0; border-radius: 9px; text-align: center; }
body.project-rail-collapsed .rail-navigation-copy { display: none; }
body.project-rail-collapsed .rail-navigation-short { display: inline; }
body.project-rail-collapsed .center-navigation-count { top: 2px; right: 2px; min-width: 17px; padding: 1px 4px; transform: none; }

.account-footer { position: relative; flex: 0 0 auto; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.account-footer[hidden], .account-menu[hidden] { display: none; }
.account-summary-button { display: flex; width: 100%; min-width: 0; align-items: center; gap: 9px; padding: 7px 6px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--ink); text-align: left; }
.account-summary-button:hover, .account-summary-button[aria-expanded="true"] { border-color: var(--line); background: var(--surface); }
.account-avatar { display: inline-grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%; background: var(--account-avatar-color, #7c6044); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 8%); color: #fff; font-size: 13px; font-weight: 720; }
.account-summary-copy { display: grid; min-width: 0; flex: 1; gap: 2px; }
.account-summary-copy strong, .account-summary-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-summary-copy strong { font-size: 12px; font-weight: 680; }
.account-summary-copy small { color: var(--muted); font-size: 12px; }
.account-menu-chevron { color: var(--muted); font-size: 13px; letter-spacing: 1px; }
.account-menu { position: absolute; right: 0; bottom: calc(100% + 8px); left: 0; z-index: 30; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: 0 16px 36px rgb(50 39 27 / 16%); }
.account-menu-heading { display: flex; align-items: center; gap: 10px; padding: 4px 4px 10px; }
.account-menu-avatar { width: 38px; height: 38px; flex-basis: 38px; }
.account-menu-heading div { display: grid; min-width: 0; gap: 3px; }
.account-menu-heading strong, .account-menu-heading small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu-heading strong { font-size: 13px; }
.account-menu-heading small { color: var(--muted); font-size: 12px; }
.account-permission-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 6px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.account-permission-row strong { color: var(--ink); font-size: 12px; }
.account-menu-action, .account-logout-button { width: 100%; padding: 8px 7px; border: 0; border-radius: 7px; background: transparent; color: var(--ink); font-size: 12px; text-align: left; }
.account-logout-button { color: var(--danger); }
.account-logout-button[hidden], .account-session-note[hidden] { display: none; }
.account-menu-action:hover, .account-menu-action:focus-visible { background: var(--surface-hover); }
.account-logout-button:hover, .account-logout-button:focus-visible { background: color-mix(in oklch, var(--danger) 8%, var(--surface)); }
.account-session-note { margin: 0; padding: 8px 7px 5px; color: var(--muted); font-size: 12px; line-height: 1.5; }
body.project-rail-collapsed .account-footer { display: grid; place-items: center; }
body.project-rail-collapsed .account-summary-button { width: 42px; height: 42px; justify-content: center; padding: 3px; border-radius: 50%; }
body.project-rail-collapsed .account-summary-copy, body.project-rail-collapsed .account-menu-chevron { display: none; }
body.project-rail-collapsed .account-menu { right: auto; bottom: 0; left: 52px; width: 248px; }

.account-settings-dialog { width: min(540px, calc(100vw - 32px)); }
.account-settings-profile { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 14px; }
.account-settings-profile .form-field { margin: 0; }
.account-settings-avatar { width: 46px; height: 46px; flex-basis: 46px; margin-bottom: 1px; font-size: 15px; }
.account-color-fieldset { margin: 22px 0; padding: 0; border: 0; }
.account-color-fieldset legend { margin-bottom: 10px; font-size: 12px; font-weight: 650; }
.account-color-options { display: flex; flex-wrap: wrap; gap: 9px; }
.account-color-option { position: relative; width: 32px; height: 32px; padding: 0; border: 2px solid var(--surface); border-radius: 50%; background: var(--account-color); box-shadow: 0 0 0 1px var(--line); }
.account-color-option[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--ink); }
.account-settings-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.account-settings-details > div { min-width: 0; padding: 10px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.account-settings-details dt { color: var(--muted); font-size: 12px; }
.account-settings-details dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 12px; }
.account-security-note { margin-top: 18px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.account-security-note strong { font-size: 12px; }
.account-security-note p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.content { width: 100%; min-width: 0; padding: 14px var(--workspace-gutter) 18px; }

.login-page { min-width: 960px; min-height: 100vh; background: #f4f1eb; }
.login-shell { display: grid; width: 100%; min-height: 100vh; grid-template-columns: minmax(410px, .92fr) minmax(520px, 1.08fr); }
.login-brand { width: fit-content; color: inherit; font-size: 22px; font-weight: 720; letter-spacing: -.055em; text-decoration: none; }
.login-panel { display: grid; min-height: 100vh; place-items: center; padding: 54px 8vw; background: var(--surface); }
.login-form { width: min(100%, 390px); }
.login-form-heading { margin-bottom: 34px; }
.login-form-heading h2 { margin: 7px 0 9px; font-size: 34px; }
.login-form-heading > p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.login-field { display: grid; gap: 8px; margin-bottom: 18px; color: var(--ink); font-size: 12px; font-weight: 640; }
.login-field input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 14px; }
.login-field input:hover { border-color: var(--line-strong); }
.login-field input:focus { border-color: var(--accent); outline: 2px solid color-mix(in oklch, var(--accent) 18%, transparent); outline-offset: 1px; }
.password-input-wrap { position: relative; display: block; }
.password-input-wrap input { padding-right: 62px; }
.password-input-wrap button { position: absolute; top: 50%; right: 7px; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 12px; transform: translateY(-50%); }
.password-input-wrap button:hover { background: var(--surface-hover); color: var(--ink); }
.login-error { min-height: 20px; margin: 1px 0 10px; color: var(--danger); font-size: 12px; line-height: 1.5; }
.login-submit { width: 100%; height: 46px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent); color: var(--accent-ink); font-size: 13px; font-weight: 680; }
.login-submit:hover { border-color: var(--accent-hover); background: var(--accent-hover); }
.login-submit:disabled { cursor: wait; opacity: .65; }
.mode-workspace-stack { width: 100%; min-width: 0; }
.mode-workspace-layer { width: 100%; min-width: 0; }
.empty-state { max-width: 550px; margin: 15vh auto; }
.empty-state p, .project-brief, .section-copy, .progress-panel p { color: var(--muted); line-height: 1.7; }
.primary-button, .secondary-button, .status-button, .open-workflow { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 11px; border-radius: 7px; font-size: 13px; text-decoration: none; }
.primary-button, .open-workflow { border: 1px solid var(--accent); background: var(--accent); color: var(--accent-ink); font-weight: 650; }
.primary-button:hover, .open-workflow:hover { border-color: var(--accent-hover); background: var(--accent-hover); }
.secondary-button, .status-button { border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.secondary-button:hover, .status-button:hover { border-color: var(--line-strong); background: var(--surface-hover); }

.project-heading { align-items: flex-start; margin-bottom: 33px; }
.project-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.project-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.meta-chip, .status-pill { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; }
.progress-panel { display: grid; grid-template-columns: minmax(190px, 1fr) auto; gap: 22px; margin: 0 0 43px; padding: 0 0 25px; border-bottom: 1px solid var(--line); }
.progress-panel strong { font-size: 14px; }
.progress-panel p { margin: 4px 0 0; font-size: 13px; }
.progress-track { height: 5px; overflow: hidden; margin-top: 14px; border-radius: 99px; background: var(--line); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.progress-number { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.workspace-split { --asset-pane-height: clamp(200px, 30%, 340px); display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, var(--asset-pane-height)) 18px minmax(0, 1fr); height: 100%; min-height: 780px; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 4px 18px rgb(69 52 31 / 5%); }
.workspace-split[data-asset-pane-mode="collapsed"] { grid-template-rows: 0 18px minmax(0, 1fr); }
.workspace-split[data-asset-pane-mode="expanded"] { grid-template-rows: minmax(0, 1fr) 18px 0; }
.workspace-pane { min-width: 0; min-height: 0; overflow: auto; }
.workspace-pane-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 52px; padding: 9px 16px; border-bottom: 1px solid var(--line); background: var(--surface); }
.compact-button { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.mode-pane-heading { min-height: 52px; padding: 9px 16px; }
.output-pane .workspace-pane-heading { position: sticky; top: 0; z-index: 3; }
.workspace-pane-title { display: flex; align-items: baseline; min-width: 0; gap: 8px; }
.workspace-pane-heading h2 { flex: 0 0 auto; margin: 0; font-size: 17px; letter-spacing: -.04em; }
.workspace-pane-heading .section-copy { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-pane-heading .secondary-button { min-height: 30px; padding: 5px 9px; font-size: 12px; white-space: nowrap; }
.material-pane-actions { position: relative; display: flex; flex: 1 1 auto; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.material-search { flex: 1 1 150px; width: min(220px, 20vw); min-width: 120px; max-width: 220px; min-height: 30px; padding: 5px 9px; border-radius: 8px; background: var(--canvas); font-size: 12px; }
.material-scope-control { display: inline-flex; flex: 0 1 auto; min-width: 0; max-width: 100%; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.material-scope-select { width: auto; min-width: 150px; max-width: min(340px, 100%); overflow: hidden; text-overflow: ellipsis; min-height: 30px; padding: 4px 26px 4px 8px; border-radius: 8px; background: var(--canvas); font-size: 12px; }
.material-asset-type-select { width: 112px; min-height: 30px; padding: 4px 26px 4px 8px; border-radius: 8px; background: var(--canvas); font-size: 12px; }
.material-rating-filter { width: 118px; min-height: 30px; padding: 4px 26px 4px 8px; border-radius: 8px; background: var(--canvas); font-size: 12px; }
.output-pane { background: var(--canvas); }
.asset-batch-toolbar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 16px; border-bottom: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 82%, var(--canvas)); }
.asset-batch-toolbar.is-selecting { background: color-mix(in oklch, var(--accent) 6%, var(--surface)); }
.asset-batch-copy { display: grid; min-width: 0; gap: 2px; }
.asset-batch-copy strong { color: var(--ink); font-size: 12px; font-weight: 680; }
.asset-batch-copy span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.asset-selection-summary { display: flex; min-width: 0; align-items: center; gap: 12px; }
.asset-select-all { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: 12px; }
.asset-select-all input, .asset-card-selection input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.asset-selection-count { min-width: 64px; padding: 4px 8px; border-radius: 999px; background: var(--surface); color: var(--accent); font-size: 12px; text-align: center; }
.asset-batch-actions { display: flex; align-items: center; gap: 6px; }
.asset-batch-actions .primary-button, .asset-batch-actions .secondary-button, .asset-batch-toolbar > .secondary-button { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.output-asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; padding: 14px 16px 18px; }
.output-asset-grid > .asset-library-empty { grid-column: 1 / -1; }
.output-asset-grid.is-compact-empty { min-height: 44px; align-items: center; padding-block: 8px; }
.output-asset-grid.is-compact-empty .asset-library-empty { margin: 0; }
.workspace-split:has(.output-pane.is-empty) { --asset-pane-height: 104px; }
.output-asset-card { position: relative; overflow: visible; border: 1px solid color-mix(in oklch, var(--line) 90%, var(--surface)); border-radius: 10px; background: var(--surface); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
.output-asset-card[draggable="true"] { cursor: grab; }
.output-asset-card[draggable="true"]:active { cursor: grabbing; }
.output-asset-card.is-dragging { opacity: .5; transform: scale(.985); }
.output-asset-card.is-starred { border-color: color-mix(in oklch, var(--warning) 44%, var(--line)); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--warning) 10%, transparent); }
.output-asset-card.is-selected { border-color: color-mix(in oklch, var(--accent) 62%, var(--line)); box-shadow: 0 0 0 2px color-mix(in oklch, var(--accent) 16%, transparent); }
.output-asset-card:hover, .output-asset-card:focus-within { border-color: color-mix(in oklch, var(--accent) 34%, var(--line)); box-shadow: 0 7px 18px rgb(69 52 31 / 8%); transform: translateY(-1px); }
.output-asset-preview-button { display: block; width: 100%; padding: 0; overflow: hidden; border: 0; background: var(--surface-hover); }
.output-asset-preview-button[draggable="true"] { cursor: grab; }
.output-asset-preview-button[draggable="true"]:active { cursor: grabbing; }
.output-asset-preview { display: block; width: 100%; aspect-ratio: 4 / 3; background: var(--surface-hover); object-fit: contain; }
.output-asset-title { display: flex; min-width: 0; min-height: 40px; align-items: center; gap: 7px; padding: 7px 7px 7px 10px; border-bottom: 1px solid var(--line); border-radius: 9px 9px 0 0; }
.output-asset-title strong { display: block; min-width: 0; flex: 1; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.asset-card-selection { display: grid; flex: 0 0 20px; place-items: center; cursor: pointer; }
.asset-star-indicator { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; color: color-mix(in oklch, var(--warning) 78%, var(--ink)); font-size: 14px; line-height: 1; }
.asset-star-indicator[hidden] { display: none; }
.asset-rating-badge { display: inline-flex; min-width: max-content; align-items: center; padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--canvas); color: var(--muted); font-size: 12px; font-weight: 650; line-height: 1; white-space: nowrap; }
.asset-rating-control { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; }
.asset-rating-select { min-width: 78px; min-height: 26px; padding: 3px 22px 3px 7px; border-radius: 6px; background: var(--canvas); color: var(--ink); font-size: 12px; }
.output-asset-details { display: grid; gap: 4px; padding: 9px 10px 10px; border-top: 1px solid var(--line); border-radius: 0 0 9px 9px; }
.output-asset-origin { width: max-content; padding: 2px 6px; border: 1px solid #a8b89b; border-radius: 999px; background: #f1f5ed; color: #425538; font-size: 12px; }
.output-asset-details strong, .output-asset-details small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.output-asset-details small { color: var(--muted); font-size: 12px; }
.output-asset-actions { display: flex; align-items: center; gap: 6px; min-height: 28px; }
.asset-card-primary-action { display: inline-flex; min-height: 28px; align-items: center; justify-content: center; padding: 4px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; line-height: 1; cursor: pointer; }
.asset-card-primary-action:hover, .asset-card-primary-action:focus-visible { border-color: var(--line-strong); background: var(--surface-hover); outline: none; }
.asset-card-primary-action.is-active { border-color: color-mix(in oklch, var(--accent) 38%, var(--line)); color: var(--accent); }
.asset-card-primary-action:disabled { cursor: wait; opacity: .5; }
.asset-more-trigger { display: grid; width: 28px; height: 28px; flex: 0 0 auto; padding: 0 0 5px; place-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 17px; letter-spacing: 1px; line-height: 1; cursor: pointer; }
.asset-more-trigger:hover, .asset-more-trigger:focus-visible { background: var(--surface-hover); color: var(--ink); outline: none; }
.asset-more-trigger:has(+ .asset-more-menu:popover-open) { background: var(--surface-hover); color: var(--ink); }
.asset-more-menu { position: fixed; inset: auto; z-index: 40; width: 184px; margin: 0; gap: 2px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 14px 32px rgb(50 39 27 / 16%); }
.asset-more-menu:popover-open { display: grid; }
.asset-more-menu:not(:popover-open) { display: none; }
.asset-more-action { display: flex; min-width: 0; min-height: 32px; align-items: center; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font-size: 12px; text-align: left; text-decoration: none; }
.asset-more-action:hover, .asset-more-action:focus-visible { background: var(--surface-hover); color: var(--accent); outline: none; }
.asset-more-action.is-active { color: var(--accent); }
.asset-more-action.is-danger { color: var(--danger); }
.asset-more-action:disabled { cursor: wait; opacity: .45; }
.asset-action-button { display: inline-grid; width: 24px; height: 24px; padding: 0; place-items: center; border: 0; border-radius: 5px; background: transparent; color: var(--muted); transition: color .16s ease, background-color .16s ease; }
.asset-action-button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.asset-action-button:hover, .asset-action-button:focus-visible { background: var(--surface-hover); color: var(--accent); }
.asset-action-button.is-active { color: var(--accent); }
.asset-action-button.is-active svg { fill: currentColor; }
.asset-action-button.is-danger:hover, .asset-action-button.is-danger:focus-visible { color: var(--danger); }
.asset-action-button:disabled { color: var(--muted); cursor: wait; opacity: .45; }
.workspace-divider { position: relative; z-index: 4; display: flex; align-items: center; justify-content: center; width: 100%; padding: 0; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--canvas); cursor: row-resize; touch-action: none; }
.workspace-divider::before, .workspace-divider::after { position: absolute; top: 50%; width: calc(50% - 18px); height: 1px; background: var(--line-strong); content: ""; }
.workspace-divider::before { left: 0; }
.workspace-divider::after { right: 0; }
.workspace-divider span { position: absolute; top: 50%; left: 50%; width: 28px; height: 4px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); transform: translate(-50%, -50%); }
.workspace-divider-toggle { position: relative; z-index: 1; min-height: 18px; padding: 1px 9px; border: 1px solid transparent; border-radius: 999px; background: var(--canvas); color: var(--muted); font-size: 12px; line-height: 1; }
.workspace-divider:hover, .workspace-divider:focus-within { background: var(--surface-hover); }
.workspace-divider-toggle:hover, .workspace-divider-toggle:focus-visible { border-color: var(--line-strong); background: var(--surface); color: var(--ink); outline: none; }
.canvas-pane { display: flex; flex-direction: column; overflow: hidden; }
.workflow-diagnostic-bar { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 32px; padding: 5px 16px; overflow-x: auto; border-bottom: 1px solid var(--line); background: color-mix(in oklch, var(--rail) 58%, var(--surface)); scrollbar-width: none; }
.workflow-diagnostic-bar::-webkit-scrollbar { display: none; }
.workflow-diagnostic-chip { flex: 0 0 auto; padding: 3px 7px; border: 1px solid color-mix(in oklch, var(--line) 88%, transparent); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 12px; line-height: 1.25; white-space: nowrap; }
.workflow-diagnostic-chip.is-error { border-color: color-mix(in oklch, var(--danger) 38%, var(--line)); background: color-mix(in oklch, var(--danger) 6%, var(--surface)); color: var(--danger); }
.generation-status-pill { flex: 0 0 auto; }
.generation-status-pill.is-connected { border-color: color-mix(in oklch, var(--complete) 36%, var(--line)); color: var(--complete); }
.generation-status-pill.is-disconnected { border-color: color-mix(in oklch, var(--danger) 38%, var(--line)); background: color-mix(in oklch, var(--danger) 5%, var(--surface)); color: var(--danger); }
.generation-status-pill.is-checking { color: var(--muted); }
.workflow-unavailable { display: grid; flex: 1; min-height: 0; place-content: center; justify-items: center; padding: 42px 24px; background: color-mix(in oklch, var(--rail) 72%, var(--surface)); text-align: center; }
.workflow-unavailable-mark { display: grid; width: 44px; height: 44px; margin-bottom: 14px; place-items: center; border: 1px solid color-mix(in oklch, var(--danger) 34%, var(--line)); border-radius: 50%; color: var(--danger); font-size: 24px; line-height: 1; }
.workflow-unavailable h3 { margin-bottom: 7px; font-size: 15px; }
.workflow-unavailable p { max-width: 420px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.professional-server-pane { background: #cfd2d3; }
.professional-workspace { --asset-pane-height: var(--mode-asset-pane-height); }
.professional-pane-heading { flex: 0 0 auto; padding-top: 8px; padding-bottom: 8px; }
.professional-pane-intro { display: grid; min-width: 0; gap: 2px; }
.professional-pane-summary { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.35; }
.professional-node-shell { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; background: var(--surface); }
.professional-workflow-tabs { display: grid; flex: 0 0 auto; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); border-bottom: 1px solid var(--line); background: var(--surface); }
.professional-workflow-tab { min-width: 0; min-height: 38px; padding: 7px 10px; overflow: hidden; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-workflow-tab:hover { border-color: var(--line); background: var(--surface-hover); color: var(--ink); }
.professional-workflow-tab.is-active { box-shadow: none; border-color: color-mix(in oklch, var(--complete) 28%, var(--line)); background: color-mix(in oklch, var(--complete) 9%, var(--surface)); color: var(--complete); font-weight: 650; }
.mode-workflow-tabs { display: grid; min-height: 64px; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.mode-workflow-tab { position: relative; display: grid; min-width: 0; min-height: 56px; align-content: center; gap: 2px; padding: 8px 10px; overflow: hidden; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); font-size: 12px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.mode-workflow-tab:hover:not(:disabled) { border-color: var(--line); background: var(--surface-hover); color: var(--ink); }
.mode-workflow-tab.is-active { box-shadow: none; border-color: color-mix(in oklch, var(--complete) 28%, var(--line)); background: color-mix(in oklch, var(--complete) 9%, var(--surface)); color: var(--complete); font-weight: 650; }
.professional-canvas-toolbar { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 7px; min-height: 42px; padding: 6px 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.professional-source-badge { min-width: 0; margin-right: auto; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-canvas-tool { min-height: 28px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font-size: 12px; }
.professional-canvas-tool:hover { border-color: var(--line-strong); background: var(--surface-hover); }
.professional-zoom-label { width: 38px; color: var(--muted); font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.professional-run-button { min-width: 112px; min-height: 30px; padding: 5px 11px; background: var(--complete); border-color: var(--complete); }
.professional-run-button:hover { background: color-mix(in oklch, var(--complete) 84%, var(--ink)); border-color: color-mix(in oklch, var(--complete) 84%, var(--ink)); }
.professional-node-viewport { position: relative; flex: 1; min-height: 0; overflow: hidden; padding: 0; background: #c9cdce; cursor: grab; overscroll-behavior: contain; touch-action: none; user-select: none; }
.professional-node-viewport:focus-visible { outline: 2px solid #347da0; outline-offset: -2px; }
.professional-node-viewport.is-panning { cursor: grabbing; }
.professional-node-scaler { position: relative; min-width: 100%; min-height: 100%; }
.professional-node-stage { position: absolute; top: 0; left: 0; transform-origin: 0 0; }
.professional-node-links { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.professional-node-group { position: absolute; z-index: 0; box-sizing: border-box; padding: 8px 12px; border: 2px solid var(--professional-group-color); border-radius: 8px; background: color-mix(in srgb, var(--professional-group-color) 15%, transparent); pointer-events: none; }
.professional-node-group h3 { margin: 0; color: color-mix(in srgb, var(--professional-group-color) 74%, #1d2225); font-size: 18px; font-weight: 700; }
.professional-workflow-node { position: absolute; z-index: 2; display: flex; box-sizing: border-box; flex-direction: column; overflow: hidden; border: 1px solid #76828a; border-radius: 8px; background: rgba(249, 250, 249, .94); box-shadow: 0 5px 13px rgba(25, 31, 34, .18); color: #22282b; }
.professional-node-heading { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 8px; min-height: 31px; padding: 5px 8px; border-bottom: 1px solid rgba(68, 81, 88, .28); background: #8fa8b5; color: #132128; cursor: default; }
.professional-node-heading strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-node-heading span { color: rgba(20, 32, 38, .56); font-size: 12px; }
.node-veriboximagegenerator .professional-node-heading { background: #a79dbd; }
.node-veriboxstagehandoff .professional-node-heading,
.node-previewimage .professional-node-heading,
.node-saveimage .professional-node-heading { background: #9eb9ae; }
.professional-node-body { min-height: 0; flex: 1; overflow: visible; padding: 8px; }
.professional-workflow-node.is-content-sized-brief .professional-node-body { flex: 0 0 auto; overflow: visible; }
.professional-node-ports { display: grid; gap: 3px; margin-bottom: 7px; }
.professional-node-port { display: flex; align-items: center; gap: 5px; min-height: 17px; color: #60696e; font-size: 12px; }
.professional-node-port.is-output { justify-content: flex-end; }
.professional-node-port-dot { display: block; flex: 0 0 auto; width: 7px; height: 7px; border: 1px solid #657079; border-radius: 50%; background: #d8dfe2; }
.professional-node-port.is-output .professional-node-port-dot { background: #87a9ba; }
.professional-node-field { display: grid; gap: 3px; margin: 0 0 7px; color: #555e63; font-size: 12px; font-weight: 650; }
.professional-node-input, .professional-node-textarea, .professional-node-select { box-sizing: border-box; width: 100%; min-height: 25px; padding: 4px 6px; border: 1px solid #b8bec1; border-radius: 5px; background: #f8f8f7; color: #252a2d; font: inherit; font-size: 12px; font-weight: 400; }
.professional-node-textarea { min-height: 43px; max-height: 220px; overflow-y: auto; line-height: 1.35; resize: vertical; }
.professional-node-field .prompt-translation-tools { display: grid; align-items: start; gap: 3px; }
.professional-node-field .prompt-translation-actions { gap: 3px; }
.professional-node-field .prompt-translation-button { min-height: 20px; padding: 2px 4px; border-color: #c4c9cb; border-radius: 4px; background: #f2f3f2; color: #616a6f; font-size: 8px; }
.professional-node-field .prompt-translation-button.is-optimize { border-color: #9db5c1; color: #2f6c87; }
.professional-node-field .prompt-translation-status { min-height: 11px; color: #667075; font-size: 8px; text-align: left; white-space: normal; }
.professional-node-field .prompt-translation-status.is-success { color: #37604b; }
.professional-node-field .prompt-translation-status.is-pending { color: #2f4650; }
.professional-node-field .prompt-translation-status.is-error { color: #9c4d45; }
.professional-node-input:focus, .professional-node-textarea:focus, .professional-node-select:focus { border-color: #347da0; outline: 2px solid rgba(52, 125, 160, .18); }
.professional-node-note { margin: 0 0 7px; color: #60696e; font-size: 12px; line-height: 1.45; }
.professional-node-security { margin: 7px 0 0; padding: 7px; border: 1px solid #afc7b9; border-radius: 5px; background: #edf5f0; color: #37604b; font-size: 12px; line-height: 1.45; }
.professional-reference-node { display: grid; grid-template-columns: 1fr; gap: 6px; }
.professional-reference-node > .professional-node-note, .professional-reference-node > .professional-node-secondary { grid-column: 1 / -1; }
.professional-reference-node.is-model-disabled .professional-reference-select:disabled, .professional-reference-node.is-model-disabled > .professional-node-secondary:disabled { cursor: not-allowed; opacity: .48; }
.professional-reference-node.is-model-disabled .professional-reference-remove { opacity: 1; }
.professional-reference-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; }
.professional-reference-select { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; min-width: 0; gap: 6px; padding: 5px 6px; border: 1px solid #b9bfc1; border-radius: 5px; background: #f8f8f7; color: #5b6368; text-align: left; }
.professional-reference-select:hover { border-color: #6e929f; background: #fff; }
.professional-reference-row.is-drag-target .professional-reference-select { border-color: #347da0; background: #edf6fa; box-shadow: 0 0 0 2px rgba(52, 125, 160, .16); }
.professional-reference-thumbnail { display: grid; width: 34px; height: 34px; place-items: center; overflow: hidden; border-radius: 4px; background: #e9ebeb; }
.professional-reference-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.professional-reference-placeholder { color: #70787d; font-size: 15px; line-height: 1; }
.professional-reference-copy { display: grid; min-width: 0; gap: 2px; }
.professional-reference-label { overflow: hidden; color: #70787d; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.professional-reference-copy strong { overflow: hidden; color: #273034; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-reference-remove { width: 25px; padding: 0; border: 1px solid #c4c7c8; border-radius: 5px; background: #fff; color: #7a6666; }
.professional-node-secondary { min-height: 27px; padding: 5px 7px; border: 1px solid #aeb7bb; border-radius: 5px; background: #eef0f0; color: #394247; font-size: 12px; }
.professional-node-contract { display: block; padding: 7px; border: 1px solid #afc6ba; border-radius: 5px; background: #eef5f1; color: #3e5f4f; font-size: 12px; line-height: 1.45; }
.professional-preview-node { display: grid; gap: 7px; }
.professional-preview-empty { display: grid; min-height: 290px; place-items: center; border: 1px dashed #aeb5b7; border-radius: 5px; background: #e9ebeb; color: #727a7e; font-size: 12px; }
.professional-preview-result { display: grid; gap: 4px; padding: 4px; border: 1px solid #b7bdc0; border-radius: 5px; background: #fff; color: #333b3f; text-align: left; }
.professional-preview-result img { display: block; width: 100%; max-height: 155px; border-radius: 3px; background: #eceeed; object-fit: contain; }
.professional-preview-result span { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-save-prefix { display: block; overflow: hidden; padding: 7px; border: 1px solid #b6beb9; border-radius: 5px; background: #eff3f0; color: #415149; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.professional-generator-node .generation-progress { margin: 8px 0 0; padding: 7px; }
.professional-generator-node .generation-progress-note { display: none; }
.simple-pane { background: var(--canvas); }
.simple-pane-heading { position: sticky; top: 0; z-index: 4; }
.workflow-selection-copy { color: var(--muted); font-size: 12px; }
.simple-heading-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 8px; }
.simple-run-readiness { max-width: min(42vw, 540px); overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.35; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.simple-run-readiness.is-ready { color: var(--complete); }
.simple-run-readiness.is-blocked { color: var(--danger); }
.simple-run-readiness.is-running { color: var(--complete); font-variant-numeric: tabular-nums; }
.simple-workspace { --asset-pane-height: var(--mode-asset-pane-height); height: 100%; min-height: 0; grid-template-rows: minmax(0, var(--asset-pane-height)) 18px minmax(0, 1fr); overflow: hidden; }
.simple-workspace[data-asset-pane-mode="collapsed"] { grid-template-rows: 72px 18px auto; }
.simple-workspace[data-asset-pane-mode="expanded"] { grid-template-rows: minmax(0, var(--asset-pane-height)) 18px 0; }
.simple-generation-pane { display: grid; min-height: 0; grid-template-rows: max-content max-content; align-content: start; min-width: 0; overflow: visible; background: var(--canvas); }
.simple-generation-tabs { display: flex; gap: 4px; padding: 8px 14px; border-bottom: 1px solid var(--line); background: var(--surface); }
.simple-generation-tab { display: grid; min-width: 0; gap: 2px; padding: 7px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; }
.simple-generation-tab:hover { background: var(--surface-hover); color: var(--ink); }
.simple-generation-tab.is-active { border-color: color-mix(in oklch, var(--complete) 28%, var(--line)); background: color-mix(in oklch, var(--complete) 8%, var(--surface)); color: var(--ink); }
.simple-generation-tab strong { font-size: 12px; }
.simple-generation-tab span { font-size: 12px; }
.simple-generation-pane .simple-pane { min-height: 0; overflow: visible; }
.simple-mode-body { display: grid; grid-template-rows: minmax(64px, max-content) auto; min-width: 0; min-height: 100%; align-content: start; gap: 12px; padding: 12px 16px 16px; }
/* Keep the original desktop alignment contract discoverable for downstream style checks. */
/* .simple-mode-body { display: grid; grid-template-rows: minmax(64px, max-content) auto; min-height: 100%; align-content: start; gap: 12px; padding: 12px 16px 16px; } */
.custom-template-navigation { display: grid; grid-auto-columns: minmax(190px, 230px); grid-auto-flow: column; align-items: stretch; gap: 6px; overflow-x: auto; padding: 10px 14px; border-bottom: 1px solid var(--line); background: var(--surface); }
.custom-template-card { display: grid; width: 100%; gap: 4px; padding: 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--ink); text-align: left; }
.custom-template-card:hover { background: var(--surface-hover); }
.custom-template-card.is-active { border-color: color-mix(in oklch, var(--accent) 36%, var(--line)); background: color-mix(in oklch, var(--accent) 7%, var(--surface)); }
.custom-template-card strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.custom-template-card span { color: var(--muted); font-size: 12px; }
.custom-template-runner, .custom-template-editor, .custom-template-empty { min-width: 0; padding: 24px 16px; background: var(--canvas); }
.custom-plan-workbench { padding-top: 18px; }
.custom-plan-grid { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(520px, 1.5fr) minmax(290px, .84fr); align-items: stretch; gap: 12px; margin-top: 18px; }
.custom-plan-grid > .simple-form-card { min-height: 100%; }
.custom-plan-settings-card, .custom-plan-requirements-card, .custom-result-card { overflow: hidden; }
.custom-plan-settings-card > .simple-form-field { margin-top: 14px; }
.custom-plan-settings-card > .simple-form-field .simple-select { width: 100%; }
.custom-plan-references { margin: 18px 14px 14px; }
.custom-plan-reference-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.custom-plan-reference-slot { min-height: 126px; }
.custom-plan-requirements-card > .simple-form-section-heading { margin-right: 14px; margin-left: 14px; }
.custom-plan-output-grid { padding-bottom: 3px; }
.custom-plan-output-grid .simple-form-field { margin: 0; }
.custom-plan-requirements-card > .custom-plan-rule { margin: 12px 14px 0; }
.custom-plan-requirements-card > .custom-run-form { margin-top: 0; padding: 0 14px; }
.custom-plan-requirements-card > .custom-run-empty { margin: 0 14px; }
.custom-plan-requirements-card > .generation-progress { margin-top: 14px; }
.custom-plan-requirements-card > .custom-run-footer { margin: 16px 14px 14px; }
.custom-plan-requirements-card .custom-run-readiness { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.custom-result-card .simple-result-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.custom-form-columns { display: grid; grid-template-columns: minmax(278px, .8fr) minmax(460px, 1.22fr) minmax(286px, .86fr); align-items: stretch; gap: 10px; margin-top: 18px; }
.custom-basics-card, .custom-input-card, .custom-settings-card { min-width: 0; }
.custom-basics-card .custom-template-basics, .custom-settings-card .custom-template-settings { grid-template-columns: 1fr; padding: 0 14px; }
.custom-basics-card .form-field, .custom-settings-card .form-field { margin-top: 12px; }
.custom-settings-card .custom-reference-setting { width: auto; margin: 12px 14px 16px; }
.custom-input-card .custom-field-heading { padding: 14px; border-top: 0; border-bottom: 1px solid var(--line); }
.custom-input-card .custom-field-builder { margin: 0; padding: 0 14px 12px; }
.custom-input-card .custom-template-actions { margin: 0; padding: 0 14px 14px; }
.custom-form-columns .simple-result-card { min-height: 100%; }
.custom-template-empty { display: grid; align-content: start; justify-items: start; min-height: 320px; padding-top: 64px; }
.custom-template-empty h3 { margin-bottom: 7px; font-size: 20px; }
.custom-template-empty p:not(.eyebrow) { max-width: 52ch; color: var(--muted); font-size: 13px; line-height: 1.65; }
.custom-panel-heading, .custom-field-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.custom-panel-heading h3, .custom-field-heading h3 { margin: 3px 0 4px; font-size: 18px; }
.custom-template-heading-actions { display: flex; align-items: center; gap: 7px; }
.custom-reference-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 18px 14px 0; padding-top: 14px; border-top: 1px solid var(--line); }
.custom-reference-editor-heading > div { display: grid; gap: 3px; }
.custom-reference-editor-heading strong { font-size: 12px; }
.custom-reference-editor-heading span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.custom-reference-slot-editor { display: grid; margin: 8px 14px 14px; border-top: 1px solid var(--line); }
.custom-reference-slot-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.custom-reference-slot-row:last-child { border-bottom: 0; }
.custom-reference-slot-row > .simple-form-field { margin: 0; }
.custom-reference-slot-row > .custom-field-required, .custom-reference-slot-row > .custom-field-row-actions { align-self: center; }
.custom-field-add-control { display: flex; align-items: center; gap: 6px; }
.custom-field-preset-select { width: 132px; min-width: 0; padding: 7px 28px 7px 9px; font-size: 12px; }
.custom-field-preset-menu { position: relative; }
.custom-field-preset-menu > summary { padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 12px; cursor: pointer; list-style: none; }
.custom-field-preset-menu > summary::-webkit-details-marker { display: none; }
.custom-field-preset-menu[open] > summary { border-color: var(--line-strong); color: var(--ink); }
.custom-field-preset-body { position: absolute; z-index: 5; top: calc(100% + 6px); right: 0; display: flex; gap: 6px; min-width: 245px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 12px 28px rgb(42 33 22 / 12%); }
.custom-runner-heading-actions { display: flex; gap: 6px; }
.custom-run-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; margin-top: 22px; }
.custom-input-card > .custom-run-form { padding: 0 14px; }
.custom-run-form .form-field { margin: 0 0 12px; }
.custom-run-form .form-field:has(textarea) { grid-column: 1 / -1; }
.custom-run-form .form-field.is-wide, .custom-run-section { grid-column: 1 / -1; }
.custom-run-section { margin: 4px 0 8px; }
.simple-field-help { color: var(--muted); font-size: 12px; line-height: 1.45; }
.custom-boolean-input { display: flex; align-items: center; min-height: 35px; gap: 8px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; }
.custom-boolean-input input { width: auto; accent-color: var(--accent); }
.custom-run-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 15px; border-top: 1px solid var(--line); }
.custom-run-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.custom-run-readiness { margin: 0; color: var(--muted); font-size: 12px; }
.custom-run-readiness.is-ready, .custom-run-readiness.is-running { color: var(--complete); }
.custom-run-readiness.is-blocked { color: var(--danger); }
.custom-template-form { margin-top: 20px; }
.custom-template-basics { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(240px, 1fr) minmax(180px, .65fr); gap: 12px; }
.custom-template-settings { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 12px; }
.custom-template-basics .form-field, .custom-template-settings .form-field { margin: 0 0 14px; }
.custom-settings-card .custom-template-settings { gap: 0; }
.custom-output-control { padding: 11px 0; border-bottom: 1px solid var(--line); }
.custom-output-control:last-child { border-bottom: 0; }
.custom-output-control > .simple-form-field { margin-bottom: 7px; }
.custom-runtime-toggle { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.custom-runtime-toggle input { width: auto; accent-color: var(--accent); }
.custom-reference-setting { display: flex; align-items: center; width: fit-content; gap: 8px; margin: 2px 0 24px; color: var(--ink); font-size: 12px; }
.custom-reference-setting input, .custom-field-required input { width: auto; accent-color: var(--accent); }
.custom-field-heading { align-items: center; padding-top: 18px; border-top: 1px solid var(--line); }
.custom-field-builder { display: grid; margin-top: 12px; }
.custom-field-builder-empty { margin: 0; padding: 20px 2px; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.custom-field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(112px, .68fr); align-items: start; gap: 9px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.custom-field-row:last-child { border-bottom: 0; }
.custom-field-row input, .custom-field-row select, .custom-field-row textarea { min-width: 0; padding: 8px 9px; font-size: 12px; }
.custom-field-row > .simple-form-field { margin: 0; }
.custom-field-row-heading { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 12px; }
.custom-field-row-heading > strong { font-size: 12px; letter-spacing: .06em; color: var(--muted); }
.custom-field-row-heading > .custom-field-required { margin-left: auto; }
.custom-field-row-actions { display: flex; gap: 4px; }
.custom-field-row-actions .icon-button { width: 26px; height: 26px; min-height: 26px; font-size: 13px; }
.custom-field-row-actions .icon-button:disabled { opacity: .32; }
.custom-field-required { display: flex; align-items: center; gap: 5px; font-size: 12px; white-space: nowrap; }
.custom-field-options { grid-column: 1 / -1; }
.custom-field-advanced { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.custom-field-advanced summary { width: fit-content; margin-top: 9px; color: var(--muted); font-size: 12px; cursor: pointer; }
.custom-field-advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding-top: 10px; }
.custom-field-advanced-grid > .simple-form-field { margin: 0; }
.custom-field-advanced-grid > .simple-form-field:has(.custom-field-options), .custom-field-advanced-grid > .custom-field-number-settings { grid-column: 1 / -1; }
.custom-field-number-settings { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.custom-field-number-settings .simple-form-field { margin: 0; }
.custom-workflow-summary { display: grid; gap: 7px; margin: 0 14px 14px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.custom-workflow-summary strong { font-size: 12px; }
.custom-workflow-summary span { color: var(--muted); font-size: 12px; }
.custom-plan-rule { display: grid; gap: 7px; margin: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); }
.custom-plan-rule > span { color: var(--muted); font-size: 12px; font-weight: 650; }
.custom-plan-rule > p { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.65; white-space: pre-wrap; }
.custom-plan-rule.is-empty > p { color: var(--muted); }
.custom-run-empty { margin: 0; padding: 28px 14px; color: var(--muted); font-size: 12px; text-align: center; }
.custom-template-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.custom-plan-grid select:disabled, .custom-plan-grid input:disabled { border-style: dashed; background: var(--canvas); color: var(--muted); opacity: 1; }
.simple-mode-body { display: grid; grid-template-rows: minmax(64px, max-content) auto; min-width: 0; min-height: 100%; align-content: start; gap: 12px; padding: 12px 16px 16px; }
.simple-workflow-tabs { display: grid; min-height: 64px; flex: 0 0 auto; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.simple-workflow-tab { position: relative; display: grid; min-width: 0; gap: 2px; padding: 8px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); text-align: left; }
.simple-workflow-tab strong, .simple-workflow-tab span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.simple-workflow-tab strong { font-size: 12px; font-weight: 650; }
.simple-workflow-tab span { font-size: 12px; }
.simple-workflow-tab small.workflow-project-status { color: var(--muted); font-size: 12px; }
.simple-workflow-tab small.workflow-project-status.is-in_progress, .simple-workflow-tab small.workflow-project-status.is-completed { color: var(--complete); }
.simple-workflow-tab small.workflow-project-status.is-failed { color: var(--danger); }
.simple-workflow-tab:hover:not(:disabled) { border-color: var(--line); background: var(--surface-hover); color: var(--ink); }
.simple-workflow-tab.is-active { border-color: color-mix(in oklch, var(--complete) 28%, var(--line)); background: color-mix(in oklch, var(--complete) 9%, var(--surface)); color: var(--complete); }
.simple-workflow-tab.is-active::before { position: absolute; top: 8px; right: 9px; width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ""; }
.simple-workflow-tab.is-completed:not(.is-active) { color: color-mix(in oklch, var(--complete) 76%, var(--muted)); }
.simple-workflow-tab:disabled { cursor: not-allowed; opacity: .43; }
.simple-form-columns { display: grid; grid-template-columns: minmax(278px, .8fr) minmax(460px, 1.22fr) minmax(260px, .72fr); min-height: max-content; align-items: start; gap: 10px; }
.simple-form-card { box-sizing: border-box; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); box-shadow: 0 1px 1px rgb(69 52 31 / 2%); }
.simple-brief-card { --brief-inline-inset: 14px; }
.simple-card-heading { display: grid; gap: 3px; padding: 13px 14px 11px; border-bottom: 1px solid var(--line); }
.simple-card-heading h3 { margin: 0; font-size: 17px; letter-spacing: -.03em; }
.simple-card-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.simple-form-field { display: grid; align-content: start; gap: 5px; min-width: 0; margin: 11px 14px 0; }
.simple-brief-card > .simple-form-field { margin-right: var(--brief-inline-inset); margin-left: var(--brief-inline-inset); }
.simple-form-label { color: var(--muted); font-size: 12px; font-weight: 620; }
.simple-form-hint { margin: -1px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.simple-text-input, .simple-textarea, .simple-select { min-width: 0; min-height: 35px; padding: 8px 9px; border-radius: 7px; background: var(--surface); font-size: 12px; }
.profile-custom-select { display: grid; min-width: 0; gap: 6px; }
.profile-custom-select .profile-custom-input { width: 100%; box-sizing: border-box; }
.profile-custom-select .profile-custom-input[hidden] { display: none; }
.profile-custom-select.is-custom select { border-color: color-mix(in oklch, var(--accent) 42%, var(--line)); }
.input-strategy-control { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 5px 10px; margin: 0; padding: 0 0 8px; border: 0; border-bottom: 1px solid var(--line); }
.input-strategy-legend { grid-column: 1; margin: 0; padding: 0; color: var(--ink); font-size: 12px; font-weight: 700; }
.input-strategy-options { display: grid; grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.input-strategy-option { display: flex; min-width: 0; min-height: 34px; align-items: center; gap: 7px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); cursor: pointer; }
.input-strategy-option:hover { border-color: var(--line-strong); background: var(--surface-hover); }
.input-strategy-option:has(input:checked) { border-color: color-mix(in oklch, var(--accent) 42%, var(--line)); background: color-mix(in oklch, var(--accent) 6%, var(--surface)); color: var(--ink); }
.input-strategy-option input { flex: 0 0 auto; width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
.input-strategy-copy { display: grid; min-width: 0; gap: 1px; }
.input-strategy-copy strong { font-size: 12px; font-weight: 700; }
.input-strategy-copy small { display: none; }
.input-strategy-note { grid-column: 2; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.input-strategy-control.is-professional { gap: 5px; padding-bottom: 7px; border-color: color-mix(in oklch, var(--line) 82%, transparent); }
.input-strategy-control.is-professional .input-strategy-legend { font-size: 12px; }
.input-strategy-control.is-professional .input-strategy-options { gap: 4px; }
.input-strategy-control.is-professional .input-strategy-option { min-height: 34px; gap: 5px; padding: 4px 5px; border-color: #b8bec1; border-radius: 5px; background: #f8f8f7; }
.input-strategy-control.is-professional .input-strategy-option:has(input:checked) { border-color: #6f97a9; background: #eef4f6; }
.input-strategy-control.is-professional .input-strategy-option input { width: 12px; height: 12px; }
.input-strategy-control.is-professional .input-strategy-copy strong { font-size: 12px; }
.input-strategy-control.is-professional .input-strategy-copy small, .input-strategy-control.is-professional .input-strategy-note { font-size: 8px; }
.simple-text-input.is-readonly { border-style: dashed; background: var(--canvas); color: var(--muted); cursor: default; }
.simple-textarea { min-height: 76px; max-height: 240px; resize: vertical; overflow-y: auto; line-height: 1.5; }
.project-brief-details > summary { width: fit-content; padding: 4px 0; color: var(--muted); font-size: 13px; cursor: pointer; list-style: none; }
.project-brief-details > summary::-webkit-details-marker { display: none; }
.project-brief-details > summary:hover { color: var(--ink); }
.project-brief-details[open] > summary { display: none; }
.project-mainline-textarea { min-height: 120px; max-height: 360px; overflow-y: hidden; line-height: 1.6; resize: vertical; }
.professional-node-textarea.project-mainline-textarea { min-height: 88px; max-height: 360px; }
.prompt-translation-tools { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 6px; }
.prompt-translation-actions { display: flex; min-width: 0; flex-wrap: wrap; gap: 4px; }
.prompt-translation-button { min-height: 25px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--canvas); color: var(--muted); font-size: 12px; line-height: 1.2; }
.prompt-translation-button:hover:not(:disabled) { border-color: var(--line-strong); background: var(--surface-hover); color: var(--ink); }
.prompt-translation-button:focus-visible { outline: 2px solid color-mix(in oklch, var(--accent) 25%, transparent); outline-offset: 1px; }
.prompt-translation-button.is-optimize { border-color: color-mix(in oklch, var(--accent) 30%, var(--line)); color: var(--accent); }
.prompt-translation-button.is-restore { border-style: dashed; }
.prompt-translation-button:disabled { cursor: wait; opacity: .52; }
.prompt-translation-status { min-width: 0; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.35; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.prompt-translation-status.is-success { color: var(--complete); }
.prompt-translation-status.is-pending { color: var(--ink); }
.prompt-translation-status.is-error,
.prompt-translation-status.is-pending { overflow: visible; text-overflow: unset; white-space: normal; }
.prompt-translation-status.is-error { color: var(--danger); }
.simple-keyword-studio-entry, .professional-keyword-studio-entry, .meeting-keyword-studio-entry { display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 28px; min-height: 28px; padding: 0 8px; border: 0; border-radius: var(--radius-control, 8px); background: transparent; color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 500; line-height: 1; }
.simple-keyword-studio-entry:hover, .professional-keyword-studio-entry:hover, .meeting-keyword-studio-entry:hover { background: transparent; color: var(--ink); }
.keyword-studio-entry-mark { font-size: var(--text-meta, 12px); line-height: 1; }
html.keyword-studio-open, html.keyword-studio-open body { overflow: hidden; }
.keyword-studio-dialog { display: flex; flex-direction: column; width: min(880px, calc(100vw - 48px)); height: min(620px, 88dvh); max-height: min(620px, 88dvh); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--hairline, var(--line)); border-radius: var(--radius-surface, 12px); background: var(--dialog, var(--surface)); color: var(--ink); box-shadow: var(--shadow-float, var(--shadow)); }
.keyword-studio-dialog::backdrop { background: rgb(45 35 20 / 38%); }
.keyword-studio-shell { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.keyword-studio-header { display: flex; height: 56px; flex: 0 0 56px; align-items: stretch; gap: 24px; padding: 0 16px 0 24px; border-bottom: 1px solid var(--line); }
.keyword-studio-header h2 { align-self: center; margin: 0; color: var(--ink); font-size: var(--text-title, 15px); font-weight: 600; letter-spacing: 0; line-height: 1; white-space: nowrap; }
.keyword-studio-tabs { display: flex; min-width: 0; flex: 1; align-items: stretch; gap: 20px; }
.keyword-studio-tab { position: relative; height: auto; min-height: 0; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: var(--text-body, 13px); font-weight: 400; white-space: nowrap; }
.keyword-studio-tab:hover { color: var(--ink); }
.keyword-studio-tab.is-active { color: var(--ink); font-weight: 600; }
.keyword-studio-tab.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--accent); content: ""; }
.keyword-studio-close { display: grid; width: 28px; height: 28px; align-self: center; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control, 8px); background: transparent; color: var(--muted); font-size: 18px; line-height: 1; }
.keyword-studio-close:hover { background: var(--surface-hover); color: var(--ink); }
.keyword-studio-body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 20px 24px; overflow: hidden; }
.keyword-studio-footer { display: flex; height: 60px; flex: 0 0 60px; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px; border-top: 1px solid var(--line); }
.keyword-studio-footer-start { display: flex; min-width: 0; flex: 1; align-items: center; }
.keyword-studio-footer-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.keyword-studio-footer-target, .keyword-studio-footer-note { color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 400; }
.keyword-studio-footer-target { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.keyword-studio-footer-target strong { color: var(--ink); font-weight: 600; }
.keyword-studio-dictionary { display: grid; flex: 1; min-height: 0; grid-template-columns: 132px minmax(0, 1fr); }
.keyword-studio-categories { grid-column: 1; grid-row: 1; min-height: 0; padding: 0 12px 0 0; overflow: auto; border-right: 1px solid var(--line); }
.keyword-studio-main { display: flex; grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; flex-direction: column; padding-left: 16px; }
.keyword-studio-category { display: flex; width: 100%; height: 30px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 8px; border: 0; border-radius: var(--radius-control, 8px); background: transparent; color: var(--ink); font-size: var(--text-body, 13px); font-weight: 400; text-align: left; }
.keyword-studio-category:hover { background: var(--surface-hover); }
.keyword-studio-category.is-active, .keyword-studio-category.is-active:hover { background: var(--selected, var(--surface-hover)); box-shadow: inset 2px 0 0 var(--accent); font-weight: 600; }
.keyword-studio-category-count { color: var(--muted); font-size: var(--text-caption, 11px); font-weight: 400; }
.keyword-studio-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.keyword-studio-search-wrap { position: relative; min-width: 0; flex: 1; }
.keyword-studio-search-wrap .ui-icon { position: absolute; top: 50%; left: 10px; color: var(--muted); pointer-events: none; transform: translateY(-50%); }
.keyword-studio-search { width: 100%; height: 34px; padding: 0 12px 0 32px; border: 1px solid var(--line); border-radius: var(--radius-control, 8px); background: var(--field, var(--canvas)); color: var(--ink); font-size: var(--text-body, 13px); font-weight: 400; }
.keyword-studio-search::-webkit-search-decoration, .keyword-studio-search::-webkit-search-cancel-button { display: none; }
.keyword-studio-text-button { height: 28px; padding: 0 4px; border: 0; border-radius: var(--radius-control, 8px); background: transparent; color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 500; white-space: nowrap; }
.keyword-studio-text-button:hover { background: transparent; color: var(--ink); }
.keyword-studio-secondary, .keyword-studio-primary { display: inline-flex; height: 34px; align-items: center; justify-content: center; padding: 0 14px; border-radius: var(--radius-control, 8px); font-size: var(--text-body, 13px); white-space: nowrap; }
.keyword-studio-secondary { border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); font-weight: 500; }
.keyword-studio-secondary:hover:not(:disabled) { background: var(--surface-hover); }
.keyword-studio-button-sm { height: 28px; padding: 0 12px; font-size: var(--text-meta, 12px); font-weight: 500; }
.keyword-studio-primary { border: 1px solid var(--accent); background: var(--accent); color: var(--accent-ink); font-weight: 600; }
.keyword-studio-primary:hover:not(:disabled) { border-color: var(--accent-hover); background: var(--accent-hover); }
.keyword-studio-secondary:disabled, .keyword-studio-primary:disabled, .keyword-studio-text-button:disabled { cursor: not-allowed; opacity: .45; }
.keyword-studio-icon { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: var(--radius-control, 8px); background: transparent; color: var(--muted); font-size: 16px; line-height: 1; }
.keyword-studio-icon:hover { background: var(--surface-hover); }
.keyword-studio-favorite[aria-pressed="true"] { color: var(--accent); }
.keyword-studio-delete-slot { display: grid; width: 28px; height: 28px; place-items: center; }
.keyword-studio-delete { opacity: 0; color: var(--muted); }
.keyword-studio-term:hover .keyword-studio-delete, .keyword-studio-term:focus-within .keyword-studio-delete, .keyword-studio-delete:focus, .keyword-studio-delete:focus-visible { opacity: 1; }
.keyword-studio-custom-form { display: grid; gap: 8px; margin-bottom: 8px; }
.keyword-studio-custom-form[hidden] { display: none; }
.keyword-studio-custom-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) 96px; gap: 8px; }
.keyword-studio-custom-input, .keyword-studio-custom-category { width: 100%; height: 34px; min-width: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-control, 8px); background: var(--field, var(--canvas)); color: var(--ink); font-size: var(--text-body, 13px); font-weight: 400; }
.keyword-studio-custom-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 34px; }
.keyword-studio-custom-actions .keyword-studio-status { margin-right: auto; }
.keyword-studio-custom-buttons { display: flex; align-items: center; gap: 8px; }
.keyword-studio-custom-input.is-invalid, .keyword-studio-textarea.is-invalid, .keyword-studio-dropzone.is-invalid { border-color: var(--danger); }
.keyword-studio-term-list { min-height: 0; flex: 1; padding-bottom: 28px; overflow: auto; scroll-padding-bottom: 28px; mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 22px), transparent 100%); }
.keyword-studio-term { display: grid; height: 44px; align-items: center; grid-template-columns: 132px minmax(0, 1fr) 28px 28px auto; gap: 8px; padding: 0 8px 0 12px; border-radius: var(--radius-control, 8px); scroll-snap-align: start; }
.keyword-studio-term-list.shows-category .keyword-studio-term { grid-template-columns: 132px minmax(0, 1fr) 40px 28px 28px auto; }
.keyword-studio-term:hover { background: var(--surface-hover); }
.keyword-studio-term.is-fresh {
  background: color-mix(in oklch, var(--accent) 15%, transparent);
  box-shadow: inset 2px 0 0 var(--accent);
  animation: keyword-studio-fresh 2.8s linear forwards;
}
@keyframes keyword-studio-fresh {
  0%, 71.4% {
    background: color-mix(in oklch, var(--accent) 15%, transparent);
    box-shadow: inset 2px 0 0 var(--accent);
  }
  100% {
    background: transparent;
    box-shadow: inset 2px 0 0 transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  .keyword-studio-term.is-fresh { animation: none; }
}
.keyword-studio-term strong, .keyword-studio-term small, .keyword-studio-term-category { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.keyword-studio-term strong { color: var(--ink); font-size: var(--text-body, 13px); font-weight: 600; }
.keyword-studio-term small, .keyword-studio-term-category { color: var(--muted); font-weight: 400; }
.keyword-studio-term small { font-size: var(--text-meta, 12px); }
.keyword-studio-term-category { font-size: var(--text-caption, 11px); }
.keyword-studio-empty { display: grid; min-height: 100%; align-content: center; justify-items: center; gap: 8px; padding: 24px; text-align: center; }
.keyword-studio-empty strong { color: var(--ink); font-size: var(--text-title, 15px); font-weight: 600; }
.keyword-studio-empty span { color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 400; }
.keyword-studio-translation { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 12px; }
.keyword-studio-segment { display: inline-flex; align-self: flex-start; padding: 2px; border-radius: var(--radius-control, 8px); background: var(--surface-hover); }
.keyword-studio-segment-option { height: 28px; padding: 0 12px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 500; }
.keyword-studio-segment-option.is-active { border-color: var(--line); background: var(--surface); color: var(--ink); }
.keyword-studio-columns { display: grid; min-height: 0; flex: 1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.keyword-studio-field { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: 6px; }
.keyword-studio-field-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 500; }
.keyword-studio-count, .keyword-studio-optional, .keyword-studio-hint { color: var(--muted); font-size: var(--text-caption, 11px); font-weight: 400; }
.keyword-studio-textarea { width: 100%; min-height: 0; flex: 1; padding: 10px 12px; overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-control, 8px); background: var(--field, var(--canvas)); color: var(--ink); font-size: var(--text-body, 13px); font-weight: 400; line-height: 1.55; resize: none; }
.keyword-studio-textarea.is-result { background: var(--field, var(--canvas)); }
.keyword-studio-textarea.is-result.is-loading { cursor: progress; }
.keyword-studio-textarea.is-result.is-loading::placeholder { color: var(--ink); opacity: .7; }
.keyword-studio-textarea::placeholder, .keyword-studio-custom-input::placeholder, .keyword-studio-search::placeholder, .keyword-studio-instruction::placeholder { color: var(--muted); }
.keyword-studio-dialog input:focus, .keyword-studio-dialog input:focus-visible, .keyword-studio-dialog textarea:focus, .keyword-studio-dialog textarea:focus-visible, .keyword-studio-dialog select:focus, .keyword-studio-dialog select:focus-visible { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent); }
.keyword-studio-dialog .keyword-studio-search:focus, .keyword-studio-dialog .keyword-studio-search:focus-visible { border: 1px solid var(--accent); outline: none; box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent); }
.keyword-studio-dialog button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.keyword-studio-analysis { display: grid; flex: 1; min-height: 0; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; }
.keyword-studio-analysis-column { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: 6px; }
.keyword-studio-dropzone { position: relative; display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; border: 1px dashed var(--line-strong); border-radius: var(--radius-control, 8px); background: var(--field, var(--canvas)); }
.keyword-studio-dropzone.is-dragover { border-color: var(--accent); background: var(--surface-hover); }
.keyword-studio-drop-empty { display: grid; height: 100%; align-content: center; justify-items: center; gap: 8px; padding: 24px; text-align: center; pointer-events: none; }
.keyword-studio-drop-plus { color: var(--muted); font-size: 18px; line-height: 1; }
.keyword-studio-drop-empty strong { color: var(--ink); font-size: var(--text-body, 13px); font-weight: 500; }
.keyword-studio-drop-empty small { color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 400; }
.keyword-studio-file { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; cursor: pointer; opacity: 0; }
.keyword-studio-dropzone.is-filled .keyword-studio-file { width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.keyword-studio-preview { display: flex; height: 100%; min-height: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 8px; padding: 12px; overflow: auto; }
.keyword-studio-preview[hidden], .keyword-studio-drop-empty[hidden], .keyword-studio-hint[hidden] { display: none; }
.keyword-studio-analysis-preview { width: 100%; max-width: 100%; height: auto; max-height: calc(100% - 28px); object-fit: contain; object-position: top center; border: 0; border-radius: 0; background: transparent; }
.keyword-studio-file-meta { display: flex; max-width: 100%; align-items: center; gap: 8px; color: var(--muted); font-size: var(--text-meta, 12px); }
.keyword-studio-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.keyword-studio-instruction { height: 72px; flex: 0 0 72px; }
.keyword-studio-analysis-result-field { min-height: 0; flex: 1; }
.keyword-studio-status { display: flex; min-width: 0; min-height: 18px; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: var(--text-meta, 12px); font-weight: 400; line-height: 1.45; }
.keyword-studio-status:empty { display: none; }
.keyword-studio-status::before { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; content: ""; }
.keyword-studio-status.is-pending { color: var(--muted); }
.keyword-studio-status.is-pending::before { background: var(--muted); }
.keyword-studio-status.is-success { color: var(--complete); }
.keyword-studio-status.is-success::before { background: var(--complete); }
.keyword-studio-status.is-error { color: var(--danger); }
.keyword-studio-status.is-error::before { background: var(--danger); }
.keyword-studio-notice { position: fixed; bottom: 28px; left: 50%; z-index: 80; display: flex; max-width: min(560px, calc(100vw - 48px)); align-items: center; gap: 12px; padding: 8px 8px 8px 14px; border-radius: var(--radius-control, 8px); background: var(--ink); color: var(--surface); font-size: var(--text-meta, 12px); font-weight: 500; box-shadow: var(--shadow-float, var(--shadow)); transform: translateX(-50%); }
.keyword-studio-notice[hidden] { display: none; }
.keyword-studio-notice.is-plain { padding-right: 14px; }
.keyword-studio-notice-mark, .keyword-studio-notice-text, .keyword-studio-notice-undo { color: var(--surface); }
.keyword-studio-notice-mark.is-info { display: inline-grid; width: 16px; height: 16px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--font-ui, inherit); font-style: normal; font-weight: 600; line-height: 1; }
.keyword-studio-notice-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.keyword-studio-notice-undo { height: 28px; flex: 0 0 auto; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; font-size: var(--text-meta, 12px); font-weight: 500; }
.keyword-studio-notice-undo:hover { background: color-mix(in oklch, var(--surface) 12%, transparent); }
.professional-intent-header, .vc-keyword-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.vc-keyword-row { justify-content: flex-end; }
.professional-intent-header > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.simple-field-hint { margin: 6px 14px 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.simple-form-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 14px 14px 0; padding-top: 11px; border-top: 1px solid var(--line); }
.simple-form-section-heading strong { color: var(--ink); font-size: 12px; font-weight: 680; }
.simple-form-section-heading span { color: var(--muted); font-size: 12px; }
.simple-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 10px; padding: 8px 14px 0; }
.simple-brief-card > .simple-field-grid { padding-right: var(--brief-inline-inset); padding-left: var(--brief-inline-inset); }
.simple-field-grid .simple-form-field { margin: 0; }
.simple-field-grid .simple-form-field.is-wide { grid-column: 1 / -1; }
.simple-field-grid.has-mixed-control-heights .is-textarea-field { grid-column: 1 / -1; }
.simple-profile-quick-fields .is-unpaired-field, .simple-profile-detail-fields .is-unpaired-field { grid-column: 1 / -1; }
.simple-output-spec-fields .output-dimension-hint { padding: 7px 9px; }
.output-size-preset-field select { border-color: color-mix(in oklch, var(--accent) 30%, var(--line)); background: color-mix(in oklch, var(--accent) 4%, var(--surface)); font-weight: 620; }
.professional-output-spec-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 6px; }
.professional-output-spec-fields .professional-node-field.is-wide, .professional-output-spec-fields .output-dimension-hint, .professional-output-spec-fields .image-model-boundary { grid-column: 1 / -1; }
.image-model-boundary { grid-column: 1 / -1; display: grid; gap: 3px; margin: 0 14px 9px; padding: 8px 10px; border: 1px solid color-mix(in oklch, var(--complete) 28%, var(--line)); border-radius: 6px; background: color-mix(in oklch, var(--complete) 6%, var(--canvas)); }
.image-model-boundary.is-limited { border-color: color-mix(in oklch, var(--warning) 30%, var(--line)); background: color-mix(in oklch, var(--warning) 7%, var(--canvas)); }
.image-model-boundary.is-professional { margin: 0 0 8px; }
.image-model-boundary-label { color: var(--ink); font-size: 12px; font-weight: 700; line-height: 1.4; }
.image-model-boundary-copy { color: var(--muted); font-size: 12px; line-height: 1.5; }
.image-model-boundary-lock { color: var(--complete); font-size: 12px; font-weight: 650; line-height: 1.45; }
.simple-profile-quick-fields { padding-top: 5px; padding-bottom: 2px; }
.simple-input-groups { display: grid; gap: 0; }
.simple-input-group { margin: 0 14px; padding-top: 10px; border-top: 1px solid var(--line); }
.simple-input-group:first-child { margin-top: 2px; }
.shared-input-group-heading { display: flex; min-height: 26px; align-items: center; justify-content: space-between; gap: 10px; }
.shared-input-group-heading > strong, .shared-input-group-heading > h4 { margin: 0; color: var(--ink); font-size: 12px; font-weight: 680; }
.input-group-activation { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; color: var(--muted); font-size: 12px; cursor: pointer; }
.input-group-activation input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
.simple-input-group.is-disabled, .professional-input-group.is-disabled { color: var(--muted); }
.simple-input-group.is-disabled .shared-input-group-heading, .professional-input-group.is-disabled .shared-input-group-heading { opacity: .82; }
.simple-input-group [hidden], .professional-input-group [hidden] { display: none !important; }
.simple-input-group .simple-field-grid { padding-right: 0; padding-left: 0; }
.simple-output-summary { margin: 13px 14px 0; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.simple-output-summary summary { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; color: var(--ink); cursor: pointer; list-style-position: inside; }
.simple-output-summary summary::marker { color: var(--muted); }
.simple-output-summary-value { overflow: hidden; min-width: 0; color: var(--ink); font-size: 12px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.simple-output-summary-hint { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.simple-output-summary[open] summary { border-bottom: 1px solid var(--line); }
.simple-output-summary .simple-output-spec-fields { padding-bottom: 10px; }
.simple-field-grid .has-resizable-textarea { grid-template-rows: auto auto; align-self: start; }
.simple-field-grid .has-resizable-textarea > .simple-textarea { min-height: 64px; transition: border-color .16s ease, box-shadow .16s ease; }
.simple-profile-detail-fields { padding-top: 7px; padding-bottom: 2px; }
.simple-profile-prompt-fields { padding-top: 10px; padding-bottom: 16px; }
.generation-mode-summary { display: flex; min-width: 0; align-items: center; gap: 8px; color: var(--muted); }
.generation-mode-label { flex: 0 0 auto; padding: 3px 7px; border: 1px solid color-mix(in oklch, var(--complete) 30%, var(--line)); border-radius: 999px; background: color-mix(in oklch, var(--complete) 7%, var(--surface)); color: var(--complete); font-size: 12px; font-weight: 700; }
.generation-mode-summary.is-needs_reference .generation-mode-label { border-color: color-mix(in oklch, var(--danger) 32%, var(--line)); background: color-mix(in oklch, var(--danger) 6%, var(--surface)); color: var(--danger); }
.generation-mode-description { min-width: 0; overflow: hidden; font-size: 12px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.simple-generation-intent { display: grid; gap: 10px; margin: 13px 14px 0; padding: 12px; border: 1px solid color-mix(in oklch, var(--accent) 28%, var(--line)); border-radius: 9px; background: color-mix(in oklch, var(--accent) 3%, var(--surface)); }
.simple-generation-intent .simple-form-field { margin: 0; }
.simple-generation-intent .simple-form-label { color: var(--ink); font-size: 12px; font-weight: 700; }
.simple-generation-intent .simple-custom-instruction { min-height: 96px; background: var(--surface); }
.simple-generation-intent.is-supplemental { gap: 7px; padding: 9px 10px; }
.simple-generation-intent.is-supplemental .simple-form-label { font-size: 12px; }
.simple-generation-intent.is-supplemental .simple-custom-instruction { min-height: 56px; }
.simple-reference-section { margin: 14px 14px 13px; }
.simple-reference-section > .generation-mode-summary { margin-bottom: 10px; }
.simple-subheading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.simple-subheading strong { font-size: 12px; }
.simple-subheading span { color: var(--muted); font-size: 12px; }
.simple-reference-grid { display: grid; grid-template-columns: 1fr; gap: 6px; }
.simple-reference-slot { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; min-height: 62px; padding: 6px 8px; border: 1px dashed var(--line-strong); border-radius: 8px; background: var(--canvas); }
.simple-reference-slot.is-filled { border-style: solid; border-color: color-mix(in oklch, var(--accent) 32%, var(--line)); }
.simple-reference-slot.is-drag-target { border-color: var(--accent); background: color-mix(in oklch, var(--accent) 7%, var(--canvas)); box-shadow: 0 0 0 2px color-mix(in oklch, var(--accent) 18%, transparent); }
.simple-reference-section.is-model-disabled .simple-reference-slot { border-color: var(--line); background: color-mix(in oklch, var(--muted) 4%, var(--canvas)); }
.simple-reference-section.is-model-disabled .simple-reference-select-preview:disabled, .simple-reference-section.is-model-disabled .simple-reference-empty-button:disabled, .simple-reference-section.is-model-disabled .simple-reference-upload:disabled { cursor: not-allowed; opacity: .48; }
.simple-reference-section.is-model-disabled .simple-reference-remove { opacity: 1; }
.simple-reference-slot-main { min-width: 0; }
.simple-reference-slot-thumbnail { display: grid; width: 48px; height: 48px; place-items: center; overflow: hidden; border-radius: 5px; background: var(--surface-hover); }
.simple-reference-slot-placeholder { color: var(--muted); font-size: 18px; font-weight: 400; line-height: 1; }
.simple-reference-slot-copy { display: grid; min-width: 0; gap: 2px; text-align: left; }
.simple-reference-slot-label { overflow: hidden; color: var(--muted); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.simple-reference-preview { width: 48px; height: 48px; border-radius: 5px; background: var(--surface-hover); object-fit: cover; }
.simple-reference-select-preview, .simple-reference-empty-button { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 8px; width: 100%; min-height: 48px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 12px; text-align: left; }
.simple-reference-select-preview:hover .simple-reference-name, .simple-reference-empty-button:hover .simple-reference-name { color: var(--accent); }
.simple-reference-empty-actions, .simple-reference-slot-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.simple-reference-upload { min-height: 28px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--accent); font-size: 12px; }
.simple-reference-upload:hover { border-color: var(--accent); }
.simple-reference-name { overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.simple-reference-remove { width: 28px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); font-size: 17px; line-height: 24px; }
.simple-reference-remove:hover { border-color: color-mix(in oklch, var(--danger) 30%, var(--line)); background: color-mix(in oklch, var(--danger) 6%, var(--surface)); color: var(--danger); }
.simple-reference-hint { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.simple-custom-instruction { min-height: 96px; }
.simple-result-card { position: relative; top: auto; min-height: 0; align-self: start; overflow: visible; }
.simple-result-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 9px; padding: 14px; }
.simple-result-item { display: grid; min-width: 0; gap: 7px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); text-align: left; transition: border-color .16s ease, transform .16s ease; }
.simple-result-item:hover { border-color: color-mix(in oklch, var(--accent) 46%, var(--line)); transform: translateY(-1px); }
.simple-result-preview { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: 5px; background: var(--surface-hover); object-fit: contain; }
.simple-result-name { display: block; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 620; }
.simple-result-provenance { margin: 0 14px 14px; }
.simple-result-empty { display: grid; min-height: 210px; margin: 14px; place-items: center; border: 1px dashed var(--line-strong); border-radius: 7px; color: var(--muted); font-size: 12px; }
.simple-result-failure { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px; padding: 12px; border: 1px solid color-mix(in oklch, var(--danger) 34%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--danger) 5%, var(--surface)); }
.simple-primary-action { position: sticky; z-index: 3; top: 64px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: color-mix(in oklch, var(--accent) 4%, var(--surface)); }
.simple-result-run-button { min-width: 126px; min-height: 40px; }
.simple-result-readiness { max-width: none; text-align: left; white-space: normal; }
.simple-primary-action-hint { grid-column: 1 / -1; color: var(--muted); font-size: 12px; line-height: 1.4; }
.simple-result-card .simple-primary-action { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.simple-result-card .simple-result-readiness { min-width: 0; }
.simple-result-card .simple-result-run-button { width: 100%; }
.simple-result-card .simple-primary-action-hint { grid-column: 1; }
.simple-result-failure > div { display: grid; min-width: 0; gap: 3px; }
.simple-result-failure strong { color: var(--ink); font-size: 12px; }
.simple-result-failure p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.simple-result-failure .secondary-button { flex: 0 0 auto; }
.generation-failure-dialog { width: min(480px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); overflow: hidden; }
.generation-failure-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 16px; padding: 20px; max-height: calc(100dvh - 48px); }
.generation-failure-facts { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-content: start; gap: 8px 14px; margin: 0; padding: 14px 0; border-block: 1px solid var(--line); overflow-y: auto; overscroll-behavior: contain; }
.generation-failure-facts dt { color: var(--muted); font-size: 12px; }
.generation-failure-facts dd { margin: 0; color: var(--ink); font-size: 12px; font-weight: 620; }
.generation-failure-reason { display: grid; gap: 6px; }
.generation-failure-reason p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.simple-run-button { min-width: 144px; min-height: 38px; margin-left: auto; background: var(--complete); border-color: var(--complete); }
.simple-run-button:hover { background: color-mix(in oklch, var(--complete) 84%, var(--ink)); border-color: color-mix(in oklch, var(--complete) 84%, var(--ink)); }
.generation-progress { display: grid; gap: 6px; margin: 14px 14px 0; padding: 10px 11px; border: 1px solid color-mix(in oklch, var(--complete) 28%, var(--line)); border-radius: 8px; background: color-mix(in oklch, var(--complete) 5%, var(--surface)); }
.generation-progress-label { color: var(--ink); font-size: 12px; font-weight: 650; }
.generation-progress-track { width: 100%; height: 7px; overflow: hidden; border-radius: 999px; background: var(--line); }
.generation-progress-fill { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--complete); transform: scaleX(var(--generation-progress-scale, 0)); transform-origin: left center; transition: transform .45s ease; }
.generation-progress-note { color: var(--muted); font-size: 12px; line-height: 1.45; }
.expanded-simple-pane .simple-form-columns { grid-template-columns: minmax(260px, .72fr) minmax(520px, 1.5fr) minmax(260px, .72fr); }
.professional-input-group { display: grid; gap: 4px; margin: 0 8px 10px; padding: 8px 8px 0; border-top: 1px solid color-mix(in oklch, var(--line) 82%, transparent); }
.professional-input-group:first-of-type { padding-top: 0; border-top: 0; }
.professional-input-group-title { margin: 0 0 2px; color: var(--muted); font-size: 12px; font-weight: 680; letter-spacing: .02em; }
.professional-input-group-fields { display: grid; gap: 4px; }
.professional-input-group .shared-input-group-heading { min-height: 22px; }
.professional-input-group .input-group-activation { font-size: 12px; }
.professional-input-group .professional-node-field { margin: 0; }
.professional-generation-intent { display: grid; gap: 7px; margin: 0 8px 10px; padding: 0 0 9px; border-bottom: 1px solid color-mix(in oklch, var(--line) 82%, transparent); }
.professional-generation-intent .generation-mode-summary { align-items: flex-start; }
.professional-generation-intent .generation-mode-label { padding: 2px 6px; font-size: 8px; }
.professional-generation-intent .generation-mode-description { font-size: 8px; white-space: normal; }
.professional-generation-intent-field { margin: 0; }
.professional-generation-intent-input { min-height: 74px; }
.professional-generation-intent.is-supplemental { gap: 5px; margin-bottom: 7px; padding-bottom: 7px; }
.professional-generation-intent.is-supplemental .professional-generation-intent-input { min-height: 42px; }
.simple-engine { display: none; }
.simple-engine summary { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 13px; color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 650; }
.simple-engine-copy { color: var(--muted); font-size: 12px; font-weight: 400; }
.simple-engine-unavailable { min-height: 120px; border-top: 1px solid var(--line); }
/* Meeting mode keeps only the three meeting-room functions:
   session plans, plan comparison and live W08 revision. */
.meeting-workspace { --asset-pane-height: var(--mode-asset-pane-height); height: 100%; min-height: 0; }
.meeting-workspace[data-asset-pane-mode="collapsed"] { grid-template-rows: 0 18px minmax(0, 1fr); }
.meeting-workspace .output-pane { border-bottom: 1px solid var(--line); }
.meeting-workspace .output-asset-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; padding: 8px 12px 10px; }
.meeting-workspace .output-asset-card { border-radius: 7px; }
.meeting-workspace .output-asset-preview { aspect-ratio: 5 / 2; object-fit: contain; }
.meeting-pane { background: var(--canvas); }
.center-workspace { min-height: 100%; padding: 24px 30px 48px; background: var(--canvas); color: var(--ink); }
.center-page { width: min(100%, 1360px); margin: 0 auto; }
.center-header { display: flex; min-height: 64px; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.center-queue-summary { display: grid; grid-template-columns: minmax(78px, .48fr) minmax(160px, 1.1fr) minmax(145px, .9fr) minmax(210px, 1.25fr); gap: 0; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.center-queue-cell { display: grid; min-width: 0; gap: 4px; padding: 9px 11px; border-right: 1px solid var(--line); }
.center-queue-cell:last-child { border-right: 0; }
.center-queue-cell span { color: var(--muted); font-size: 12px; }
.center-queue-cell strong { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.center-queue-cell:first-child strong { color: var(--accent); font-size: 20px; line-height: 1; }
.center-queue-cell.is-next strong { color: var(--complete); }
.center-title { max-width: 720px; }
.center-title h1 { margin: 0 0 5px; font-size: 24px; letter-spacing: -.035em; }
.center-title p { max-width: 68ch; margin: 0; font-size: 13px; }
.center-collection-policy { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.center-collection-policy strong { font-size: 12px; }
.center-collection-policy p { max-width: 78ch; margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.center-policy-status { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.center-policy-status.is-warning { border-color: color-mix(in oklch, var(--danger) 45%, var(--line)); color: var(--danger); }
.center-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: color-mix(in oklch, var(--surface) 74%, var(--canvas)); }
.center-search { flex: 1 1 280px; width: min(420px, 36vw); min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; }
.center-filter-select { flex: 0 1 170px; width: auto; min-width: 140px; min-height: 34px; padding: 7px 30px 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; resize: none; }
.center-toolbar .primary-button { margin-left: auto; }
.center-inbox-notice { margin: -4px 0 12px; padding: 8px 10px; border: 1px solid color-mix(in oklch, var(--accent) 22%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--accent) 4%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 16px; overflow: visible; }
.center-empty { margin: 0; padding: 42px 24px; color: var(--muted); font-size: 13px; line-height: 1.7; text-align: center; }
.center-trend-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, opacity .18s ease, filter .18s ease; }
.center-trend-card:hover { border-color: color-mix(in oklch, var(--accent) 34%, var(--line)); box-shadow: 0 8px 24px rgb(45 35 20 / 8%); transform: translateY(-2px); }
.center-list.has-open-detail > .center-trend-card:not(.is-detail-open) { filter: saturate(.7); opacity: .58; }
.center-list.has-open-detail > .center-trend-card:not(.is-detail-open):hover { filter: saturate(.88); opacity: .78; }
.center-list.has-open-detail > .center-trend-card.is-detail-open { position: relative; z-index: 1; }
.center-trend-card.has-image { min-height: 100%; padding-left: 0; }
.center-trend-card:last-child { border-bottom: 1px solid var(--line); }
.center-trend-card[hidden] { display: none; }
.center-trend-top { display: flex; grid-column: 1; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px 0; color: var(--muted); font-size: 12px; }
.center-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: color-mix(in oklch, var(--accent) 12%, var(--surface)); color: var(--accent); font-weight: 700; }
.center-trend-figure { grid-row: auto; width: 100%; height: clamp(210px, 22vw, 300px); margin: 0; background: color-mix(in oklch, var(--canvas) 72%, var(--surface)); }
.center-trend-image { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; background: color-mix(in oklch, var(--canvas) 72%, var(--surface)); object-fit: contain; }
.center-trend-figure figcaption { display: none; }
.center-image-unavailable { display: grid; width: 100%; height: 100%; place-items: center; padding: 10px; border: 0; background: var(--canvas); color: var(--muted); font-size: 12px; line-height: 1.4; text-align: center; }
.center-trend-card h3 { grid-column: 1; margin: 12px 16px 4px; overflow: hidden; font-size: 15px; text-wrap: balance; }
.center-trend-badges { display: flex; flex-wrap: nowrap; gap: 5px; min-width: 0; margin: 0 16px 7px; overflow: hidden; }
.center-trend-badges span { padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--canvas); color: var(--muted); font-size: 12px; }
.center-trend-badges span.is-reusable { border-color: #a8b89b; background: #f1f5ed; color: #425538; }
.center-rights-note { margin: 7px 0 0; padding-left: 9px; border-left: 2px solid #c8d3bf; color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-trend-meta, .center-trend-summary { margin: 0 16px; font-size: 12px; line-height: 1.6; }
.center-trend-meta { color: var(--muted); }
.center-trend-summary { max-width: 74ch; margin-top: 0; color: var(--ink-soft, var(--ink)); }
.center-trend-teaser { display: -webkit-box; grid-column: 1; overflow: hidden; max-width: none; margin: 6px 16px 0; color: var(--ink-soft, var(--ink)); font-size: 12px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.center-detail-tools { display: flex; grid-column: 1; align-items: center; min-height: 34px; margin: 8px 16px 0; }
.center-detail-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; margin: 0; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 650; line-height: 1; transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
.center-detail-toggle::after { content: "⌄"; color: currentColor; font-size: 13px; line-height: .8; transform: translateY(-1px); transition: transform .16s ease; }
.center-detail-toggle[aria-expanded="true"]::after { transform: rotate(180deg) translateY(1px); }
.center-detail-toggle:hover, .center-detail-toggle:focus-visible { border-color: color-mix(in oklch, var(--accent) 46%, var(--line)); background: color-mix(in oklch, var(--accent) 6%, var(--surface)); color: var(--accent-hover); transform: translateY(-1px); }
.center-trend-card.is-detail-open { border-color: color-mix(in oklch, var(--accent) 38%, var(--line)); box-shadow: 0 8px 24px rgb(45 35 20 / 8%); }
.center-trend-details { display: grid; grid-column: 1; gap: 8px; max-width: none; margin: 8px 16px 0; padding: 11px 12px; border: 1px solid color-mix(in oklch, var(--accent) 22%, var(--line)); border-radius: 9px; background: color-mix(in oklch, var(--surface-hover) 58%, var(--surface)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 52%); }
.center-trend-details[hidden] { display: none; }
.center-detail-line { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-source-link { display: inline-block; margin-top: 8px; color: var(--accent); font-size: 12px; text-underline-offset: 3px; }
.center-source-date { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.center-review-note, .center-linked-projects { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.center-decision-history { width: min(700px, 100%); margin-top: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); }
.center-decision-history summary { padding: 9px 11px; color: var(--ink); font-size: 12px; font-weight: 650; cursor: pointer; }
.center-decision-list { border-top: 1px solid var(--line); }
.center-decision-row { display: grid; gap: 4px; padding: 10px 11px; border-bottom: 1px solid var(--line); }
.center-decision-row:last-child { border-bottom: 0; }
.center-decision-row strong { font-size: 12px; }
.center-decision-row span { color: var(--muted); font-size: 12px; }
.center-decision-row p { margin: 2px 0 0; color: var(--ink); font-size: 12px; line-height: 1.55; }
.center-review-field { display: grid; width: min(620px, 100%); gap: 6px; margin-top: 12px; }
.center-review-field > span { font-size: 12px; font-weight: 650; }
.center-review-field small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-review-input { display: block; width: 100%; min-height: 68px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); color: var(--ink); font-size: 12px; resize: vertical; }
.center-review-field.is-error .center-review-input { border-color: var(--danger); }
.center-review-field.is-error small { color: var(--danger); }
.center-trend-card.has-review-field .center-review-field { margin-top: auto; }
.center-trend-card.has-review-field .center-trend-actions { margin-top: 0; }
.center-trend-card.has-linked-projects .center-linked-projects { margin-top: auto; }
.center-trend-card.has-linked-projects .center-trend-actions { margin-top: 0; }
.center-trend-actions { display: flex; grid-column: 1; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 10px; min-height: 64px; margin-top: auto; padding: 12px 16px 14px; border-top: 1px solid var(--line); background: color-mix(in oklch, var(--canvas) 26%, var(--surface)); }
.center-trend-actions button { box-sizing: border-box; width: 76px; min-width: 76px; height: 36px; min-height: 36px; padding: 0 10px; font-size: 12px; line-height: 1; }
.center-trend-actions > .center-project-select { min-width: 0; flex: 1 1 190px; height: 36px; }
.center-trend-action { display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-weight: 650; transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
.center-trend-action:hover:not(:disabled), .center-trend-action:focus-visible { transform: translateY(-1px); }
.center-trend-actions .primary-button { box-shadow: 0 2px 8px color-mix(in oklch, var(--accent) 16%, transparent); }
.center-trend-action-danger { border-color: color-mix(in oklch, var(--danger) 30%, var(--line)); background: color-mix(in oklch, var(--danger) 5%, var(--surface)); color: var(--danger); font-size: 18px !important; font-weight: 500; }
.center-trend-action-danger:hover, .center-trend-action-danger:focus-visible { border-color: color-mix(in oklch, var(--danger) 62%, var(--line)); background: color-mix(in oklch, var(--danger) 11%, var(--surface)); color: var(--danger); box-shadow: 0 2px 8px color-mix(in oklch, var(--danger) 12%, transparent); }
.center-project-select { min-width: 220px; min-height: 34px; padding: 6px 28px 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; }
.center-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.center-form-grid .form-field { min-width: 0; }
.center-trend-dialog { width: min(820px, calc(100vw - 32px)); max-height: min(92dvh, 960px); overflow: hidden; }
.center-trend-dialog form { max-height: min(92dvh, 960px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.center-trend-dialog-open { overflow: hidden; }
html.center-trend-dialog-open, body.center-trend-dialog-open { overscroll-behavior: none; }
.center-trend-dialog .dialog-heading { margin-bottom: 18px; }
.center-trend-dialog-description { max-width: 62ch; margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.center-trend-section { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.center-trend-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.center-trend-section-heading { display: flex; align-items: flex-start; gap: 10px; }
.center-trend-section-heading > div { display: grid; gap: 3px; min-width: 0; }
.center-trend-section-heading h3 { margin: 0; font-size: 13px; }
.center-trend-section-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-trend-section-index { display: grid; width: 24px; height: 22px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.center-trend-section .form-field { min-width: 0; margin: 0; }
.center-trend-section .form-field > span { font-size: 12px; font-weight: 650; }
.center-trend-section .form-field em { font-size: 12px; font-weight: 450; }
.center-trend-fixed-scope { min-height: 34px; padding: 8px 10px; border: 1px solid color-mix(in oklch, var(--complete) 34%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--complete) 6%, var(--surface)); color: var(--complete); font-size: 12px; line-height: 1.5; }
.center-trend-wide { grid-column: 1 / -1; }
.center-trend-evidence-status { min-width: 0; padding: 8px 10px; border: 1px dashed color-mix(in oklch, var(--accent) 30%, var(--line)); border-radius: 6px; background: color-mix(in oklch, var(--accent) 4%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.center-trend-create-only[hidden] { display: none; }
.center-trend-dialog-actions { align-items: center; }
.center-trend-required-note { margin-right: auto; color: var(--muted); font-size: 12px; }
.center-trend-required-note > span { color: var(--accent); font-weight: 700; }
.project-meeting-handoff { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -6px 0 16px; padding: 12px 14px; border: 1px solid color-mix(in oklch, var(--accent) 32%, var(--line)); border-radius: 8px; background: color-mix(in oklch, var(--accent) 8%, var(--surface)); }
.project-meeting-handoff-copy { display: grid; min-width: 0; gap: 3px; }
.project-meeting-handoff-copy strong { font-size: 13px; }
.project-meeting-handoff-copy .section-copy { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-handoff-assignment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.meeting-handoff-panel > .meeting-handoff-assignment-grid { grid-column: 2 / -1; }
.meeting-handoff-assignment-grid > :last-child { grid-column: 1 / -1; }
.project-member-department-select { width: 100%; min-height: 40px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); color: var(--ink); padding: 8px 10px; font: inherit; }
.meeting-permission-note { color: var(--muted); line-height: 1.45; }
@media (max-width: 1180px) {
  .center-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .center-trend-figure { height: clamp(200px, 28vw, 280px); }
}
@media (max-width: 760px) {
  .center-workspace { padding: 16px 14px 32px; }
  .center-header { min-height: 0; margin-bottom: 14px; padding-bottom: 12px; }
  .center-queue-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .center-queue-cell:nth-child(2) { border-right: 0; }
  .center-queue-cell:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .center-toolbar .primary-button { margin-left: 0; }
  .center-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .center-trend-figure { height: clamp(220px, 62vw, 320px); }
}
@media (max-width: 1050px) { .center-header { flex-direction: column; } }
.meeting-pane-heading { position: sticky; top: 0; z-index: 6; }
.meeting-mode-body { display: grid; width: 100%; max-width: 1680px; min-width: 0; align-content: start; gap: 14px; margin: 0 auto; padding: 14px 16px 24px; }
.meeting-step-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.meeting-step { display: inline-flex; min-width: 0; min-height: 42px; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 650; }
.meeting-step:hover:not(:disabled) { background: var(--surface-hover); color: var(--ink); }
.meeting-step.is-current { background: color-mix(in oklch, var(--complete) 9%, var(--surface)); color: var(--complete); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--complete) 26%, var(--line)); }
.meeting-step:disabled { cursor: not-allowed; opacity: .48; }
.meeting-step-number { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; line-height: 1; }
.meeting-text-button { min-height: 28px; padding: 4px 6px; border: 0; background: transparent; color: var(--muted); font-size: 12px; }
.meeting-text-button:hover { color: var(--accent); }
.meeting-field-label { color: var(--muted); font-size: 12px; font-weight: 620; }
.meeting-select { min-height: 34px; padding: 8px 9px; border-radius: 7px; background: var(--surface); font-size: 12px; line-height: 1.55; }
.meeting-revision-button { width: 100%; min-height: 36px; margin-top: 2px; border-color: var(--complete); background: var(--complete); }
.meeting-revision-button:hover { border-color: color-mix(in oklch, var(--complete) 84%, var(--ink)); background: color-mix(in oklch, var(--complete) 84%, var(--ink)); }
.meeting-asset-entry { min-height: 30px; margin: 0 8px 8px; padding: 5px 8px; border: 1px solid color-mix(in oklch, var(--complete) 34%, var(--line)); border-radius: 6px; background: color-mix(in oklch, var(--complete) 6%, var(--surface)); color: var(--complete); font-size: 12px; font-weight: 650; }
.meeting-asset-entry:hover { border-color: var(--complete); background: color-mix(in oklch, var(--complete) 10%, var(--surface)); }
.meeting-asset-entry.is-linked { border-color: color-mix(in oklch, var(--danger) 24%, var(--line)); background: var(--surface); color: var(--danger); }
.meeting-asset-entry.is-linked:hover { border-color: var(--danger); background: color-mix(in oklch, var(--danger) 6%, var(--surface)); }
.meeting-revision-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px; border: 1px solid color-mix(in oklch, var(--complete) 30%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--complete) 6%, var(--surface)); }
.meeting-revision-status > div { display: grid; min-width: 0; gap: 2px; }
.meeting-revision-status strong { color: var(--complete); font-size: 12px; }
.meeting-revision-status small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-empty-state { display: grid; min-height: 190px; place-content: center; justify-items: center; gap: 8px; padding: 28px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); text-align: center; }
.meeting-empty-state h3 { margin: 0; font-size: 18px; }
.meeting-empty-state p { max-width: 420px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.meeting-session-board { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); scroll-margin-top: 72px; }
.meeting-session-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.meeting-session-summary { display: flex; min-width: 0; align-items: center; gap: 9px; }
.meeting-session-summary h3 { margin: 0; font-size: 15px; letter-spacing: 0; white-space: nowrap; }
.meeting-session-counts { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-session-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.meeting-session-filters { display: inline-flex; padding: 2px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.meeting-session-filter { min-height: 29px; padding: 5px 9px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 12px; }
.meeting-session-filter.is-active { background: var(--surface); color: var(--ink); box-shadow: 0 1px 4px rgb(49 39 28 / 8%); font-weight: 700; }
.meeting-session-rating-filter { width: 104px; min-height: 29px; padding: 4px 22px 4px 7px; border-radius: 7px; background: var(--canvas); color: var(--ink); font-size: 12px; }
.meeting-session-add { min-height: 31px; padding: 5px 9px; font-size: 12px; }
.meeting-session-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); min-width: 0; align-items: stretch; gap: 10px; padding: 12px 14px 14px; background: color-mix(in oklch, var(--canvas) 44%, var(--surface)); }
.meeting-session-item { display: grid; grid-template-rows: 176px auto auto; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.meeting-session-item:hover { border-color: var(--line-strong); transform: translateY(-1px); }
.meeting-session-item.is-active { border-color: color-mix(in oklch, var(--complete) 62%, var(--line)); box-shadow: 0 0 0 2px color-mix(in oklch, var(--complete) 10%, transparent); }
.meeting-session-thumb { display: grid; width: 100%; min-width: 0; height: 176px; padding: 10px; place-items: center; overflow: hidden; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: color-mix(in oklch, var(--canvas) 72%, var(--surface)); }
.meeting-session-thumb img { width: 100%; height: 100%; max-width: 100%; max-height: 156px; object-fit: contain; object-position: center center; transition: transform .18s ease; }
.meeting-session-thumb:hover img { transform: scale(1.03); }
.meeting-session-copy { display: grid; min-width: 0; gap: 2px; padding: 7px 8px 5px; }
.meeting-session-copy strong, .meeting-session-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-session-copy strong { font-size: 12px; }
.meeting-session-rating { width: max-content; padding: 2px 5px; border: 1px solid color-mix(in oklch, var(--accent) 24%, var(--line)); border-radius: 999px; color: var(--accent); font-size: 8px; font-weight: 700; line-height: 1.2; }
.meeting-session-rating[data-unrated="true"] { border-color: var(--line); color: var(--muted); }
.meeting-session-meta { color: var(--muted); font-size: 8px; }
.meeting-session-actions { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 4px; padding: 3px 6px 7px; }
.meeting-session-actions .asset-action-button { width: 30px; min-width: 30px; height: 28px; padding: 0; justify-content: center; }
.meeting-session-actions .asset-action-button span { display: none; }
.meeting-session-source { min-width: 0; min-height: 28px; padding: 4px 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.meeting-session-source:hover { border-color: color-mix(in oklch, var(--complete) 42%, var(--line)); color: var(--complete); }
.meeting-session-source.is-active { border-color: color-mix(in oklch, var(--complete) 28%, var(--line)); background: color-mix(in oklch, var(--complete) 6%, var(--surface)); color: var(--complete); }
.meeting-session-remove { min-height: 28px; padding: 4px 6px; border-color: transparent; background: transparent; color: var(--muted); font-size: 12px; white-space: nowrap; }
.meeting-session-remove:hover { border-color: color-mix(in oklch, var(--danger) 28%, var(--line)); background: color-mix(in oklch, var(--danger) 5%, var(--surface)); color: var(--danger); }
.meeting-session-empty { display: grid; grid-column: 1 / -1; min-width: min(420px, calc(100vw - 160px)); min-height: 78px; padding: 14px; place-items: center; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 12px; text-align: center; }

.meeting-decision-desk { display: grid; grid-template: "visual command" auto "handoff handoff" auto / minmax(0, 1fr) minmax(400px, 450px); min-width: 0; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); scroll-margin-top: 72px; }
.meeting-decision-desk[data-meeting-mode="decide"] { grid-template: "visual" auto / minmax(0, 1fr); }
.meeting-decision-desk[data-meeting-mode="decide"] .meeting-visual-stage { border-right: 0; }
.meeting-visual-stage { display: grid; grid-template: "header" auto "filmstrip" auto "comparison" auto / minmax(0, 1fr); min-width: 0; min-height: 0; align-content: start; gap: 12px; padding: 16px; border-right: 1px solid var(--line); background: var(--canvas); }
.meeting-visual-stage { grid-area: visual; }
.meeting-visual-header { display: flex; grid-area: header; align-items: center; justify-content: space-between; gap: 14px; min-height: 29px; }
.meeting-visual-header > div:first-child { display: flex; min-width: 0; align-items: center; gap: 9px; }
.meeting-visual-header h3, .meeting-command-header h3 { margin: 0; font-size: 15px; letter-spacing: 0; }
.meeting-visual-header p, .meeting-command-header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.meeting-round-status { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.meeting-round-status.is-running { border-color: color-mix(in oklch, var(--complete) 36%, var(--line)); background: color-mix(in oklch, var(--complete) 7%, var(--surface)); color: var(--complete); }
.meeting-source-card { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-content: start; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.meeting-source-preview { display: grid; width: 100%; height: clamp(240px, 34vh, 420px); min-height: 240px; padding: 14px; place-items: center; overflow: hidden; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: color-mix(in oklch, var(--canvas) 65%, var(--surface)); color: var(--muted); font-size: 12px; }
.meeting-source-preview:not(:disabled):hover img { transform: scale(1.025); }
.meeting-source-preview img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; transition: transform .18s ease; }
.meeting-source-meta { display: grid; min-width: 0; gap: 4px; padding: 10px; }
.meeting-source-kicker { color: var(--complete); font-size: 12px; font-weight: 720; letter-spacing: .04em; }
.meeting-source-meta strong, .meeting-source-meta small { overflow: hidden; text-overflow: ellipsis; }
.meeting-source-meta strong { font-size: 12px; white-space: nowrap; }
.meeting-source-meta small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.meeting-source-actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px 7px 7px; border-top: 1px solid var(--line); }
.meeting-source-actions .meeting-text-button { min-height: 30px; padding-right: 6px; padding-left: 6px; }
.meeting-source-adopt { min-height: 30px; margin-left: auto; padding: 5px 8px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 680; white-space: nowrap; }
.meeting-source-adopt:hover, .meeting-source-adopt.is-final { border-color: var(--complete); background: color-mix(in oklch, var(--complete) 7%, var(--surface)); color: var(--complete); }
.meeting-result-filmstrip { display: grid; grid-area: filmstrip; grid-auto-columns: minmax(76px, 96px); grid-auto-flow: column; min-width: 0; min-height: 64px; align-items: center; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.meeting-filmstrip-empty { grid-column: 1 / -1; color: var(--muted); font-size: 12px; line-height: 1.5; }
.meeting-filmstrip-item { position: relative; display: grid; min-width: 72px; aspect-ratio: 4 / 3; padding: 5px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); }
.meeting-filmstrip-item:not(:disabled):hover { border-color: var(--line-strong); }
.meeting-filmstrip-item.is-active { border-color: var(--complete); box-shadow: 0 0 0 2px color-mix(in oklch, var(--complete) 12%, transparent); }
.meeting-filmstrip-item.is-empty { background: color-mix(in oklch, var(--surface-hover) 65%, var(--surface)); }
.meeting-filmstrip-item img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; background: var(--surface-hover); }
.meeting-filmstrip-number { position: absolute; top: 3px; left: 3px; z-index: 1; min-width: 19px; padding: 2px 4px; border-radius: 4px; background: rgb(255 255 255 / 88%); color: var(--ink); font-size: 8px; font-weight: 720; line-height: 1.2; }
.meeting-filmstrip-placeholder { font-size: 12px; }
.meeting-candidate-stage { display: grid; grid-area: candidate; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; min-height: 0; align-content: start; overflow: hidden; border: 1px solid color-mix(in oklch, var(--complete) 46%, var(--line)); border-radius: 9px; background: var(--surface); box-shadow: 0 0 0 2px color-mix(in oklch, var(--complete) 7%, transparent); }
.meeting-candidate-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 9px 11px; border-bottom: 1px solid var(--line); }
.meeting-candidate-heading > div { display: grid; gap: 2px; }
.meeting-candidate-heading strong { font-size: 13px; }
.meeting-candidate-heading > small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-current-preview { display: grid; width: 100%; height: clamp(240px, 34vh, 420px); min-height: 240px; padding: 14px; place-items: center; overflow: hidden; border: 0; border-radius: 0; background: color-mix(in oklch, var(--canvas) 65%, var(--surface)); }
.meeting-current-preview:not(:disabled):hover img { transform: scale(1.012); }
.meeting-current-preview img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; transition: transform .18s ease; }
.meeting-candidate-empty { max-width: 300px; color: var(--muted); font-size: 12px; line-height: 1.65; text-align: center; }
.meeting-candidate-result-note { grid-column: 1 / -1; padding: 8px 10px; border-top: 1px solid var(--line); background: color-mix(in oklch, var(--complete) 5%, var(--surface)); color: var(--complete); font-size: 12px; line-height: 1.45; }
.meeting-comparison-grid { display: grid; grid-area: comparison; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; min-height: 0; gap: 10px; }
.meeting-comparison-grid > * { grid-area: auto; }
.meeting-compare-card { min-height: 0; }
.meeting-candidate-tools { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.meeting-candidate-tools > small { max-width: 150px; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-candidate-finalize { min-height: 30px; padding: 5px 8px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 650; white-space: nowrap; }
.meeting-candidate-finalize:hover { border-color: var(--complete); color: var(--complete); }
.meeting-candidate-finalize.is-final { border-color: color-mix(in oklch, var(--complete) 42%, var(--line)); background: color-mix(in oklch, var(--complete) 8%, var(--surface)); color: var(--complete); }
.meeting-candidate-finalize:disabled { cursor: default; opacity: .72; }
.meeting-candidate-star { width: 32px; min-width: 32px; height: 30px; padding: 0; justify-content: center; }
.meeting-candidate-star span { display: none; }
.meeting-handoff-panel { display: grid; grid-area: handoff; grid-template-columns: minmax(260px, .78fr) repeat(2, minmax(260px, 1fr)); align-items: start; gap: 14px 16px; margin-top: 0; padding: 20px; border-top: 1px solid var(--line); background: var(--surface); scroll-margin-top: 72px; }
.meeting-handoff-standalone { grid-area: auto; width: min(100%, 1280px); justify-self: center; border: 1px solid var(--line); border-radius: 9px; }
.meeting-handoff-heading { grid-column: 1 / -1; }
.meeting-handoff-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.meeting-handoff-heading h3 { margin: 0; font-size: 15px; }
.meeting-handoff-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.meeting-handoff-version { display: grid; grid-row: span 2; gap: 7px; overflow: hidden; padding: 10px; border: 1px solid color-mix(in oklch, var(--complete) 26%, var(--line)); border-radius: 8px; background: color-mix(in oklch, var(--complete) 5%, var(--surface)); }
.meeting-handoff-version strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-handoff-preview { display: grid; width: 100%; height: 210px; padding: 10px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); color: var(--muted); font-size: 12px; }
.meeting-handoff-preview img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; }
.meeting-handoff-textarea { min-height: 62px; padding: 8px 9px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--canvas); font-size: 12px; line-height: 1.5; resize: vertical; }
.meeting-handoff-field { display: grid; min-width: 0; gap: 6px; }
.meeting-handoff-summary { display: none; min-height: 62px; margin: 0; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); color: var(--ink); font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.meeting-handoff-panel.is-locked .meeting-handoff-textarea { display: none; }
.meeting-handoff-panel.is-locked .meeting-handoff-summary { display: block; }
.meeting-handoff-textarea:disabled { opacity: .75; }
.meeting-handoff-save { grid-column: 2; width: 100%; min-height: 42px; border-color: var(--complete); background: var(--complete); }
.meeting-handoff-save:hover { border-color: color-mix(in oklch, var(--complete) 84%, var(--ink)); background: color-mix(in oklch, var(--complete) 84%, var(--ink)); }
.meeting-handoff-save:disabled { border-color: var(--line); background: var(--surface-hover); color: var(--muted); opacity: 1; }
.meeting-handoff-save-hint { grid-column: 3; align-self: center; color: var(--muted); font-size: 12px; line-height: 1.45; }
.meeting-handoff-saved { color: var(--complete); font-size: 12px; }
.meeting-handoff-panel > .meeting-handoff-saved { grid-column: 2 / -1; }
.meeting-handoff-next { display: grid; grid-column: 1 / -1; gap: 3px; padding: 10px; border: 1px solid color-mix(in oklch, var(--complete) 26%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--complete) 5%, var(--surface)); }
.meeting-handoff-next strong { font-size: 12px; }
.meeting-handoff-next small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.meeting-handoff-output { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 7px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.meeting-handoff-output-copy { display: grid; min-width: 0; gap: 2px; }
.meeting-handoff-output-copy span { color: var(--muted); font-size: 12px; }
.meeting-handoff-output-copy strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-handoff-output .secondary-button { flex: 0 0 auto; min-height: 28px; padding: 4px 8px; font-size: 12px; }
.meeting-handoff-next-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.meeting-handoff-next-actions .secondary-button { min-height: 30px; padding: 5px 8px; font-size: 12px; }
.meeting-decision-history { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.meeting-decision-history > summary { padding: 9px 10px; color: var(--muted); font-size: 12px; font-weight: 650; cursor: pointer; }
.meeting-decision-history-list { display: grid; border-top: 1px solid var(--line); }
.meeting-decision-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.meeting-decision-history-row:last-child { border-bottom: 0; }
.meeting-decision-history-row strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-decision-history-row span, .meeting-decision-history-row small { color: var(--muted); font-size: 12px; }
.meeting-decision-history-row p { grid-column: 1 / -1; margin: 2px 0 0; font-size: 12px; line-height: 1.45; }
.meeting-decision-history-row small { grid-column: 1 / -1; }

.meeting-command-panel { display: grid; grid-area: command; min-width: 0; min-height: 0; align-content: start; gap: 10px; padding: 16px 18px; overflow: visible; background: var(--surface); }
.meeting-command-header { display: flex; min-height: 38px; align-items: center; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
.meeting-command-protection { padding: 9px 10px; border: 1px solid color-mix(in oklch, var(--complete) 26%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--complete) 5%, var(--surface)); color: color-mix(in oklch, var(--complete) 76%, var(--ink)); font-size: 12px; line-height: 1.5; }
.meeting-command-locked { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.meeting-command-locked strong { font-size: 13px; }
.meeting-command-locked p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.meeting-command-unlock { width: 100%; min-height: 42px; margin-top: 4px; }
.meeting-command-textarea { min-height: 104px; max-height: 240px; padding: 10px 11px; border-color: var(--line-strong); border-radius: 8px; background: var(--canvas); font-size: 13px; line-height: 1.6; resize: vertical; }
.meeting-command-textarea:focus { border-color: var(--complete); outline: 3px solid color-mix(in oklch, var(--complete) 11%, transparent); }
.meeting-command-detected { min-height: 17px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.meeting-command-suggestions { display: flex; flex-wrap: wrap; gap: 6px; }
.meeting-suggestion-chip { min-height: 29px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 12px; }
.meeting-suggestion-chip:hover { border-color: color-mix(in oklch, var(--complete) 42%, var(--line)); background: color-mix(in oklch, var(--complete) 5%, var(--surface)); color: var(--complete); }
.meeting-command-controls { display: grid; grid-template-columns: minmax(118px, .7fr) minmax(0, 1fr); align-items: start; gap: 8px; }
.meeting-command-field { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 650; }
.meeting-variant-count { min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; }
.meeting-server-auth-note { align-self: center; margin: 0; color: var(--muted); font-size: 12px; }
.meeting-command-generate { position: sticky; bottom: 0; z-index: 2; width: 100%; min-height: 44px; margin-top: 2px; border-color: var(--complete); border-radius: 8px; background: var(--complete); box-shadow: 0 -8px 18px color-mix(in oklch, var(--surface) 92%, transparent); font-size: 13px; font-weight: 720; }
.meeting-command-generate:hover { border-color: color-mix(in oklch, var(--complete) 84%, var(--ink)); background: color-mix(in oklch, var(--complete) 84%, var(--ink)); }
.meeting-revision-thread { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.meeting-revision-thread strong { font-size: 12px; }
.meeting-revision-thread span { font-size: 12px; line-height: 1.45; }
.meeting-revision-thread small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-command-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 2px; }
.meeting-command-actions > button { min-height: 39px; }
.meeting-command-actions > .primary-button { border-color: var(--complete); background: var(--complete); }

.section-heading { margin-bottom: 10px; }
.section-heading h2 { margin-bottom: 0; font-size: 18px; letter-spacing: -.025em; }
.section-copy { font-size: 12px; }
.step-grid { border-top: 1px solid var(--line); }
.step-card { display: grid; grid-template-columns: 86px minmax(180px, 1fr) minmax(150px, .7fr) auto; align-items: center; gap: 16px; min-height: 76px; padding: 14px 4px; border-bottom: 1px solid var(--line); transition: background-color .16s ease; }
.step-card:hover { background: var(--surface-hover); }
.step-head { display: grid; justify-content: start; gap: 4px; }
.step-code { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.step-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.step-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.status-pill[data-status="COMPLETED"] { border-color: color-mix(in oklch, var(--complete) 36%, var(--line)); color: var(--complete); }
.status-pill[data-status="IN_PROGRESS"] { border-color: color-mix(in oklch, var(--warning) 40%, var(--line)); color: var(--warning); }
.status-pill[data-status="FAILED"] { border-color: color-mix(in oklch, var(--danger) 36%, var(--line)); color: var(--danger); }
.status-button[disabled] { cursor: wait; opacity: .55; }
.run-history { margin-top: 42px; }
.run-history-empty { margin: 0; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.run-history-list { border-top: 1px solid var(--line); }
.run-history-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, .7fr) auto; align-items: center; gap: 12px; min-height: 52px; border-bottom: 1px solid var(--line); font-size: 13px; }
.run-history-row > span:not(.status-pill) { color: var(--muted); font-size: 12px; }
.run-history-details { display: grid; gap: 3px; min-width: 0; }
.run-history-details small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.asset-library { margin: 0 0 43px; }
.asset-library-empty { margin: 0; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.65; }
.asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.asset-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.asset-preview { display: block; width: 100%; aspect-ratio: 4 / 3; border-bottom: 1px solid var(--line); background: var(--surface-hover); object-fit: cover; }
.asset-details { display: grid; gap: 7px; padding: 10px; }
.asset-details strong, .asset-details small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asset-details strong { font-size: 13px; }
.asset-details small { color: var(--muted); font-size: 12px; }

.project-dialog { width: min(540px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--hairline); border-radius: 10px; background: var(--dialog, var(--surface)); color: var(--ink); box-shadow: var(--shadow-float, var(--shadow)); }
.center-policy-status.is-ready { border-color: color-mix(in oklch, var(--complete) 34%, var(--line)); color: var(--complete); }

.reference-picker-dialog { width: min(960px, calc(100vw - 32px)); max-height: min(86dvh, 820px); padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.reference-picker-dialog::backdrop { background: rgb(45 35 20 / 38%); }
.reference-picker-body { padding: 22px; overflow: auto; }
.reference-picker-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.reference-picker-search, .reference-picker-type, .reference-picker-project-scope, .reference-picker-specified-project { min-width: 0; min-height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; }
.reference-picker-search { flex: 1 1 180px; }
.reference-picker-type { flex: 0 1 130px; }
.reference-picker-project-scope, .reference-picker-specified-project { flex: 0 1 150px; }
.reference-picker-search:focus, .reference-picker-type:focus, .reference-picker-project-scope:focus, .reference-picker-specified-project:focus { border-color: var(--accent); outline: 2px solid color-mix(in oklch, var(--accent) 22%, transparent); outline-offset: 1px; }
.reference-picker-filter-button { min-height: 38px; white-space: nowrap; }
.reference-picker-filter-button[aria-pressed="true"] { border-color: var(--accent); background: color-mix(in oklch, var(--accent) 10%, var(--surface)); color: var(--accent-hover); }
.reference-picker-count { margin-left: auto; color: var(--muted); font-size: 12px; white-space: nowrap; }
.reference-picker-assets { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin-top: 18px; }
.reference-picker-asset { display: grid; gap: 9px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-align: left; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.reference-picker-asset:hover, .reference-picker-asset:focus-visible { border-color: var(--accent); background: var(--surface-hover); outline: none; transform: translateY(-1px); }
.reference-picker-asset img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 5px; background: var(--surface-hover); }
.reference-picker-asset-details { display: grid; gap: 4px; min-width: 0; }
.reference-picker-asset-name { overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.reference-picker-asset-meta { color: var(--muted); font-size: 12px; }
.project-dialog::backdrop { background: rgb(45 35 20 / 24%); }
.project-dialog form { padding: 25px; }
#assetExportDialog { width: min(660px, calc(100vw - 32px)); }
#assetExportDialog .asset-export-dialog-body { width: auto; padding: 22px; }
.asset-export-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.asset-export-form-grid label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; }
.asset-export-form-grid input, .asset-export-form-grid select { min-width: 0; min-height: 38px; padding: 8px 10px; border-radius: 7px; background: var(--surface); color: var(--ink); }
.asset-export-primary-options { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.asset-export-size-panel { margin-top: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--canvas); }
.asset-export-size-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.asset-export-size-heading strong { font-size: 12px; }
.asset-export-size-heading span { color: var(--muted); font-size: 12px; }
.asset-export-preset-field { grid-column: 1 / -1; }
.asset-export-name-field { grid-column: 1 / -1; }
.asset-export-name-hint { grid-column: 1 / -1; margin: -6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.asset-export-name-hint.is-error { color: var(--danger); }
.asset-export-size-panel[hidden] { display: none; }
.output-dimension-hint { grid-column: 1 / -1; margin: 8px 0 0; padding: 7px 9px; border-radius: 6px; background: var(--canvas); color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.5; }
.asset-export-size-panel .output-dimension-hint { margin-bottom: 0; background: var(--surface); }
.dialog-heading { align-items: flex-start; margin-bottom: 22px; }
.dialog-heading h2 { margin-bottom: 0; font-size: 21px; }
.form-field { display: grid; gap: 8px; margin: 16px 0; color: var(--ink); font-size: 13px; }
.form-field em { color: var(--muted); font-style: normal; }
.workflow-library-dialog { padding: 25px; }
.image-preview-dialog { width: min(960px, calc(100vw - 32px)); max-height: min(92dvh, 980px); padding: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.image-preview-dialog::backdrop { background: rgb(45 35 20 / 46%); }
.image-preview-dialog-body { display: grid; gap: 16px; padding: 18px; }
.image-preview-dialog .dialog-heading { align-items: center; margin: 0; }
.image-preview-dialog h2 { overflow: hidden; margin: 0; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.image-preview-dialog-image { display: block; width: 100%; max-height: calc(82dvh - 112px); object-fit: contain; background: var(--surface-hover); }
.image-preview-dialog-image.is-loading-original { opacity: 0.85; }
.image-preview-dialog-meta { margin: -4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.image-preview-dialog .dialog-actions { margin-top: 0; }
.workflow-library-options { display: grid; gap: 8px; margin-top: 18px; }
.provenance-details { display: grid; gap: 0; margin: 18px 0 0; border-top: 1px solid var(--line); }
.provenance-row { display: grid; grid-template-columns: 102px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.provenance-row dt { color: var(--muted); }
.provenance-row dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.provenance-heading { margin: 20px 0 8px; font-size: 13px; }
.provenance-workflows { display: grid; gap: 7px; }
.provenance-work-record { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.provenance-prompt { margin: 0; max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.65; color: var(--ink); }
.provenance-workflow { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-hover); }
.provenance-workflow strong { font-size: 12px; }
.provenance-versions { display: grid; gap: 7px; }
.provenance-version { display: grid; gap: 3px; padding: 9px; border: 1px solid color-mix(in oklch, var(--complete) 24%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--complete) 5%, var(--surface)); }
.provenance-version strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.provenance-version span, .provenance-version small { color: var(--muted); font-size: 12px; }
.provenance-confirm-button { justify-self: start; min-height: 28px; padding: 4px 9px; font-size: 12px; }
.provenance-version-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 5px; }
.provenance-revise-action { display: grid; gap: 4px; }
.provenance-revise-action small { max-width: 240px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.review-mark { display: inline-flex; width: fit-content; padding: 3px 7px; border-radius: 999px; background: var(--surface-hover); }
.review-mark-approved { color: var(--complete); }
.review-mark-needs_revision { color: var(--accent); }
.review-mark-comment { color: var(--muted); }
.workflow-template-button { display: grid; gap: 3px; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); text-align: left; }
.workflow-template-button:hover { border-color: var(--line-strong); background: var(--surface-hover); }
.workflow-template-button strong { font-size: 13px; }
.workflow-template-button span { color: var(--muted); font-size: 12px; }
.run-input-options { display: grid; gap: 8px; margin-top: 18px; }
.run-input-option { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .46fr); align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.run-input-copy { display: grid; min-width: 0; gap: 3px; }
.run-input-copy strong, .run-input-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-input-copy strong { font-size: 13px; }
.run-input-copy small { color: var(--muted); font-size: 12px; }
input, textarea, select { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--faint); }
.local-redraw-workbench { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(500px, 1.55fr) minmax(300px, .72fr); min-height: 660px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.local-redraw-source { display: flex; min-width: 0; flex-direction: column; gap: 14px; padding: 16px; border-right: 1px solid var(--line); background: var(--surface); }
.local-redraw-source-heading { padding: 0 0 12px; }
.local-redraw-source-heading .local-redraw-model-boundary { margin-top: 5px; padding: 6px 7px; border: 1px solid color-mix(in oklch, var(--complete) 28%, var(--line)); border-radius: 5px; background: color-mix(in oklch, var(--complete) 5%, var(--canvas)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.local-redraw-source .simple-reference-section { display: grid; gap: 10px; }
.local-redraw-source .generation-mode-summary { display: none; }
.local-redraw-source .simple-subheading { margin: 0; }
.local-redraw-source .simple-reference-grid { grid-template-columns: 1fr; }
.local-redraw-source .simple-reference-hint { margin-bottom: 0; }
.local-redraw-history { display: grid; gap: 9px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.local-redraw-history-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.local-redraw-history-heading strong { font-size: 12px; }
.local-redraw-history-heading span, .local-redraw-history-empty { color: var(--muted); font-size: 12px; }
.local-redraw-history-empty { margin: 0; line-height: 1.55; }
.local-redraw-history-list { display: grid; gap: 7px; }
.local-redraw-history-item { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 9px; min-width: 0; padding: 6px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.local-redraw-history-item:hover, .local-redraw-history-item:focus-visible { border-color: var(--accent); outline: none; background: var(--surface-hover); }
.local-redraw-history-item img { width: 54px; height: 42px; border-radius: 5px; background: var(--canvas); object-fit: cover; }
.local-redraw-history-copy { display: grid; min-width: 0; gap: 3px; }
.local-redraw-history-copy strong, .local-redraw-history-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.local-redraw-history-copy strong { font-size: 12px; }
.local-redraw-history-copy small { color: var(--muted); font-size: 12px; }
.local-redraw-empty { display: grid; grid-column: 2 / -1; place-content: center; justify-items: center; gap: 8px; min-height: 660px; padding: 32px; background: var(--canvas); text-align: center; }
.local-redraw-empty h3, .local-redraw-empty p { margin: 0; }
.local-redraw-empty p:not(.eyebrow) { max-width: 40ch; color: var(--muted); font-size: 12px; line-height: 1.6; }
.local-redraw-empty .primary-button { margin-top: 8px; }
.local-edit-inline-workspace { grid-column: 2 / -1; min-width: 0; }
.local-edit-inline-workspace[hidden] { display: none; }
.local-edit-workspace { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr); min-height: 660px; height: 100%; overflow: hidden; }
.local-edit-stage { display: grid; min-width: 0; grid-template-rows: auto minmax(0, 1fr); background: var(--canvas); }
.local-edit-inline-workspace.is-comparing .local-edit-toolbar { display: none; }
.local-edit-inline-workspace.is-comparing .local-edit-stage { grid-template-rows: minmax(0, 1fr); }
.local-edit-inline-workspace.is-comparing .local-edit-compare { grid-row: 1; }
.local-edit-toolbar { display: flex; min-height: 50px; align-items: center; gap: 7px; padding: 8px 10px; border-bottom: 1px solid var(--line); background: var(--surface); }
.local-edit-toolbar-label { margin-right: 3px; color: var(--ink); font-size: 12px; font-weight: 650; }
.local-edit-tool { min-height: 32px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; cursor: pointer; }
.local-edit-tool:hover, .local-edit-tool:focus-visible { border-color: var(--line-strong); outline: none; }
.local-edit-tool.is-active { border-color: color-mix(in oklch, var(--accent) 45%, var(--line)); background: color-mix(in oklch, var(--accent) 8%, var(--surface)); color: var(--accent); }
.local-edit-brush-size { display: flex; align-items: center; gap: 8px; margin-left: 5px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.local-edit-brush-size input { width: 104px; padding: 0; accent-color: var(--accent); }
.local-edit-toolbar-spacer { flex: 1; }
.local-edit-toolbar .secondary-button { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.local-edit-zoom-controls { position: absolute; top: 14px; right: 14px; z-index: 3; display: flex; align-items: center; gap: 4px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in oklch, var(--surface) 94%, transparent); box-shadow: 0 5px 18px rgb(45 35 20 / 12%); backdrop-filter: blur(8px); }
.local-edit-zoom-controls .secondary-button { min-width: 30px; min-height: 30px; padding: 4px 7px; }
.local-edit-zoom-controls output { width: 42px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: center; }
.local-edit-edit-surface { display: grid; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; }
.local-edit-edit-surface[hidden] { display: none; }
.local-edit-canvas-frame { position: relative; min-height: 0; overflow: hidden; background-color: color-mix(in oklch, var(--canvas) 86%, var(--ink)); background-image: radial-gradient(circle, rgb(50 43 34 / 12%) 1px, transparent 1px); background-position: 0 0; background-size: 18px 18px; touch-action: none; }
.local-edit-canvas-plane { position: absolute; top: 0; left: 0; transform-origin: 0 0; will-change: transform; }
.local-edit-canvas { display: block; border: 1px solid var(--line-strong); background: var(--surface); box-shadow: 0 8px 24px rgb(45 35 20 / 12%); cursor: crosshair; touch-action: none; }
.local-edit-canvas-frame[data-tool="PAN"], .local-edit-canvas-frame[data-tool="PAN"] .local-edit-canvas { cursor: grab; }
.local-edit-canvas-frame.is-panning, .local-edit-canvas-frame.is-panning .local-edit-canvas { cursor: grabbing; }
.local-edit-canvas:focus-visible { outline: 2px solid color-mix(in oklch, var(--accent) 60%, transparent); outline-offset: 3px; }
.local-edit-loading { position: absolute; top: 50%; left: 50%; z-index: 2; margin: 0; padding: 7px 10px; transform: translate(-50%, -50%); border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); font-size: 12px; }
.local-edit-loading[hidden] { display: none; }
.local-edit-stage-footer { display: flex; min-height: 40px; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 12px; border-top: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 12px; }
.local-edit-stage-footer span:first-child { color: var(--ink); font-weight: 650; }
.local-edit-stage-footer span.is-invalid { color: var(--danger); }
.local-edit-controls { display: grid; min-width: 0; grid-template-rows: minmax(0, 1fr) auto; border-left: 1px solid var(--line); background: var(--surface); }
.local-edit-controls-scroll { display: flex; min-height: 0; flex-direction: column; gap: 14px; overflow-y: auto; padding: 18px 18px 8px; }
.local-edit-guidance { padding: 12px; border: 1px solid color-mix(in oklch, var(--accent) 22%, var(--line)); border-radius: 8px; background: color-mix(in oklch, var(--accent) 4%, var(--surface)); }
.local-edit-guidance strong { font-size: 12px; }
.local-edit-guidance p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.local-edit-type-field { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.local-edit-type-field legend { margin-bottom: 8px; font-size: 12px; font-weight: 650; }
.local-edit-type-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.local-edit-type-options button { min-height: 38px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; cursor: pointer; }
.local-edit-type-options button:hover, .local-edit-type-options button:focus-visible { border-color: var(--line-strong); outline: none; }
.local-edit-type-options button.is-active { border-color: color-mix(in oklch, var(--accent) 48%, var(--line)); background: color-mix(in oklch, var(--accent) 8%, var(--surface)); color: var(--accent); font-weight: 680; }
.local-edit-parameter-panel { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.local-edit-parameter-panel[hidden] { display: none; }
[data-local-edit-parameter][hidden] { display: none; }
.local-edit-parameter-panel .form-field { margin: 0; }
.local-edit-parameter-panel small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.local-edit-parameter-panel input[type="range"] { padding: 0; accent-color: var(--accent); }
.local-edit-color-control { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 10px; }
.local-edit-color-control input[type="color"] { width: 48px; height: 36px; padding: 3px; cursor: pointer; }
.local-edit-color-control output { color: var(--ink); font-size: 12px; font-variant-numeric: tabular-nums; }
.local-edit-generative-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.local-edit-instruction-field { margin-top: 0; }
.local-edit-controls textarea { min-height: 104px; line-height: 1.65; }
.local-edit-save-note { margin: 0; padding: 10px 11px; border-radius: 7px; background: color-mix(in oklch, var(--complete) 6%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.local-edit-task-row { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 8px; }
.local-edit-task-status { min-height: 18px; color: var(--complete); font-size: 12px; line-height: 1.5; }
.local-edit-task-row .secondary-button { min-height: 30px; padding: 5px 8px; font-size: 12px; white-space: nowrap; }
.local-edit-task-row .secondary-button[hidden] { display: none; }
.local-edit-controls .form-error { min-height: 20px; margin: auto 0 0; }
.local-edit-actions { display: grid; margin: 0; padding: 12px 18px 18px; border-top: 1px solid var(--line); background: var(--surface); }
.local-edit-actions .primary-button { width: 100%; min-height: 44px; }
.local-edit-actions .primary-button:disabled { cursor: not-allowed; opacity: .48; }
.local-edit-compare { display: grid; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; background: var(--canvas); }
.local-edit-compare[hidden] { display: none; }
.local-edit-compare-toolbar { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--surface); }
.local-edit-compare-toolbar strong { font-size: 12px; }
.local-edit-compare-hint { margin-right: auto; color: var(--muted); font-size: 12px; }
.local-edit-compare-toolbar > div { display: flex; gap: 6px; }
.local-edit-view-button { min-height: 32px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
.local-edit-view-button.is-active { border-color: var(--accent); color: var(--accent); }
.local-edit-compare-slider { position: relative; min-height: 0; overflow: hidden; background: var(--canvas); }
.local-edit-compare-slider > img, .local-edit-compare-result-clip img { display: block; width: 100%; height: 100%; object-fit: contain; }
.local-edit-compare-result-clip { position: absolute; inset: 0; overflow: hidden; clip-path: inset(0 50% 0 0); }
.local-edit-compare-result-clip img { width: 100%; max-width: none; }
.local-edit-compare-slider input[type="range"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: ew-resize; }
.local-edit-compare-divider { position: absolute; top: 0; bottom: 0; left: 50%; z-index: 2; width: 2px; transform: translateX(-50%); background: rgb(255 255 255 / 92%); box-shadow: 0 0 0 1px rgb(25 22 18 / 28%); pointer-events: none; }
.local-edit-compare-divider::after { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; transform: translate(-50%, -50%); border: 1px solid rgb(25 22 18 / 22%); border-radius: 50%; background: rgb(255 255 255 / 94%); box-shadow: 0 3px 12px rgb(25 22 18 / 22%); content: ""; }
.local-edit-compare-label { position: absolute; top: 12px; z-index: 2; padding: 4px 7px; border-radius: 5px; background: rgb(25 22 18 / 72%); color: white; font-size: 12px; }
.local-edit-compare-label.is-source { right: 12px; }
.local-edit-compare-label.is-result { left: 12px; }
.local-edit-compare-side { display: grid; min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.local-edit-compare-side[hidden] { display: none; }
.local-edit-compare-side figure { display: grid; min-width: 0; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; margin: 0; background: var(--canvas); }
.local-edit-compare-side img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.local-edit-compare-side figcaption { padding: 8px; border-top: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 12px; text-align: center; }
.local-edit-compare-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 12px; border-top: 1px solid var(--line); background: var(--surface); }
.local-edit-compare-actions button { min-height: 38px; }
@media (max-width: 1380px) {
  .local-redraw-workbench { grid-template-columns: minmax(210px, .5fr) minmax(420px, 1.35fr) minmax(280px, .7fr); }
  .local-edit-workspace { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .7fr); }
  .local-edit-toolbar-label, .local-edit-brush-size span { display: none; }
}
@media (max-width: 1100px) {
  .local-redraw-workbench { grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); }
  .local-edit-inline-workspace { grid-column: 2; }
  .local-edit-workspace { grid-template-columns: 1fr; }
  .local-edit-controls { border-top: 1px solid var(--line); border-left: 0; }
  .local-edit-controls-scroll { overflow: visible; }
  .local-redraw-empty { grid-column: 2; }
}
.form-error { min-height: 20px; margin: 8px 0; color: var(--danger); font-size: 13px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
.toast { position: fixed; right: 24px; bottom: 24px; max-width: min(420px, calc(100vw - 48px)); padding: 11px 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow); color: var(--ink); opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.toast.is-visible { opacity: 1; transform: translateY(0); }
.project-upload-status { display: grid; grid-template-columns: minmax(180px, auto) minmax(160px, 1fr); align-items: center; gap: 12px; padding: 8px 16px; border-top: 1px solid var(--line); background: color-mix(in oklch, var(--complete) 5%, var(--surface)); }
.project-upload-progress-copy { overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.project-upload-progress { height: 7px; overflow: hidden; border-radius: 999px; background: var(--line); }
.project-upload-progress-fill { display: block; width: 100%; height: 100%; border-radius: inherit; background: var(--complete); transform: scaleX(var(--project-upload-progress-scale, 0)); transform-origin: left center; transition: transform .2s ease; }

.my-work-workspace { width: min(100%, 1120px); margin: 0 auto; }
.my-work-header { margin-bottom: 18px; }
.my-work-list { display: grid; gap: 12px; }
.my-work-empty { padding: 48px 24px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.my-work-card { position: relative; display: grid; grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.4fr) auto; gap: 18px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.my-work-card.is-unread { border-color: color-mix(in oklch, var(--accent) 42%, var(--line)); background: color-mix(in oklch, var(--accent) 3%, var(--surface)); }
.my-work-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.my-work-card-heading h2 { margin: 4px 0 2px; font-size: 17px; }
.my-work-decision strong { display: block; margin-bottom: 6px; font-size: 14px; }
.my-work-decision p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.my-work-meta { display: grid; gap: 5px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.my-work-next-action { grid-column: 1 / -1; margin: 0; padding: 9px 11px; border: 1px solid color-mix(in oklch, var(--accent) 24%, var(--line)); border-radius: 6px; background: var(--canvas); color: var(--ink); font-size: 12px; line-height: 1.45; }
.my-work-actions { display: flex; justify-content: flex-end; gap: 8px; grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--line-soft, var(--line)); }
.my-work-output-field { display: grid; min-width: 260px; gap: 5px; margin-right: auto; color: var(--muted); font-size: 12px; font-weight: 650; }
.my-work-output-select { min-width: 260px; max-width: 420px; height: 36px; padding: 0 32px 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font: inherit; }
.my-work-output-select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.my-work-output-select:disabled { color: var(--muted); background: var(--canvas); cursor: not-allowed; }
.status-badge { display: inline-flex; min-height: 21px; align-items: center; padding: 2px 7px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 650; white-space: nowrap; }
.status-badge.is-pending { border-color: color-mix(in oklch, var(--line-strong) 70%, var(--line)); color: var(--muted); }
.status-badge.is-in_progress { border-color: color-mix(in oklch, var(--accent) 32%, var(--line)); color: var(--accent); }
.status-badge.is-blocked { border-color: color-mix(in oklch, var(--warning) 45%, var(--line)); color: color-mix(in oklch, var(--warning) 84%, var(--ink)); }
.status-badge.is-completed { border-color: color-mix(in oklch, var(--complete) 38%, var(--line)); color: var(--complete); }
.lightweight-workspace { width: min(100%, 1380px); }
.lightweight-work-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.lightweight-work-column { display: grid; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in oklch, var(--canvas) 65%, var(--surface)); }
.lightweight-work-column-heading { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 8px; }
.lightweight-work-column-heading h2 { margin: 0; font-size: 14px; }
.status-count { min-width: 24px; padding: 2px 7px; border-radius: 999px; background: var(--surface-hover); color: var(--muted); font-size: 12px; text-align: center; }
.lightweight-work-empty { margin: 0; padding: 34px 12px; color: var(--muted); font-size: 12px; text-align: center; }
.lightweight-work-card { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: stretch; padding: 14px; border-radius: 8px; }
.lightweight-work-card h3 { margin: 3px 0 0; font-size: 14px; }
.lightweight-work-goal { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.55; }
.lightweight-work-card .my-work-meta { display: block; margin: 0; font-size: 12px; }
.lightweight-completion-form { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid var(--line); }
.lightweight-completion-form .my-work-output-select { width: 100%; min-width: 0; max-width: none; }
.my-work-completion-note { width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); }
.external-output-upload { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.return-note { margin: 0; padding: 8px 10px; border-radius: 6px; background: color-mix(in oklch, var(--accent) 7%, var(--surface)); color: var(--accent); font-size: 12px; }
.managed-work-inbox { display: grid; gap: 8px; margin-bottom: 14px; padding: 12px; border: 1px solid color-mix(in oklch, var(--complete) 30%, var(--line)); border-radius: 10px; background: color-mix(in oklch, var(--complete) 4%, var(--surface)); }
.managed-work-inbox-heading { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 680; }
.managed-work-inbox-list { display: grid; gap: 6px; }
.managed-work-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.managed-work-row > div:first-child { display: grid; gap: 3px; }
.managed-work-row span { color: var(--muted); font-size: 12px; }
.managed-work-row .my-work-actions { grid-column: auto; padding: 0; border: 0; }
.lightweight-meeting-workspace { display: grid; gap: 10px; width: min(100%, 1500px); margin: 0 auto; }
.lightweight-meeting-header { margin: 0; padding: 9px 2px 12px; }
.lightweight-meeting-header h1 { margin: 3px 0 0; font-size: 23px; }
.lightweight-meeting-header .section-copy { margin: 4px 0 0; }
.lightweight-meeting-header-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.meeting-live-edit-entry { border-color: color-mix(in oklch, var(--accent) 34%, var(--line)); color: var(--accent); }
.meeting-live-edit-entry:hover:not(:disabled) { border-color: var(--accent); background: color-mix(in oklch, var(--accent) 6%, var(--surface)); }
.lightweight-meeting-board-toolbar { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 14px; padding: 0 2px; }
.lightweight-meeting-board-title { display: flex; min-width: 0; align-items: baseline; gap: 9px; }
.lightweight-meeting-board-title h2 { margin: 0; font-size: 17px; }
.lightweight-meeting-board-title .section-copy { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lightweight-meeting-board-tools { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; gap: 7px; }
.lightweight-meeting-compare-mode { display: inline-flex; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.lightweight-meeting-compare-mode .meeting-picker-toggle { min-height: 30px; padding: 5px 8px; border-color: transparent; }
.lightweight-meeting-compare-mode .meeting-picker-toggle.is-active { border-color: color-mix(in oklch, var(--accent) 54%, var(--line)); background: color-mix(in oklch, var(--accent) 8%, var(--surface)); color: var(--accent); }
.lightweight-meeting-board { display: grid; gap: 10px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas); }
.lightweight-meeting-board-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.lightweight-meeting-empty { display: grid; min-height: 230px; grid-column: 1 / -1; place-content: center; justify-items: center; gap: 7px; padding: 28px; color: var(--muted); text-align: center; }
.lightweight-meeting-empty strong { color: var(--ink); font-size: 14px; }
.lightweight-meeting-empty p { max-width: 460px; margin: 0 0 8px; line-height: 1.55; }
.lightweight-meeting-card { display: grid; grid-template-rows: minmax(180px, 1fr) auto auto auto auto; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.lightweight-meeting-card.is-source { border-color: color-mix(in oklch, var(--accent) 55%, var(--line)); box-shadow: inset 0 2px 0 var(--accent); }
.lightweight-meeting-image { display: grid; width: 100%; min-height: 220px; place-items: center; padding: 8px; border: 0; background: var(--surface-hover); cursor: zoom-in; }
.lightweight-meeting-image img { display: block; width: 100%; height: 100%; max-height: 360px; object-fit: contain; }
.lightweight-meeting-card-header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px 3px; }
.lightweight-meeting-card-header strong { min-width: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.lightweight-meeting-card-meta { display: flex; min-width: 0; justify-content: space-between; gap: 7px; padding: 0 10px 8px; color: var(--muted); font-size: 12px; }
.lightweight-meeting-card-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lightweight-meeting-card > .meeting-board-rating { width: calc(100% - 20px); margin: 0 10px 7px; }
.lightweight-meeting-figure-actions { display: flex; justify-content: flex-end; gap: 6px; padding: 0 10px 9px; }
.lightweight-meeting-figure-actions .secondary-button { min-height: 30px; padding: 5px 9px; font-size: 12px; }
.lightweight-meeting-filmstrip { display: flex; gap: 8px; padding-top: 8px; overflow-x: auto; border-top: 1px solid var(--line); }
.lightweight-meeting-filmstrip-item { display: grid; flex: 0 0 116px; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); text-align: left; }
.lightweight-meeting-filmstrip-item:hover { border-color: var(--line-strong); }
.lightweight-meeting-filmstrip-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--surface-hover); }
.lightweight-meeting-filmstrip-item span { overflow: hidden; padding: 0 2px 2px; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-picker-star, .meeting-picker-star.is-starred { width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 19px; line-height: 1; }
.meeting-picker-star.is-starred { color: var(--accent); }
.meeting-board-rating { min-height: 29px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font-size: 12px; }
.lightweight-meeting-task-bar { padding: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.lightweight-meeting-task-bar > summary { display: flex; min-height: 46px; align-items: center; gap: 10px; padding: 11px 14px; cursor: pointer; list-style: none; }
.lightweight-meeting-task-bar > summary::-webkit-details-marker { display: none; }
.lightweight-meeting-task-bar > summary::before { color: var(--accent); content: "+"; font-size: 17px; font-weight: 500; }
.lightweight-meeting-task-bar[open] > summary::before { content: "−"; }
.lightweight-meeting-task-bar > summary strong { font-size: 13px; }
.lightweight-meeting-task-bar > summary .section-copy { margin-left: auto; }
.lightweight-meeting-task-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; padding: 0 14px 14px; }
.lightweight-meeting-task-field { display: grid; gap: 5px; min-width: 0; }
.lightweight-meeting-task-field > span { color: var(--muted); font-size: 12px; font-weight: 650; }
.lightweight-meeting-task-field-wide { grid-column: span 2; }
.lightweight-meeting-task-form input, .lightweight-meeting-task-form textarea, .lightweight-meeting-task-form select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font: inherit; }
.lightweight-meeting-task-form textarea { min-height: 38px; resize: vertical; }
.lightweight-meeting-task-form > .primary-button { align-self: end; min-height: 38px; }
.lightweight-meeting-notes { padding: 0; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.lightweight-meeting-notes > summary { display: flex; min-height: 44px; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; list-style: none; }
.lightweight-meeting-notes > summary::-webkit-details-marker { display: none; }
.lightweight-meeting-notes > summary::before { color: var(--accent); content: "+"; font-size: 17px; }
.lightweight-meeting-notes[open] > summary::before { content: "−"; }
.lightweight-meeting-notes > summary strong { font-size: 13px; }
.lightweight-meeting-notes > summary .section-copy { margin-left: auto; }
.lightweight-meeting-notes-body { display: grid; gap: 6px; padding: 0 14px 13px; }
.lightweight-meeting-notes-field { display: grid; gap: 5px; }
.lightweight-meeting-notes-field > span { color: var(--muted); font-size: 12px; font-weight: 650; }
.lightweight-meeting-notes textarea { width: 100%; min-height: 72px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font: inherit; line-height: 1.5; resize: vertical; }
.lightweight-meeting-notes-status { color: var(--muted); font-size: 12px; }
.meeting-live-edit { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .75fr); min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.meeting-live-edit-header { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.meeting-live-edit-header h2 { margin: 2px 0 3px; font-size: 18px; }
.meeting-live-edit-header p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-live-edit-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; padding: 14px; background: var(--canvas); }
.meeting-live-edit-preview { display: grid; grid-template-rows: auto minmax(300px, 1fr); min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.meeting-live-edit-preview-header { display: grid; gap: 2px; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.meeting-live-edit-preview-header strong { font-size: 12px; }
.meeting-live-edit-preview-header small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-live-edit-image { display: grid; width: 100%; min-height: 300px; place-items: center; padding: 12px; border: 0; background: color-mix(in oklch, var(--canvas) 74%, var(--surface)); color: var(--muted); cursor: zoom-in; }
.meeting-live-edit-image:disabled { cursor: default; }
.meeting-live-edit-image img { display: block; width: 100%; height: 100%; max-height: 58vh; object-fit: contain; object-position: center; }
.meeting-live-edit-placeholder { font-size: 12px; }
.meeting-live-edit-form { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 18px; border-left: 1px solid var(--line); }
.meeting-live-edit-field, .meeting-live-edit-count { display: grid; gap: 6px; min-width: 0; }
.meeting-live-edit-field > span, .meeting-live-edit-count > span { font-size: 12px; font-weight: 650; }
.meeting-live-edit-field textarea, .meeting-live-edit-field input { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; }
.meeting-live-edit-field textarea { min-height: 112px; resize: vertical; line-height: 1.55; }
.meeting-live-edit-field input { min-height: 38px; }
.meeting-live-edit-note { margin: 0; padding: 9px 10px; border: 1px solid color-mix(in oklch, var(--accent) 18%, var(--line)); border-radius: 7px; background: color-mix(in oklch, var(--accent) 4%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.55; }
.meeting-live-edit-generate { width: 100%; min-height: 42px; }
.meeting-live-edit-status { margin: 0; color: var(--complete); font-size: 12px; }
.meeting-live-edit-actions { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 2px; border-top: 1px solid var(--line); }
.meeting-live-edit-actions button { flex: 1 1 120px; min-height: 34px; padding: 6px 9px; font-size: 12px; }
@media (max-width: 980px) {
  .meeting-live-edit { grid-template-columns: minmax(0, 1fr); }
  .meeting-live-edit-comparison { grid-column: 1; }
  .meeting-live-edit-form { grid-column: 1; border-top: 1px solid var(--line); border-left: 0; }
}
@media (max-width: 640px) {
  .lightweight-meeting-header-actions { width: 100%; justify-content: flex-start; }
  .meeting-live-edit-comparison { grid-template-columns: minmax(0, 1fr); }
  .meeting-live-edit-preview { grid-template-rows: auto minmax(220px, 1fr); }
  .meeting-live-edit-image { min-height: 220px; }
}
.project-accepted-outputs { display: grid; gap: 10px; margin-top: 14px; }
.project-accepted-outputs h3 { margin: 0; font-size: 14px; }
.project-accepted-output-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.project-accepted-output { padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--canvas); cursor: zoom-in; }
.project-accepted-output img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }

/* Meeting mode is a presentation surface first. One image owns the first fold;
   comparison, filtering and handoff controls stay compact and contextual. */
.meeting-workspace-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(3, max-content); align-items: stretch; align-content: start; gap: 8px; overflow-y: auto; }
.meeting-workspace-shell > .meeting-workspace-toolbar,
.meeting-workspace-shell > .lightweight-meeting-workspace-toolbar,
.meeting-workspace-shell > .project-meeting-handoff { grid-column: 1; }
.meeting-workspace-shell > .meeting-workspace-toolbar,
.meeting-workspace-shell > .lightweight-meeting-workspace-toolbar { min-height: 46px; align-items: center; padding: 0 2px 7px; border-bottom: 1px solid var(--line); }
.meeting-workspace-toolbar h1 { margin: 0; font-size: 18px; letter-spacing: -.01em; }
.meeting-header-context { display: flex; max-width: min(58vw, 720px); align-items: center; gap: 7px; margin-top: 3px; overflow: hidden; }
.meeting-session-count { flex: 0 0 auto; color: var(--ink); font-size: 12px; font-weight: 650; }
.meeting-focus-state { display: block; min-width: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-workspace-shell > .meeting-board-canvas { grid-column: 1; align-self: start; min-height: min-content; align-content: start; }
.meeting-workspace-shell > .meeting-live-edit { grid-column: 1; align-self: start; width: 100%; }
.meeting-workspace-shell > .meeting-side-panel { grid-column: 1; min-width: 0; }
.lightweight-meeting-board-canvas { padding: 8px; background: color-mix(in oklch, var(--canvas) 82%, var(--surface)); }
.meeting-focus-stage { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.meeting-focus-image { display: grid; width: 100%; height: clamp(340px, 46vh, 580px); min-height: 0; place-items: center; padding: 18px; border: 0; background: color-mix(in oklch, var(--canvas) 88%, var(--surface)); cursor: zoom-in; }
.meeting-focus-image img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; min-width: 0; min-height: 0; object-fit: contain; object-position: center; }
.meeting-focus-caption { display: flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 18px; padding: 9px 11px; border-top: 1px solid var(--line); background: var(--surface); }
.meeting-focus-identity { display: grid; min-width: 0; gap: 2px; }
.meeting-focus-identity strong, .meeting-focus-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-focus-identity strong { font-size: 13px; }
.meeting-focus-identity span { color: var(--muted); font-size: 12px; }
.meeting-focus-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.meeting-focus-actions .secondary-button, .meeting-focus-actions .primary-button { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.meeting-focus-actions .meeting-picker-star { flex: 0 0 30px; }
.meeting-focus-rating { width: 112px; }
.meeting-compare-selected { min-width: 100px; }
.meeting-end-entry { border-color: transparent; background: transparent; color: var(--muted); }
.meeting-end-entry:hover:not(:disabled) { border-color: var(--line); background: var(--surface-hover); color: var(--ink); }
.meeting-end-entry.primary-button { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.meeting-end-entry.primary-button:hover:not(:disabled) { border-color: var(--accent-hover); background: var(--accent-hover); color: var(--accent-ink); }
.meeting-scheme-strip { display: grid; min-width: 0; grid-auto-flow: column; grid-auto-columns: 176px; grid-template-rows: repeat(2, 92px); gap: 7px; padding: 8px 1px 3px; overflow-x: auto; scroll-snap-type: x proximity; }
.meeting-scheme-item { position: relative; display: grid; width: 176px; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); scroll-snap-align: start; }
.meeting-scheme-item:has(.meeting-scheme-thumb.is-focused) { border-color: var(--accent); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--accent) 18%, transparent); }
.meeting-scheme-thumb { display: grid; min-width: 0; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 8px; padding: 6px 6px 29px; overflow: hidden; border: 0; background: var(--surface); color: var(--ink); text-align: left; }
.meeting-scheme-thumb:hover { background: var(--surface-hover); }
.meeting-scheme-thumb.is-focused { background: color-mix(in oklch, var(--accent) 5%, var(--surface)); }
.meeting-scheme-thumb img { display: block; width: 72px; height: 56px; object-fit: contain; border-radius: 5px; background: var(--surface-hover); }
.meeting-scheme-thumb-copy { display: grid; min-width: 0; gap: 3px; }
.meeting-scheme-thumb-copy strong, .meeting-scheme-thumb-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-scheme-thumb-copy strong { font-size: 12px; }
.meeting-scheme-thumb-copy small { color: var(--muted); font-size: 12px; }
.meeting-scheme-compare { position: absolute; right: 5px; bottom: 4px; min-height: 22px; padding: 2px 6px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
.meeting-scheme-compare:hover { background: var(--surface-hover); color: var(--ink); }
.meeting-scheme-compare.is-selected { background: color-mix(in oklch, var(--accent) 8%, var(--surface)); color: var(--accent); font-weight: 650; }
.meeting-focused-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.meeting-grid-option { display: grid; min-width: 0; grid-template-rows: minmax(160px, 25vh) auto; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-align: left; }
.meeting-focused-comparison-grid[data-count="2"] .meeting-grid-option { grid-template-rows: minmax(260px, 43vh) auto; }
.meeting-focused-comparison-grid[data-count="3"] .meeting-grid-option,
.meeting-focused-comparison-grid[data-count="4"] .meeting-grid-option { grid-template-rows: minmax(160px, 25vh) auto; }
.meeting-grid-option:hover { border-color: var(--line-strong); }
.meeting-grid-option.is-focused { border-color: var(--accent); }
.meeting-grid-option img { display: block; width: 100%; height: 100%; padding: 10px; object-fit: contain; background: color-mix(in oklch, var(--canvas) 86%, var(--surface)); }
.meeting-grid-option-caption { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-top: 1px solid var(--line); }
.meeting-grid-option-caption strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.meeting-grid-option-caption small { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.meeting-utility-rail { display: grid; gap: 7px; min-width: 0; }
.meeting-utility-actionbar { display: flex; min-height: 40px; align-items: center; justify-content: flex-end; gap: 6px; padding: 7px 2px 1px; border-top: 1px solid var(--line); }
.meeting-utility-label { margin-right: auto; color: var(--muted); font-size: 12px; }
.meeting-utility-trigger { min-height: 32px; padding: 6px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; cursor: pointer; }
.meeting-utility-trigger:hover { border-color: var(--line-strong); }
.meeting-utility-trigger.is-active { border-color: color-mix(in oklch, var(--accent) 55%, var(--line)); background: color-mix(in oklch, var(--accent) 6%, var(--surface)); color: var(--accent); }
.meeting-utility-panel { display: grid; max-height: min(240px, 30vh); gap: 10px; overflow: auto; padding: 10px 12px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 8px 24px rgb(35 31 27 / 7%); }
.meeting-utility-panel[hidden], .meeting-utility-pane[hidden] { display: none; }
.meeting-utility-panel-header { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.meeting-utility-panel-heading { display: flex; min-width: 0; align-items: baseline; gap: 10px; }
.meeting-utility-panel-heading strong { flex: 0 0 auto; font-size: 13px; }
.meeting-utility-panel-heading .section-copy { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-utility-close { display: grid; width: 28px; height: 28px; flex: 0 0 28px; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--muted); font: inherit; font-size: 17px; cursor: pointer; }
.meeting-utility-close:hover { border-color: var(--line-strong); color: var(--ink); }
.meeting-end-dialog { width: min(620px, calc(100vw - 48px)); max-width: 620px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 70px rgb(35 31 27 / 22%); }
.meeting-end-dialog::backdrop { background: rgb(35 31 27 / 34%); }
.meeting-end-shell { display: grid; gap: 16px; padding: 20px; }
.meeting-end-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.meeting-end-header h2 { margin: 2px 0 4px; font-size: 20px; }
.meeting-end-header p { margin: 0; }
.meeting-end-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.meeting-end-summary-item { display: grid; gap: 2px; padding: 12px; border-right: 1px solid var(--line); }
.meeting-end-summary-item:last-child { border-right: 0; }
.meeting-end-summary-item strong { font-size: 20px; line-height: 1; }
.meeting-end-summary-item span { color: var(--muted); font-size: 12px; }
.meeting-closed-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in oklch, var(--surface) 92%, var(--canvas)); }
.meeting-closed-summary strong { display: block; margin-bottom: 5px; }
.meeting-closed-summary p { margin: 0; max-width: 72ch; }
.meeting-closed-meta, .meeting-locked-label { color: var(--muted); font-size: 13px; white-space: nowrap; }
.meeting-locked-label { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--canvas); }
.meeting-end-note { display: grid; gap: 6px; }
.meeting-end-note > span { font-size: 12px; font-weight: 650; }
.meeting-end-note textarea { width: 100%; min-height: 88px; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; line-height: 1.5; resize: vertical; }
.meeting-end-reminder { margin: 0; padding: 9px 10px; border-radius: 7px; background: color-mix(in oklch, var(--canvas) 82%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.meeting-end-actions { display: flex; justify-content: flex-end; gap: 7px; padding-top: 2px; }
.meeting-end-actions button { min-height: 36px; }
.lightweight-meeting-side-panel .lightweight-meeting-notes,
.lightweight-meeting-side-panel .lightweight-meeting-task-bar { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.lightweight-meeting-side-panel .lightweight-meeting-task-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lightweight-meeting-side-panel .lightweight-meeting-task-field-wide { grid-column: span 3; }
.lightweight-meeting-side-panel .lightweight-meeting-task-form,
.lightweight-meeting-side-panel .lightweight-meeting-notes-body { padding: 0; }
.lightweight-meeting-side-panel .lightweight-meeting-task-form { padding: 0; }
.lightweight-meeting-side-panel .lightweight-meeting-task-form textarea { min-height: 38px; max-height: 64px; resize: none; }
.lightweight-meeting-side-panel .lightweight-meeting-notes textarea { min-height: 72px; max-height: 96px; resize: vertical; }
.lightweight-meeting-side-panel .lightweight-meeting-task-form > .primary-button { width: 100%; }

@media (max-width: 1100px) and (min-width: 641px) {
  .meeting-focus-image { height: clamp(360px, 48vh, 560px); }
  .meeting-focus-caption { align-items: flex-start; flex-direction: column; }
  .meeting-focus-actions { width: 100%; flex-wrap: wrap; }
  .meeting-utility-panel { max-height: min(280px, 34vh); }
  .lightweight-meeting-side-panel .lightweight-meeting-task-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lightweight-meeting-side-panel .lightweight-meeting-task-field-wide { grid-column: span 2; }
}

@media (max-width: 640px) {
  .meeting-focus-image { height: 420px; padding: 8px; }
  .meeting-focus-caption { align-items: flex-start; flex-direction: column; }
  .meeting-focus-actions { width: 100%; flex-wrap: wrap; }
  .meeting-focused-comparison-grid { grid-template-columns: minmax(0, 1fr); }
  .meeting-utility-actionbar { align-items: stretch; flex-wrap: wrap; }
  .meeting-utility-label { width: 100%; }
  .meeting-utility-trigger { flex: 1 1 140px; }
  .meeting-utility-panel { max-height: none; }
  .meeting-utility-panel-heading { display: grid; gap: 2px; }
  .lightweight-meeting-side-panel .lightweight-meeting-task-form { grid-template-columns: minmax(0, 1fr); }
  .lightweight-meeting-side-panel .lightweight-meeting-task-field-wide { grid-column: auto; }
}
.delivery-archive-more { margin-top: 14px; border-top: 1px solid var(--line); }
.delivery-archive-more > summary { padding-top: 12px; cursor: pointer; color: var(--muted); font-size: 12px; }
.delivery-archive-more[open] > summary { color: var(--ink); }
.delivery-archive-more .provenance-details { margin-top: 10px; }
.project-delivery-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 14px 16px; border: 1px solid color-mix(in oklch, var(--accent) 24%, var(--line)); border-radius: 12px; background: color-mix(in oklch, var(--accent) 4%, var(--surface)); }
.project-delivery-status strong { display: block; margin: 3px 0; font-size: 14px; }
.project-delivery-status p { margin: 0; }
.project-delivery-status.is-delivered { border-color: color-mix(in oklch, #4f765b 30%, var(--line)); background: color-mix(in oklch, #4f765b 5%, var(--surface)); }
.project-delivery-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.project-delivery-note { color: var(--muted); font-size: 12px; white-space: nowrap; }
.project-brand-standard-status { display: flex; align-items: center; margin-bottom: 14px; padding: 12px 16px; border: 1px solid color-mix(in oklch, #546d91 26%, var(--line)); border-radius: 12px; background: color-mix(in oklch, #546d91 5%, var(--surface)); }
.project-brand-standard-status strong { display: block; margin: 3px 0; font-size: 14px; }
.project-brand-standard-status p { margin: 0; }
.project-details-dialog { position: fixed; inset: 0 0 0 auto; width: min(460px, calc(100vw - 64px)); max-width: none; height: 100dvh; max-height: none; margin: 0 0 0 auto; padding: 0; overflow: hidden; border: 0; border-left: 1px solid var(--line); background: var(--surface); color: var(--ink); box-shadow: -18px 0 48px rgb(35 31 27 / 12%); }
.project-details-dialog::backdrop { background: rgb(35 31 27 / 24%); }
.project-details-drawer { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; padding: 22px; }
.project-details-content { display: grid; align-content: start; gap: 12px; min-height: 0; padding-top: 18px; overflow-y: auto; }
.project-details-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; border: 1px solid var(--line); border-radius: 9px; }
.project-details-fact { min-width: 0; padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-details-fact:nth-child(even) { border-right: 0; }
.project-details-fact:last-child { border-bottom: 0; }
.project-details-fact dt { margin-bottom: 4px; color: var(--muted); font-size: 12px; }
.project-details-fact dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 650; line-height: 1.45; }
.project-details-content .project-brand-standard-status, .project-details-content .project-delivery-status { display: grid; align-items: start; gap: 12px; margin: 0; }
.project-details-content .project-delivery-actions { justify-content: flex-start; }
.project-details-content .project-delivery-note { white-space: normal; }
.project-details-empty { margin: 0; padding: 14px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 12px; line-height: 1.55; }
#projectBrandStandardSummary { color: var(--muted); font-size: 12px; line-height: 1.55; }
.team-settings-dialog { width: min(1100px, calc(100vw - 64px)); padding: 0; overflow: hidden; }
.team-settings-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); height: min(760px, calc(100vh - 72px)); padding: 24px 24px 0; }
.team-settings-content { min-height: 0; margin: 18px -24px 0; border-top: 1px solid var(--line); }
.team-settings-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); height: 100%; min-height: 0; }
.team-settings-navigation { display: grid; align-content: start; gap: 4px; padding: 18px 12px; border-right: 1px solid var(--line); background: color-mix(in oklch, var(--surface-hover) 58%, var(--surface)); }
.team-settings-nav-item { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; text-align: left; cursor: pointer; }
.team-settings-nav-item:hover, .team-settings-nav-item:focus-visible { background: var(--surface); color: var(--ink); }
.team-settings-nav-item.is-active { border-color: var(--line); background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgb(35 31 27 / 4%); }
.team-settings-nav-item small { min-width: 22px; color: var(--muted); font-size: 12px; text-align: right; }
.team-settings-panel { min-width: 0; overflow-y: auto; padding: 24px 28px 32px; }
.team-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.team-panel-heading h3 { margin: 0 0 5px; font-size: 17px; letter-spacing: -.01em; }
.team-panel-heading p { margin: 0; }
.team-count { flex: 0 0 auto; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 12px; }
.team-empty-state { margin: 0; padding: 22px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 12px; line-height: 1.6; text-align: center; }
.team-create-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.team-department-list { display: grid; }
.team-department-row { display: grid; grid-template-columns: minmax(220px, 1fr) 90px auto auto; gap: 10px; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); }
.team-row-meta { color: var(--muted); font-size: 12px; }
.team-text-button { min-height: 34px; padding: 6px 8px; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
.team-text-button:hover, .team-text-button:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.team-text-button.is-danger { color: var(--danger); }
.team-text-button:disabled { cursor: not-allowed; opacity: .48; }
.team-role-workspace { display: grid; grid-template-columns: 210px minmax(0, 1fr); min-height: 430px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.team-role-list { display: grid; align-content: start; gap: 3px; padding: 10px; border-right: 1px solid var(--line); background: var(--surface-hover); }
.team-role-list-item { display: grid; gap: 3px; min-height: 52px; padding: 9px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.team-role-list-item:hover, .team-role-list-item:focus-visible, .team-role-list-item.is-active { border-color: var(--line); background: var(--surface); }
.team-role-list-item strong { font-size: 12px; font-weight: 650; }
.team-role-list-item small { color: var(--muted); font-size: 12px; }
.team-role-list-item.is-new { display: block; min-height: 38px; color: var(--accent); font-size: 12px; }
.team-role-editor { display: grid; align-content: start; gap: 16px; padding: 20px 22px; }
.team-role-editor-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 650; }
.team-role-editor-heading small { color: var(--muted); font-size: 12px; font-weight: 400; }
.team-permission-groups { display: grid; gap: 16px; }
.team-permission-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.team-permission-group legend { margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .06em; }
.team-permission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 12px; }
.team-permission-option { display: flex; align-items: center; gap: 7px; min-width: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.team-permission-option input { flex: 0 0 auto; width: auto; accent-color: var(--accent); }
.team-permission-option:has(input:disabled) { opacity: .64; }
.team-editor-actions { display: flex; min-height: 36px; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.team-editor-actions .team-text-button { margin-right: auto; }
.team-locked-note { color: var(--muted); font-size: 12px; }
.team-member-table { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.team-member-table-head, .team-member-row { display: grid; grid-template-columns: minmax(140px, .75fr) minmax(150px, .8fr) minmax(300px, 1.7fr) auto; gap: 14px; align-items: center; }
.team-member-table-head { min-height: 38px; padding: 0 14px; background: var(--surface-hover); color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .04em; }
.team-member-row { min-height: 74px; padding: 12px 14px; border-top: 1px solid var(--line); }
.team-member-row.is-inactive { opacity: .56; }
.team-member-identity { display: grid; min-width: 0; gap: 3px; }
.team-member-identity strong, .team-member-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-member-identity small { color: var(--muted); font-size: 12px; }
.team-member-roles { display: flex; flex-wrap: wrap; gap: 7px 13px; }
.team-members-source-note { margin: 12px 2px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.project-members-dialog { width: min(760px, calc(100vw - 64px)); }
.project-members-content { display: grid; gap: 8px; max-height: min(560px, calc(100vh - 280px)); overflow: auto; }
.project-member-option { display: grid; grid-template-columns: auto minmax(150px, .7fr) minmax(260px, 1.3fr); gap: 13px; align-items: center; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.project-member-option.is-owner { background: var(--surface-hover); }
.project-member-toggle { width: 16px; height: 16px; accent-color: var(--accent); }
.project-member-identity { display: grid; min-width: 0; gap: 3px; }
.project-member-identity strong, .project-member-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-member-identity small { color: var(--muted); font-size: 12px; }
.project-member-role-options { display: flex; flex-wrap: wrap; gap: 7px 13px; }
.project-member-role-option { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.project-member-role-option input { accent-color: var(--accent); }
.project-member-role-option:has(input:disabled) { opacity: .45; }
.meeting-focused-workspace { width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.meeting-focused-workspace .meeting-pane { height: 100%; min-height: 0; }
.meeting-focused-workspace .meeting-mode-body { min-height: 0; flex: 1 1 auto; overflow-y: auto; }
.meeting-asset-picker-dialog { width: min(1200px, calc(100vw - 64px)); max-height: min(860px, calc(100vh - 48px)); padding: 0; overflow: hidden; }
.meeting-asset-picker-shell { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; max-height: min(860px, calc(100vh - 48px)); }
.meeting-asset-picker-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 16px; border-bottom: 1px solid var(--line); }
.meeting-asset-picker-heading h2 { margin: 3px 0 4px; font-size: 23px; }
.meeting-asset-picker-heading .section-copy { margin: 0; }
.meeting-asset-picker-heading-actions { display: flex; align-items: center; gap: 12px; }
.meeting-asset-picker-selection { color: var(--accent); font-size: 12px; white-space: nowrap; }
.meeting-picker-filter-bar { display: grid; grid-template-columns: minmax(210px, 1.7fr) repeat(4, minmax(110px, 1fr)) auto minmax(100px, .9fr) minmax(110px, 1fr) auto; gap: 7px; padding: 12px 24px; border-bottom: 1px solid var(--line); background: var(--canvas); }
.meeting-picker-filter-bar .meeting-asset-picker-search { min-width: 0; margin: 0; }
.meeting-picker-select, .meeting-picker-toggle, .meeting-picker-reset { min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 12px; }
.meeting-picker-select:disabled { color: var(--muted); background: var(--canvas); cursor: not-allowed; }
.meeting-picker-toggle[aria-pressed="true"] { border-color: color-mix(in oklch, var(--accent) 54%, var(--line)); background: color-mix(in oklch, var(--accent) 8%, var(--surface)); color: var(--accent); }
.meeting-picker-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-content: start; gap: 12px; min-height: 0; padding: 16px 24px 20px; overflow-y: auto; }
.meeting-picker-card { display: grid; grid-template-rows: auto auto auto auto; min-width: 0; padding: 7px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; }
.meeting-picker-card:hover, .meeting-picker-card:focus-visible { border-color: color-mix(in oklch, var(--accent) 45%, var(--line)); }
.meeting-picker-card.is-selected { border-color: var(--accent); background: color-mix(in oklch, var(--accent) 6%, var(--surface)); box-shadow: 0 0 0 1px color-mix(in oklch, var(--accent) 30%, transparent); }
.meeting-picker-image { display: grid; width: 100%; min-height: 160px; place-items: center; padding: 5px; border: 0; border-radius: 7px; background: var(--surface-hover); cursor: zoom-in; }
.meeting-picker-image img, .meeting-asset-picker-option img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.meeting-picker-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 5px 2px 0; }
.meeting-picker-card-title { display: block; min-width: 0; overflow: hidden; padding: 0 2px; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.meeting-picker-card-meta { display: grid; gap: 2px; min-width: 0; padding: 3px 2px 2px; color: var(--muted); font-size: 12px; }
.meeting-picker-card-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-picker-empty { display: grid; min-height: 230px; grid-column: 1 / -1; place-items: center; color: var(--muted); font-size: 13px; }
.meeting-asset-picker-footer { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 24px; border-top: 1px solid var(--line); background: var(--surface); }
.meeting-asset-picker-footer .section-copy { margin: 0; }
.meeting-picker-add { min-width: 116px; }
@media (max-width: 1280px) {
  .lightweight-meeting-board-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .meeting-picker-filter-bar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .meeting-picker-filter-bar .meeting-asset-picker-search { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .lightweight-meeting-board-toolbar { align-items: flex-start; flex-direction: column; }
  .lightweight-meeting-board-tools { width: 100%; justify-content: flex-start; }
  .lightweight-meeting-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lightweight-meeting-task-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lightweight-meeting-task-field-wide { grid-column: 1 / -1; }
  .meeting-picker-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .meeting-picker-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .meeting-picker-filter-bar .meeting-asset-picker-search { grid-column: 1 / -1; }
}

.work-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 13px 2px 22px; border-bottom: 1px solid var(--line); }
.work-page-header h1 { margin-top: 5px; font-size: 28px; }
.work-page-header .section-copy { max-width: 720px; margin: 7px 0 0; font-size: 13px; }
.my-work-blocked-reason { grid-column: 1 / -1; margin: 0; padding: 9px 11px; border: 1px solid color-mix(in oklch, var(--warning) 34%, var(--line)); border-radius: 6px; background: color-mix(in oklch, var(--warning) 6%, var(--surface)); color: var(--muted); font-size: 12px; }
.my-work-blocked-reason strong { color: var(--ink); }

/* All three modes use the same desktop frame. Their tools differ, while the
   material shelf, divider, heading and remaining workspace stay aligned. */
@media (min-width: 861px) {
  .content { display: flex; min-height: calc(100dvh - 68px); flex-direction: column; }
  body[data-active-section="projects"] .content { height: calc(100dvh - 68px); overflow: hidden; }
  body[data-active-section="projects"][data-active-mode="simple"] .content { height: auto; min-height: calc(100dvh - 68px); overflow: visible; }
  .mode-workspace-stack { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .simple-mode-stack { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .meeting-mode-stack { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .professional-mode-layer { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .mode-workspace-layer .workspace-split { height: 100%; min-height: 0; flex: 1 1 auto; }
  .simple-mode-layer { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .meeting-mode-layer { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
  .simple-workspace { flex: 1 1 auto; align-content: stretch; }
  .meeting-workspace { flex: 1 1 auto; align-content: stretch; }
}

@media (max-width: 1100px) and (min-width: 861px) {
  .workspace-pane-heading { gap: 12px; }
  .material-search { flex-basis: 140px; width: 150px; }
  .material-scope-select { width: auto; max-width: min(240px, 100%); }
  .mode-workflow-tabs { grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); }
  .simple-form-columns { grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr) minmax(0, .78fr); }
  .simple-result-card { grid-column: auto; }
  .simple-result-gallery { grid-template-columns: 1fr; }
  .expanded-simple-pane .simple-form-columns { grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr) minmax(0, .78fr); }
  .expanded-simple-pane .simple-result-card { grid-column: auto; }
  .meeting-decision-desk { grid-template: "visual" auto "command" auto "handoff" auto / minmax(0, 1fr); min-height: 0; }
  .meeting-visual-stage { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .meeting-command-panel { overflow: visible; }
}

@media (max-width: 1380px) and (min-width: 1101px) {
  .material-search { flex: 0 1 110px; width: 110px; min-width: 110px; }
  .material-scope-select { width: auto; max-width: min(260px, 100%); }
  .simple-form-columns { grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr) minmax(200px, .72fr); }
  .simple-result-card { grid-column: auto; }
  .expanded-simple-pane .simple-form-columns { grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr) minmax(200px, .72fr); }
  .expanded-simple-pane .simple-result-card { grid-column: auto; }
  .simple-workflow-tab { flex-basis: 104px; padding-right: 8px; padding-left: 8px; }
  .meeting-decision-desk { grid-template-columns: minmax(560px, 1fr) minmax(350px, 380px); }
}

@media (max-width: 860px) {
  .custom-template-navigation { grid-auto-columns: minmax(170px, 220px); grid-auto-flow: column; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .custom-template-basics, .custom-template-settings, .custom-run-form { grid-template-columns: 1fr; }
  .custom-field-row { grid-template-columns: minmax(0, 1fr) 100px; }
  .custom-field-row > :nth-child(n + 3) { grid-column: 1 / -1; }
  .topbar { padding: 0 18px; }
  .mode-switch-label { display: none; }
  .mode-tab { padding: 4px 7px; }
  .content { padding: 12px; }
  .project-heading, .progress-panel { display: grid; }
  .project-heading-actions { justify-content: flex-start; }
  .workspace-split { display: block; height: auto; min-height: 0; overflow: visible; }
  .workspace-divider { display: none; }
  .output-pane { max-height: 440px; }
  .canvas-pane { margin-top: 18px; border: 1px solid var(--line); }
  .workspace-pane-title .section-copy { display: none; }
  .simple-pane-heading { align-items: flex-start; flex-direction: column; }
  .simple-heading-actions { width: 100%; }
  .simple-run-readiness { flex: 1 1 auto; max-width: none; text-align: left; }
  .run-input-option { grid-template-columns: 1fr; }
  .asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step-card { grid-template-columns: 72px minmax(0, 1fr) auto; }
  .run-history-row { grid-template-columns: minmax(0, 1fr) auto; }
  .run-history-row > span:not(.status-pill) { display: none; }
  .step-card p { display: none; }
  .simple-form-columns { grid-template-columns: 1fr; }
  .simple-workflow-tabs { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); }
  .meeting-session-heading { align-items: flex-start; flex-direction: column; }
  .meeting-session-tools { width: 100%; flex-wrap: wrap; }
  .meeting-session-strip { grid-auto-columns: minmax(150px, 180px); }
  .meeting-decision-desk { grid-template: "visual" auto "command" auto "handoff" auto / minmax(0, 1fr); min-height: 0; }
  .meeting-workspace { --asset-pane-height: 112px; }
  .meeting-visual-stage { grid-template: "header" auto "filmstrip" auto "comparison" auto / minmax(0, 1fr); min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .meeting-comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meeting-command-panel { overflow: visible; }
  .keyword-studio-dialog { width: calc(100vw - 24px); height: min(620px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); }
  .keyword-studio-header { gap: 12px; padding: 0 12px 0 16px; }
  .keyword-studio-body { padding: 16px; }
  .keyword-studio-footer { padding: 0 16px; }
  .keyword-studio-dictionary, .keyword-studio-analysis { grid-template-columns: minmax(0, 1fr); }
  .keyword-studio-categories { display: flex; grid-row: auto; gap: 4px; padding: 0 0 8px; overflow: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .keyword-studio-category { width: auto; flex: 0 0 auto; }
  .keyword-studio-main { grid-row: auto; padding-left: 0; }
  .keyword-studio-columns { grid-template-columns: minmax(0, 1fr); }
  .keyword-studio-custom-fields { grid-template-columns: minmax(0, 1fr); }
  .keyword-studio-term, .keyword-studio-term-list.shows-category .keyword-studio-term { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px 28px auto; }
  .keyword-studio-term-category { display: none; }
}

@media (max-width: 560px) {
  .meeting-session-summary { flex-wrap: wrap; }
  .meeting-session-counts { flex-basis: 100%; padding-left: 33px; }
  .meeting-mode-layer .output-pane { max-height: 300px; }
  .meeting-mode-layer .output-asset-grid { grid-template-columns: none; grid-auto-columns: 154px; grid-auto-flow: column; gap: 8px; overflow-x: auto; padding: 10px 12px 12px; scroll-snap-type: x proximity; }
  .meeting-mode-layer .output-asset-card { scroll-snap-align: start; border-radius: 7px; }
  .meeting-mode-layer .output-asset-preview { height: 92px; aspect-ratio: auto; object-fit: contain; }
  .meeting-mode-layer .output-asset-details { padding: 7px 8px 8px; }
  .meeting-mode-layer .output-asset-actions { overflow: hidden; }
  body[data-active-mode="meeting"] #editProjectButton, body[data-active-mode="meeting"] #archiveProjectButton, body[data-active-mode="meeting"] #deleteProjectButton { display: none; }
  .meeting-comparison-grid { grid-template-columns: 1fr; }
  .meeting-visual-stage { min-height: 0; }
  .meeting-source-preview, .meeting-current-preview { min-height: 210px; max-height: 360px; }
  .meeting-candidate-heading { align-items: flex-start; flex-direction: column; }
  .meeting-candidate-tools { width: 100%; justify-content: flex-start; }
  .meeting-candidate-tools > small { max-width: min(220px, 100%); }
  .meeting-command-panel { padding: 14px 12px; }
  .meeting-handoff-panel { grid-template-columns: minmax(0, 1fr); padding: 14px 12px; }
  .meeting-handoff-heading, .meeting-handoff-next, .meeting-handoff-panel > .meeting-handoff-assignment-grid, .meeting-handoff-save, .meeting-handoff-save-hint, .meeting-handoff-panel > .meeting-handoff-saved { grid-column: 1; }
  .meeting-handoff-version { grid-row: auto; }
  .meeting-command-controls { grid-template-columns: 1fr; }
  .meeting-session-strip { grid-auto-columns: minmax(148px, calc(100vw - 64px)); }
  .meeting-session-empty { min-width: 0; width: 100%; }
  .topbar-copy { display: none; }
  .project-upload-status { grid-template-columns: 1fr; }
  .step-card { grid-template-columns: 64px minmax(0, 1fr); gap: 9px; padding: 13px 0; }
  .step-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .asset-grid { grid-template-columns: 1fr; }
  .reference-picker-toolbar { grid-template-columns: 1fr 1fr; }
  .reference-picker-search { grid-column: 1 / -1; }
  .reference-picker-count { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.project-scope-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}

/* The picker starts with the decisions users make most often. Less frequent
   project/workflow filters stay behind one quiet disclosure control. */
.meeting-asset-picker-dialog .meeting-picker-filter-bar {
  grid-template-columns: minmax(260px, 1fr) minmax(120px, .45fr) minmax(120px, .45fr) minmax(120px, .55fr) auto;
  align-items: center;
}
.meeting-asset-picker-dialog .meeting-picker-advanced,
.meeting-asset-picker-dialog .lightweight-meeting-picker-advanced {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  padding-top: 2px;
}
.meeting-asset-picker-dialog .meeting-picker-advanced[hidden],
.meeting-asset-picker-dialog .lightweight-meeting-picker-advanced[hidden] {
  display: none;
}
.meeting-asset-picker-dialog .meeting-picker-more-filters {
  white-space: nowrap;
}
.meeting-asset-picker-dialog .meeting-picker-card-topline {
  min-height: 28px;
}
.meeting-asset-picker-dialog .meeting-picker-card-topline > :first-child {
  margin-right: 2px;
}
.meeting-picker-check {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--accent);
  cursor: pointer;
}
.meeting-picker-selection-label {
  margin-right: auto;
  white-space: nowrap;
  color: var(--muted);
  font-size: 12px;
}
.meeting-picker-card.is-selected .meeting-picker-selection-label {
  color: var(--accent);
  font-weight: 650;
}
@media (max-width: 980px) {
  .meeting-asset-picker-dialog .meeting-picker-filter-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .meeting-asset-picker-dialog .meeting-picker-filter-bar .meeting-asset-picker-search {
    grid-column: 1 / -1;
  }
  .meeting-asset-picker-dialog .meeting-picker-advanced,
  .meeting-asset-picker-dialog .lightweight-meeting-picker-advanced {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .meeting-asset-picker-dialog .meeting-picker-filter-bar,
  .meeting-asset-picker-dialog .meeting-picker-advanced,
  .meeting-asset-picker-dialog .lightweight-meeting-picker-advanced {
    grid-template-columns: 1fr 1fr;
  }
  .meeting-asset-picker-dialog .meeting-picker-filter-bar .meeting-asset-picker-search,
  .meeting-asset-picker-dialog .meeting-picker-advanced {
    grid-column: 1 / -1;
  }
}

@media (min-width: 861px) {
  /* The meeting shell is a flex child in the page frame. Keep its grid rows
     content-sized so a short meeting does not create a tall empty stage. */
  .meeting-workspace-shell {
    align-content: start;
  }
}
.keyword-studio-retry[hidden] { display: none; }
