@import url("/design-system/tokens/fonts.css");
@import url("/design-system/tokens/colors.css");
@import url("/design-system/tokens/typography.css");
@import url("/design-system/tokens/spacing.css");
@import url("/design-system/tokens/elevation.css");
@import url("/design-system/tokens/motion.css");
@import url("/design-system/tokens/base.css");

/* Plume production adapter. The packaged design tokens above are authoritative;
   these aliases let the mature application workflows consume them unchanged. */
:root {
  --bg: var(--background);
  --card: var(--surface);
  --ink: var(--foreground);
  --ink-soft: var(--surface-secondary-foreground);
  --label: var(--foreground);
  --muted-2: var(--muted);
  --line: var(--border);
  --input-bg: var(--field-background);
  --gold: var(--plume-gold-deep);
  --focus-ring: var(--focus);
  --ok: var(--success);
  --status-flagged: var(--status-flagged-fg);
  --status-review: var(--status-review-fg);
  --status-waiting: var(--status-waiting-fg);
  --status-scheduled: var(--status-scheduled-fg);
  --status-ok: var(--status-approved-fg);
  --status-ok-bg: var(--status-approved-bg);
  --status-skipped: var(--status-skipped-fg);
  --status-error: var(--status-error-fg);
  --r-sm: var(--radius-sm);
  --r: var(--radius-md);
  --r-md: var(--radius-lg);
  --r-lg: var(--radius-xl);
}

