/* Shared presentation contract. Astra dark keeps the existing sheet. */
html[data-ui="astra"][data-mode="light"] {
  --hub-bg: #f6f4fb;
  --hub-side: #ffffff;
  --hub-card: #ffffff;
  --hub-text: #1c1630;
  --hub-muted: #655d78;
  --hub-line: #e4dff0;
  --hub-accent: #6d4aff;
  --hub-top: #ffffff;
  --hub-radius: 18px;
  --hub-side-w: 264px;
}
html[data-ui="bento"][data-mode="dark"] {
  --hub-bg: #14110e; --hub-side: #1c1814; --hub-card: #241f19; --hub-text: #f7f1e8; --hub-muted: #b7ab9c;
  --hub-line: #3c342b; --hub-accent: #e2a15a; --hub-top: #1c1814; --hub-radius: 12px; --hub-side-w: 228px;
}
html[data-ui="bento"][data-mode="light"] {
  --hub-bg: #f4efe6; --hub-side: #fffaf3; --hub-card: #fffdf8; --hub-text: #2a2118; --hub-muted: #74685b;
  --hub-line: #e6dccb; --hub-accent: #b86a1d; --hub-top: #fffaf3; --hub-radius: 12px; --hub-side-w: 228px;
}
html[data-ui="executive"][data-mode="dark"] {
  --hub-bg: #0e141b; --hub-side: #121a23; --hub-card: #17212b; --hub-text: #e7eef6; --hub-muted: #93a3b5;
  --hub-line: #2a3948; --hub-accent: #3d8bfd; --hub-top: #121a23; --hub-radius: 6px; --hub-side-w: 220px;
}
html[data-ui="executive"][data-mode="light"] {
  --hub-bg: #f3f6f9; --hub-side: #ffffff; --hub-card: #ffffff; --hub-text: #142033; --hub-muted: #5d6b7c;
  --hub-line: #d7e0ea; --hub-accent: #0b5cab; --hub-top: #ffffff; --hub-radius: 6px; --hub-side-w: 220px;
}
html[data-ui="charm"][data-mode="dark"] {
  --hub-bg: #1a1218; --hub-side: #241820; --hub-card: #2c1e28; --hub-text: #fff1f6; --hub-muted: #d2aebc;
  --hub-line: #4a3140; --hub-accent: #e36b9a; --hub-top: #241820; --hub-radius: 22px; --hub-side-w: 248px;
}
html[data-ui="charm"][data-mode="light"] {
  --hub-bg: #fff5f8; --hub-side: #fff; --hub-card: #fff; --hub-text: #3b2430; --hub-muted: #8d6676;
  --hub-line: #f0d5e0; --hub-accent: #c43b6e; --hub-top: #fff; --hub-radius: 22px; --hub-side-w: 248px;
}
html[data-ui="perspective"][data-mode="dark"] {
  --hub-bg: #101010; --hub-side: #161616; --hub-card: #1c1c1c; --hub-text: #f5f5f2; --hub-muted: #a3a39b;
  --hub-line: #2e2e2e; --hub-accent: #d6ff4a; --hub-top: #161616; --hub-radius: 2px; --hub-side-w: 280px;
}
html[data-ui="perspective"][data-mode="light"] {
  --hub-bg: #f7f6f1; --hub-side: #ffffff; --hub-card: #ffffff; --hub-text: #161616; --hub-muted: #5f5f58;
  --hub-line: #e4e1d6; --hub-accent: #111111; --hub-top: #f7f6f1; --hub-radius: 2px; --hub-side-w: 280px;
}
html[data-theme-ready="1"] .hub-astra { background: var(--hub-bg) !important; color: var(--hub-text) !important; }
html[data-theme-ready="1"] .hub-astra .nova-shell { grid-template-columns: var(--hub-side-w) minmax(0, 1fr) !important; background: var(--hub-bg) !important; }
html[data-theme-ready="1"] .hub-astra .nova-sidebar { width: var(--hub-side-w) !important; background: var(--hub-side) !important; color: var(--hub-text) !important; border-right: 1px solid var(--hub-line) !important; }
html[data-theme-ready="1"] .hub-astra .nova-main,
html[data-theme-ready="1"] .hub-astra .nova-content,
html[data-theme-ready="1"] .hub-astra .app-topbar,
html[data-theme-ready="1"] .hub-astra .app-header { background: var(--hub-top) !important; color: var(--hub-text) !important; }
html[data-theme-ready="1"] .hub-astra .nova-content { background: var(--hub-bg) !important; }
html[data-theme-ready="1"] .hub-astra .nova-card,
html[data-theme-ready="1"] .hub-astra .nova-kpi { background: var(--hub-card) !important; color: var(--hub-text) !important; border: 1px solid var(--hub-line) !important; border-radius: var(--hub-radius) !important; }
html[data-theme-ready="1"] .hub-astra .nova-pagehead__title,
html[data-theme-ready="1"] .hub-astra .nova-wh__title,
html[data-theme-ready="1"] .hub-astra .nova-kpi__value,
html[data-theme-ready="1"] .hub-astra .nova-sidebar__brand-name { color: var(--hub-text) !important; }
html[data-theme-ready="1"] .hub-astra .nova-pagehead__desc,
html[data-theme-ready="1"] .hub-astra .nova-wh__sub,
html[data-theme-ready="1"] .hub-astra .nova-kpi__label,
html[data-theme-ready="1"] .hub-astra .nova-sidebar__group-label { color: var(--hub-muted) !important; }
html[data-theme-ready="1"] .hub-astra .nova-link { color: var(--hub-muted) !important; border-radius: var(--hub-radius) !important; }
html[data-theme-ready="1"] .hub-astra .nova-link--active { background: color-mix(in srgb, var(--hub-accent) 18%, transparent) !important; color: var(--hub-text) !important; }
html[data-theme-ready="1"] .hub-astra .nova-table { color: var(--hub-text) !important; }
html[data-theme-ready="1"] .hub-astra .nova-table thead th { color: var(--hub-muted) !important; border-bottom: 1px solid var(--hub-line) !important; }
html[data-theme-ready="1"] .hub-astra .nova-table td { border-bottom: 1px solid var(--hub-line) !important; }
html[data-theme-ready="1"] .hub-astra .bg-accent { background: var(--hub-accent) !important; color: #fff !important; border-radius: var(--hub-radius) !important; }
html[data-ui="perspective"][data-mode="light"][data-theme-ready="1"] .hub-astra .bg-accent { color: #f7f6f1 !important; }
html[data-theme-ready="1"] .hub-astra input,
html[data-theme-ready="1"] .hub-astra select,
html[data-theme-ready="1"] .hub-astra textarea { background: var(--hub-card) !important; color: var(--hub-text) !important; border: 1px solid var(--hub-line) !important; border-radius: var(--hub-radius) !important; }
html[data-theme-ready="1"] .hub-astra .nova-sidebar__logo { background: var(--hub-accent) !important; color: #fff !important; }
@media (max-width: 1024px) {
  html[data-theme-ready="1"] .hub-astra .nova-shell { grid-template-columns: minmax(0, 1fr) !important; }
  html[data-theme-ready="1"] .hub-astra .nova-sidebar { width: min(86vw, var(--hub-side-w)) !important; }
}

/* Each UI system changes the shell, not only the accent. */

html[data-ui="bento"] .hub-astra .nova-shell {
  display: flex !important;
  flex-direction: column !important;
}
html[data-ui="bento"] .hub-astra .nova-sidebar {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  position: relative !important;
  top: auto !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--hub-line, var(--color-border-default)) !important;
  overflow: visible !important;
}
html[data-ui="bento"] .hub-astra .nova-sidebar__spacer,
html[data-ui="bento"] .hub-astra .nova-sidebar__group-label { display: none !important; }
html[data-ui="bento"] .hub-astra .nova-nav,
html[data-ui="bento"] .hub-astra .nova-nav__list {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
html[data-ui="bento"] .hub-astra .nova-link {
  width: auto !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--hub-accent, #e2a15a) 16%, transparent) !important;
  padding: 10px 14px !important;
}
html[data-ui="bento"] .hub-astra .nova-card,
html[data-ui="bento"] .hub-astra .nova-main {
  border-radius: 20px !important;
}
html[data-ui="bento"] .hub-astra .nova-content {
  display: grid !important;
  align-content: start !important;
}

html[data-ui="executive"] .hub-astra .nova-shell {
  --nova-sidebar-w: 76px !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
}
html[data-ui="executive"] .hub-astra .nova-sidebar {
  width: 76px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  border-radius: 0 !important;
}
html[data-ui="executive"] .hub-astra .nova-link__label,
html[data-ui="executive"] .hub-astra .nova-sidebar__group-label,
html[data-ui="executive"] .hub-astra .nova-sidebar__brand-name { display: none !important; }
html[data-ui="executive"] .hub-astra .nova-link {
  justify-content: center !important;
  border-radius: 0 !important;
  width: 100% !important;
}
html[data-ui="executive"] .hub-astra .nova-card,
html[data-ui="executive"] .hub-astra .btn,
html[data-ui="executive"] .hub-astra .app-topbar,
html[data-ui="executive"] .hub-astra input,
html[data-ui="executive"] .hub-astra .nova-sidebar { border-radius: 0 !important; }
html[data-ui="executive"] .hub-astra .nova-content { font-size: 13px !important; }

html[data-ui="charm"] .hub-astra .nova-shell {
  --nova-sidebar-w: 260px !important;
  padding: 14px !important;
  gap: 14px !important;
  
}
html[data-ui="charm"][data-mode="dark"] .hub-astra .nova-shell { background: #140910 !important; }
html[data-ui="charm"] .hub-astra .nova-sidebar {
  width: 236px !important;
  height: calc(100vh - 28px) !important;
  border-radius: 32px !important;
  border-right: 0 !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .35) !important;
}
html[data-ui="charm"] .hub-astra .nova-main {
  border-radius: 32px !important;
  overflow: hidden !important;
  background: color-mix(in srgb, var(--hub-side, #241018) 70%, #000) !important;
}
html[data-ui="charm"] .hub-astra .nova-link { border-radius: 999px !important; }
html[data-ui="charm"] .hub-astra .nova-card,
html[data-ui="charm"] .hub-astra .btn { border-radius: 24px !important; }

html[data-ui="perspective"] .hub-astra .nova-shell {
  display: flex !important;
  flex-direction: column !important;
}
html[data-ui="perspective"] .hub-astra .nova-sidebar {
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  top: auto !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  border-right: 0 !important;
  border-bottom: 3px solid var(--hub-accent, #d6ff4a) !important;
  
}
html[data-ui="perspective"][data-mode="dark"] .hub-astra .nova-sidebar { background: #050505 !important; }
html[data-ui="perspective"] .hub-astra .nova-sidebar__spacer,
html[data-ui="perspective"] .hub-astra .nova-sidebar__group-label { display: none !important; }
html[data-ui="perspective"] .hub-astra .nova-sidebar__brand-name {
  font-size: 28px !important;
  letter-spacing: -0.05em !important;
  text-transform: uppercase !important;
}
html[data-ui="perspective"] .hub-astra .nova-nav,
html[data-ui="perspective"] .hub-astra .nova-nav__list {
  flex-direction: row !important;
  flex-wrap: wrap !important;
}
html[data-ui="perspective"] .hub-astra .nova-link {
  width: auto !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 11px !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
}
html[data-ui="perspective"] .hub-astra .nova-link--active {
  border-bottom-color: var(--hub-accent, #d6ff4a) !important;
  background: transparent !important;
}
html[data-ui="perspective"] .hub-astra h1,
html[data-ui="perspective"] .hub-astra .nova-wh__title {
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
}
html[data-ui="perspective"] .hub-astra .nova-card { border-radius: 0 !important; }

html[data-mode="light"] .hub-astra {
  --color-body: #3a3348;
  --color-body-subtle: #6d657c;
  --color-heading: #161222;
  --color-buffer: #161222;
  --color-fg-brand: #5b3fd6;
  --color-fg-brand-strong: #4328b8;
  --color-fg-brand-subtle: #7c62e0;
  --color-fg-success: #15803d;
  --color-fg-success-strong: #166534;
  --color-fg-danger-strong: #be123c;
  --color-fg-warning: #b45309;
  --color-fg-disabled: #9a93a8;
  --color-neutral-primary-soft: #ffffff;
  --color-neutral-primary: #ffffff;
  --color-neutral-primary-medium: #f6f3fb;
  --color-neutral-primary-strong: #ece7f4;
  --color-neutral-secondary-soft: #f7f5fb;
  --color-neutral-secondary: #f4f1f8;
  --color-neutral-secondary-medium: #ece7f3;
  --color-neutral-secondary-strong: #e4deee;
  --color-neutral-tertiary: #e8e2f0;
  --color-neutral-tertiary-medium: #ddd6e8;
  --color-neutral-quaternary: #d3cbe0;
  --color-gray: #6d657c;
  --color-disabled: #efeaf6;
  --color-brand-softer: #f4f0ff;
  --color-brand-soft: #e7e0ff;
  --color-brand: #6d4aff;
  --color-brand-medium: #5a3de0;
  --color-brand-strong: #452db8;
  --color-dark: #161222;
  --color-dark-strong: #0e0b16;
  --color-success-soft: #e9f8ee;
  --color-danger-soft: #ffe8ee;
  --color-warning-soft: #fff4e5;
  --color-border-default: #e4dff0;
  --color-border-default-medium: #d4cce4;
  --color-border-default-strong: #c3b8d4;
  --color-border-brand-subtle: #ddd4ff;
  color: var(--color-body);
  background: var(--color-neutral-secondary-soft);
}
html[data-mode="light"] .hub-astra .nova-link,
html[data-mode="light"] .hub-astra .nova-sidebar,
html[data-mode="light"] .hub-astra .app-topbar,
html[data-mode="light"] .hub-astra .nova-card,
html[data-mode="light"] .hub-astra input,
html[data-mode="light"] .hub-astra select,
html[data-mode="light"] .hub-astra textarea { color: var(--color-body); }
html[data-mode="light"] .hub-astra .nova-pagehead__title,
html[data-mode="light"] .hub-astra h1,
html[data-mode="light"] .hub-astra h2,
html[data-mode="light"] .hub-astra .nova-wh__title { color: var(--color-heading) !important; }

/* collapse wins over every theme width */
html .hub-astra .nova-shell.nova-shell--collapsed {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  padding: 0 !important;
  gap: 0 !important;
}
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 100vh !important;
  position: sticky !important;
  top: 0 !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  overflow-x: hidden !important;
  border-right: 1px solid var(--color-border-default) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__brand {
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
}
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__brand-name,
html .hub-astra .nova-shell.nova-shell--collapsed .nova-link__label,
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__group-label { display: none !important; }
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__mark {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
}
html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__toggle {
  display: inline-flex !important;
  margin: 0 !important;
}
html .hub-astra .nova-shell.nova-shell--collapsed .nova-link {
  width: 44px !important;
  min-width: 44px !important;
  justify-content: center !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
@media (max-width: 1024px) {
  html .hub-astra .nova-shell.nova-shell--collapsed { grid-template-columns: minmax(0, 1fr) !important; }
  html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar {
    width: min(86vw, 320px) !important;
    min-width: 0 !important;
    max-width: 86vw !important;
    position: fixed !important;
  }
  html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__toggle { display: none !important; }
  html .hub-astra .nova-shell.nova-shell--collapsed .nova-link__label,
  html .hub-astra .nova-shell.nova-shell--collapsed .nova-sidebar__brand-name { display: inline !important; }
}
/* light-contrast */

html[data-mode="light"].hub-astra,
html[data-mode="light"] .hub-astra {
  --color-background: #f4f1fa;
  --color-surface: #ffffff;
  --color-foreground: #1c1630;
  --color-muted: #655d78;
  --color-border: #e4dff0;
  --color-accent: #6d4aff;
  --color-accent-foreground: #ffffff;
  --color-accent-soft: #efeaff;
  --color-danger: #e11d48;
  --color-danger-soft: #ffe8ee;
  --color-warning: #b45309;
  --color-warning-soft: #fff4e5;
  --color-success: #15803d;
  --color-success-soft: #e9f8ee;
  --color-info: #5b3fd6;
  --color-info-soft: #efeaff;
  --color-body: #3a3348;
  --color-body-subtle: #6d657c;
  --color-heading: #161222;
  --color-neutral-primary: #ffffff;
  --color-neutral-primary-soft: #ffffff;
  --color-neutral-primary-medium: #f6f3fb;
  --color-neutral-primary-strong: #ece7f4;
  --color-neutral-secondary: #f4f1f8;
  --color-neutral-secondary-soft: #f7f5fb;
  --color-neutral-secondary-medium: #ece7f3;
  --color-border-default: #e4dff0;
  color: #1c1630 !important;
  background: #f4f1fa !important;
}
html[data-mode="light"] .hub-astra h1,
html[data-mode="light"] .hub-astra h2,
html[data-mode="light"] .hub-astra h3,
html[data-mode="light"] .hub-astra th,
html[data-mode="light"] .hub-astra .nova-pagehead__title,
html[data-mode="light"] .hub-astra .nova-wh__title,
html[data-mode="light"] .hub-catalog__stats strong { color: #161222 !important; }
html[data-mode="light"] .hub-astra input,
html[data-mode="light"] .hub-astra select,
html[data-mode="light"] .hub-astra textarea {
  background: #fff !important;
  color: #1c1630 !important;
  border-color: #e4dff0 !important;
}
html[data-mode="light"] .hub-astra th,
html[data-mode="light"] .hub-astra td { border-bottom-color: #e4dff0 !important; }
html[data-mode="light"].hub-astra [role="tablist"] {
  background: #fff !important;
  border-color: #e4dff0 !important;
}
html[data-mode="light"].hub-astra [role="tab"] { color: #655d78 !important; }
html[data-mode="light"].hub-astra [role="tab"][data-state="active"] {
  background: #efeaff !important;
  color: #3b22a8 !important;
}
html[data-mode="light"] .hub-astra .nova-content,
html[data-mode="light"] .hub-astra .nova-shell { background: #f4f1fa !important; color: #1c1630 !important; }
html[data-mode="light"] .hub-astra .app-topbar,
html[data-mode="light"] .hub-astra .app-header,
html[data-mode="light"] .hub-astra .nova-card,
html[data-mode="light"] .hub-astra .nova-sidebar { background: #fff !important; color: #1c1630 !important; }
/* select-hit */

html .hub-astra select,
html .hub-astra .hub-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0 2.25rem 0 .75rem !important;
  cursor: pointer !important;
  border-radius: .5rem !important;
  border: 1px solid var(--color-border-default) !important;
  background-color: var(--color-neutral-primary) !important;
  color: var(--color-heading) !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239b96b0' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right .7rem center !important;
  background-size: 14px !important;
}
/* sidebar-logo: brand row sits flush top-left and shares the topbar height and bottom rule */
html .hub-astra { --hub-topbar-h: 88px; --hub-ease: cubic-bezier(.4, 0, .2, 1); }
html .hub-astra .app-header__inner { min-height: var(--hub-topbar-h) !important; box-sizing: border-box !important; }
@media (min-width: 1025px) { html .hub-astra .app-header__inner { flex-wrap: nowrap !important; } }
html .hub-astra .nova-sidebar { --hub-side-pad: 16px; padding-top: 0 !important; padding-inline: var(--hub-side-pad) !important; overflow-x: hidden !important; }
html .hub-astra .nova-sidebar__brand { position: sticky !important; top: 0 !important; z-index: 2 !important; flex: 0 0 auto !important; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; box-sizing: border-box !important; height: calc(var(--hub-topbar-h) + 1px) !important; min-height: 0 !important; margin: 0 calc(-1 * var(--hub-side-pad)) 12px !important; padding: 2px 8px 2px calc(var(--hub-side-pad) - 6px) !important; border-bottom: 1px solid var(--color-border-default) !important; background: inherit !important; }
html .hub-astra .nova-sidebar__mark { display: block !important; flex: 0 1 auto !important; min-width: 0 !important; width: auto !important; height: 100% !important; max-width: 100% !important; max-height: none !important; object-fit: contain !important; object-position: left center !important; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
html .hub-astra .nova-sidebar__brand-name { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
html .hub-astra .nova-sidebar__toggle { flex: 0 0 auto !important; align-self: center !important; margin: 0 !important; width: 28px !important; height: 28px !important; justify-content: center !important; }
html .hub-astra .nova-sidebar__toggle svg { transition: transform .28s var(--hub-ease) !important; }

/* rail: collapsed shell and the executive UI. Mark centred; toggle takes its place on hover. */
html .hub-astra .nova-shell--collapsed .nova-sidebar__brand,
html[data-ui="executive"] .hub-astra .nova-sidebar__brand { justify-content: center !important; padding: 6px 0 !important; }
html .hub-astra .nova-sidebar__mark--mini,
html .hub-astra .nova-shell--collapsed .nova-sidebar__mark,
html[data-ui="executive"] .hub-astra .nova-sidebar__mark { flex: 0 0 auto !important; width: 40px !important; height: 40px !important; max-width: 40px !important; object-fit: cover !important; object-position: left center !important; transition: opacity .15s !important; }
html .hub-astra .nova-shell--collapsed .nova-sidebar__brand:has(.nova-sidebar__mark) .nova-sidebar__toggle,
html[data-ui="executive"] .hub-astra .nova-sidebar__brand:has(.nova-sidebar__mark) .nova-sidebar__toggle { position: absolute !important; inset: 0 !important; margin: auto !important; opacity: 0 !important; transition: opacity .15s !important; }
html .hub-astra .nova-shell--collapsed .nova-sidebar__brand:hover .nova-sidebar__toggle,
html[data-ui="executive"] .hub-astra .nova-sidebar__brand:hover .nova-sidebar__toggle { opacity: 1 !important; }
html .hub-astra .nova-shell--collapsed .nova-sidebar__brand:hover:has(.nova-sidebar__toggle) .nova-sidebar__mark,
html[data-ui="executive"] .hub-astra .nova-sidebar__brand:hover .nova-sidebar__mark { opacity: 0 !important; }
html[data-ui="executive"] .hub-astra .nova-sidebar { --hub-side-pad: 8px; }
html[data-ui="executive"] .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar__toggle { display: none !important; }

/* top-bar UIs (bento, perspective): the brand is a normal row, not a sticky header cell */
html[data-ui="bento"] .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar__brand,
html[data-ui="perspective"] .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar__brand { position: relative !important; flex: 1 0 100% !important; margin: 0 !important; padding: 6px 0 !important; border-bottom: 0 !important; }
html[data-ui="bento"] .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar,
html[data-ui="perspective"] .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar { padding-bottom: 12px !important; }

/* collapse / expand motion for the side-rail UIs */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  html:not([data-ui="bento"]):not([data-ui="perspective"]) .hub-astra .nova-shell { transition: grid-template-columns .28s var(--hub-ease), padding .28s var(--hub-ease), gap .28s var(--hub-ease) !important; }
  html:not([data-ui="bento"]):not([data-ui="perspective"]) .hub-astra .nova-sidebar { transition: width .28s var(--hub-ease), height .28s var(--hub-ease), border-radius .28s var(--hub-ease) !important; }
  html:not([data-ui="bento"]):not([data-ui="perspective"]) .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar { min-width: 0 !important; max-width: 320px !important; }
  html .hub-astra .nova-link, html .hub-astra .nova-link__label { white-space: nowrap !important; }
  html .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-link__label,
  html .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar__group-label,
  html .hub-astra .nova-shell:not(.nova-shell--collapsed) .nova-sidebar__brand-name,
  html .hub-astra .nova-sidebar__mark { animation: hub-side-fade .26s var(--hub-ease) .06s both; }
}
@keyframes hub-side-fade { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
/* clip instead of hidden: hidden turns these into scroll boxes and breaks position: sticky inside pages */
html .hub-astra .nova-content { overflow-x: clip !important; }
html[data-ui="charm"] .hub-astra .nova-main { overflow: clip !important; }
/* Dialogs are portalled to <body>, outside the .hub-astra wrapper, so the page-level field rules miss them. */
html[data-theme-ready="1"].hub-astra .nova-modal__panel input:not([type="checkbox"]):not([type="radio"]),
html[data-theme-ready="1"].hub-astra .nova-modal__panel select,
html[data-theme-ready="1"].hub-astra .nova-modal__panel textarea { background: var(--hub-card) !important; color: var(--hub-text) !important; border: 1px solid var(--hub-line) !important; border-radius: var(--hub-radius) !important; }
html[data-mode="light"].hub-astra .nova-modal__panel input:not([type="checkbox"]):not([type="radio"]),
html[data-mode="light"].hub-astra .nova-modal__panel select,
html[data-mode="light"].hub-astra .nova-modal__panel textarea { background: #fff !important; color: #1c1630 !important; border-color: #e4dff0 !important; }