html { min-width: 320px; background: var(--background); }
body {
  min-height: 100vh;
  background: var(--background);
  color: var(--foreground);
  font: var(--type-body-md);
  letter-spacing: -.005em;
}
body, button, input, select, textarea { font-family: var(--font-sans); }
button, a, input, select, textarea { transition: var(--motion-hover), var(--motion-transform); }
button:active:not(:disabled) { transform: scale(var(--press-scale)); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.hidden { display: none !important; }

/* ---------- Product chrome ---------- */
.app-shell { min-height: 100vh; background: var(--background); }
.rail {
  z-index: 30; width: var(--rail-w); padding: 0; border: 0;
  background: var(--rail); color: var(--rail-foreground); box-shadow: var(--rail-shadow);
}
.rail.collapsed { width: var(--rail-w); padding: 0; }
.rail-head { min-height: auto; justify-content: center; padding: var(--space-8) var(--space-6) var(--space-7); position: relative; }
.wordmark { display: grid; justify-items: center; gap: var(--space-2); color: var(--white); overflow: visible; }
.wordmark-mark { width: 62px; height: 62px; object-fit: contain; filter: drop-shadow(0 8px 22px rgb(0 96 176 / .24)); }
.wordmark-name { font: var(--type-wordmark); font-size: 28px; color: var(--white); }
.rail-toggle {
  position: absolute; right: var(--space-4); top: var(--space-4); width: 28px; height: 28px;
  color: var(--rail-muted); background: transparent; border: 1px solid var(--rail-separator);
}
.rail-toggle:hover { color: var(--white); background: var(--rail-active-bg); }
.rail-nav { gap: var(--space-2); padding: 0 var(--space-5); overflow-y: auto; }
.rail-group-label { display: none; }
.rail-item {
  min-height: 44px; gap: var(--space-5); padding: 0 var(--space-5); border-radius: var(--radius-md);
  color: var(--rail-muted); background: transparent; border: 0; box-shadow: none; font: var(--type-nav); position: relative;
}
.rail-item:hover { background: color-mix(in oklab, var(--white) 7%, transparent); color: var(--white); }
.rail-item.active {
  color: var(--rail-active-foreground); background: var(--rail-active-bg); box-shadow: inset 0 0 0 1px var(--rail-active-edge), var(--glow-cyan);
  font: var(--type-nav-active);
}
.rail-icon, .rail-icon svg { width: 20px; height: 20px; }
.rail-fill { min-height: var(--space-8); }
.rail-user { margin: 0; padding: var(--space-6); border: 0; border-radius: 0; }
.rail-avatar { width: 36px; height: 36px; background: var(--highlight-soft); color: var(--plume-cyan-light); font: var(--type-label-sm); }
.rail-username { color: var(--white); font: var(--type-label-sm); }
.rail-subtitle, .rail-signout { color: var(--rail-muted); font: var(--type-micro); }
.rail-signout:hover { color: var(--plume-cyan-light); }
.rail.collapsed .rail-toggle { display: none; }
.rail.collapsed .rail-label { display: block; }
.mobile-create-trigger { display: none; }

@media (min-width: 901px) {
  /* Exact full desktop rail proportions from the supplied Plume RailNav. */
  .rail, .rail.collapsed { width: var(--rail-w); }
  .rail.collapsed .rail-head { min-height: auto; padding: var(--space-8) var(--space-6) var(--space-7); }
  .rail.collapsed .wordmark-mark { width: 62px; height: 62px; }
  .rail.collapsed .rail-nav { padding: 0 var(--space-5); }
  .rail.collapsed .rail-label { display: block; }
  .rail-head { padding: var(--space-8) var(--space-6) var(--space-7); }
  .wordmark { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-3); }
  .wordmark-mark { width: 62px; height: 62px; }
  .wordmark-name { font-size: var(--text-2xl); letter-spacing: .01em; }
  .rail-toggle { display: none; }
  .rail-nav { display: grid; grid-auto-flow: row; align-content: start; gap: 2px; padding: 0 var(--space-5); }
  .rail-group-label { display: none; }
  .rail-item { width: 100%; min-height: 44px; justify-content: flex-start; gap: var(--space-5); margin-bottom: 2px; padding: 0 var(--space-5); border-radius: var(--radius-md); }
  .rail-item .rail-label { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: nowrap; font: var(--type-nav); }
  .rail-icon, .rail-icon svg { width: 19px; height: 19px; }
  .rail-item.active { color: var(--rail-active-foreground); background: var(--rail-active-bg); box-shadow: inset 0 0 0 1px var(--rail-active-edge), var(--glow-cyan); }
  .rail-item.active .rail-icon { color: var(--plume-cyan); }
  .rail-item:hover { color: var(--white); background: color-mix(in oklab, var(--white) 7%, transparent); }
  .rail-user { justify-content: flex-start; padding: var(--space-6); }
  .rail-userinfo { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
  .rail-avatar { width: 38px; height: 38px; }
  .rail-item[data-view="today"] { order: 1; }
  .rail-item[data-view="calendar"] { order: 2; }
  .rail-item[data-view="pipeline"] { order: 3; }
  .rail-item[data-view="planner"] { order: 4; }
  .rail-item[data-view="library"] { order: 5; }
  .rail-item[data-view="insights"] { order: 6; }
  .rail-item[data-view="leaderboard"] { order: 7; }
  .rail-item[data-view="requests"] { order: 8; }
  .rail-item[data-view="edm"] { order: 9; }
  .rail-item[data-view="settings"] { order: 10; }
}

.app-main { max-width: none; padding: 0; background: var(--background); min-height: 100vh; }
.plume-topbar {
  height: var(--topbar-h); display: flex; align-items: center; gap: var(--space-5); padding: 0 var(--space-9);
  position: sticky; top: 0; z-index: 24; background: var(--surface);
  border-bottom: 1px solid var(--separator); box-shadow: none;
}
.topbar-workspace, .topbar-icon-button {
  min-height: 38px; display: inline-flex; align-items: center; gap: var(--space-4); padding: 0 var(--space-5);
  background: transparent; border: 1px solid transparent; color: var(--foreground); border-radius: var(--radius-md);
}
.topbar-workspace { border-color: var(--border); background: var(--surface); font: var(--type-label-sm); }
.topbar-workspace:hover, .topbar-icon-button:hover { background: var(--default-hover); }
.topbar-briefcase { width: 17px; height: 17px; color: var(--plume-blue); }
.global-search {
  width: min(720px, 50vw); height: 42px; margin: 0; display: flex; align-items: center; gap: var(--space-5);
  padding: 0 var(--space-6); background: var(--surface-secondary); border: 1px solid var(--field-border);
  border-radius: var(--radius-pill); box-shadow: none; position: relative;
}
.global-search:focus-within { border-width: 1px; border-color: var(--field-border); box-shadow: none; }
.global-search svg { width: 19px; height: 19px; color: var(--muted); }
.global-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--field-foreground); font: var(--type-body-md); }
#global-search input:focus, #global-search input:focus-visible { border: 0; outline: 0; outline-offset: 0; }
.global-search kbd { padding: 2px 7px; color: var(--muted); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); font: var(--type-micro); }
.global-search-results {
  position: absolute; z-index: 60; top: calc(100% + var(--space-3)); left: 0; width: 100%;
  max-height: min(560px, calc(100vh - var(--topbar-h) - var(--space-8))); overflow-y: auto;
  padding: var(--space-3); color: var(--overlay-foreground); background: var(--overlay);
  border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow);
}
.global-search-group { padding: var(--space-4) var(--space-4) var(--space-2); color: var(--muted); font: var(--type-label-sm); }
.global-search-result {
  width: 100%; min-height: 58px; padding: var(--space-3) var(--space-4); display: grid;
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-5);
  color: var(--overlay-foreground); background: transparent; border: 0; border-radius: var(--radius-md);
  box-shadow: none; text-align: left;
}
.global-search-result > span:first-child { min-width: 0; display: grid; gap: 2px; }
.global-search-result strong { overflow: hidden; color: inherit; font: var(--type-label-md); text-overflow: ellipsis; white-space: nowrap; }
.global-search-result small { overflow: hidden; color: var(--muted); font: var(--type-body-sm); text-overflow: ellipsis; white-space: nowrap; }
.global-search-result:hover, .global-search-result.active { color: var(--foreground); background: var(--default-hover); }
.global-search-meta { color: var(--muted); font: var(--type-label-sm); white-space: nowrap; }
.global-search-empty { padding: var(--space-6); color: var(--muted); font: var(--type-body-md); text-align: center; }
.topbar-icon-button { width: 38px; justify-content: center; padding: 0; position: relative; }
.topbar-icon-button svg { width: 20px; height: 20px; }
.notification-dot { position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--plume-cyan); box-shadow: 0 0 0 2px var(--surface); }
.theme-toggle-icon { width: 20px; height: 20px; display: inline-grid; place-items: center; }
.theme-toggle-icon svg { width: 20px; height: 20px; }
#mobile-theme-toggle { gap: var(--space-4); }
.theme-toggle { margin-left: auto; }
#topbar-notifications { margin-left: 0; }
.mobile-plume-title, .mobile-shell-more, .mobile-context-bar { display: none; }
.lib-mobile-actions { display: none; }
.settings-mobile-back { display: none; }
.notification-panel {
  position: fixed; z-index: 50; top: calc(var(--topbar-h) + var(--space-4)); right: var(--space-7); width: min(390px, calc(100vw - 32px));
  max-height: calc(100vh - var(--topbar-h) - 32px); overflow: auto; background: var(--overlay); color: var(--overlay-foreground);
  border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow); padding: var(--space-6);
}
.notification-panel header { display: flex; align-items: flex-start; gap: var(--space-5); }
.notification-panel header > div { flex: 1; }
.notification-panel h2 { margin: 0; font: var(--type-panel-title); }
.notification-content { margin-top: var(--space-5); display: grid; gap: var(--space-4); }
.notification-item { display: grid; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.notification-item.notification-blocker { border-color: color-mix(in oklab, var(--danger) 38%, transparent); }
.notification-item strong { color: var(--foreground); font: var(--type-label); }
.notification-item p { margin: 0; color: var(--muted); font: var(--type-body-sm); }
.notification-action { justify-self: start; display: inline-flex; align-items: center; min-height: 34px; padding: 0 var(--space-5); border-radius: var(--radius-md); font: var(--type-button-sm); text-decoration: none; }
.toast { border-left-width: 1px; }
.toast-error { border-color: color-mix(in oklab, var(--danger) 38%, transparent); }
.toast-success { border-color: color-mix(in oklab, var(--success) 38%, transparent); }
.toast-warning { border-color: color-mix(in oklab, var(--warning) 38%, transparent); }
.toast-info { border-color: color-mix(in oklab, var(--accent) 38%, transparent); }
.empty-copy { margin: 0; padding: var(--space-7); border: 0; border-radius: var(--radius-lg); background: var(--surface-secondary); color: var(--muted); text-align: center; }

.app-main > .view { width: 100%; max-width: none; margin: 0; padding: var(--space-9) var(--space-9) var(--space-12); }
.screen-head { align-items: center; margin-bottom: var(--space-7); gap: var(--space-5); }
.screen-title, #today-greeting { margin: 0; color: var(--foreground); font: var(--type-screen-title); letter-spacing: var(--tracking-tight); }
.screen-sub { color: var(--muted); font: var(--type-body-md); }
.today-screen-head { align-items: flex-start; }
.today-mobile-logo, .today-mobile-salutation { display: none; }
.today-greeting-copy { min-width: 0; }
.today-date { margin-top: var(--space-4); }
.today-date { font-size: 0; }
.today-date::before { content: attr(data-desktop-date); font: var(--type-body-md); }
#today-greeting { font-size: 0; }
#today-greeting::before { content: attr(data-desktop-greeting); font: var(--type-screen-title); }
.pipe-interaction-hint, #view-library > .modal-hint { display: none; }
.micro-label { margin: var(--space-4) 0; color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.pub-title, .activity-head, .lb-you, .user-role { letter-spacing: normal; text-transform: none; }
.app-main :is(.micro-label, .today-next-label, .week-label, .digest-label, .shoot-head, .fail-label, .zero-label, .digest-sl, .digest-best-label, .settings-nav-heading, .planner-status, .planner-day-label, .ed-field-label, .ed-micro) {
  letter-spacing: normal;
  text-transform: none;
}
.modal-hint { color: var(--muted); font: var(--type-body-md); }
.spacer { flex: 1; }

/* ---------- Shared controls and feedback ---------- */
button { min-height: 36px; padding: 0 var(--space-6); border-radius: var(--radius-md); font: var(--type-button); }
button.primary {
  background: var(--gold-sweep); color: var(--white); border-color: transparent; box-shadow: var(--glow-gold);
}
button.primary:hover { filter: brightness(1.06); background: var(--gold-sweep); }
button.navy { background: var(--plume-navy-700); color: var(--white); border-color: transparent; }
button.navy:hover { background: var(--plume-navy-800); }
button.secondary, a.secondary, .button-link {
  background: var(--surface); color: var(--foreground); border: 1px solid var(--border); box-shadow: var(--field-shadow);
}
button.secondary:hover, a.secondary:hover, .button-link:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
button.danger { background: var(--danger); color: var(--danger-foreground); }
button:disabled { opacity: var(--disabled-opacity); cursor: not-allowed; }
input, select, textarea {
  color: var(--field-foreground); background: var(--field-background); border: var(--field-border-width) solid var(--field-border);
  border-radius: var(--radius-field); box-shadow: var(--field-shadow); min-height: 38px;
}
input:focus, select:focus, textarea:focus,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 0; outline-offset: 0; border-color: var(--field-border); box-shadow: var(--field-shadow);
}
#main-content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
#main-content select,
#main-content textarea {
  color: var(--field-foreground); background-color: var(--field-background); border-color: var(--field-border);
}
#main-content :is(input, textarea)::placeholder { color: var(--field-placeholder); opacity: 1; }
#main-content :is(label, .settings-row label, .guide-field > label, .edm-field > span) { color: var(--foreground); }
#main-content #global-search input,
#main-content #lib-image-search input,
#main-content #topbar-workspace select {
  margin: 0; color: inherit; background: transparent; border: 0; border-radius: 0; box-shadow: none; outline: 0;
}
#main-content #global-search input:focus,
#main-content #global-search input:focus-visible,
#main-content #lib-image-search input:focus,
#main-content #lib-image-search input:focus-visible,
#main-content #topbar-workspace select:focus,
#main-content #topbar-workspace select:focus-visible {
  background: transparent; border: 0; box-shadow: none; outline: 0;
}
select {
  height: 40px; padding: 0 36px 0 var(--space-4); color: var(--field-foreground); background-color: var(--field-background);
  border: var(--field-border-width) solid var(--field-border); border-radius: var(--radius-md); box-shadow: var(--field-shadow);
  font: var(--type-label-sm); line-height: 1; cursor: pointer;
}
.tabs, .lib-filters { gap: var(--space-3); }
.filter-segments { width: max-content; max-width: 100%; padding: 3px; display: inline-flex; gap: 3px; overflow-x: auto; color: var(--foreground); background: var(--surface-secondary); border: 0; border-radius: var(--radius-md); }
.filter-segments .lib-chip { flex: 0 0 auto; min-height: 34px; padding: 0 var(--space-4); color: var(--muted); background: transparent; border: 0; border-radius: var(--radius-sm); box-shadow: none; white-space: nowrap; }
.filter-segments .lib-chip:hover { color: var(--foreground); background: var(--default-hover); }
.filter-segments .lib-chip.active { color: var(--white); background: var(--plume-navy-700); border: 0; box-shadow: var(--surface-shadow); }
.tab, .lib-chip {
  min-height: 38px; padding: 0 var(--space-6); border-radius: var(--radius-md); background: var(--surface);
  border: 1px solid var(--border); color: var(--foreground); font: var(--type-label-sm);
}
.tab:hover, .lib-chip:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
.tab.active, .lib-chip.active { background: var(--plume-navy-700); border-color: var(--plume-navy-700); color: var(--white); }
.brand-tab.active { color: var(--foreground); background: color-mix(in oklab, var(--bc) 12%, var(--surface)); border-color: color-mix(in oklab, var(--bc) 38%, transparent); }
.brand-tab.active .brand-dot { background: var(--bc); }
.card, .stat-card, .digest-card, .stock-opportunities, .request-row, .settings-section, .edm-card {
  background: var(--surface); border-color: transparent; border-radius: var(--radius-xl); box-shadow: var(--surface-shadow);
}
.toast-region { right: var(--space-6); bottom: var(--space-6); gap: var(--space-4); }
.toast { min-width: 320px; max-width: 440px; padding: var(--space-6); gap: var(--space-5); border: 0; border-radius: var(--radius-lg); background: var(--overlay); box-shadow: var(--overlay-shadow); }
.toast-icon { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: var(--radius-md); color: var(--accent); background: var(--accent-soft); }
.toast-icon svg { width: 17px; height: 17px; }
.toast-error .toast-icon { color: var(--danger); background: var(--danger-soft); }
.toast-success .toast-icon { color: var(--success); background: var(--success-soft); }
.toast-warning .toast-icon { color: var(--warning); background: var(--warning-soft); }
.toast-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
.toast-title { color: var(--overlay-foreground); font: var(--type-label); }
.toast-message { color: var(--muted); font: var(--type-body); }
.modal-overlay { background: var(--backdrop); backdrop-filter: blur(4px); }
.modal { padding: var(--space-8); color: var(--overlay-foreground); background: var(--overlay); border: 0; border-radius: var(--radius-lg); box-shadow: var(--overlay-shadow); }
.modal h2 { margin: 0 0 var(--space-4); color: var(--overlay-foreground); font: var(--type-panel-title); }
.modal .modal-hint { margin-bottom: var(--space-6); color: var(--muted); font: var(--type-body-md); }
.modal-actions { gap: var(--space-4); margin-top: var(--space-8); }
.choice-modal { width: min(92vw, 520px); }
.choice-actions { display: grid; gap: var(--space-4); }
.choice-action { width: 100%; min-height: 76px; padding: var(--space-5) var(--space-6); display: grid; justify-items: start; gap: var(--space-2); text-align: left; color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.choice-action:hover, .choice-action:focus-visible { background: var(--surface-hover); border-color: var(--plume-cyan); box-shadow: var(--surface-shadow-raised), var(--ring-selected); }
.choice-action strong { font: var(--type-label); }
.choice-action small { color: var(--muted); font: var(--type-body-sm); }
.choice-cancel { margin-top: var(--space-5); }
.form-field { color: var(--muted); font: var(--type-label-sm); }
.pipe-menu, .cal-menu, .lib-tile-menu { padding: 6px; color: var(--overlay-foreground); background: var(--overlay); border: 0; border-radius: var(--radius-md); box-shadow: var(--overlay-shadow); }
.pipe-menu-item, .cal-menu-item, .lib-tile-menu-item { min-height: 38px; padding: 8px 10px; color: var(--overlay-foreground); background: transparent; border: 0; border-radius: var(--radius-md); font: var(--type-body-md); }
.pipe-menu-item:hover, .cal-menu-item:hover, .lib-tile-menu-item:hover { color: var(--overlay-foreground); background: var(--default); }
.pipe-menu-item.danger-link, .cal-menu-item.danger-link, .lib-tile-menu-item.danger-link { color: var(--danger-soft-foreground); }
.readiness-notice { display: none !important; }
.readiness-mark { background: var(--warning); color: var(--warning-foreground); }

.request-empty, .lib-empty, .edm-section-empty {
  min-height: 132px; display: grid; place-content: center; justify-items: center; gap: var(--space-3);
  padding: var(--space-8); border: 0; border-radius: var(--radius-lg); background: var(--surface-secondary); color: var(--muted); text-align: center;
}
.stock-opportunities .bs-empty, .stock-opportunities-state, .today-inline-empty { color: var(--muted) !important; background: var(--surface-secondary) !important; border-color: var(--border) !important; }
.request-empty strong, .lib-empty strong, .edm-section-empty strong { color: var(--foreground); font: var(--type-label); }
.request-empty span, .lib-empty span, .edm-section-empty span { max-width: 52ch; font: var(--type-body-sm); }

/* ---------- Today ---------- */
#view-today { display: block; }
.today-next-action {
  min-height: 216px; margin: var(--space-7) 0; padding: var(--space-9); border: 1px solid var(--separator); border-radius: var(--radius-3xl);
  background: var(--surface); box-shadow: var(--surface-shadow);
  min-width: 0; overflow: hidden; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-7);
}
.today-next-action.is-danger { border-color: color-mix(in oklab, var(--danger) 38%, transparent); }
.today-next-action.is-warning { border-color: color-mix(in oklab, var(--warning) 38%, transparent); }
.today-next-action.has-inline-alerts { grid-template-columns: minmax(0, 1fr); align-items: start; }
.today-priority-grid { margin-top: var(--space-7); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: var(--space-6); align-items: start; }
.today-action-stack { min-width: 0; display: grid; gap: var(--space-4); align-content: start; }
.today-priority-grid .today-next-action, .today-priority-grid .today-health { margin-top: 0; }
.today-next-action::after { content: ""; position: absolute; width: 460px; height: 180px; right: -90px; top: 20px; border-radius: 50%; background: radial-gradient(ellipse, color-mix(in oklab, var(--plume-cyan) 13%, transparent), transparent 68%); pointer-events: none; }
.today-next-copy { position: relative; z-index: 1; max-width: 550px; display: grid; gap: var(--space-3); }
.today-next-label { color: var(--highlight-soft-foreground); font: var(--type-label); letter-spacing: normal; }
.today-next-copy strong { font: var(--type-section-title); color: var(--foreground); }
.today-next-action > button { position: relative; z-index: 2; grid-column: 1; justify-self: start; }
.today-inline-alerts { position: relative; z-index: 2; grid-column: 1 / -1; min-width: 0; display: grid; gap: var(--space-3); }
.today-inline-alerts.hidden { display: none; }
.today-inline-alerts .fail-row { min-width: 0; margin: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: start; background: var(--surface-secondary); border: 1px solid color-mix(in oklab, var(--danger) 38%, transparent); box-shadow: none; }
.today-inline-reach .fail-row { border-color: color-mix(in oklab, var(--warning) 42%, transparent); }
.today-inline-alerts .fail-info { min-width: 0; overflow: hidden; }
.today-inline-alerts .fail-why { overflow-wrap: anywhere; }
.today-inline-alerts .fail-actions { grid-column: 2; width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.today-inline-alerts .fail-actions button { width: 100%; min-width: 0; padding-inline: var(--space-3); white-space: normal; }
.today-failures-error { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-5) var(--space-6); color: var(--danger-soft-foreground); background: var(--danger-soft); border: 1px solid color-mix(in oklab, var(--danger) 36%, transparent); border-radius: var(--radius-lg); font: var(--type-body-sm); }
.today-failures-error.is-warning { color: var(--warning-soft-foreground); background: var(--warning-soft); border-color: color-mix(in oklab, var(--warning) 42%, transparent); }
.today-next-previews { position: relative; z-index: 1; grid-column: 2; grid-row: 1 / span 2; width: 176px; height: 138px; display: block; }
.today-next-preview { position: absolute; right: calc(var(--preview-index) * 54px); top: calc(var(--preview-index) * 9px); width: 92px; height: 122px; border: 4px solid var(--surface); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow-raised); transform: rotate(calc((var(--preview-index) * 8deg) - 4deg)); }
.today-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.today-stat-card { min-height: 190px; padding: var(--space-7); display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.today-stat-head { display: flex; align-items: baseline; gap: var(--space-4); }
.stat-n { color: var(--foreground) !important; font: var(--type-metric); font-variant-numeric: tabular-nums; }
.stat-label { color: var(--foreground); font: var(--type-card-title); }
.today-stat-context { min-height: 42px; margin: 0; color: var(--muted); font: var(--type-body-sm); }
.today-stat-breakdown { min-height: 25px; display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.today-stat-breakdown > span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--type-micro); }
.today-stat-breakdown i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--bc); }
.today-stat-breakdown strong { color: var(--foreground); font: var(--type-numeric); }
.today-stat-breakdown .is-clear { color: var(--success-soft-foreground); }
.today-stat-link { align-self: flex-start; margin-top: auto; padding: 0; color: var(--plume-blue); font: var(--type-label-sm); background: transparent; border: 0; box-shadow: none; }
.today-week { padding: var(--space-7); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.today-week-head { display: flex; align-items: center; gap: var(--space-5); margin-bottom: var(--space-6); }
.today-week-head > div { display: grid; gap: var(--space-2); }
.today-week-head strong { color: var(--foreground); font: var(--type-panel-title); }
.today-week-all { margin-left: auto; }
.today-upcoming-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-5); }
.today-upcoming-card { min-width: 0; padding: 0; display: grid; grid-template-rows: auto auto; align-content: start; overflow: hidden; text-align: left; background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.today-upcoming-media { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 0; }
.today-upcoming-time { position: absolute; right: var(--space-3); bottom: var(--space-3); z-index: 2; padding: 4px 7px; display: grid; gap: 1px; color: var(--white); background: rgb(4 18 46 / .78); border-radius: var(--radius-md); font: var(--type-micro); line-height: 1.15; text-align: right; }
.today-upcoming-time strong { color: inherit; font: inherit; font-weight: 700; }
.today-upcoming-platform { position: absolute; left: var(--space-4); bottom: var(--space-4); z-index: 2; width: 26px; height: 26px; padding: 0; object-fit: contain; background: transparent; border-radius: 0; filter: drop-shadow(0 1px 3px rgb(4 18 46 / .85)); }
.today-upcoming-caption { display: block; min-height: 58px; padding: var(--space-4); overflow: visible; color: var(--foreground); font: var(--type-body); overflow-wrap: anywhere; }
.tf-fallback-notice { position: absolute; z-index: 3; top: var(--space-3); left: var(--space-3); max-width: calc(100% - (2 * var(--space-3))); padding: 2px var(--space-3); overflow: hidden; color: var(--white); background: rgb(4 18 46 / .78); border-radius: var(--radius-sm); font: var(--type-micro); text-overflow: ellipsis; white-space: nowrap; }
.publishing-media-frame { background: var(--plume-navy-950); }
.publishing-media-frame .tf-bg { display: none; }
.publishing-media-frame .tf-img { object-fit: contain; }
.publishing-media-open { position: absolute; z-index: 2; inset: 0; width: 100%; min-height: 0; padding: 0; background: transparent; border: 0; border-radius: inherit; box-shadow: none; cursor: zoom-in; }
.publishing-media-open:hover { background: rgb(255 255 255 / .035); }
.publishing-media-open:focus-visible { outline: 2px solid var(--plume-cyan); outline-offset: -3px; }
.publishing-media-badge { position: absolute; z-index: 3; left: var(--space-3); bottom: var(--space-3); min-height: 24px; padding: 3px 7px; display: inline-flex; align-items: center; gap: 5px; color: var(--white); background: rgb(3 15 43 / .82); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--radius-sm); box-shadow: 0 2px 8px rgb(0 0 0 / .32); font: var(--type-micro); pointer-events: none; }
.publishing-media-badge .platform-mark { width: 15px; height: 15px; object-fit: contain; }
.publishing-media-ratio { line-height: 1; }
.publishing-media-modal { width: min(92vw, 780px); }
.publishing-media-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-6); }
.publishing-media-modal-head > div { min-width: 0; display: grid; gap: var(--space-2); }
.publishing-media-modal-head h2 { margin: 0; color: var(--overlay-foreground); font: var(--type-panel-title); }
.publishing-media-modal-head span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); font: var(--type-body-sm); }
.publishing-media-modal-head .platform-mark { width: 18px; height: 18px; }
.publishing-media-modal-stage { width: auto; max-width: 100%; height: min(68vh, 720px); margin: var(--space-6) auto 0; aspect-ratio: var(--publishing-aspect); display: grid; place-items: center; overflow: hidden; background: var(--plume-navy-950); border: 1px solid var(--border); border-radius: var(--radius-xl); }
.publishing-media-modal-stage :is(.publishing-media-modal-frame, video) { width: 100%; height: 100%; display: block; background: var(--plume-navy-950); }
.publishing-media-modal-stage video { object-fit: contain; }
.cal-entry.cal-entry-focused { border-color: var(--plume-cyan); box-shadow: 0 0 0 2px color-mix(in oklab, var(--plume-cyan) 42%, transparent), var(--surface-shadow); }
.today-week-chart-label { margin-top: var(--space-7); }
.today-week .week-bars { min-height: 92px; gap: var(--space-3); }
.today-week .week-day { min-width: 0; color: var(--foreground); }
.today-week .wd-n { color: var(--foreground); font: var(--type-numeric); }
.today-week .wd-label { color: var(--muted); font: var(--type-label-sm); }
.today-week .wd-bar { width: min(70%, 64px); min-height: 4px; background: var(--separator-secondary); border-radius: var(--radius-sm) var(--radius-sm) 2px 2px; }
.today-week .wd-bar.is-active { background: var(--ramp-3); box-shadow: 0 3px 12px color-mix(in oklab, var(--ramp-3) 24%, transparent); }
.today-week .wd-bar.is-empty { background: var(--separator-secondary); }
.today-health { min-width: 0; margin-top: var(--space-7); padding: var(--space-7); display: grid; align-content: start; gap: var(--space-5); overflow: hidden; background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.today-health-head, .today-health-metric, .today-health-legend { display: flex; align-items: center; gap: var(--space-5); }
.today-health-head, .today-health-metric, .today-health-legend { flex-wrap: wrap; }
.today-health-head > div { flex: 1; display: grid; gap: var(--space-2); }
.today-health h3 { margin: 0; color: var(--foreground); font: var(--type-panel-title); }
.today-health-range, .today-health-state { padding: 5px 11px; color: var(--muted); background: var(--surface-secondary); border-radius: var(--radius-pill); font: var(--type-body); }
.today-health-metric > span:first-child { flex: 1; display: flex; align-items: baseline; gap: var(--space-5); }
.today-health-metric small { color: var(--muted); font: var(--type-body-md); }
.today-health-metric strong { color: var(--foreground); font: var(--type-metric-sm); }
.today-health-track { height: 10px; overflow: hidden; background: var(--surface-secondary); border-radius: var(--radius-pill); }
.today-health-track i { display: block; height: 100%; background: var(--cyan-sweep); border-radius: inherit; box-shadow: var(--glow-cyan); }
.today-health-legend { justify-content: space-between; color: var(--muted); font: var(--type-body); }
.today-health-coverage:not(.hidden) { margin-top: var(--space-5); padding-top: var(--space-5); display: block; border-top: 1px solid var(--separator); }
.today-health-coverage .coverage-summary { width: 100%; min-height: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); color: var(--foreground); background: transparent; border: 0; border-radius: 0; box-shadow: none; text-align: left; }
.today-health-coverage .coverage-summary > .coverage-main { min-width: 0; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: var(--space-4); }
.today-health-coverage .coverage-icon { width: 36px; height: 36px; display: grid; place-items: center; color: var(--plume-blue); background: var(--highlight-soft); border-radius: var(--radius-md); }
.today-health-coverage .coverage-icon svg { width: 19px; height: 19px; }
.today-health-coverage .coverage-copy { min-width: 0; display: grid; gap: var(--space-2); }
.today-health-coverage .coverage-copy strong { color: var(--foreground); font: var(--type-label-md); }
.today-health-coverage .coverage-breakdown { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.today-health-coverage .coverage-chip { padding: 0; display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); background: transparent; border: 0; border-radius: 0; font: var(--type-micro); }
.today-health-coverage .coverage-chip::before { content: ""; width: 7px; height: 7px; flex: 0 0 auto; background: var(--bc); border-radius: 50%; }
.today-health-coverage .coverage-cta { color: var(--plume-blue); font: var(--type-label-sm); white-space: nowrap; }
.today-dashboard-cards { margin-top: var(--space-7); display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: var(--space-6); align-items: start; }
.today-dashboard-card { min-width: 0; padding: var(--space-7); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.today-stats + .today-recent { margin-top: var(--space-6); }
.today-dashboard-card h3 { margin: 0; color: var(--foreground); font: var(--type-panel-title); }
.today-dashboard-card :is(.recent-head, .today-dashboard-card-head) p { margin: var(--space-2) 0 0; color: var(--muted); font: var(--type-body-sm); }
.queue-summary-row, .coverage-summary, .fail-row, .shoot-row { background: var(--surface); border-color: transparent; border-radius: var(--radius-lg); box-shadow: var(--surface-shadow); }
.onboarding-panel { padding: var(--space-7); color: var(--foreground); background: var(--highlight-soft); border: 0; border-radius: var(--radius-xl); }
.onboarding-head { gap: var(--space-5); }
.onboarding-head > div { gap: var(--space-2); font: var(--type-label); }
.onboarding-head span { color: var(--muted); font: var(--type-body-sm); }
.onboarding-step { min-height: 44px; gap: var(--space-4); padding: var(--space-4); color: var(--foreground); background: var(--surface); border: 0; border-radius: var(--radius-lg); font: var(--type-label-sm); }
.onboarding-check { border-color: var(--border-secondary); }
.week-label, .digest-label, .shoot-head, .fail-label, .zero-label { color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.recent-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-5); }
.recent-ranges { display: flex; gap: var(--space-2); flex-wrap: wrap; justify-content: flex-end; }
.recent-list { margin-top: var(--space-6); display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-3); border: 0; }
.recent-row { min-height: 72px; padding: var(--space-3); display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); color: var(--foreground); background: var(--surface-secondary); border: 1px solid transparent; border-radius: var(--radius-lg); text-align: left; }
.recent-row:hover { background: var(--default-hover); }
.recent-thumb { width: 56px; height: 56px; border-radius: var(--radius-md); }
.recent-info { min-width: 0; display: grid; gap: var(--space-2); }
.recent-info small { display: flex; align-items: center; gap: var(--space-2); }
.recent-info small i { width: 7px; height: 7px; border-radius: 50%; background: var(--bc); }
.recent-row strong { color: var(--foreground); font: var(--type-label-sm); }
.recent-row small, .recent-row time { color: var(--muted); font: var(--type-micro); }
.today-dashboard-card-head { margin-bottom: var(--space-6); }
.digest-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-5); }
.digest-card { min-width: 260px; padding: var(--space-6); border: 0; border-radius: var(--radius-xl); }
.digest-head { color: var(--foreground); font: var(--type-label); }
.digest-stats { gap: var(--space-7); margin: var(--space-5) 0; }
.digest-n { color: var(--foreground); font: var(--type-card-title); }
.digest-sl, .digest-best-label { color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.digest-best { gap: var(--space-4); padding: var(--space-4); color: var(--foreground); background: var(--surface-secondary); border-color: transparent; border-radius: var(--radius-lg); }
.digest-best-cap { color: var(--foreground); font: var(--type-label-sm); }
.digest-best-reach { color: var(--plume-blue); font: var(--type-label-sm); }
.coverage-summary, .fail-row, .shoot-row { min-height: 68px; padding: var(--space-5) var(--space-6); }
.coverage-chip { color: var(--muted); font: var(--type-body-sm); }
.coverage-cta { color: var(--plume-blue); font: var(--type-label-sm); }
.fail-title, .shoot-title { color: var(--foreground); font: var(--type-label-sm); }
.fail-why { color: var(--danger-soft-foreground); font: var(--type-body-sm); }

/* ---------- Pipeline ---------- */
.pipe-board { max-width: 100%; gap: var(--space-5); align-items: stretch; overflow-x: auto; overscroll-behavior-inline: contain; }
#view-pipeline { overflow: visible; }
.pipe-sticky-controls { position: sticky; z-index: 22; top: var(--topbar-h); margin: calc(-1 * var(--space-9)) calc(-1 * var(--space-9)) var(--space-5); padding: var(--space-9) var(--space-9) var(--space-4); background: color-mix(in oklab, var(--background) 96%, transparent); border-bottom: 1px solid var(--separator); backdrop-filter: blur(16px); }
.pipe-sticky-controls .screen-head { margin-bottom: var(--space-5); }
.pipe-stage-picker { display: inline-flex; margin: 0; }
.pipe-stage-filtered-out { display: none; }
.pipe-sort-control { position: relative; }
.pipe-col { min-width: 250px; padding: var(--space-5); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.pipe-colhead { padding: var(--space-3) var(--space-3) var(--space-5); color: var(--foreground); font: var(--type-label); }
.pipe-count { margin-left: auto; min-width: 26px; padding: 3px 9px; border-radius: var(--radius-pill); background: var(--surface-secondary); color: var(--muted); font: var(--type-micro); text-align: center; }
.pipe-card { padding: var(--space-5); gap: var(--space-5); border: 1px solid var(--separator); border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--surface-shadow); overflow: hidden; position: relative; }
.pipe-card:hover, .pipe-card:focus-visible { border-color: color-mix(in oklab, var(--plume-cyan) 55%, transparent); box-shadow: var(--surface-shadow-raised), var(--ring-selected); }
.pipe-card.dragging { opacity: .45; }
.pipe-cardbody { padding: var(--space-5); }
.pipe-cardbody[role="button"] { cursor: pointer; border-radius: var(--radius-md); }
.pipe-cardbody[role="button"]:focus-visible { outline: 2px solid var(--plume-cyan); outline-offset: 3px; }
.pipe-brand { color: var(--muted); font: var(--type-micro); }
.pipe-title { color: var(--foreground); font: var(--type-label); }
.pipe-sub { color: var(--muted); font: var(--type-body); }
.pipe-card-preview { cursor: pointer; }
.pipe-publishing-variants { position: absolute; z-index: 4; right: var(--space-3); bottom: var(--space-3); display: flex; gap: var(--space-2); }
.pipe-publishing-variant { width: auto; min-width: 0; min-height: 26px; padding: 3px 7px; display: inline-flex; align-items: center; gap: 5px; color: var(--white); background: rgb(3 15 43 / .82); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--radius-sm); box-shadow: 0 2px 8px rgb(0 0 0 / .32); font: var(--type-micro); }
.pipe-publishing-variant:hover { background: rgb(16 38 78 / .96); }
.pipe-publishing-variant:focus-visible { outline: 2px solid var(--plume-cyan); outline-offset: 2px; }
.pipe-publishing-variant .platform-mark { width: 15px; height: 15px; object-fit: contain; }
.pipe-media:has(.pipe-publishing-variants) .publishing-media-badge { display: none; }
.pipe-card-actions { position: absolute; right: var(--space-3); top: var(--space-3); z-index: 4; gap: var(--space-3); padding: 0; }
.pipe-card-actions .pipe-move { width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; color: var(--white); background: rgb(3 15 43 / .72); border: 1px solid rgb(255 255 255 / .16); border-radius: var(--radius-pill); font: var(--type-micro); letter-spacing: 1px; }
.pipe-actions-mobile { display: none; }
.pipe-open, .pipe-move { flex: 1; min-height: 32px; }
.pipe-menu { position: fixed; z-index: 86; width: 190px; max-width: calc(100vw - 24px); display: grid; gap: 2px; }
.pipe-menu, .cal-menu, .lib-tile-menu { border: 0; border-radius: var(--radius-xl); background: var(--overlay); box-shadow: var(--overlay-shadow); padding: var(--space-3); }
.pipe-menu-item, .cal-menu-item, .lib-tile-menu-item { min-height: 40px; border-radius: var(--radius-md); color: var(--overlay-foreground); }
.pipe-menu-item:hover, .cal-menu-item:hover, .lib-tile-menu-item:hover { background: var(--default-hover); }

@media (min-width: 901px) {
  .pipe-col { min-width: 310px; }
  .pipe-board.pipe-board-filtered { display: block; overflow: visible; }
  .pipe-board.pipe-board-filtered .pipe-col:not(.pipe-stage-filtered-out) { min-width: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-5); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .pipe-board.pipe-board-filtered .pipe-colhead { grid-column: 1 / -1; margin: 0; padding: 0 0 var(--space-2); }
  .pipe-board.pipe-board-filtered .pipe-empty { grid-column: 1 / -1; }
  .pipe-board.pipe-board-filtered .pipe-card { min-width: 0; margin: 0; }
  .pipe-card { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 220px auto; align-items: stretch; }
  .pipe-card-preview { display: contents; }
  .pipe-media { grid-column: 1; grid-row: 1; width: 100%; height: 220px; min-height: 0; border-radius: var(--radius-lg); }
  .pipe-cardbody { grid-column: 1; grid-row: 2; padding: 0; }
  .pipe-card-actions { grid-column: auto; grid-row: auto; }
  #view-planner > .plan-switcher, #view-planner > .modal-hint { display: none; }
  #planner-body { min-width: 0; max-width: 100%; }
  .planner-week-grid { width: 100%; min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(7, minmax(170px, 1fr)); gap: var(--space-4); overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: var(--space-4); }
  .planner-week-grid .planner-day { min-width: 0; margin: 0; padding: var(--space-4); overflow: hidden; background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
  .planner-week-grid .planner-day-label { color: var(--foreground); font: var(--type-section); text-align: center; }
  .planner-week-grid .planner-cards { min-width: 0; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .planner-week-grid .planner-card { min-width: 0; max-width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); padding: var(--space-4); overflow: hidden; }
  .planner-week-grid .planner-thumb, .planner-week-grid .planner-gap { width: 100%; height: auto; aspect-ratio: 4 / 5; }
  .planner-week-grid .planner-info { min-width: 0; overflow: hidden; }
  .planner-week-grid .planner-meta { min-width: 0; flex-wrap: wrap; overflow-wrap: anywhere; }
  .planner-week-grid .planner-title { white-space: normal; overflow-wrap: anywhere; }
  .planner-week-grid .planner-angle, .planner-week-grid .planner-ready { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  .planner-week-grid .planner-card-acts { width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-week-grid .planner-card-acts button { width: 100%; min-width: 0; padding-inline: var(--space-2); white-space: normal; }
  .stock-opportunities { margin-top: var(--space-9); }
}

/* ---------- Calendar ---------- */
.cal-toolbar { padding: var(--space-5) 0; border: 0; }
.cal-note.plan-empty { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-5) var(--space-6); background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-lg); }
.cal-note.plan-empty .plan-state-actions { align-items: center; }
.cal-note.plan-empty .plan-state-actions > * { width: auto; min-width: 0; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--space-5); white-space: nowrap; }
.cal-open-planner { font: var(--type-button-sm); }
#cal-coverage { min-height: 0; margin: 0 0 var(--space-6); padding: var(--space-5) var(--space-6); display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: var(--space-5); overflow: visible; contain: none; color: var(--foreground); background: var(--highlight-soft); border: 1px solid color-mix(in oklab, var(--plume-cyan) 24%, transparent); border-radius: var(--radius-xl); }
#cal-coverage.cal-coverage-empty { display: none; visibility: visible; }
.cal-planning-tip-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--highlight-soft-foreground); background: color-mix(in oklab, var(--plume-cyan) 15%, transparent); border-radius: var(--radius-md); }
.cal-planning-tip-icon svg { width: 19px; height: 19px; }
.cal-planning-tip-copy { min-width: 0; display: grid; gap: var(--space-2); }
.cal-planning-tip-copy strong { color: var(--foreground); font: var(--type-label); }
.cal-planning-tip-copy > span { color: var(--muted); font: var(--type-body-sm); }
.cal-planning-tip-action,
.cal-planning-tip-action:visited { min-height: 38px; padding: 0; display: inline-flex; align-items: center; color: var(--white); background: transparent; border: 0; box-shadow: none; font: var(--type-label-sm); text-decoration: none; white-space: nowrap; }
.cal-planning-tip-action:hover { color: var(--white); background: transparent; border-color: transparent; text-decoration: none; }
.cal-planning-tip-action:focus-visible { outline: 2px solid var(--white); outline-offset: 3px; }
.cal-toolbar-actions { position: relative; height: 38px; display: inline-flex; align-items: center; }
#cal-new-content { height: 38px; min-height: 38px; }
.cal-toolbar-actions > summary {
  width: 38px; height: 38px; min-height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
  color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--field-shadow);
  box-sizing: border-box; list-style: none; cursor: pointer; font: var(--type-button-sm); line-height: 1; letter-spacing: 1px;
}
.cal-toolbar-actions > summary:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
.cal-toolbar-actions > summary::-webkit-details-marker { display: none; }
.cal-toolbar-actions-menu { position: absolute; z-index: 32; right: 0; top: calc(100% + var(--space-3)); width: 190px; display: grid; gap: var(--space-2); padding: var(--space-3); background: var(--overlay); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--overlay-shadow); }
.cal-toolbar-actions-menu button { width: 100%; min-height: 40px; padding: 8px 10px; justify-content: flex-start; color: var(--overlay-foreground); background: transparent; border: 0; box-shadow: none; text-align: left; }
.cal-toolbar-actions-menu button:hover { background: var(--default-hover); }
.seg { padding: 3px; background: var(--surface-secondary); border: 0; border-radius: var(--radius-md); }
.seg-btn { border: 0; color: var(--muted); }
.seg-btn.active { background: var(--plume-navy-700); color: var(--white); box-shadow: var(--surface-shadow); }
.cal-range { font: var(--type-panel-title); color: var(--foreground); }
.cal-weekband, .cal-month { border: 0; background: transparent; }
.cal-col, .cal-mday { background: var(--surface); border-color: var(--separator); }
.cal-col { min-height: 400px; border-radius: var(--radius-lg); box-shadow: var(--surface-shadow); overflow: hidden; }
.cal-col.today, .cal-mday.today { box-shadow: var(--surface-shadow), var(--ring-selected); }
.cal-colhead, .cal-mhead { color: var(--foreground); }
.cal-entry, .cal-mchip {
  border: 1px solid var(--separator); border-radius: var(--radius-md); background: var(--surface);
  box-shadow: var(--surface-shadow); color: var(--foreground);
}
.cal-entry:hover, .cal-mchip:hover { box-shadow: var(--surface-shadow-raised); }
.cal-entry.published, .cal-mchip.published, .cal-dayrow.published { opacity: 1; background: var(--surface-secondary); }
.cal-entry-details, .cal-dayrow-info { width: 100%; min-width: 0; padding: 0; color: inherit; background: transparent; border: 0; box-shadow: none; text-align: left; }
.cal-entry-details { display: grid; gap: 0; }
.cal-entry-details:hover, .cal-dayrow-info:hover { background: transparent; }
.cal-entry-details:focus-visible, .cal-dayrow-info:focus-visible { outline: 2px solid var(--plume-cyan); outline-offset: 2px; }
.cal-title { font: var(--type-body); }
.cal-meta { color: var(--muted); font: var(--type-micro); }
.cal-meta .platform-mark { width: 15px; height: 15px; }
.cal-posted, .cal-pin, .cal-reach { display: inline-flex; align-items: center; gap: 5px; width: fit-content; min-height: 22px; margin-top: var(--space-2); padding: 2px var(--space-3); color: var(--white); background: var(--plume-navy-900); border: 1px solid var(--border-secondary); border-radius: var(--radius-md); box-shadow: 0 2px 8px rgb(0 0 0 / .28); font: var(--type-micro); }
.cal-posted svg, .cal-pin svg, .cal-reach svg { width: 13px; height: 13px; flex: 0 0 auto; }
.cal-posted svg { color: var(--success); }
.cal-pin svg { color: var(--plume-cyan-light); }
.cal-reach svg { color: var(--plume-gold); }
.cal-mchip-state { position: absolute; z-index: 3; right: 3px; bottom: 3px; width: 20px; min-height: 20px; margin: 0; padding: 3px; border-radius: var(--radius-sm); }
.cal-mchip-state svg { width: 12px; height: 12px; }
.cal-plan-nudge { border-color: var(--border); color: var(--muted); border-radius: var(--radius-md); }
.cal-plan-nudge:hover { color: var(--plume-blue); background: var(--highlight-soft); border-color: var(--highlight); }
.cal-mgrid { border-color: var(--separator); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--surface-shadow); }
.cal-mday.outside { opacity: .38; background: var(--surface-secondary); }
@media (min-width: 901px) {
  .cal-mgrid { grid-template-rows: auto repeat(6, clamp(96px, calc(16.6667dvh - 41.667px), 132px)); }
  .cal-mday { min-height: 0; height: auto; padding: var(--space-4); }
  .cal-mposts { flex: 1 1 auto; min-height: 0; margin-top: var(--space-2); display: grid; gap: var(--space-2); }
  .cal-mposts-1 { grid-template-columns: minmax(0, 1fr); }
  .cal-mposts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cal-mposts-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cal-mchip { position: relative; display: grid; width: 100%; min-width: 0; height: 100%; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: var(--radius-sm); }
  .cal-mday.has-overflow .cal-mposts { min-height: 0; }
  .cal-mday.has-overflow .cal-more { flex: 0 0 auto; min-height: 18px; margin-top: 2px; }
  .cal-mthumb, .cal-mthumb img { width: 100%; height: 100%; object-fit: contain; }
  .cal-mthumb .publishing-media-badge { left: 2px; bottom: 2px; min-height: 18px; padding: 2px; }
  .cal-mthumb .publishing-media-ratio { display: none; }
  .cal-mchip .cal-dot { position: absolute; z-index: 2; left: 4px; bottom: 4px; width: 7px; height: 7px; border: 1px solid var(--surface); border-radius: 50%; }
}

/* ---------- Library ---------- */
.lib-drop-zone { width: 100%; min-height: 116px; margin: var(--space-6) 0; padding: var(--space-9); display: flex; align-items: center; justify-content: center; gap: var(--space-7); text-align: left; color: var(--foreground); background: var(--surface); border: 1px dashed var(--border-secondary); border-radius: var(--radius-2xl); box-shadow: none; }
.lib-drop-zone:hover, #view-library.lib-dragging .lib-drop-zone { color: var(--foreground); background: var(--highlight-soft); border-color: var(--plume-cyan); }
.lib-drop-icon { width: 62px; height: 62px; flex: 0 0 auto; display: grid; place-items: center; color: var(--plume-blue); background: var(--highlight-soft); border-radius: var(--radius-pill); }
.lib-drop-icon svg { width: 26px; height: 26px; }
.lib-drop-zone > span:last-child { display: grid; gap: 3px; }
.lib-drop-zone strong { font: var(--type-card-title); }
.lib-drop-zone strong span { color: var(--plume-blue); }
.lib-drop-zone small { color: var(--muted); font: var(--type-body-md); }
.workspace-duplicate { display: none !important; }
.workspace-native-select { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0 !important; box-shadow: none !important; pointer-events: none; }
.workspace-menu { position: relative; min-width: 0; }
.workspace-menu > summary { min-height: 36px; min-width: 138px; padding: 0 var(--space-2); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); color: var(--foreground); background: transparent; border: 0; border-radius: var(--radius-sm); box-shadow: none; list-style: none; cursor: pointer; font: var(--type-label-sm); }
.workspace-menu > summary::-webkit-details-marker { display: none; }
.workspace-menu > summary:hover, .workspace-menu > summary:focus-visible { color: var(--foreground); background: var(--default-hover); }
.workspace-menu-popover { position: absolute; z-index: 70; top: calc(100% + var(--space-3)); left: calc(-1 * (17px + var(--space-4))); width: 240px; max-height: min(420px, calc(100vh - var(--topbar-h) - var(--space-8))); overflow-y: auto; padding: var(--space-3); display: grid; gap: 2px; color: var(--overlay-foreground); background: var(--overlay); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow); }
.workspace-menu-popover button { width: 100%; min-height: 40px; padding: 8px 10px; justify-content: flex-start; color: var(--overlay-foreground); background: transparent; border: 0; border-radius: var(--radius-md); box-shadow: none; text-align: left; font: var(--type-body-md); }
.workspace-menu-popover button:hover, .workspace-menu-popover button:focus-visible { color: var(--overlay-foreground); background: var(--default-hover); }
.workspace-menu-popover button[aria-checked="true"] { color: var(--highlight-soft-foreground); background: var(--highlight-soft); }
details.popover-control, details.popover-control + details.popover-control { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
details.popover-control > summary[aria-label^="More"] { width: 38px; min-height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--foreground); background: transparent; border: 0; border-radius: var(--radius-md); box-shadow: none; list-style: none; cursor: pointer; letter-spacing: 1px; }
details.popover-control > summary[aria-label^="More"]:hover { background: var(--default-hover); border-color: transparent; }
.lib-collection-menu { position: relative; }
.lib-collection-menu > summary { list-style: none; display: inline-flex; align-items: center; min-height: var(--control-md); cursor: pointer; }
.lib-collection-menu > summary { width: 38px; justify-content: center; padding: 0; letter-spacing: 1px; }
.lib-collection-menu > summary::-webkit-details-marker { display: none; }
.lib-collection-menu-popover { position: absolute; z-index: 30; top: calc(100% + var(--space-3)); right: 0; width: 240px; padding: var(--space-3); display: grid; gap: 2px; background: var(--overlay); border-radius: var(--radius-lg); box-shadow: var(--overlay-shadow); }
.lib-collection-menu-popover button { width: 100%; min-height: 40px; padding: 8px 10px; justify-content: flex-start; color: var(--overlay-foreground); background: transparent; border: 0; box-shadow: none; text-align: left; }
.lib-collection-menu-popover button:hover { background: var(--default-hover); }
.mobile-workspace-field { display: none; }
.lib-search-tools { padding: var(--space-5); background: var(--surface); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.lib-result-tools { min-height: 40px; margin: calc(var(--space-2) * -1) 0 var(--space-4); }
.lib-result-tools > span { color: var(--muted); font: var(--type-body-sm); }
.lib-result-tools button { min-height: 36px; }
.lib-publication-filter { padding: 3px; background: var(--surface-secondary); border-radius: var(--radius-md); }
.lib-publication-filter button { min-height: 32px; padding: 0 var(--space-3); color: var(--muted); background: transparent; border: 0; border-radius: var(--radius-sm); box-shadow: none; font: var(--type-label-sm); }
.lib-publication-filter button:hover { color: var(--foreground); background: var(--default-hover); }
.lib-publication-filter button[aria-pressed="true"] { color: var(--white); background: var(--plume-navy-700); }
.lib-view-toggle { display: inline-flex; gap: 3px; padding: 4px; background: var(--default); border-radius: var(--radius-md); }
.lib-view-toggle button { width: 34px; height: 30px; min-height: 30px; padding: 0; display: grid; place-items: center; color: var(--muted); background: transparent; border: 0; border-radius: var(--radius-sm); box-shadow: none; }
.lib-view-toggle button svg { width: 17px; height: 17px; }
.lib-view-toggle button[aria-pressed="true"] { color: var(--plume-blue); background: var(--surface); box-shadow: var(--surface-shadow); }
.lib-image-search { width: min(720px, 100%); height: 42px; margin: 0; padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-5); background: var(--surface-secondary); border: 1px solid var(--field-border); border-radius: var(--radius-pill); box-shadow: none; }
.lib-image-search:focus-within { border-width: 1px; border-color: var(--field-border); box-shadow: none; }
.lib-search-icon { width: 19px; height: 19px; flex: 0 0 auto; color: var(--muted); }
.lib-image-search input { width: 100%; min-width: 0; height: 100%; padding: 0; color: var(--field-foreground); background: transparent; border: 0; border-radius: 0; box-shadow: none; outline: 0; font: var(--type-body-md); }
#lib-image-search input:focus, #lib-image-search input:focus-visible { border: 0; outline: 0; outline-offset: 0; }
.lib-image-search #lib-image-clear { min-height: 30px; padding: 0 var(--space-3); color: var(--muted); background: transparent; border: 0; box-shadow: none; }
#view-library > .screen-head > .lib-image-search { flex: 0 0 100%; width: min(720px, 100%); margin-top: var(--space-3); }
#view-library > .screen-head > #lib-filters { display: inline-flex; flex-wrap: nowrap; gap: 3px; margin: 0; padding: 3px; background: var(--surface-secondary); border-radius: var(--radius-md); }
#view-library > .screen-head > #lib-filters .lib-chip { min-height: 34px; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-sm); white-space: nowrap; }
#view-library > .screen-head > #lib-filters .lib-chip.active { background: var(--plume-navy-700); color: var(--white); box-shadow: var(--surface-shadow); }
#view-library > .screen-head > #lib-filters .lib-count { display: none; }
#view-library > .screen-head > .lib-sort-label { position: relative; display: inline-flex; align-items: center; margin: 0; }
.lib-sort-menu { position: relative; }
.lib-sort-menu > summary { width: 164px; min-height: 40px; padding: 0 var(--space-4); display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-4); color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--field-shadow); list-style: none; cursor: pointer; font: var(--type-label-sm); }
.lib-sort-menu > summary:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
.lib-sort-menu > summary::-webkit-details-marker { display: none; }
.lib-sort-popover { position: absolute; z-index: 32; top: calc(100% + var(--space-3)); right: 0; width: 210px; padding: var(--space-3); display: grid; gap: 2px; color: var(--overlay-foreground); background: var(--overlay); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--overlay-shadow); }
.lib-sort-popover button { width: 100%; min-height: 40px; padding: 8px 10px; justify-content: flex-start; color: inherit; background: transparent; border: 0; box-shadow: none; text-align: left; }
.lib-sort-popover button:hover { background: var(--default-hover); }
.lib-sort-popover button[aria-checked="true"] { color: var(--highlight-soft-foreground); background: var(--highlight-soft); }
#view-library > .screen-head > .screen-title { order: 0; }
#view-library > .screen-head > .screen-title { white-space: nowrap; }
#view-library > .screen-head { flex-wrap: wrap; gap: var(--space-3); row-gap: var(--space-4); }
#view-library #lib-scope { display: none; }
#view-library > .screen-head > .lib-image-search { order: 8; }
#view-library > .screen-head > .spacer { order: 2; }
#view-library > .screen-head > .lib-view-toggle { order: 3; }
#view-library > .screen-head > #lib-filters { order: 4; }
#view-library > .screen-head > .lib-sort-label { order: 5; }
#view-library > .screen-head > .lib-collection-menu { order: 6; }
#view-library > .screen-head > #lib-add { order: 7; }
#view-library > .screen-head > #lib-add { white-space: nowrap; }
#view-library > .micro-label, #view-library > #lib-uploaders-label, #view-library > #lib-uploaders { display: none; }
#view-library #lib-filters .lib-chip:nth-child(n + 5) { display: none; }
#view-library.lib-workflow-filters-open #lib-filters .lib-chip:nth-child(n + 5) { display: inline-flex; }
.lib-source-nav { margin: 0 0 var(--space-6); }
#view-library .lib-source-nav .lib-source-chips { width: min(760px, 100%); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
#view-library .lib-source-nav .tab { width: 100%; min-width: 0; justify-content: center; white-space: nowrap; }
.lib-grid { gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.lib-grid.is-products { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.lib-product-toolbar { margin: 0 0 var(--space-6); display: flex; align-items: center; gap: var(--space-4); }
.lib-product-toolbar.hidden { display: none; }
.lib-product-toolbar .lib-product-search { min-width: min(520px, 100%); max-width: 720px; margin: 0; flex: 1 1 520px; }
.lib-product-sort-control { flex: 0 0 auto; }
.lib-product-sort-control .lib-sort-menu > summary { width: 174px; }
.product-tile { display: flex; flex-direction: column; background: var(--surface); border: 0; border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.product-tile:hover, .product-tile:focus-visible { border-color: transparent; box-shadow: var(--surface-shadow-raised); transform: translateY(-1px); }
.product-tile.selected { border-color: transparent; box-shadow: var(--surface-shadow), var(--ring-selected); }
.product-media { width: 100%; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; background: var(--surface-secondary); }
.product-media > img { width: 100%; height: 100%; display: block; object-fit: contain; }
.product-media > .product-no-image { width: 100%; height: 100%; display: grid; place-items: center; background: transparent; }
.product-info { min-height: 76px; padding: var(--space-3) var(--space-4) var(--space-4); gap: var(--space-2); }
.product-info strong { color: var(--foreground); font: var(--type-label-sm); }
.product-info span { color: var(--muted); font: var(--type-micro); }
.product-info .product-stock { white-space: normal; }
.lib-tile { height: auto; aspect-ratio: 4 / 5; border: 0; border-radius: var(--radius-xl); background: var(--surface); box-shadow: var(--surface-shadow); overflow: hidden; }
.lib-tile .lib-check { width: 20px; min-width: 20px; height: 20px; min-height: 20px; padding: 0; line-height: 16px; }
.lib-tile .lib-more, .lib-tile .lib-evergreen-toggle, .lib-tile .lib-evergreen-status { width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; line-height: 1; }
.lib-tile:hover { transform: translateY(-1px); box-shadow: var(--surface-shadow-raised); }
.lib-tile.selected { box-shadow: var(--surface-shadow), var(--ring-selected); }
.lib-thumb { height: calc(100% - 40px); object-fit: contain; border-radius: var(--radius-xl) var(--radius-xl) 0 0; overflow: hidden; background: var(--surface-secondary); }
.lib-name { position: absolute; inset: auto 0 0; min-height: 40px; display: flex; align-items: center; color: var(--muted); background: var(--surface); font: var(--type-body-sm); padding: var(--space-2) var(--space-4); }
.lib-badge { bottom: 48px; }
.lib-kind, .lib-badge { border-radius: var(--radius-pill); font: var(--type-micro); }
.lib-selbar { top: calc(var(--topbar-h) + var(--space-4)); background: var(--plume-navy-700); border-radius: var(--radius-lg); box-shadow: var(--overlay-shadow); }
.lib-empty, .request-empty, .stock-opportunities-state { border: 0; border-radius: var(--radius-xl); color: var(--muted); background: var(--surface-secondary); }
.lib-grid.is-list { grid-template-columns: 1fr; gap: 1px; padding: 0; overflow: hidden; background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.lib-grid.is-list .lib-tile { width: 100%; height: 104px; min-height: 104px; aspect-ratio: auto; display: grid; grid-template-columns: 104px minmax(0, 1fr) minmax(230px, 34%); align-items: center; border-radius: 0; border: 0; border-top: 1px solid var(--separator); box-shadow: none; overflow: visible; }
.lib-grid.is-list .lib-tile:first-child { border-top: 0; }
.lib-grid.is-list .lib-tile:hover { transform: none; background: var(--default-hover); box-shadow: none; }
.lib-grid.is-list .lib-thumb { width: 104px; height: 104px; border-radius: 0; }
.lib-grid.is-list > .lib-tile > .lib-name,
.lib-grid.is-list > .lib-tile > .lib-badge,
.lib-grid.is-list > .lib-tile > .lib-kind { display: none; }
.lib-grid.is-list .lib-list-details { grid-column: 2 / 4; grid-row: 1; min-width: 0; height: 100%; padding: var(--space-4) 72px var(--space-4) var(--space-5); display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 34%); align-items: center; gap: var(--space-6); pointer-events: none; }
.lib-list-copy { min-width: 0; display: grid; gap: 3px; }
.lib-list-copy > strong { overflow: hidden; color: var(--foreground); font: var(--type-label); text-overflow: ellipsis; white-space: nowrap; }
.lib-list-description { overflow: hidden; color: var(--muted); font: var(--type-body-sm); text-overflow: ellipsis; white-space: nowrap; }
.lib-list-description.is-empty { color: var(--muted-2); font-style: italic; }
.lib-list-meta { min-width: 0; display: flex; align-items: center; gap: var(--space-2); overflow: hidden; color: var(--muted-2); font: var(--type-micro); white-space: nowrap; }
.lib-list-meta > span { display: inline-flex; align-items: center; }
.lib-list-meta > span + span::before { content: "·"; margin-right: var(--space-2); color: var(--separator-strong); }
.lib-list-meta .lib-list-ai { padding: 2px 7px; border-radius: var(--radius-pill); color: var(--highlight-soft-foreground); background: var(--highlight-soft); }
.lib-list-meta .lib-list-ai::before { display: none; }
.lib-list-delivery { min-width: 0; display: grid; grid-template-columns: minmax(100px, 1fr) auto; align-items: center; gap: 5px var(--space-4); color: var(--muted); font: var(--type-micro); }
.lib-list-state { min-width: 0; display: inline-flex; align-items: center; gap: var(--space-2); color: var(--foreground); font: var(--type-label-sm); }
.lib-list-status-dot { width: 9px; height: 9px; flex: none; border-radius: 50%; }
.lib-list-platforms { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--space-2); }
.lib-list-platform { width: 22px; height: 22px; display: inline-grid; place-items: center; border-radius: var(--radius-pill); background: var(--surface-secondary); }
.lib-list-platform .platform-mark { width: 17px; height: 17px; }
.lib-list-date { white-space: nowrap; }
.lib-list-reach { justify-self: end; padding: 2px 8px; border-radius: var(--radius-pill); color: var(--success-soft-foreground); background: var(--success-soft); white-space: nowrap; }
.lib-grid.is-list .lib-more { top: 40px; right: var(--space-4); opacity: 1; }
.lib-grid.is-list .lib-more-with-evergreen { right: 42px; }
.lib-grid.is-list .lib-evergreen-toggle, .lib-grid.is-list .lib-evergreen-status { top: 40px; right: var(--space-4); }
.lib-grid.is-list .lib-check { top: 8px; left: 8px; }

/* ---------- Planner, Settings, secondary workspaces ---------- */
.plan-switcher { background: var(--surface-secondary); border: 0; border-radius: var(--radius-md); padding: 3px; }
.plan-switcher a { border-radius: var(--radius-sm); color: var(--muted); }
.plan-switcher a[aria-current="page"] { background: var(--surface); color: var(--foreground); box-shadow: var(--surface-shadow); }
.planner-hero { border: 0; border-radius: var(--radius-3xl); box-shadow: var(--surface-shadow); }
.planner-scope-panel { margin-bottom: var(--space-7); padding: var(--space-5) var(--space-6); display: flex; align-items: center; gap: var(--space-6); flex-wrap: wrap; background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.planner-scope-copy { min-width: 260px; flex: 1; display: grid; gap: var(--space-2); }
.planner-scope-copy strong { color: var(--foreground); font: var(--type-label); }
.planner-scope-copy span { color: var(--muted); font: var(--type-body-sm); }
#planner-brand-chips { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.planner-overview-head { margin-bottom: var(--space-6); display: flex; align-items: end; gap: var(--space-6); }
.planner-overview-head h3 { margin: 0 0 var(--space-2); color: var(--foreground); font: var(--type-panel-title); }
.planner-overview-head p { margin: 0; color: var(--muted); font: var(--type-body-md); }
.planner-store-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-6); }
.planner-store-card { min-width: 0; padding: var(--space-6); display: grid; gap: var(--space-6); align-content: start; background: var(--surface); border: 1px solid var(--separator); border-top: 3px solid var(--bc); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.planner-store-card-head { display: flex; align-items: center; gap: var(--space-4); }
.planner-store-dot { width: 12px; height: 12px; flex: 0 0 auto; border-radius: 50%; background: var(--bc); box-shadow: 0 0 0 5px color-mix(in oklab, var(--bc) 14%, transparent); }
.planner-store-card h3 { margin: 0; color: var(--foreground); font: var(--type-section); }
.planner-store-card p { margin: var(--space-2) 0 0; color: var(--muted); font: var(--type-body-sm); }
.planner-store-card.is-error { border-top-color: var(--danger); }
.planner-store-error { color: var(--danger-soft-foreground) !important; }
.planner-store-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.planner-store-metrics span { min-width: 0; padding: var(--space-4); display: grid; gap: var(--space-2); background: var(--surface-secondary); border-radius: var(--radius-lg); }
.planner-store-metrics strong { color: var(--foreground); font: var(--type-metric-sm); font-variant-numeric: tabular-nums; }
.planner-store-metrics small { color: var(--muted); font: var(--type-micro); }
.planner-store-card > button { width: 100%; min-height: 42px; }
.planner-hero h3, .stock-opportunities-head h3, .request-main h3 { color: var(--foreground); font-family: var(--font-sans); }
.planner-hero { padding: var(--space-8); background: var(--surface); }
.planner-hero h3 { margin: 0 0 var(--space-5); font: var(--type-panel-title); }
.planner-hero-steps { gap: var(--space-4); margin-bottom: var(--space-6); color: var(--foreground); }
.planner-hero-steps li { color: var(--foreground); font: var(--type-body-md); }
.planner-hero-ready { color: var(--success-soft-foreground); font: var(--type-label-sm); }
.planner-hero-warn { color: var(--warning-soft-foreground); }
.planner-head { margin: var(--space-7) 0 var(--space-5); }
.planner-week { gap: var(--space-4); color: var(--foreground); font: var(--type-section); }
.planner-store { color: var(--muted); font: var(--type-body-md); }
.planner-status { padding: 4px var(--space-4); color: var(--muted); background: var(--default-soft); border: 0; border-radius: var(--radius-pill); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.planner-status-applied { color: var(--success-soft-foreground); background: var(--success-soft); }
.planner-rationale { margin-top: var(--space-4); }
.planner-day { margin: var(--space-7) 0; }
.planner-day-label { margin-bottom: var(--space-4); color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.planner-cards { grid-template-columns: repeat(auto-fill, minmax(292px, 1fr)); gap: var(--space-5); }
.planner-card { gap: var(--space-5); padding: var(--space-5); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.planner-card:hover { transform: translateY(-1px); border-color: var(--border-secondary); box-shadow: var(--surface-shadow-raised); }
.planner-card.gap { background: var(--surface-secondary); border: 1px solid var(--border); box-shadow: none; }
.planner-thumb { width: 66px; height: 76px; border-radius: var(--radius-lg); }
.planner-gap { color: var(--muted); background: var(--surface-tertiary); }
.planner-meta { color: var(--muted); font: var(--type-micro); }
.planner-title { margin-top: var(--space-2); color: var(--foreground); font: var(--type-label); }
.planner-angle { margin-top: var(--space-3); color: var(--muted); font: var(--type-body-sm); }
.planner-occasion { color: var(--warning-soft-foreground); font: var(--type-micro); }
.planner-mini { min-height: 32px; padding: 0 var(--space-4); color: var(--foreground); background: var(--surface); border-color: var(--border); border-radius: var(--radius-md); font: var(--type-button-sm); }
.planner-ready { padding: 3px var(--space-3); border-radius: var(--radius-pill); font: var(--type-micro); }
.planner-ready.is-ready { color: var(--success-soft-foreground); background: var(--success-soft); }
.planner-ready.needs-review { color: var(--warning-soft-foreground); background: var(--warning-soft); }
.planner-actions { margin-top: var(--space-7); padding-top: var(--space-6); border-color: var(--separator); }
.planner-summary { color: var(--muted); font: var(--type-body-md); }
.planner-empty-slot { width: 100%; min-height: 116px; color: var(--muted); background: transparent; border: 1px dashed var(--border-secondary); border-radius: var(--radius-lg); }
.planner-empty-slot:hover { color: var(--highlight-soft-foreground); background: var(--highlight-soft); border-color: var(--plume-cyan); }
.stock-opportunities { margin: var(--space-7) 0; padding: var(--space-7); border: 0; border-radius: var(--radius-xl); }
#view-planner:not(.planner-stock-open) .stock-opportunities { display: none; }
.stock-opportunities-head { margin-bottom: var(--space-5); }
.stock-opportunities-head h3 { font: var(--type-panel-title); }
.stock-opportunities-head p { color: var(--muted); font: var(--type-body-md); }
.stock-opportunity-row { grid-template-columns: 28px 58px minmax(150px, 1fr) auto auto; gap: var(--space-5); padding: var(--space-4) 0; border-color: var(--separator); }
.stock-opportunity-image { width: 58px; height: 58px; background: var(--surface-secondary); border-color: var(--border); border-radius: var(--radius-md); }
.stock-opportunity-info h4 { color: var(--foreground); font: var(--type-label); }
.stock-opportunity-info p { color: var(--muted); font: var(--type-body-sm); }
.stock-opportunity-units { color: var(--foreground); font: var(--type-card-title); }
.stock-opportunity-actions .button-link { color: var(--foreground); background: var(--surface); border-color: var(--border); border-radius: var(--radius-md); font: var(--type-button-sm); }
.settings-layout { grid-template-columns: 220px minmax(0, 1fr); gap: var(--space-8); }
.settings-tabs { top: calc(var(--topbar-h) + var(--space-6)); padding: var(--space-4); border-radius: var(--radius-xl); background: var(--surface-secondary); }
.settings-nav-heading { color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
.settings-nav-item { min-height: 44px; display: flex; align-items: center; gap: var(--space-5); padding-inline: var(--space-5); border-radius: var(--radius-md); color: var(--muted); font: var(--type-label-sm); }
.settings-nav-icon, .settings-mobile-row-icon { display: grid; place-items: center; flex: 0 0 auto; }
.settings-nav-icon svg { width: 19px; height: 19px; }
.settings-nav-item:hover { background: var(--default-hover); }
.settings-nav-item.active { background: var(--surface); color: var(--foreground); box-shadow: var(--surface-shadow), var(--ring-selected); }
.settings-content { max-width: none; }
.settings-tablist { display: flex; gap: 0; margin: 0 0 var(--space-6); padding: 0; overflow-x: auto; border-bottom: 1px solid var(--separator); scrollbar-width: none; }
.settings-tablist::-webkit-scrollbar { display: none; }
.settings-tab-control { position: relative; min-height: 44px; flex: 0 0 auto; padding: 0 var(--space-5); color: var(--muted); background: transparent; border: 0; border-radius: 0; box-shadow: none; font: var(--type-label-sm); white-space: nowrap; }
.settings-tab-control::after { content: ""; position: absolute; right: var(--space-4); bottom: 0; left: var(--space-4); height: 2px; background: transparent; border-radius: var(--radius-pill) var(--radius-pill) 0 0; }
.settings-tab-control:hover { color: var(--foreground); background: var(--default-hover); }
.settings-tab-control.active { color: var(--foreground); background: transparent; border: 0; box-shadow: none; }
.settings-tab-control.active::after { background: var(--plume-cyan); }
.settings-section, .settings-brand { padding: var(--space-8); margin-bottom: var(--space-6); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: none; }
.settings-platform-label, .settings-platform-icons { display: inline-flex; align-items: center; gap: var(--space-3); min-width: 0; }
.settings-platform-label .platform-mark, .settings-platform-icons .platform-mark { width: 22px; height: 22px; flex: 0 0 auto; object-fit: contain; }
.settings-platform-label .platform-mark + .platform-mark, .settings-platform-icons .platform-mark + .platform-mark { margin-left: calc(-1 * var(--space-2)); }
.settings-brand h3 .settings-platform-icons { margin-right: var(--space-3); vertical-align: middle; }
.settings-platform-field-label { display: inline-flex; align-items: center; gap: var(--space-3); }
.settings-platform-field-label .platform-mark { width: 20px; height: 20px; flex: 0 0 auto; object-fit: contain; }
.settings-section h3, .settings-group h3, .settings-brand h3 { font: var(--type-panel-title); color: var(--foreground); }
.settings-row { border-color: var(--separator); }
.settings-brand .modal-hint { color: var(--muted); font: var(--type-body-md); }
.toggle-row { gap: var(--space-5); }
.toggle-row input[type="checkbox"] {
  appearance: none; width: 44px; height: 24px; min-height: 24px; flex: 0 0 auto; position: relative; cursor: pointer;
  background: var(--default); border: 0; border-radius: var(--radius-sm); box-shadow: inset 0 0 0 1px var(--border); transition: var(--motion-hover);
}
.toggle-row input[type="checkbox"]::after {
  content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: var(--radius-xs);
  background: var(--white); box-shadow: var(--surface-shadow); transition: left var(--dur-normal) var(--ease-out-fluid);
}
.toggle-row input[type="checkbox"]:checked { background: var(--accent); box-shadow: none; }
.toggle-row input[type="checkbox"]:checked::after { left: 23px; }
.notification-device-card { margin-top: var(--space-6); padding: var(--space-5); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4) var(--space-6); background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.notification-device-card > p { grid-column: 1 / -1; margin: 0; }
.notification-group-title { margin: var(--space-7) 0 var(--space-3); color: var(--foreground); font: var(--type-section); }
.notification-settings-group { overflow: hidden; background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.notification-setting-row { min-height: 76px; padding: var(--space-5) var(--space-6); grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-6); border: 0; border-top: 1px solid var(--separator); cursor: pointer; }
.notification-setting-row:first-child { border-top: 0; }
.notification-setting-copy { min-width: 0; display: grid; gap: var(--space-2); }
.notification-setting-copy strong { color: var(--foreground); font: var(--type-label); }
.notification-setting-copy small { max-width: 62ch; color: var(--muted); font: var(--type-body-sm); }
.notification-switch-control { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--muted); font: var(--type-label-sm); }
.notification-switch-control input { margin: 0; }
.notification-settings-actions { margin-top: var(--space-6); display: flex; justify-content: flex-start; }
.store-check { gap: var(--space-5); color: var(--foreground); font: var(--type-body-md); }
.store-check input[type="checkbox"] {
  appearance: none; width: 44px; height: 24px; min-height: 24px; flex: 0 0 auto; position: relative; margin: 0; cursor: pointer;
  background: var(--default); border: 0; border-radius: var(--radius-sm); box-shadow: inset 0 0 0 1px var(--border); transition: var(--motion-hover);
}
.store-check input[type="checkbox"]::after {
  content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: var(--radius-xs);
  background: var(--white); box-shadow: var(--surface-shadow); transition: left var(--dur-normal) var(--ease-out-fluid);
}
.store-check input[type="checkbox"]:checked { background: var(--accent); box-shadow: none; }
.store-check input[type="checkbox"]:checked::after { left: 23px; }
.day-toggles { gap: var(--space-4); }
.day-toggle { width: 36px; height: 36px; min-height: 36px; padding: 0; color: var(--muted); background: var(--surface); border: 0; border-radius: var(--radius-md); box-shadow: var(--surface-shadow); font: var(--type-label); }
.day-toggle.on { color: var(--accent-foreground); background: var(--accent); border-color: transparent; box-shadow: none; }
.time-chip { gap: var(--space-2); padding: 3px var(--space-3); background: var(--surface); border-color: var(--border); border-radius: var(--radius-md); box-shadow: var(--field-shadow); }
.conn-status { border-radius: var(--radius-pill); font: var(--type-micro); }
.conn-status.ok { background: var(--success-soft); color: var(--success-soft-foreground); }
.conn-status.partial { background: var(--warning-soft); color: var(--warning-soft-foreground); }
.conn-status.danger { background: var(--danger-soft); color: var(--danger-soft-foreground); }
.store-settings-shell { display: block; min-width: 0; }
.store-settings-directory { position: sticky; top: calc(var(--topbar-h) + var(--space-6)); padding: var(--space-4); background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.store-directory-head { min-height: 48px; display: flex; align-items: center; gap: var(--space-3); padding: 0 var(--space-2) var(--space-4); border-bottom: 1px solid var(--separator); }
.store-directory-head > div { min-width: 0; flex: 1; display: grid; gap: 2px; }
.store-directory-head strong { color: var(--foreground); font: var(--type-label); }
.store-directory-head small { color: var(--muted); font: var(--type-micro); }
.store-directory-head button { min-height: 32px; padding-inline: var(--space-3); }
.store-directory-list { display: grid; gap: var(--space-2); padding-top: var(--space-4); }
.store-directory-item { width: 100%; min-height: 56px; padding: var(--space-3); display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: var(--space-3); text-align: left; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: var(--radius-lg); box-shadow: none; }
.store-directory-item:hover { color: var(--foreground); background: var(--default-hover); }
.store-directory-item.active { color: var(--foreground); background: var(--surface); border-color: var(--border); }
.store-directory-avatar { width: 34px; height: 34px; display: grid; place-items: center; color: var(--highlight-soft-foreground); background: var(--highlight-soft); border-radius: var(--radius-md); font: var(--type-label-sm); }
.store-directory-item > span:last-child { min-width: 0; display: grid; gap: 2px; }
.store-directory-item strong, .store-directory-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.store-directory-item strong { font: var(--type-label-sm); }
.store-directory-item small { color: var(--muted); font: var(--type-micro); }
.store-settings-workspace { min-width: 0; }
.store-settings-head { margin-bottom: var(--space-5); display: flex; align-items: flex-end; gap: var(--space-6); }
.store-settings-head > div:first-child { min-width: 0; flex: 1; }
.store-settings-head span { color: var(--highlight-soft-foreground); font: var(--type-label-sm); }
.store-settings-head h2 { margin-top: var(--space-2); color: var(--foreground); font: var(--type-section); }
.store-settings-head p { margin-top: var(--space-2); color: var(--muted); font: var(--type-body-md); }
.brand-settings-switcher { display: flex; align-items: flex-end; justify-content: flex-end; gap: var(--space-3); flex-wrap: wrap; }
.brand-settings-field { position: relative; min-width: 210px; display: grid; gap: var(--space-2); }
.brand-settings-label { color: var(--highlight-soft-foreground); font: var(--type-micro); }
.settings-brand-menu > summary { width: 100%; min-height: 40px; padding-inline: var(--space-4); color: var(--field-foreground); background: var(--field-background); border: 1px solid var(--field-border); border-radius: var(--radius-md); }
.settings-brand-menu > summary:hover, .settings-brand-menu > summary:focus-visible { color: var(--field-foreground); background: var(--surface-hover); border-color: var(--border-secondary); }
.settings-brand-menu .workspace-menu-popover { right: 0; left: auto; width: max(240px, 100%); }
.store-settings-panel { min-width: 0; }
.store-panel-heading { display: flex; align-items: flex-start; gap: var(--space-5); margin-bottom: var(--space-5); }
.store-panel-heading > div { min-width: 0; flex: 1; }
.store-state-badge { padding: 4px var(--space-3); color: var(--success-soft-foreground); background: var(--success-soft); border-radius: var(--radius-pill); font: var(--type-micro); }
.store-overview-form .settings-row { grid-template-columns: minmax(130px, 180px) minmax(0, 1fr); }
.store-overview-form .settings-row :is(input, select, textarea), .store-overview-form .settings-row input[type="text"] { width: 100%; max-width: none; color: var(--field-foreground); background: var(--field-background); border-color: var(--field-border); }
.store-overview-actions { margin-top: var(--space-6); display: flex; justify-content: space-between; gap: var(--space-4); }
.store-readiness-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.store-readiness-item { min-height: 68px; padding: var(--space-4); display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); text-align: left; color: var(--foreground); background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-lg); box-shadow: none; }
.store-readiness-item:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
.store-readiness-item > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.store-readiness-item strong { font: var(--type-label-sm); }
.store-readiness-item small { color: var(--muted); font: var(--type-body-sm); }
.store-readiness-state { color: var(--muted); font: var(--type-label); }
.store-readiness-item.ready .store-readiness-state { color: var(--success); }
.store-settings-panel > .settings-brand:first-child { margin-top: 0; }
.requests-list { gap: var(--space-5); margin-top: var(--space-6); }
.request-row { gap: var(--space-6); padding: var(--space-6); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.request-main h3 { margin: var(--space-4) 0 var(--space-3); font: var(--type-card-title); }
.request-main p { color: var(--muted); font: var(--type-body-md); }
.request-meta, .request-assignment { color: var(--muted); font: var(--type-micro); }
.request-status, .request-priority { padding: 3px var(--space-3); border-radius: var(--radius-pill); }
.request-status { color: var(--default-foreground); background: var(--default); border: 1px solid var(--separator); }
.request-status[data-status="open"] { color: var(--highlight-soft-foreground); background: var(--highlight-soft); border-color: color-mix(in oklab, var(--highlight) 22%, transparent); }
.request-status[data-status="in_progress"] { color: var(--accent-soft-foreground); background: var(--accent-soft); border-color: color-mix(in oklab, var(--accent) 22%, transparent); }
.request-status[data-status="changes_requested"] { color: var(--warning-soft-foreground); background: var(--warning-soft); border-color: color-mix(in oklab, var(--warning) 22%, transparent); }
.request-status[data-status="submitted"] { color: var(--warning-soft-foreground); background: var(--warning-soft); }
.request-status[data-status="completed"] { color: var(--success-soft-foreground); background: var(--success-soft); }
.request-status[data-status="cancelled"] { color: var(--default-soft-foreground); background: var(--default-soft); }
.request-priority { color: var(--danger-soft-foreground); background: var(--danger-soft); border: 1px solid color-mix(in oklab, var(--danger) 22%, transparent); }
.delivery-badge { color: var(--default-foreground); background: var(--default); border: 1px solid var(--separator); }
.delivery-badge[data-delivery="published"] { color: var(--success-soft-foreground); background: var(--success-soft); }
.delivery-badge[data-delivery="partial"], .delivery-badge[data-delivery="scheduled"] { color: var(--warning-soft-foreground); background: var(--warning-soft); }
.delivery-badge[data-delivery="failed"] { color: var(--danger-soft-foreground); background: var(--danger-soft); }
.badge:not(.lib-badge) { color: var(--foreground); background: var(--default); }
.badge.status[data-status="review"], .badge.status[data-status="generating"] { color: var(--warning-soft-foreground); background: var(--warning-soft); }
.badge.status[data-status="flagged"], .badge.status[data-status="error"] { color: var(--danger-soft-foreground); background: var(--danger-soft); }
.badge.status[data-status="approved"] { color: var(--success-soft-foreground); background: var(--success-soft); }
.badge.status[data-status="new"], .badge.status[data-status="skipped"] { color: var(--default-soft-foreground); background: var(--default-soft); }
.plan-state-error, .stock-opportunities-state.is-error, .banner-error, .animation-detail-error { color: var(--danger-soft-foreground); background: var(--danger-soft); border-color: color-mix(in oklab, var(--danger) 32%, transparent); }
.library-variation-card, .library-variation-candidate, .brand-choose-item { color: var(--foreground); background: var(--surface); border-color: var(--border); }
.request-priority { color: var(--danger-soft-foreground); background: var(--danger-soft); }
.request-thumb { border-color: var(--border); border-radius: var(--radius-md); }
#view-leaderboard { min-height: calc(100vh - var(--topbar-h)); color: var(--foreground); }
#view-leaderboard .lb-head { margin-bottom: var(--space-7); }
.lb-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-bottom: var(--space-7); }
.lb-summary article { min-width: 0; min-height: 142px; display: grid; align-content: space-between; gap: var(--space-3); padding: var(--space-6); color: var(--foreground); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
.lb-summary article > span { color: var(--muted); font: var(--type-label-sm); }
.lb-summary article > strong { overflow: hidden; color: var(--foreground); font: var(--type-panel-title); text-overflow: ellipsis; white-space: nowrap; }
.lb-summary article:nth-child(n+2) > strong { font: var(--type-metric); }
.lb-summary article > small { color: var(--muted); font: var(--type-body-sm); }
.lb-scoring { margin-bottom: var(--space-7); padding: var(--space-6); display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr); align-items: center; gap: var(--space-7); color: var(--foreground); background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); }
.lb-scoring h3, .lb-board-heading h3 { margin: 0; color: var(--foreground); font: var(--type-panel-title); }
.lb-scoring p, .lb-board-heading p { margin: var(--space-2) 0 0; color: var(--muted); font: var(--type-body-sm); }
.lb-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lb-rule { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-4); }
.lb-rule > strong { color: var(--highlight-soft-foreground); font: var(--type-panel-title); }
.lb-rule > span { display: grid; gap: 2px; color: var(--foreground); font: var(--type-label-sm); }
.lb-rule small { color: var(--muted); font: var(--type-micro); }
.lb-board-section { padding: var(--space-7); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-2xl); box-shadow: var(--surface-shadow); }
.lb-board-heading { margin-bottom: var(--space-5); }
.lb-list { overflow: hidden; background: var(--surface-secondary); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: none; }
.lb-list-head { min-height: 38px; padding: 0 var(--space-6); display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); color: var(--muted); border-bottom: 1px solid var(--separator); font: var(--type-micro); }
.lb-list-head span:last-child { text-align: right; }
.lb-row { min-height: 82px; grid-template-columns: 46px 42px minmax(0, 1fr) auto; gap: var(--space-4); padding: var(--space-5) var(--space-6); color: var(--foreground); background: var(--surface); border-top: 1px solid var(--separator); }
.lb-list-head + .lb-row { border-top: 0; }
.lb-row-leader { background: linear-gradient(90deg, color-mix(in oklab, var(--plume-gold) 12%, var(--surface)), var(--surface) 62%); }
.lb-row-me { border-color: var(--separator); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--plume-cyan) 45%, transparent); }
.lb-rank { width: 34px; height: 34px; display: grid; place-items: center; color: var(--muted); background: var(--surface-secondary); border-radius: var(--radius-md); font: var(--type-label); }
.lb-row-leader .lb-rank { color: var(--plume-navy-950); background: var(--plume-gold); }
.lb-avatar { width: 42px; height: 42px; background: var(--highlight-soft); color: var(--highlight-soft-foreground); font: var(--type-label-sm); }
.lb-name, .lb-total { color: var(--foreground); }
.lb-name { flex-wrap: wrap; font: var(--type-label); }
.lb-breakdown, .lb-pts { color: var(--muted); }
.lb-breakdown { margin-top: var(--space-2); font: var(--type-body-sm); }
.lb-total { min-width: 72px; font: var(--type-card-title); }
.analytics-view-switcher { width: max-content; display: inline-flex; gap: var(--space-2); margin: 0 0 var(--space-7); padding: 3px; background: var(--surface-secondary); border-radius: var(--radius-md); }
.analytics-view-switcher a { min-height: 38px; display: inline-flex; align-items: center; padding: 0 var(--space-5); color: var(--muted); border-radius: var(--radius-md); font: var(--type-label-sm); text-decoration: none; }
.analytics-view-switcher a:hover { color: var(--foreground); background: var(--default-hover); }
.analytics-view-switcher a[aria-current="page"] { color: var(--white); background: var(--plume-navy-700); box-shadow: var(--surface-shadow); }
.lb-weeknav { padding: 3px; background: var(--surface-secondary); border-radius: var(--radius-md); }
.lb-weeknav button { width: 38px; height: 38px; min-height: 38px; padding: 0; color: var(--foreground); background: transparent; border: 0; border-radius: var(--radius-md); }
.lb-weeknav button:hover:not(:disabled) { background: var(--default-hover); }
.lb-weeklabel { min-width: 104px; color: var(--foreground); font: var(--type-label-sm); }
.lb-you, .lb-achievement { padding: 2px var(--space-3); color: var(--highlight-soft-foreground); background: var(--highlight-soft); border: 0; border-radius: var(--radius-pill); font: var(--type-micro); }
.lb-achievement-muted { color: var(--muted); background: var(--default); }
.lb-emptyhint { padding: var(--space-6); color: var(--muted); border-color: var(--separator); font: var(--type-body-sm); }
.cal-meta .platform-mark, .planner-meta .platform-mark, .recent-info .platform-mark, .delivery-badge .platform-mark, .mobile-month-agenda-copy .platform-mark { width: 14px; height: 14px; flex: 0 0 auto; }
.delivery-badge { display: inline-flex; align-items: center; gap: var(--space-2); }
.pipe-cardbody .delivery-badge { width: max-content; padding: 0; color: var(--muted); background: transparent; border: 0; border-radius: 0; font: var(--type-micro); }
.pipe-cardbody .delivery-badge[data-delivery="failed"] { color: var(--danger); background: transparent; }
.mobile-month-agenda-copy small { display: flex; align-items: center; gap: var(--space-2); }

/* ---------- Dark studios ---------- */
#view-post, #view-insights, #view-leaderboard, #view-edm { min-height: calc(100vh - var(--topbar-h)); background: var(--ambient); color: var(--foreground); }
#view-post .card, #view-insights .card, #view-edm .edm-card { border-color: var(--border); }
#view-post .editor-card { border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
#view-post .screen-title, #view-insights .screen-title, #view-edm .screen-title { color: var(--foreground); }
.ed-media, .ed-original-stage, .insights-tile, .insights-card { border-radius: var(--radius-xl); }
.ed-field-label, .ed-micro { color: var(--muted); font: var(--type-body); letter-spacing: normal; text-transform: none; }
#view-post .editor-bar { min-height: 48px; margin: 0 0 var(--space-6); padding: 0 0 var(--space-5); border-color: var(--separator); }
#view-post .ed-brand { color: var(--foreground); font: var(--type-label); }
#view-post .ed-delivery-summary { color: var(--foreground); background: var(--surface-secondary); border-color: var(--border); border-radius: var(--radius-xl); box-shadow: var(--field-shadow); }
#view-post .ed-delivery-state { font: var(--type-label-sm); }
#view-post .ed-delivery-destination { border-color: var(--separator); }
#view-post .ed-delivery-destination time span { color: var(--foreground); font: var(--type-label-sm); }
#view-post .ed-delivery-destination time small, #view-post .ed-delivery-metrics { color: var(--muted); font: var(--type-micro); }
#view-post .ed-delivery-metrics strong { color: var(--foreground); }
#view-post .card.editor-card { gap: var(--space-6); align-items: start; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
#view-post .ed-left, #view-post .card.editor-card .card-body.ed-right {
  padding: var(--space-7); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-2xl); box-shadow: none;
}
#view-post .ed-left { border-right: 1px solid var(--border); }
#view-post .card-media.ed-media { height: auto; aspect-ratio: 4 / 3; border-radius: var(--radius-xl); }
#view-post .ed-title { color: var(--foreground); font: var(--type-card-title); }
#view-post .ed-subtitle { color: var(--muted); font: var(--type-body); }
#view-post .ed-rendition { padding: var(--space-4); border-color: var(--border); border-radius: var(--radius-md); background: var(--field-background); }
#view-post .ed-rendition:hover { border-color: var(--plume-cyan); background: var(--highlight-soft); }
#view-post .ed-rendition-name { color: var(--foreground); font: var(--type-label-sm); }
#view-post .ed-rendition-ratio { color: var(--muted); font: var(--type-micro); }
#view-post .ed-original-stage { background: var(--surface-secondary); border-color: var(--border); }
#view-post .ed-original-analysis { background: var(--surface-secondary); border-color: var(--border); border-radius: var(--radius-xl); }
#view-post .ed-original-analysis-text { color: var(--foreground); font: var(--type-body-md); }
#view-post .ed-tabs { padding: 4px; background: var(--surface-secondary); border-radius: var(--radius-pill); flex-wrap: nowrap; overflow-x: auto; }
#view-post .ed-tab { color: var(--muted); background: transparent; border-radius: var(--radius-pill); font: var(--type-label-sm); }
#view-post .ed-tab:hover { background: var(--default-hover); }
#view-post .ed-tab.active { color: var(--plume-navy-900); background: var(--plume-cyan); }
#view-post .ed-panel { gap: var(--space-6); }
#view-post .ed-caption-col textarea, #view-post .ed-caption-col input, #view-post .ed-caption-col select { color: var(--field-foreground); background: var(--field-background); }
#view-post .ed-preview-col { width: 320px; }
#view-post .ed-format-field { display: grid; gap: var(--space-2); margin-bottom: var(--space-4); color: var(--foreground); font: var(--type-label-sm); }
#view-post .ed-format-field select { width: 100%; min-height: 42px; }
#view-post .ed-more { position: relative; margin: 0; padding: 0; background: transparent; border: 0; }
#view-post .ed-more > summary { width: auto; min-height: 38px; padding: 0 var(--space-4); display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-3); color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--field-shadow); list-style: none; cursor: pointer; font: var(--type-label-sm); }
#view-post .ed-more > summary::-webkit-details-marker { display: none; }
#view-post .ed-more > summary:hover, #view-post .ed-more > summary:focus-visible { color: var(--foreground); background: var(--surface-hover); border-color: var(--border-secondary); }
#view-post .ed-menu { position: absolute; z-index: 70; right: 0; top: calc(100% + var(--space-3)); min-width: 220px; padding: var(--space-3); display: grid; gap: 2px; color: var(--overlay-foreground); background: var(--overlay); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow); }
#view-post .ed-menu-item { width: 100%; min-height: 40px; padding: 8px 10px; justify-content: flex-start; color: var(--overlay-foreground); background: transparent; border: 0; border-radius: var(--radius-md); box-shadow: none; text-align: left; font: var(--type-body-md); }
#view-post .ed-menu-item:hover, #view-post .ed-menu-item:focus-visible { color: var(--overlay-foreground); background: var(--default-hover); }
#view-post .ed-format-field small { color: var(--muted); font: var(--type-body-xs); }
#view-post .ed-preview .pv { border-radius: var(--radius-2xl); overflow: hidden; box-shadow: var(--overlay-shadow); }
#view-post .publish-panel, #view-post .activity-panel { border-color: var(--separator); }
#view-insights .screen-head { align-items: flex-start; }
#view-insights .insights-window-controls { margin: 0; }
#view-insights .insights-more { position: relative; }
#view-insights .insights-more > summary { width: 38px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0; list-style: none; cursor: pointer; letter-spacing: 1px; }
#view-insights .insights-more > summary::-webkit-details-marker { display: none; }
#view-insights .insights-more-menu { position: absolute; z-index: 40; right: 0; top: calc(100% + var(--space-3)); width: 330px; display: grid; gap: var(--space-4); padding: var(--space-5); background: var(--overlay); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow); }
#view-insights .insights-more-copy { color: var(--muted); font: var(--type-body); }
#view-insights .insights-more-menu .tabs { display: grid; grid-template-columns: 1fr 1fr; }
#view-insights .insights-more-menu button, #view-insights .insights-leaderboard-link { width: 100%; }
.planner-ready { letter-spacing: normal; text-transform: none; }
#view-insights .perf-tiles { grid-template-columns: repeat(auto-fit, minmax(212px, 1fr)); gap: var(--space-6); margin: var(--space-7) 0; }
#view-insights .perf-tile { display: grid; gap: var(--space-4); min-width: 168px; padding: var(--space-7); background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow); }
#view-insights .perf-tile-head { gap: var(--space-5); color: var(--muted); font: var(--type-label); }
#view-insights .perf-tile-posts { color: var(--muted); font: var(--type-micro); }
#view-insights .perf-tile-primary { margin: var(--space-3) 0; color: var(--foreground); font: var(--type-metric); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-tight); }
#view-insights .perf-tile-primary span { color: var(--muted); font: var(--type-body); }
#view-insights .perf-tile-row { padding: 2px 0; color: var(--foreground); font: var(--type-body); }
#view-insights .perf-tile-row.muted, #view-insights .lb-legend-note { color: var(--muted); }
#view-insights .report-scroll { margin-top: var(--space-6); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-2xl); overflow: auto; }
#view-insights .report-table { color: var(--foreground); font: var(--type-body-md); }
#view-insights .report-table th, #view-insights .report-table td { padding: var(--space-5) var(--space-6); border-color: var(--separator); }
#view-insights .report-table th { color: var(--muted); font: var(--type-label-sm); letter-spacing: normal; text-transform: none; }
#view-insights .report-table tbody tr[role="button"]:hover { background: var(--default-hover); }
#view-insights .report-sort-button { color: inherit; font: inherit; }
#view-insights .insights-dashboard { display: grid; gap: var(--space-7); margin-top: var(--space-7); }
#view-insights .insights-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(212px, 1fr)); gap: var(--space-6); }
#view-insights .insights-metric {
  position: relative; overflow: hidden; min-width: 168px; display: grid; gap: var(--space-4); padding: var(--space-7);
  background: var(--surface); border: 1px solid var(--separator); border-radius: var(--radius-xl); box-shadow: var(--surface-shadow);
}
#view-insights .insights-metric-head { display: flex; align-items: center; gap: var(--space-5); color: var(--muted); font: var(--type-label); }
#view-insights .insights-metric-icon {
  width: auto; height: auto; flex: 0 0 auto; display: inline; color: var(--white);
  background: transparent; border: 0; border-radius: 0; box-shadow: none; font: var(--type-panel-title);
}
#view-insights .insights-metric > strong { color: var(--foreground); font: var(--type-metric); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-tight); }
#view-insights .insights-metric-note { color: var(--muted); font: var(--type-body); }
#view-insights .insights-spark { width: 100%; height: 38px; display: block; overflow: visible; }
#view-insights .insights-spark rect { fill: var(--plume-cyan); }
#view-insights .insights-spark-line, #view-insights .insights-spark-compare { fill: none; stroke: var(--plume-cyan); vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
#view-insights .insights-spark-line { stroke-width: 2; }
#view-insights .insights-spark-compare { stroke-width: 1.5; stroke-opacity: .45; stroke-dasharray: 4 3; }
#view-insights .insights-panel {
  min-width: 0; display: grid; align-content: start; gap: var(--space-6); padding: var(--space-7);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-2xl);
}
#view-insights .insights-panel-head { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; }
#view-insights .insights-panel h3, #view-insights .insights-detail > h3 { margin: 0; color: var(--foreground); font: var(--type-panel-title); }
#view-insights .insights-chart-legend { margin-left: auto; display: flex; gap: var(--space-7); color: var(--muted); font: var(--type-body); }
#view-insights .insights-chart-legend span { display: inline-flex; align-items: center; gap: var(--space-4); }
#view-insights .insights-chart-legend i { width: 18px; height: 2px; background: var(--plume-cyan); }
#view-insights .insights-chart-legend i.compare { height: 0; background: none; border-top: 2px dashed color-mix(in oklab, var(--plume-cyan) 55%, transparent); }
#view-insights .insights-chart { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: var(--space-4); }
#view-insights .insights-axis { display: grid; align-content: space-between; padding-bottom: 18px; color: var(--muted); text-align: right; font: var(--type-micro); }
#view-insights .insights-spark-tall { height: 190px; }
#view-insights .insights-dates { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-4); color: var(--muted); font: var(--type-micro); }
#view-insights .insights-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(430px, 1fr)); gap: var(--space-6); }
#view-insights .insights-top-list { display: grid; gap: var(--space-4); }
#view-insights .insights-top-row {
  width: 100%; min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) 28px 62px 108px; gap: var(--space-5); align-items: center;
  padding: var(--space-4) 0; color: var(--foreground); background: transparent; border: 0; border-bottom: 1px solid var(--separator); text-align: left; cursor: pointer;
}
#view-insights .insights-top-row:hover { background: var(--default-hover); }
#view-insights .insights-rank { color: var(--muted); font: var(--type-label-sm); }
#view-insights .insights-top-post { min-width: 0; display: flex; align-items: center; gap: var(--space-5); }
#view-insights .insights-top-post > span:last-child { min-width: 0; }
#view-insights .insights-top-post b, #view-insights .insights-top-post small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-insights .insights-top-post b { color: var(--foreground); font: var(--type-body-md); }
#view-insights .insights-top-post small { color: var(--muted); font: var(--type-micro); }
#view-insights .insights-top-row > strong { font: var(--type-label-sm); font-variant-numeric: tabular-nums; }
#view-insights .insights-top-row .insights-spark { height: 30px; }
#view-insights .insights-breakdown { display: flex; align-items: center; gap: var(--space-8); flex-wrap: wrap; }
#view-insights .insights-donut { position: relative; width: 168px; height: 168px; flex: 0 0 auto; }
#view-insights .insights-donut svg { width: 168px; height: 168px; transform: rotate(-90deg); }
#view-insights .insights-donut circle { fill: none; stroke-width: 20; }
#view-insights .insights-donut .donut-instagram { stroke: var(--platform-instagram); }
#view-insights .insights-donut .donut-facebook { stroke: var(--platform-facebook); }
#view-insights .insights-donut .donut-pinterest { stroke: var(--platform-pinterest); }
#view-insights .insights-donut .donut-tiktok { stroke: var(--muted); }
#view-insights .insights-donut > span { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
#view-insights .insights-donut b { display: block; font: var(--type-metric-sm); font-variant-numeric: tabular-nums; }
#view-insights .insights-donut small { display: block; color: var(--muted); font: var(--type-micro); }
#view-insights .insights-split { flex: 1; min-width: 220px; display: grid; gap: var(--space-6); }
#view-insights .insights-split-row { display: grid; grid-template-columns: 22px minmax(80px, 1fr) 42px 52px 58px; gap: var(--space-5); align-items: center; font: var(--type-body-md); }
#view-insights .insights-split-row b { font: var(--type-label); font-variant-numeric: tabular-nums; }
#view-insights .insights-split-row > span:nth-of-type(2), #view-insights .insights-split-row small { color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }
#view-insights .insights-best { margin-left: auto; padding: 5px 12px; color: var(--highlight-soft-foreground); background: var(--highlight-soft); border-radius: var(--radius-pill); font: var(--type-label-sm); }
#view-insights .insights-heat-scroll { min-width: 0; overflow-x: auto; padding: 2px; }
#view-insights .insights-heat { min-width: 820px; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: var(--space-4); }
#view-insights .insights-heat-labels { display: grid; grid-template-columns: repeat(12, 1fr); color: var(--muted); font: var(--type-micro); }
#view-insights .insights-heat-day { align-self: center; color: var(--muted); font: var(--type-micro); }
#view-insights .insights-heat-hours { display: grid; grid-template-columns: repeat(24, 1fr); gap: 2px; }
#view-insights .insights-heat-cell { height: 20px; background: color-mix(in oklab, var(--plume-cyan) var(--heat), var(--surface)); border-radius: 3px; }
#view-insights .insights-heat-cell.is-best { box-shadow: 0 0 0 2px var(--plume-cyan); }
#view-insights .insights-heat-key { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-4); color: var(--muted); font: var(--type-micro); }
#view-insights .insights-heat-key i { flex: 0 0 160px; height: 8px; background: linear-gradient(90deg, color-mix(in oklab, var(--plume-cyan) 8%, var(--surface)), var(--plume-cyan)); border-radius: 4px; }
#view-insights .insights-detail { margin-top: var(--space-8); }

@media (max-width: 720px) {
  #view-insights .insights-metrics { grid-template-columns: 1fr; }
  #view-insights .insights-pair { grid-template-columns: minmax(0, 1fr); }
  #view-insights .insights-panel { padding: var(--space-6); }
  #view-insights .insights-chart-legend { width: 100%; margin-left: 0; gap: var(--space-5); }
  #view-insights .insights-dates span:nth-child(even) { display: none; }
  #view-insights .insights-top-row { grid-template-columns: 18px minmax(0, 1fr) 24px 48px; gap: var(--space-4); }
  #view-insights .insights-top-row > .insights-spark { display: none; }
  #view-insights .insights-split-row { grid-template-columns: 22px minmax(80px, 1fr) 40px 48px; gap: var(--space-4); }
  #view-insights .insights-split-row small { display: none; }
}

/* EDM Studio keeps the complete campaign lifecycle, expressed with the packaged dark-studio primitives. */
#view-edm .edm-list { display: grid; gap: var(--space-4); }
#view-edm .edm-row {
  min-height: 82px; grid-template-columns: 104px minmax(0, 1fr) auto; gap: var(--space-5); padding: var(--space-4);
  color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: none;
}
#view-edm .edm-row:hover { border-color: var(--highlight); background: var(--surface-hover); box-shadow: var(--glow-cyan); }
#view-edm .edm-row > img, #view-edm .edm-row-placeholder { width: 104px; height: 64px; border-radius: var(--radius-lg); background: var(--surface-secondary); }
#view-edm .edm-row-copy { gap: var(--space-2); }
#view-edm .edm-row-copy strong { color: var(--foreground); font: var(--type-card-title); }
#view-edm .edm-row-copy small { color: var(--muted); font: var(--type-body-sm); }
#view-edm .edm-work-head { gap: var(--space-5); padding: 0 0 var(--space-6); margin-bottom: var(--space-6); border-color: var(--separator); }
#view-edm .edm-work-head strong { color: var(--foreground); font: var(--type-card-title); }
#view-edm .edm-work-head small { color: var(--muted); font: var(--type-micro); }
#view-edm .edm-steps { display: grid; gap: var(--space-6); }
#view-edm .edm-panel { padding: var(--space-7); color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-2xl); box-shadow: none; }
#view-edm .edm-panel.edm-disabled { opacity: var(--disabled-opacity); }
#view-edm .edm-panel-head { margin-bottom: var(--space-6); gap: var(--space-4); }
#view-edm .edm-panel-head > div { gap: var(--space-4); }
#view-edm .edm-panel-head h3 { color: var(--foreground); font: var(--type-panel-title); }
#view-edm .edm-step-number { width: 30px; height: 30px; color: var(--highlight-foreground); background: var(--highlight); font: var(--type-label-sm); box-shadow: var(--glow-cyan); }
#view-edm .edm-form-grid { gap: var(--space-5); }
#view-edm .edm-field { gap: var(--space-3); color: var(--muted); font: var(--type-label-sm); }
#view-edm .edm-field input, #view-edm .edm-field textarea, #view-edm .edm-field select, #view-edm .edm-catalog-search input {
  padding: var(--space-4) var(--space-5); color: var(--field-foreground); background: var(--field-background);
  border: var(--field-border-width) solid var(--field-border); border-radius: var(--radius-field); box-shadow: var(--field-shadow);
}
#view-edm .edm-field input:focus, #view-edm .edm-field textarea:focus, #view-edm .edm-field select:focus, #view-edm .edm-catalog-search input:focus { outline: 0; outline-offset: 0; border-color: var(--field-border); box-shadow: var(--field-shadow); }
#view-edm .edm-section-composer, #view-edm .edm-assets { margin-top: var(--space-7); padding-top: var(--space-6); border-color: var(--separator); }
#view-edm .edm-subhead, #view-edm .edm-assets-head { gap: var(--space-5); margin-bottom: var(--space-5); }
#view-edm .edm-subhead strong, #view-edm .edm-assets-head strong { color: var(--foreground); font: var(--type-label); }
#view-edm .edm-subhead span, #view-edm .edm-assets-head span { color: var(--muted); font: var(--type-body-sm); }
#view-edm .edm-section-list { gap: var(--space-4); }
#view-edm .edm-content-section { padding: var(--space-6); color: var(--foreground); background: var(--surface-secondary); border: 1px solid var(--border); border-radius: var(--radius-xl); }
#view-edm .edm-section-head { gap: var(--space-4); margin-bottom: var(--space-5); }
#view-edm .edm-section-head > img, #view-edm .edm-section-placeholder { border-radius: var(--radius-lg); background: var(--surface-tertiary); }
#view-edm .edm-section-head strong { color: var(--foreground); font: var(--type-label); }
#view-edm .edm-section-head small { color: var(--muted); font: var(--type-body-sm); }
#view-edm .edm-actions { gap: var(--space-4); margin-top: var(--space-6); }
#view-edm .edm-brief-result { margin-top: var(--space-6); padding: var(--space-6); color: var(--foreground); background: var(--highlight-soft); border: 1px solid color-mix(in oklab, var(--plume-cyan) 24%, transparent); border-radius: var(--radius-lg); }
#view-edm .edm-brief-result strong { color: var(--foreground); font: var(--type-card-title); }
#view-edm .edm-brief-result p, #view-edm .edm-brief-result dl { color: var(--foreground); font: var(--type-body-md); }
#view-edm .edm-preview-frame { margin-top: var(--space-7); padding: var(--space-5); background: var(--surface-secondary); border: 1px solid var(--border); border-radius: var(--radius-xl); }
#view-edm .edm-preview-frame iframe { border-radius: var(--radius-lg); }
#view-edm .edm-catalog-body { scrollbar-gutter: stable; }
#view-edm .edm-catalog-tile { gap: var(--space-3); padding: var(--space-4); color: var(--foreground); background: var(--surface); border-color: var(--border); border-radius: var(--radius-lg); }
#view-edm .edm-catalog-tile:hover { background: var(--surface-hover); border-color: var(--border-secondary); }
#view-edm .edm-catalog-tile.selected { border-color: var(--highlight); box-shadow: var(--ring-selected); }
#view-edm .edm-catalog-tile > img, #view-edm .edm-catalog-placeholder { border-radius: var(--radius-md); background: var(--surface-secondary); }
#view-edm .edm-catalog-tile strong { color: var(--foreground); font: var(--type-label-sm); }
#view-edm .edm-catalog-tile small, #view-edm .edm-catalog-placeholder { color: var(--muted); font: var(--type-micro); }

@media (min-width: 901px) {
  #view-calendar > .screen-head, #view-calendar > .plan-switcher, #view-calendar > .modal-hint { display: none; }
  #view-calendar .cal-toolbar { margin-top: 0; padding-top: 0; }
  #view-calendar .cal-range { color: var(--foreground); font: var(--type-page-title); }
  body[data-current-view="post"] #readiness-notice,
  body[data-current-view="insights"] #readiness-notice,
  body[data-current-view="leaderboard"] #readiness-notice,
  body[data-current-view="edm"] #readiness-notice { display: none; }
  body[data-current-view="post"] #view-post,
  body[data-current-view="insights"] #view-insights,
  body[data-current-view="leaderboard"] #view-leaderboard,
  body[data-current-view="edm"] #view-edm { width: 100%; max-width: none; padding: var(--space-9); }
  body[data-current-view="post"] .editor-wrap { max-width: none; }
  body[data-current-view="post"] .card.editor-card { grid-template-columns: minmax(300px, .9fr) minmax(620px, 2fr); }
}

/* ---------- Mobile: the same chosen appearance, not a compressed desktop ---------- */
@media (max-width: 900px) {
  .mobile-workspace-field { display: grid; gap: var(--space-3); color: var(--muted); font: var(--type-body); text-transform: none; letter-spacing: normal; }
  .mobile-workspace-field .workspace-menu { width: 100%; }
  .mobile-workspace-field .workspace-menu > summary { width: 100%; min-height: 44px; padding: 0 var(--space-5); color: var(--foreground); background: var(--surface); border: 1px solid var(--field-border); border-radius: var(--radius-md); font: var(--type-label); text-transform: none; letter-spacing: normal; }
  .mobile-workspace-field .workspace-menu-popover { position: fixed; z-index: 90; top: calc(var(--topbar-h) + var(--space-3)); left: var(--space-5); right: var(--space-5); width: auto; max-height: calc(100dvh - var(--topbar-h) - 120px); }
  .app-shell { display: block; min-height: 100dvh; }
  .rail {
    position: fixed; inset: auto 0 0 0; z-index: 70; width: 100%; height: calc(74px + env(safe-area-inset-bottom));
    padding: 0 0 env(safe-area-inset-bottom); overflow: visible; background: var(--surface); border-top: 1px solid var(--separator); box-shadow: var(--overlay-shadow);
  }
  .rail.collapsed { width: 100%; padding: 0 0 env(safe-area-inset-bottom); }
  .rail.collapsed .rail-nav { padding: 0; }
  .rail.collapsed .rail-item { justify-content: center; padding: 9px 0 8px; }
  .rail.collapsed .rail-label { display: block; }
  .rail-head, .rail-fill, .rail-user, .rail-toggle, .mobile-secondary { display: none !important; }
  .rail-nav { height: 74px; padding: 0; display: flex; flex-direction: row; align-items: flex-end; gap: 0; overflow: visible; }
  .rail-item { flex: 1; min-width: 0; height: 68px; padding: 9px 0 8px; display: grid; justify-items: center; align-content: center; gap: 4px; border-radius: 0; color: var(--muted); }
  .rail-item .rail-label { display: block; font: var(--type-micro); font-size: 10px; }
  .rail-item .rail-label[data-mobile-label] { font-size: 0; }
  .rail-item .rail-label[data-mobile-label]::after { content: attr(data-mobile-label); font: var(--type-micro); font-size: 10px; }
  .rail-item.active { color: var(--plume-cyan); background: transparent; box-shadow: none; }
  .rail-item.active::before { content: ""; position: absolute; left: 50%; top: auto; bottom: 2px; width: 22px; height: 2px; border-radius: 1px; background: var(--plume-cyan); box-shadow: var(--glow-cyan); transform: translateX(-50%); }
  .rail-icon, .rail-icon svg { width: 22px; height: 22px; }
  .rail.collapsed .mobile-create-trigger, .mobile-create-trigger { display: grid; position: relative; z-index: 2; flex: 0 0 76px; align-content: end; padding: 9px 0 8px; overflow: visible; }
  .mobile-create-trigger .rail-icon { position: absolute; top: -22px; left: 50%; width: 56px; height: 56px; margin: 0; border-radius: 50%; background: var(--cyan-sweep); color: var(--plume-navy-900); box-shadow: var(--glow-cyan-strong); transform: translateX(-50%); }
  .mobile-create-trigger .rail-icon svg { width: 24px; height: 24px; }
  .mobile-create-trigger:hover { background: transparent; }
  .app-main { min-height: 100dvh; padding-bottom: calc(74px + env(safe-area-inset-bottom)); background: var(--ambient); }
  .plume-topbar { display: none; }
  .topbar-workspace, .global-search, #topbar-notifications, .topbar-user, .mobile-plume-title, .mobile-shell-more { display: none; }
  .mobile-context-bar { position: sticky; z-index: 65; top: 0; min-height: 66px; padding: var(--space-3) var(--space-5); display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: var(--space-4); background: color-mix(in oklab, var(--ambient) 92%, transparent); border-bottom: 1px solid var(--separator); backdrop-filter: blur(16px); }
  .mobile-context-copy { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-4); }
  #mobile-view-title { color: var(--muted); font: var(--type-label-sm); white-space: nowrap; }
  .mobile-context-copy .mobile-workspace-field { min-width: 0; }
  .mobile-context-copy .mobile-workspace-field .workspace-menu > summary { min-width: 0; min-height: 42px; }
  .mobile-more-menu { position: fixed; z-index: 80; left: var(--space-5); right: auto; top: 60px; bottom: auto; width: min(280px, calc(100vw - (2 * var(--space-5)))); max-height: calc(100dvh - 146px); overflow: auto; padding: var(--space-5); color: var(--overlay-foreground); border: 0; border-radius: var(--radius-xl); background: var(--overlay); box-shadow: var(--overlay-shadow); }
  .mobile-more-menu button { width: 100%; min-height: 48px; justify-content: flex-start; color: var(--overlay-foreground); border-radius: var(--radius-md); }
  .mobile-more-menu button:hover, .mobile-more-menu button:focus-visible { color: var(--overlay-foreground); background: var(--default-hover); }
  .mobile-more-menu button.active { color: var(--highlight-soft-foreground); background: var(--highlight-soft); box-shadow: inset 2px 0 0 var(--plume-cyan); }
  .app-main > .view { width: 100%; padding: var(--space-6) var(--space-5) var(--space-11); }
  .pipe-sticky-controls { top: 66px; margin: calc(-1 * var(--space-6)) calc(-1 * var(--space-5)) var(--space-5); padding: var(--space-6) var(--space-5) var(--space-4); }
  button, input, select { min-height: var(--tap-target); }
  .readiness-notice { display: none; }
  .screen-head { align-items: center; flex-wrap: nowrap; min-height: 44px; margin-bottom: var(--space-6); }
  .screen-head .screen-title { flex: 1 1 auto; font-size: 30px; }
  .screen-head .spacer { display: none; }
  .screen-head > button { flex: 1 1 auto; }
  #view-pipeline > .pipe-interaction-hint { display: none; }
  #view-library > .screen-head .screen-title, #view-requests > .screen-head .screen-title,
  #view-edm > .screen-head .screen-title, #view-planner > .screen-head .screen-title,
  #view-insights .screen-title { display: block; }
  #today-new-content, #cal-new-content, #pipe-new-content { display: none; }
  .today-screen-head { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: var(--space-4); margin-bottom: var(--space-6); }
  .today-mobile-logo { display: block; width: 44px; height: 44px; min-height: 44px; padding: 0; overflow: hidden; background: transparent; border: 0; border-radius: 50%; }
  .today-mobile-logo img { width: 44px; height: 44px; object-fit: contain; }
  .today-mobile-salutation { display: block; color: var(--muted); font: var(--type-body); }
  .today-greeting-copy { display: grid; gap: 1px; }
  #today-greeting { font-size: 28px; line-height: 1; }
  #today-greeting::before { content: none; }
  .today-date { max-width: 112px; margin: 0; text-align: right; font: var(--type-body-sm); }
  .today-date { display: grid; gap: 2px; font-size: inherit; }
  .today-date::before { content: none; }
  .today-date span:last-child { color: var(--muted); }
  .today-stats { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); overflow: visible; }
  .today-stat-card { min-width: 0; min-height: 120px; padding: var(--space-5); gap: var(--space-3); }
  .today-stat-head { min-width: 0; display: grid; align-content: start; gap: var(--space-2); }
  .today-stat-head .stat-n { font: var(--type-metric-sm); }
  .today-stat-head .stat-label { min-width: 0; font-size: 0; }
  .today-stat-head .stat-label::after { content: attr(data-mobile-label); display: block; color: var(--foreground); font: var(--type-micro); line-height: 1.25; overflow-wrap: anywhere; }
  .today-stat-context, .today-stat-breakdown { display: none; }
  .today-stat-link { width: 32px; min-width: 32px; min-height: 32px; align-self: end; margin-top: auto; font-size: 0; }
  .today-stat-link::after { content: "→"; font: var(--type-label); }
  .today-priority-grid { margin-top: var(--space-6); grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .today-next-action { min-height: 0; margin-top: 0; padding: var(--space-7); grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-5); background: var(--surface); border-color: color-mix(in oklab, var(--plume-cyan) 24%, transparent); }
  .today-next-copy strong { font-size: 28px; }
  .today-next-previews { width: 90px; height: 106px; }
  .today-next-preview { right: calc(var(--preview-index) * 30px); width: 58px; height: 82px; border-width: 3px; }
  .today-next-action > button { grid-column: 1 / -1; width: 100%; min-height: 48px; }
  .today-week { margin: var(--space-7) 0 0; padding: 0 0 var(--space-7); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .today-week-head { padding: 0; }
  .today-upcoming-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); overflow: visible; padding: 0; }
  .today-upcoming-card { width: 100%; min-width: 0; background: var(--surface); }
  .today-upcoming-card:nth-child(n + 5) { display: none; }
  .today-upcoming-media { height: auto; aspect-ratio: 4 / 5; }
  .today-upcoming-caption { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; }
  .today-week-chart-label, .today-week .week-bars { display: none; }
  .today-health { margin-top: var(--space-7); padding: var(--space-7); }
  .today-priority-grid .today-health { margin-top: 0; }
  .today-health-metric { align-items: flex-end; }
  .today-health-metric > span:first-child { display: grid; gap: var(--space-2); }
  .today-health-legend { align-items: flex-start; font: var(--type-micro); }
  .today-health-coverage .coverage-summary { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .today-health-coverage .coverage-cta { margin-left: 52px; }
  .fail-row { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: start; gap: var(--space-4); }
  .fail-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .fail-actions button { width: 100%; }
  .fail-actions button:last-child { grid-column: 1 / -1; }
  .today-inline-alerts .fail-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .today-inline-alerts .fail-actions button:last-child { grid-column: 1 / -1; }
  .today-inline-alerts .today-failures-error { align-items: stretch; flex-direction: column; }
  .today-inline-alerts .today-failures-error button { width: 100%; }
  .today-dashboard-cards { grid-template-columns: minmax(0, 1fr); }
  .today-dashboard-card { padding: var(--space-6); }
  .recent-head { align-items: stretch; flex-direction: column; }
  .recent-ranges { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .recent-list { grid-template-columns: minmax(0, 1fr); }
  .recent-row { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .recent-thumb { width: 52px; height: 52px; }
  .pipe-board { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--space-4); }
  .pipe-stage-picker { width: 100%; display: flex; gap: 3px; overflow-x: auto; padding: 3px; scroll-snap-type: x proximity; }
  .pipe-stage-picker > * { flex: 0 0 auto; scroll-snap-align: start; }
  .pipe-stage-picker .lib-chip { border-radius: var(--radius-sm); }
  .pipe-stage-picker .pipe-stage-all { display: none; }
  .pipe-sticky-controls .screen-head > div:first-child { min-width: 0; flex: 1 1 auto; }
  #view-pipeline .pipe-sort-control { min-width: 0; flex: 0 0 96px; }
  #view-pipeline .pipe-sort-control .lib-sort-menu,
  #view-pipeline .pipe-sort-control .lib-sort-menu > summary { width: 96px; max-width: 96px; white-space: nowrap; }
  #pipe-sort-menu-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .pipe-board { display: block; overflow: visible; padding: 0; }
  .pipe-col { display: none; min-width: 0; width: 100%; }
  .pipe-col.mobile-stage-active { display: grid; gap: var(--space-5); min-height: 0; padding: 0; background: transparent; }
  .pipe-col .pipe-colhead { display: none; }
  .pipe-card { margin: 0; padding: var(--space-5); display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: var(--space-5); overflow: visible; border: 1px solid var(--separator); border-radius: var(--radius-xl); }
  .pipe-card-preview { display: contents; }
  .pipe-media { width: 74px; height: 92px; border-radius: var(--radius-md); }
  .pipe-publishing-variants { right: 2px; bottom: 2px; flex-direction: column; align-items: flex-end; gap: 2px; }
  .pipe-publishing-variant { min-height: 20px; padding: 1px 4px; gap: 3px; }
  .pipe-publishing-variant .platform-mark { width: 13px; height: 13px; }
  .pipe-cardbody { min-width: 0; padding: 0; gap: var(--space-3); }
  .pipe-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .pipe-sub { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .pipe-card-actions { position: static; grid-column: 2; padding: 0; gap: var(--space-4); }
  .pipe-card-actions .pipe-move { width: 100%; min-width: 0; min-height: 44px; color: var(--foreground); background: var(--surface-secondary); border-color: var(--border); border-radius: var(--radius-md); font: var(--type-button-sm); letter-spacing: normal; }
  .pipe-actions-desktop { display: none; }
  .pipe-actions-mobile { display: inline; }
  .cal-months { display: block; }
  #view-calendar > .screen-head, #view-calendar > .plan-switcher, #view-calendar > .modal-hint,
  #view-calendar > .micro-label, #view-calendar > #cal-brand-chips,
  #view-calendar > #cal-continuity { display: none !important; }
  #view-calendar .cal-toolbar { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: var(--space-4); margin: 0 0 var(--space-5); padding: 0; }
  #view-calendar .cal-toolbar .seg { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
  #view-calendar .cal-toolbar .seg-btn:first-child { display: none; }
  #view-calendar .cal-toolbar .cal-nav-btn[aria-label="Earlier"] { grid-column: 1; grid-row: 1; }
  #view-calendar .cal-toolbar .cal-range { grid-column: 2; grid-row: 1; min-height: 44px; text-align: center; }
  #view-calendar .cal-toolbar .cal-nav-btn[aria-label="Later"] { grid-column: 3; grid-row: 1; }
  #view-calendar .cal-print-btn { display: none; }
  #view-calendar .cal-toolbar-actions { display: none; }
  .cal-note.plan-empty { align-items: stretch; flex-direction: column; }
  #cal-coverage { margin-bottom: var(--space-5); padding: var(--space-5); grid-template-columns: 34px minmax(0, 1fr); gap: var(--space-4); }
  .cal-planning-tip-icon { width: 34px; height: 34px; }
  .cal-planning-tip-action { grid-column: 2; justify-self: start; }
  .cal-note.plan-empty .plan-state-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .cal-note.plan-empty .plan-state-actions > * { width: 100%; min-height: 44px; }
  #view-calendar .cal-grid.mode-month > .plan-empty { display: none; }
  .cal-month { background: transparent; border: 0; box-shadow: none; }
  .cal-mhead { display: none; }
  #view-calendar .cal-grid.mode-month { overflow: visible; }
  .cal-mgrid { min-width: 0; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: minmax(58px, auto); gap: var(--space-2); padding: var(--space-5) 0; background: transparent; border: 0; box-shadow: none; }
  .cal-mdow { color: var(--muted); background: transparent; border: 0; font: var(--type-micro); }
  .cal-mday { min-height: 56px; padding: var(--space-2); background: transparent; border: 0; border-radius: var(--radius-lg); }
  .cal-mday.today { border: 0; box-shadow: none; }
  .cal-mday.today .cal-mnum { color: var(--foreground); }
  .cal-mday:hover { background: var(--default-hover); }
  .cal-mday.selected .cal-mnum, .cal-mday.today.selected .cal-mnum { color: var(--highlight-foreground); background: var(--highlight); box-shadow: var(--glow-cyan); }
  .cal-mnum { width: 32px; height: 32px; display: grid; place-items: center; margin: 0 auto; border-radius: var(--radius-pill); font: var(--type-label); }
  .cal-mposts { display: contents; }
  .cal-mchip { display: inline-flex; width: 7px; min-width: 7px; min-height: 7px; margin: 1px; padding: 0; border: 0; border-radius: 50%; box-shadow: none; font-size: 0; vertical-align: top; }
  .cal-mchip .cal-dot { width: 7px; height: 7px; }
  .cal-mchip > :not(.cal-dot) { display: none; }
  .cal-more, .cal-occ-row { font-size: 0; min-height: 7px; padding: 0; }
  .mobile-month-agenda { display: grid; gap: var(--space-4); margin-top: var(--space-7); padding-top: var(--space-6); border-top: 1px solid var(--separator); }
  .mobile-month-agenda-head { display: flex; align-items: flex-start; }
  .mobile-month-agenda-head > div { display: grid; gap: var(--space-2); }
  .mobile-month-agenda-head strong { color: var(--foreground); font: var(--type-screen-title); }
  .mobile-month-agenda-head span { color: var(--muted); font: var(--type-body-md); }
  .mobile-month-agenda-row { width: 100%; min-height: 92px; display: grid; grid-template-columns: 52px 66px minmax(0, 1fr); align-items: center; gap: var(--space-4); padding: var(--space-4); text-align: left; color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); }
  .mobile-month-agenda-time { color: var(--highlight-soft-foreground); font: var(--type-label-sm); font-variant-numeric: tabular-nums; }
  .mobile-month-agenda-thumb { width: 66px; height: 66px; overflow: hidden; border-radius: var(--radius-md); }
  .mobile-month-agenda-thumb img { width: 100%; height: 100%; object-fit: contain; }
  .mobile-month-agenda-copy { min-width: 0; display: grid; gap: var(--space-2); }
  .mobile-month-agenda-copy small { color: var(--muted); font: var(--type-micro); }
  .mobile-month-agenda-copy strong { overflow: hidden; color: var(--foreground); font: var(--type-body-md); text-overflow: ellipsis; white-space: nowrap; }
  #view-library > .screen-head { align-items: center; }
  #view-library > .screen-head > .spacer, #view-library .lib-collection-menu, #view-library .lib-view-toggle { display: none; }
  #view-library > .screen-head .screen-title { flex: 1; font-size: 0; }
  #view-library > .screen-head .screen-title::before { content: "Library"; font: var(--type-screen-title); font-size: 30px; }
  #view-library #lib-scope { display: none; }
  .lib-mobile-actions { display: flex; align-items: center; gap: var(--space-2); }
  .lib-mobile-actions button { min-width: 44px; min-height: 44px; padding: 0 var(--space-3); color: var(--foreground); background: transparent; border: 0; font: var(--type-label); }
  .lib-mobile-actions button svg { width: 22px; height: 22px; display: block; }
  .lib-mobile-actions button:last-child { color: var(--highlight-soft-foreground); }
  #view-library #lib-add { display: none; }
  #view-library > .modal-hint, #view-library > .lib-drop-zone, #view-library > .micro-label, #view-library > #lib-status-label { display: none; }
  #view-library .lib-source-nav { margin-bottom: var(--space-5); }
  #view-library .lib-source-nav .lib-source-chips { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); overflow: visible; }
  #view-library .lib-source-nav .tab { min-height: 42px; padding-inline: var(--space-3); }
  #view-library #lib-filters { order: 0; display: flex; flex-wrap: nowrap; gap: var(--space-3); overflow: hidden; margin-bottom: var(--space-5); }
  #view-library #lib-filters .lib-chip { flex: 1 1 0; min-width: 0; padding-inline: var(--space-3); border-radius: var(--radius-pill); }
  #view-library #lib-filters .lib-count { display: none; }
  #view-library #lib-filters .lib-chip:nth-child(n + 5) { display: none; }
  #view-library #lib-uploaders, #view-library #lib-uploaders-label { display: none !important; }
  #view-library .lib-search-tools { display: none; }
  #view-library.lib-mobile-tools-open .lib-search-tools { display: grid; }
  .lib-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
  .lib-grid.is-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .lib-grid .lib-tile { min-height: 0; height: auto; aspect-ratio: 4 / 5; border-radius: var(--radius-md); box-shadow: none; }
  .lib-grid .lib-thumb { width: 100%; height: 100%; border-radius: inherit; }
  .lib-grid .lib-name, .lib-grid .lib-badge, .lib-grid .lib-more, .lib-grid .lib-evergreen-toggle, .lib-grid .lib-evergreen-status { display: none; }
  .lib-grid .lib-check { display: none; top: var(--space-2); left: var(--space-2); }
  #view-library.lib-mobile-selecting .lib-grid .lib-check { display: block; }
  .lib-view-toggle { display: none; }
  .lib-grid.is-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .lib-grid.is-list .lib-tile { height: auto; min-height: 0; aspect-ratio: 4 / 5; display: block; border: 0; border-radius: var(--radius-md); box-shadow: none; overflow: hidden; }
  .lib-grid.is-list .lib-thumb { width: 100%; height: 100%; border-radius: var(--radius-md); }
  .lib-grid.is-list .lib-name { display: none; }
  .lib-grid.is-list .lib-list-details { display: none; }
  .lib-grid.is-list .lib-badge { position: absolute; left: 7px; right: 7px; bottom: 62px; margin: 0; }
  .lib-grid.is-list .lib-kind { left: 7px; top: 7px; }
  .planner-scope-panel { padding: var(--space-5); align-items: stretch; }
  .planner-scope-copy { min-width: 0; }
  #planner-brand-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
  #planner-brand-chips .tab { flex: 0 0 auto; }
  .planner-store-grid { grid-template-columns: minmax(0, 1fr); }
  .planner-store-metrics span { padding: var(--space-3); }
  .lib-grid.is-list .lib-more { top: 7px; right: 7px; }
  .lib-grid.is-list .lib-more-with-evergreen { right: 38px; }
  .lib-grid.is-list .lib-evergreen-toggle, .lib-grid.is-list .lib-evergreen-status { top: 7px; right: 7px; }
  .lib-drop-zone { min-height: 0; padding: var(--space-6); justify-content: flex-start; }
  .lib-drop-icon { width: 44px; height: 44px; }
  .lib-search-tools { grid-template-columns: 1fr; padding: var(--space-4); }
  .lib-result-tools { align-items: stretch; flex-wrap: wrap; margin-top: 0; }
  .lib-publication-filter { width: 100%; }
  .lib-publication-filter button { min-width: 0; flex: 1 1 0; }
  .lib-result-tools > span { align-self: center; }
  .lib-product-toolbar { align-items: stretch; flex-direction: column; }
  .lib-product-toolbar .lib-product-search { width: 100%; min-width: 0; flex-basis: auto; }
  .lib-product-sort-control, .lib-product-sort-control .lib-sort-menu, .lib-product-sort-control .lib-sort-menu > summary { width: 100%; }
  .lib-sort-label { justify-content: space-between; }
  .lib-sort-menu, .lib-sort-menu > summary { width: 100%; max-width: 100%; }
  .lib-sort-popover { left: 0; right: auto; width: min(100%, 260px); }
  body[data-current-view="post"] .mobile-context-bar, body[data-current-view="post"] #rail { display: none !important; }
  body[data-current-view="post"] .app-main { padding-bottom: 0; }
  body[data-current-view="post"] #view-post { padding: 0 var(--space-5) var(--space-8); }
  #view-post .editor-bar { position: sticky; z-index: 64; top: 0; min-height: 60px; margin: 0 calc(-1 * var(--space-5)) var(--space-5); padding: var(--space-3) var(--space-5); flex-wrap: wrap; background: color-mix(in oklab, var(--ambient) 94%, transparent); border-bottom: 1px solid var(--separator); backdrop-filter: blur(16px); }
  #view-post .editor-bar .ed-brand { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #view-post .editor-bar .ed-status { flex: none; }
  #view-post .editor-bar .ed-delivery-summary { order: 10; flex: 1 0 100%; padding: var(--space-3); }
  #view-post .editor-bar .ed-delivery-metrics { padding-top: var(--space-2); border-top: 1px solid var(--separator); }
  #view-post .card.editor-card { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  #view-post .ed-left, #view-post .card.editor-card .card-body.ed-right { display: contents; }
  #view-post .ed-media { display: none; }
  #view-post .ed-original-preview { order: 1; width: 100%; align-self: stretch; }
  #view-post .ed-original-preview > .ed-field-label { display: none !important; }
  #view-post .ed-original-stage { height: min(52dvh, 420px); min-height: 280px; }
  #view-post .ed-original-meta { margin-bottom: var(--space-4); }
  #view-post .ed-original-analysis { margin: 0 0 var(--space-5); }
  #view-post .ed-title { order: 2; margin-top: 0; }
  #view-post .ed-subtitle { order: 3; margin-bottom: var(--space-4); }
  #view-post .quality-issues, #view-post .error-line { order: 5; }
  #view-post .ed-adjust { order: 6; }
  #view-post .ed-logo { order: 7; }
  #view-post .ed-workspace-actions { order: 8; }
  #view-post .copy-fields { order: 9; margin-top: var(--space-3); padding-top: var(--space-6); border-top: 1px solid var(--separator); }
  #view-post .card-actions { position: sticky; z-index: 63; bottom: 0; order: 10; margin: var(--space-6) calc(-1 * var(--space-5)) 0; padding: var(--space-4) var(--space-5); display: flex; flex-wrap: wrap; gap: var(--space-3); background: color-mix(in oklab, var(--overlay) 96%, transparent); border-top: 1px solid var(--separator); box-shadow: 0 -12px 24px -18px rgb(0 0 0 / .85); backdrop-filter: blur(16px); }
  #view-post .card-actions button:not(.hidden) { flex: 1 1 0; min-width: 0; min-height: 48px; padding-inline: var(--space-3); }
  #view-post .card-actions .save-note { flex-basis: 100%; }
  #view-post .ed-framing { order: 11; margin: var(--space-7) 0 0; padding-top: var(--space-6); border-top: 1px solid var(--separator); }
  #view-post .ed-product-label { order: 12; margin-top: var(--space-7); padding-top: var(--space-6); border-top: 1px solid var(--separator); }
  #view-post .link-row { order: 13; }
  #view-post .ed-location { order: 14; margin-top: var(--space-5); }
  #view-post .ed-workspace-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-block: var(--space-6); padding-top: var(--space-5); }
  #view-post .ed-workspace-actions .ed-micro { grid-column: 1 / -1; }
  #view-post .ed-workspace-actions > button { min-width: 0; min-height: 52px; padding-inline: var(--space-3); white-space: normal; }
  #view-post .ed-rendition-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  #view-post .ed-rendition { min-width: 0; min-height: 64px; align-items: flex-start; padding: var(--space-4); }
  #view-post .ed-rendition-name, #view-post .ed-rendition-ratio { overflow-wrap: anywhere; }
  #view-post .ed-panel { gap: var(--space-5); }
  #view-post .ed-preview-col { width: 100%; }
  .settings-layout { display: block; }
  .settings-mobile-layout-hidden { display: none; }
  .settings-tabs { display: none; }
  .settings-select-label, .settings-select { display: none; }
  .settings-mobile-back { display: inline-flex; flex: 0 0 44px; padding: 0; color: var(--highlight-soft-foreground); }
  .settings-mobile-home { display: grid; gap: var(--space-3); }
  .settings-mobile-intro { margin: calc(-1 * var(--space-3)) 0 var(--space-5); color: var(--muted); font: var(--type-body-md); }
  .settings-mobile-row { width: 100%; min-height: 72px; display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; align-items: center; gap: var(--space-5); padding: var(--space-4) var(--space-5); text-align: left; color: var(--foreground); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); }
  .settings-mobile-row-icon { width: 40px; height: 40px; border-radius: var(--radius-lg); background: var(--highlight-soft); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--plume-cyan) 18%, transparent); }
  .settings-mobile-row-icon svg { width: 21px; height: 21px; color: var(--highlight-soft-foreground); }
  .settings-mobile-row > span:nth-child(2) { min-width: 0; display: grid; gap: var(--space-2); }
  .settings-mobile-row strong { font: var(--type-label); }
  .settings-mobile-row small { overflow: hidden; color: var(--muted); font: var(--type-body); text-overflow: ellipsis; white-space: nowrap; }
  .settings-mobile-chevron { color: var(--muted); font-size: 28px; }
  .settings-row:not(.toggle-row) { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .notification-setting-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .settings-content, .settings-brand, .settings-section, .settings-row, .conn-guide, .store-manage-row { min-width: 0; max-width: 100%; }
  .settings-brand input, .settings-brand select, .settings-brand textarea, .settings-section input, .settings-section select, .settings-section textarea { width: 100%; max-width: 100%; }
  .settings-brand button, .settings-section button, .store-manage-actions { max-width: 100%; }
  .settings-brand, .settings-section, .conn-guide { overflow-wrap: anywhere; }
  .store-settings-shell { display: block; }
  .store-settings-directory { position: static; padding: var(--space-3); }
  .store-directory-list { display: flex; gap: var(--space-2); overflow-x: auto; }
  .store-directory-item { min-width: 170px; width: auto; }
  .store-settings-head { margin-top: var(--space-2); display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  .brand-settings-switcher { justify-content: stretch; }
  .brand-settings-field { width: 100%; min-width: 0; }
  .brand-settings-switcher > button { width: 100%; }
  .settings-brand-menu .workspace-menu-popover { width: 100%; }
  .settings-tablist { margin-inline: calc(-1 * var(--space-5)); padding-inline: var(--space-5); scroll-padding-inline: var(--space-5); }
  .store-overview-form .settings-row { grid-template-columns: minmax(0, 1fr); }
  .store-overview-actions { align-items: stretch; flex-direction: column-reverse; }
  .store-overview-actions button { width: 100%; }
  .store-readiness-grid { grid-template-columns: minmax(0, 1fr); }
  .notification-panel { top: 66px; right: var(--space-4); }
  .notification-device-card { grid-template-columns: minmax(0, 1fr); }
  .notification-device-card > button { width: 100%; }
  .notification-setting-row { min-height: 88px; padding: var(--space-5); gap: var(--space-4); }
  .notification-switch-control > span { display: none; }
  #view-leaderboard .lb-head { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-5); }
  #view-leaderboard .lb-head > div:first-child { min-width: 0; }
  #view-leaderboard .lb-weeknav { width: 100%; justify-content: space-between; }
  #view-leaderboard .lb-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  #view-leaderboard .lb-summary article { min-height: 126px; padding: var(--space-5); }
  #view-leaderboard .lb-scoring { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); gap: var(--space-5); }
  #view-leaderboard .lb-rules { grid-template-columns: minmax(0, 1fr); }
  #view-leaderboard .lb-board-section { padding: var(--space-5); }
  #view-leaderboard .lb-list-head { display: none; }
  #view-leaderboard .lb-row { grid-template-columns: 34px 38px minmax(0, 1fr) auto; gap: var(--space-3); padding: var(--space-4); }
  #view-leaderboard .lb-rank { width: 30px; height: 30px; }
  #view-leaderboard .lb-avatar { width: 38px; height: 38px; }
  #view-leaderboard .lb-total { min-width: 50px; font-size: var(--text-lg); }
  #view-leaderboard .lb-breakdown { font-size: var(--text-xs); }
  #view-insights .insights-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  #view-insights .insights-metric { min-height: 154px; padding: var(--space-5); }
  #view-insights .screen-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); }
  #view-insights .screen-head > .screen-title { grid-column: 1; grid-row: 1; }
  #view-insights .screen-head > .spacer { display: none; }
  #view-insights .screen-head > .insights-more { grid-column: 2; grid-row: 1; }
  #view-insights .screen-head > .insights-window-controls { grid-column: 1 / -1; grid-row: 2; width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
  #view-insights .screen-head .modal-hint, #view-insights .screen-head > button { display: none; }
  #view-insights .insights-mode-label, #view-insights .insights-window-label { display: none; }
  #view-insights .insights-mode-controls { margin-bottom: var(--space-4); }
  #view-insights .insights-mode-controls .tab, #view-insights .insights-window-controls .tab { min-height: 38px; padding: 0 var(--space-5); border-radius: var(--radius-pill); }
  #view-insights .insights-window-controls { margin: 0 0 var(--space-6); }
  .pipe-menu, .cal-menu, .lib-tile-menu {
    position: fixed !important; z-index: 86 !important; inset: auto 0 0 0 !important; width: 100% !important;
    max-height: 82dvh; overflow: auto; margin: 0 !important; padding: var(--space-6) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom)) !important;
    color: var(--overlay-foreground); background: var(--overlay); border: 0 !important;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important; box-shadow: 0 -100vh 0 100vh var(--backdrop), var(--overlay-shadow) !important;
  }
  .pipe-menu::before, .cal-menu::before, .lib-tile-menu::before {
    content: ""; display: block; width: 36px; height: 4px; margin: calc(-1 * var(--space-2)) auto var(--space-5);
    border-radius: 2px; background: var(--border-secondary);
  }
  .pipe-menu button, .cal-menu button, .lib-tile-menu button { width: 100%; min-height: 48px; justify-content: flex-start; border-radius: var(--radius-md); }
  .modal-overlay { z-index: 90; align-items: flex-end; padding: 0; }
  .modal {
    width: 100% !important; max-width: none !important; max-height: 84dvh; margin: 0; border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .publishing-media-modal { overflow-y: auto; }
  .publishing-media-modal-stage { height: min(56dvh, 600px); }
  .modal::before { content: ""; display: block; width: 36px; height: 4px; margin: var(--space-4) auto; border-radius: 2px; background: var(--border-secondary); }
  .crop-modal .modal-actions { position: sticky; z-index: 4; bottom: 0; margin: var(--space-6) 0 0; padding: var(--space-4) 0 calc(var(--space-4) + env(safe-area-inset-bottom)); background: var(--overlay); box-shadow: 0 -12px 20px -16px rgb(0 0 0 / .8); }
  .toast-region { left: var(--space-4); right: var(--space-4); bottom: calc(88px + env(safe-area-inset-bottom)); width: auto; }
}

@media (max-width: 359px) {
  #view-post .ed-workspace-actions, #view-post .ed-rendition-list { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 901px) {
  .mobile-more-menu { top: calc(var(--topbar-h) + var(--space-3)); right: var(--space-7); left: auto; bottom: auto; width: 260px; padding: var(--space-4); border: 0; background: var(--overlay); border-radius: var(--radius-xl); box-shadow: var(--overlay-shadow); }
}

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

/* ---------- Authentication ---------- */
.login-page {
  display: block; min-height: 100dvh; padding: 0; background: var(--background); overflow-x: hidden;
}
.login-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr); }
.login-showcase {
  position: relative; min-height: 100dvh; padding: clamp(34px, 5vw, 76px); display: flex; flex-direction: column;
  color: var(--white); background:
    radial-gradient(circle at 70% 22%, rgb(34 200 232 / .22), transparent 28%),
    radial-gradient(circle at 12% 86%, rgb(0 96 176 / .28), transparent 34%),
    linear-gradient(145deg, var(--plume-navy-800) 0%, var(--plume-navy-900) 68%, #020a1e 100%);
  overflow: hidden;
}
.login-showcase::before, .login-showcase::after {
  content: ""; position: absolute; pointer-events: none; border: 1px solid rgb(255 255 255 / .08); border-radius: 50%;
}
.login-showcase::before { width: min(52vw, 720px); aspect-ratio: 1; right: -24%; top: -22%; }
.login-showcase::after { width: min(34vw, 480px); aspect-ratio: 1; left: -18%; bottom: -20%; }
.login-showcase-glow {
  position: absolute; z-index: 0; width: min(34vw, 480px); aspect-ratio: 1; right: 3%; top: 20%;
  border-radius: 50%; background: radial-gradient(circle, rgb(34 200 232 / .12), transparent 68%); filter: blur(10px);
}
.login-brand { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: var(--space-4); width: max-content; margin: 0; }
.login-brand img { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 12px 28px rgb(0 96 176 / .32)); }
.login-brand span { color: var(--white); font: var(--type-wordmark); font-size: 32px; }
.login-showcase-copy { position: relative; z-index: 1; width: min(690px, 100%); margin: auto 0; padding: clamp(58px, 10vh, 110px) 0; }
.login-kicker, .login-form-intro { margin: 0 0 var(--space-4); color: var(--plume-cyan-light); font: var(--type-label); }
.login-showcase h1 { max-width: 680px; margin: 0; color: var(--white); font: var(--type-display); font-size: clamp(44px, 5.1vw, 74px); letter-spacing: var(--tracking-tight); }
.login-showcase-intro { max-width: 610px; margin: var(--space-7) 0 0; color: rgb(255 255 255 / .72); font: var(--type-body-lg); font-size: clamp(16px, 1.35vw, 19px); }
.login-benefits { margin-top: clamp(36px, 6vh, 64px); display: grid; gap: var(--space-5); }
.login-benefit { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: var(--space-4); }
.login-benefit-icon {
  width: 42px; height: 42px; display: grid; place-items: center; color: var(--plume-cyan-light);
  background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .1); border-radius: var(--radius-lg);
}
.login-benefit-icon svg { width: 21px; height: 21px; }
.login-benefit > span:last-child { display: grid; gap: 2px; }
.login-benefit strong { color: var(--white); font: var(--type-label); }
.login-benefit small { color: rgb(255 255 255 / .58); font: var(--type-body); }
.login-showcase-foot { position: relative; z-index: 1; margin: 0; color: rgb(255 255 255 / .48); font: var(--type-body); }
.login-panel {
  min-width: 0; min-height: 100dvh; padding: clamp(28px, 5vw, 72px); display: grid; place-items: center;
  background: var(--ambient, var(--background));
}
.login-card {
  width: min(510px, 100%); padding: clamp(30px, 4vw, 52px); background: color-mix(in oklab, var(--surface) 96%, transparent);
  border: 1px solid var(--border); border-radius: var(--radius-3xl); box-shadow: var(--overlay-shadow); backdrop-filter: blur(18px);
}
.login-panel-brand { display: none; }
.login-card h2 { margin: 0; color: var(--foreground); font: var(--type-title); font-size: clamp(28px, 3vw, 38px); letter-spacing: var(--tracking-tight); }
.login-form-copy { margin: var(--space-4) 0 var(--space-8); color: var(--muted); font: var(--type-body-md); }
.login-card form { margin: 0; }
.login-field { margin-bottom: var(--space-5); color: var(--foreground); font: var(--type-label-sm); }
.login-field span { margin-bottom: var(--space-3); }
.login-field small { display: inline; margin-left: var(--space-2); color: var(--muted); font: var(--type-body-xs); }
.login-card input {
  width: 100%; min-height: 50px; padding: 0 var(--space-5); color: var(--field-foreground); background: var(--field-background);
  border: 1px solid var(--field-border); border-radius: var(--radius-lg); box-shadow: var(--field-shadow); font: var(--type-body-md);
}
.login-card input:hover { border-color: var(--field-border-hover); background: var(--field-hover); }
.login-card input:focus { border-color: var(--field-border-focus); box-shadow: var(--focus-ring); }
.login-card button { min-height: 48px; border-radius: var(--radius-lg); font: var(--type-button); }
.login-card form > button[type="submit"], #enroll-go { margin-top: var(--space-3); }
.login-card form > button + button { margin-top: var(--space-3); }
.login-hint { margin: var(--space-4) 0 var(--space-7); color: var(--muted); font: var(--type-body-md); }
.login-recovery:empty { display: none; }
.login-card .banner-error { margin: var(--space-6) 0 0; padding: var(--space-4) var(--space-5); color: var(--danger-soft-foreground); background: var(--danger-soft); border: 1px solid color-mix(in oklab, var(--danger) 42%, transparent); border-radius: var(--radius-lg); font: var(--type-body); }
.login-retry { margin-top: var(--space-3); }
.login-security { margin: var(--space-7) 0 0; display: flex; align-items: center; justify-content: center; gap: var(--space-3); color: var(--muted); font: var(--type-micro); }
.login-security span { color: var(--success); font-size: 9px; }
.login-splash { min-height: 370px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.login-splash-mark {
  width: 112px; height: 112px; margin-bottom: var(--space-6); display: grid; place-items: center; position: relative;
  border: 1px solid var(--border); border-radius: 50%; background: var(--surface-secondary); box-shadow: var(--glow-cyan);
}
.login-splash-mark::after { content: ""; position: absolute; inset: -9px; border: 1px solid color-mix(in oklab, var(--plume-cyan) 36%, transparent); border-radius: inherit; }
.login-splash-mark img { width: 86px; height: 86px; object-fit: contain; filter: drop-shadow(0 10px 22px rgb(0 96 176 / .24)); }
.login-splash p { margin: var(--space-4) 0 var(--space-7); color: var(--muted); font: var(--type-body-md); }
.login-splash-track { width: min(230px, 72%); height: 3px; position: relative; border-radius: 99px; background: var(--default); overflow: hidden; }
.login-splash-track i { position: absolute; inset: 0 auto 0 0; width: 42%; border-radius: inherit; background: var(--plume-sweep); animation: login-splash-progress 1.6s ease-in-out infinite alternate; }
@keyframes login-splash-progress { from { transform: translateX(-16%); } to { transform: translateX(156%); } }
@media (min-width: 901px) and (max-height: 820px) {
  .login-showcase { padding: clamp(24px, 4vh, 34px) clamp(32px, 4vw, 56px); }
  .login-brand { gap: var(--space-3); }
  .login-brand img { width: 54px; height: 54px; }
  .login-brand span { font-size: 29px; }
  .login-showcase-copy { padding: clamp(20px, 4vh, 34px) 0; }
  .login-showcase h1 { font-size: clamp(40px, 4.4vw, 58px); }
  .login-showcase-intro { margin-top: var(--space-4); }
  .login-benefits { margin-top: var(--space-6); gap: var(--space-3); }
  .login-benefit { grid-template-columns: 38px minmax(0, 1fr); }
  .login-benefit-icon { width: 38px; height: 38px; }
  .login-panel { padding: clamp(20px, 4vh, 32px); }
  .login-card { padding: clamp(28px, 4vh, 36px); }
  .login-splash { min-height: 300px; }
  .login-splash-mark { width: 98px; height: 98px; margin-bottom: var(--space-5); }
  .login-splash-mark img { width: 74px; height: 74px; }
  .login-splash p { margin: var(--space-3) 0 var(--space-5); }
}
@media (max-width: 900px) {
  .login-shell { grid-template-columns: minmax(0, 1fr); }
  .login-showcase { min-height: auto; padding: var(--space-7) var(--space-6) var(--space-8); }
  .login-brand { display: none; }
  .login-showcase-copy { margin: 0; padding: 0; }
  .login-kicker { display: none; }
  .login-showcase h1 { max-width: 560px; font-size: clamp(34px, 8vw, 48px); }
  .login-showcase-intro { margin-top: var(--space-4); font-size: var(--text-sm); }
  .login-benefits, .login-showcase-foot, .login-showcase-glow { display: none; }
  .login-panel { min-height: auto; padding: var(--space-6); place-items: start center; }
  .login-card { padding: var(--space-7); border-radius: var(--radius-2xl); }
  .login-panel-brand { margin-bottom: var(--space-8); display: flex; align-items: center; gap: var(--space-3); color: var(--foreground); font: var(--type-wordmark); font-size: 27px; }
  .login-panel-brand img { width: 50px; height: 50px; object-fit: contain; }
  .login-splash { min-height: 280px; }
}
@media (max-width: 480px) {
  .login-showcase { padding: var(--space-6) var(--space-5) var(--space-7); }
  .login-showcase h1 { font-size: 32px; }
  .login-showcase-intro { line-height: 1.5; }
  .login-panel { padding: var(--space-4); }
  .login-card { padding: var(--space-6); }
  .login-card h2 { font-size: 28px; }
  .login-form-copy { margin-bottom: var(--space-6); }
  .login-panel-brand { margin-bottom: var(--space-6); }
  .login-splash { min-height: 250px; }
  .login-splash-mark { width: 96px; height: 96px; margin-bottom: var(--space-5); }
  .login-splash-mark img { width: 72px; height: 72px; }
  .login-splash p { margin: var(--space-3) 0 var(--space-5); }
}
