/* Navorina Dashboard Redesign — desktop fintech OS */
@import url('./dash-landing-tokens.css?v=20261002-vivid-charts');
@import url('./components/scrollbar.css?v=20260729-form-controls-v1');
@import url('./components/nv-switch.css?v=20260820-light-switch');
@import url('./components/demo-qa-panel.css?v=20260727-demo-banner-v5');
@import url('./dash-landing-components.css?v=20261002-clean-charts');
@import url('./dash-sidebar-shell.css?v=20261002-nav-fade');
@import url('./dash-header-shell.css?v=20261002-theme-no-flicker');
@import url('./typography-navorina.css?v=20260928-render-stability-v1');
@import url('./command-palette.css?v=20261002-ds-hidden');
@import url('./create-payment.css');
@import url('./create-send.css?v=20260729-form-controls-v1');
@import url('./create-invoice.css?v=20260820-dialog-ds');
@import url('./create-exchange.css?v=20260702-exchange-revolut');
@import url('./create-deposit.css?v=20260729-form-controls-v1');
@import url('./create-transfer.css');
@import url('./create-bank-connect.css');
@import url('./create-crypto-wallet.css');
@import url('./create-team-invite.css');
@import url('./create-integration.css');
@import url('./create-payment-approval.css');
@import url('./create-api-key.css');
@import url('./create-report-export.css?v=20260930-dialog-ds-v3');
@import url('./create-delete-confirm.css');
@import url('./create-success-modal.css');
@import url('./create-error-modal.css');
@import url('./create-unsaved-changes.css');
@import url('./create-session-expired.css');
@import url('./dash-page-buttons.css?v=20260821-btn-states');
@import url('./dash-table-motion.css?v=20261002-txd-table');
@import url('./dash-mobile-shell.css?v=20260820-scroll-end');
@import url('./components/ds-primitives.css?v=20261002-ds-hidden-v2');
@import url('./components/dialog.css?v=20261001-dialog-fields-3');
@import url('./components/nucleus-labels-manager.css?v=20260930-labels-v1');
@import url('./components/nucleus-label-assignments.css?v=20261001-label-assignments-v1');

/* Token values → dash-landing-tokens.css */

/* Accessible fallback for shell and legacy controls not yet composed from .nv-* primitives. */
body.dash-page :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--button-focus-width) solid var(--color-button-primary-focus);
  outline-offset: var(--button-focus-offset);
}

@media (prefers-contrast: more) {
  body.dash-page :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline-width: max(3px, var(--button-focus-width));
  }
}

/* Header action is secondary; primary remains reserved for the page workflow. */
body.dash-page .dash-new-btn {
  background: var(--dash-surface);
  color: var(--dash-text);
}

body.dash-page .dash-new-btn:hover {
  background: var(--dash-surface-hover);
  color: var(--dash-text);
}

@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}

/* Landing preview renders the real dashboard at a stable desktop canvas instead of a copied mock. */
html.dash-landing-preview,
html.dash-landing-preview body {
  overflow: hidden;
  scrollbar-width: none;
  scrollbar-gutter: auto;
}

html.dash-landing-preview::-webkit-scrollbar,
html.dash-landing-preview body::-webkit-scrollbar,
html.dash-landing-preview *::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

html.dash-landing-preview * {
  scrollbar-width: none;
}

html.dash-landing-preview .dash-sidebar-toggle {
  display: none !important;
}

html.dash-landing-preview .dash-pro-wrap,
html.dash-landing-preview .dash-pro-wrap[hidden] {
  display: block !important;
}

html.dash-landing-preview .dash-shell {
  width: 156.25%;
  height: 156.25dvh;
  transform: scale(0.64);
  transform-origin: top left;
}

html.dash-landing-preview .dash-main {
  height: 156.25dvh;
}

html.dash-landing-preview .dash-sidebar {
  position: relative;
  height: auto;
  overflow: visible;
}

html.dash-landing-preview .dash-nav {
  height: auto;
  overflow: visible;
}

html.dash-landing-preview .dash-content {
  overflow: hidden !important;
  scrollbar-width: none;
}

html.dash-landing-preview .dash-content::-webkit-scrollbar {
  display: none;
}

html.dash-landing-preview .dash-hero__chart-tooltip {
  display: none;
}

html.dash-landing-preview .dash-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--dash-aside-width)) !important;
}

html.dash-landing-preview .dash-kpi-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html.dash-landing-preview :is(a, button, input, iframe) {
  pointer-events: none;
}

html.dash-landing-preview .dash-theme-toggle {
  pointer-events: auto;
}

html.dash-landing-preview {
  --dash-sidebar-outer-gutter: 0px;
  --dash-workspace-margin-right: var(--spacing-6xl, 48px);
  --dash-main-aside-gap: var(--spacing-6xl, 48px);
}

/* Flow modals need solid surfaces even while dashboard cards stay translucent. */
:root {
  --dash-island-radius: 32px;
  --dash-island-pad: var(--spacing-xl);
  --dash-workspace-radius: 40px;
  --flow-modal-backdrop: rgba(0, 0, 0, 0.78);
  --flow-modal-surface: var(--color-bg-modal, #121212);
  --flow-modal-card: var(--dash-popover-bg, #222222);
  --flow-modal-card-hover: color-mix(in srgb, var(--flow-modal-card) 84%, var(--color-text-primary, #eeeeee) 16%);
  --flow-modal-border: color-mix(in srgb, var(--color-text-primary, #eeeeee) 14%, transparent);
  --dash-brand-icon-filter: brightness(0) invert(1);
  --dash-brand-icon-opacity: 0.74;
  --dash-avatar-brand-aws: #252f3e;
  --dash-avatar-brand-spotify: #11331e;
  --dash-avatar-brand-apple: #2a2a2c;
  --dash-inner-surface: rgba(255, 255, 255, 0.015);
  --dash-wallet-action-surface: rgba(255, 255, 255, 0.03);
  --dash-activity-surface: var(--dash-inner-surface);
  --dash-activity-fade-base: color-mix(
    in srgb,
    var(--color-surface-muted, #121212) 52%,
    var(--dash-bg, #020203) 48%
  );
  --dash-activity-fade-color: color-mix(
    in srgb,
    #ffffff 1.5%,
    var(--dash-activity-fade-base) 98.5%
  );
  --dash-aside-card: color-mix(in srgb, var(--dash-card) 72%, transparent);
  --dash-aside-surface: var(--dash-activity-surface);
  --dash-aside-surface-hover: color-mix(in srgb, var(--dash-surface-hover) 88%, transparent);
  --dash-aside-field: var(--dash-activity-surface);
  --dash-workspace-bg: color-mix(
    in srgb,
    var(--color-surface-muted, rgba(238, 238, 238, 0.06)) 52%,
    transparent
  );
  --dash-workspace-border: color-mix(in srgb, var(--dash-border) 64%, transparent);
  --dash-card-on-workspace: color-mix(in srgb, var(--dash-card) 92%, var(--dash-bg) 8%);
  --dash-card-on-workspace-hover: color-mix(in srgb, var(--dash-surface-hover) 84%, var(--dash-bg) 16%);
  --dash-island-gap: 16px;
  --dash-main-aside-gap: var(--spacing-4xl, 32px);
  --dash-workspace-margin-right: var(--spacing-4xl, 32px);
  --dash-workspace-pad-x: 16px;
  --dash-workspace-pad-top: 16px;
  --cexpr-bg: var(--flow-modal-backdrop);
  --cexpr-surface: var(--flow-modal-surface);
  --cexpr-card: var(--flow-modal-card);
  --cexpr-purple-soft: var(--flow-modal-card-hover);
  --cexpr-border: var(--flow-modal-border);

  --cpay-bg: var(--flow-modal-backdrop);
  --cpay-surface: var(--flow-modal-surface);
  --cpay-card: var(--flow-modal-card);
  --cpay-purple-soft: var(--flow-modal-card-hover);
  --cpay-border: var(--flow-modal-border);

  --cinv-bg: var(--flow-modal-backdrop);
  --cinv-surface: var(--flow-modal-surface);
  --cinv-card: var(--flow-modal-card);
  --cinv-purple-soft: var(--flow-modal-card-hover);
  --cinv-border: var(--flow-modal-border);

  --cxch-bg: var(--flow-modal-backdrop);
  --cxch-surface: var(--flow-modal-surface);
  --cxch-card: var(--flow-modal-card);
  --cxch-purple-soft: var(--flow-modal-card-hover);
  --cxch-border: var(--flow-modal-border);

  --cxfr-bg: var(--flow-modal-backdrop);
  --cxfr-surface: var(--flow-modal-surface);
  --cxfr-card: var(--flow-modal-card);
  --cxfr-purple-soft: var(--flow-modal-card-hover);
  --cxfr-border: var(--flow-modal-border);

  --cbnk-bg: var(--flow-modal-backdrop);
  --cbnk-surface: var(--flow-modal-surface);
  --cbnk-card: var(--flow-modal-card);
  --cbnk-purple-soft: var(--flow-modal-card-hover);
  --cbnk-border: var(--flow-modal-border);

  --cwlt-bg: var(--flow-modal-backdrop);
  --cwlt-surface: var(--flow-modal-surface);
  --cwlt-card: var(--flow-modal-card);
  --cwlt-purple-soft: var(--flow-modal-card-hover);
  --cwlt-border: var(--flow-modal-border);

  --tinv-bg: var(--flow-modal-backdrop);
  --tinv-surface: var(--flow-modal-surface);
  --tinv-card: var(--flow-modal-card);
  --tinv-purple-soft: var(--flow-modal-card-hover);
  --tinv-border: var(--flow-modal-border);

  --cint-bg: var(--flow-modal-backdrop);
  --cint-surface: var(--flow-modal-surface);
  --cint-card: var(--flow-modal-card);
  --cint-purple-soft: var(--flow-modal-card-hover);
  --cint-border: var(--flow-modal-border);

  --capi-bg: var(--flow-modal-backdrop);
  --capi-surface: var(--flow-modal-surface);
  --capi-card: var(--flow-modal-card);
  --capi-purple-soft: var(--flow-modal-card-hover);
  --capi-border: var(--flow-modal-border);

  --cappr-bg: var(--flow-modal-backdrop);
  --cappr-surface: var(--flow-modal-surface);
  --cappr-card: var(--flow-modal-card);
  --cappr-purple-soft: var(--flow-modal-card-hover);
  --cappr-border: var(--flow-modal-border);

  --cdel-surface: var(--flow-modal-surface);
  --cdel-card: var(--flow-modal-card);
  --cdel-border: var(--flow-modal-border);

  --cses-surface: var(--flow-modal-surface);
  --cses-card: var(--flow-modal-card);
  --cses-border: var(--flow-modal-border);

  --cerr-surface: var(--flow-modal-surface);
  --cerr-card: var(--flow-modal-card);
  --cerr-border: var(--flow-modal-border);

  --csuc-surface: var(--flow-modal-surface);
  --csuc-card: var(--flow-modal-card);
  --csuc-border: var(--flow-modal-border);

  --cuns-surface: var(--flow-modal-surface);
  --cuns-card: var(--flow-modal-card);
  --cuns-border: var(--flow-modal-border);
}

/* Responsive shell gutters: preserve the right rail while releasing space on compact screens. */
@media (min-width: 1440px) {
  :root {
    --dash-main-aside-gap: var(--spacing-6xl, 48px);
    --dash-workspace-margin-right: var(--spacing-6xl, 48px);
  }
}

@media (min-width: 1800px) {
  :root {
    --dash-sidebar-outer-gutter: var(--spacing-lg, 16px);
    --dash-workspace-margin-right: var(--spacing-8xl, 64px);
  }
}

@media (min-width: 2400px) {
  :root {
    --dash-sidebar-outer-gutter: var(--spacing-4xl, 32px);
  }
}

@media (max-width: 1280px) {
  :root {
    --dash-main-aside-gap: var(--spacing-2xl, 24px);
    --dash-workspace-margin-right: var(--spacing-2xl, 24px);
  }
}

@media (max-width: 800px) {
  :root {
    --dash-main-aside-gap: var(--spacing-lg, 16px);
    --dash-workspace-margin-right: 0px;
  }
}

/* Modal surfaces are separated from the backdrop by color and depth, never outlines. */
:is(
  .cpay-wizard,
  .cpay-summary-panel,
  .cinv-wizard,
  .cxch-modal,
  .cxfr-modal,
  .cbnk-wizard,
  .cwlt-wizard,
  .tinv-wizard,
  .cint-wizard,
  .capi-wizard,
  .cappr-wizard,
  .cexpr-wizard,
  .cdel-modal,
  .cses-modal,
  .cerr-modal,
  .csuc-modal,
  .cuns-modal
) {
  border: 0;
}

/* Shared close control from dash-form-dialog: round, borderless, hover surface. */
:is(
  .cpay-close,
  .cinv-close,
  .cxch-close,
  .cxfr-close,
  .cbnk-close,
  .cwlt-close,
  .tinv-close,
  .cint-close,
  .capi-close,
  .cappr-close,
  .cexpr-close
) {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border: 0;
  border-radius: var(--radius-full, 999px);
  background: transparent;
  color: var(--dash-text-muted);
  transition: background var(--dash-transition), color var(--dash-transition);
}

:is(
  .cpay-close,
  .cinv-close,
  .cxch-close,
  .cxfr-close,
  .cbnk-close,
  .cwlt-close,
  .tinv-close,
  .cint-close,
  .capi-close,
  .cappr-close,
  .cexpr-close
):hover {
  border-color: transparent;
  background: var(--dash-surface-hover);
  color: var(--dash-text);
}

:is(
  .cpay-close,
  .cinv-close,
  .cxch-close,
  .cxfr-close,
  .cbnk-close,
  .cwlt-close,
  .tinv-close,
  .cint-close,
  .capi-close,
  .cappr-close,
  .cexpr-close
):focus-visible {
  outline: 2px solid var(--dash-accent);
  outline-offset: 2px;
  box-shadow: none;
}

/* Unified hover/focus tooltips for dashboard shell controls. */
:where([data-tooltip]) {
  position: relative;
}

:where([data-tooltip])::before,
:where([data-tooltip])::after {
  position: absolute;
  z-index: var(--z-tooltip, 20000);
  pointer-events: none;
  opacity: 0;
  transition: opacity 140ms ease, transform 140ms ease;
}

:where([data-tooltip])::before {
  content: attr(data-tooltip);
  width: max-content;
  max-width: min(220px, calc(100vw - 32px));
  padding: 7px 9px;
  border: none;
  border-radius: 12px;
  background: var(--dash-popover-bg-solid, #202020);
  color: var(--dash-text, #f4f4f5);
  box-shadow: var(--dash-popover-shadow, 0 16px 48px rgba(0, 0, 0, 0.45));
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

:where([data-tooltip])::after {
  display: none;
}

:where([data-tooltip]:hover, [data-tooltip]:focus-visible)::before {
  opacity: 1;
}

:where([data-tooltip]:hover)::before {
  transition-delay: 650ms;
}

:where([data-tooltip]:focus-visible)::before {
  transition-delay: 0ms;
}

:where([data-tooltip][data-tooltip-placement="top"])::before,
:where([data-tooltip]:not([data-tooltip-placement]))::before {
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translate(-50%, 4px);
}

:where([data-tooltip][data-tooltip-placement="top"])::after,
:where([data-tooltip]:not([data-tooltip-placement]))::after {
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translate(-50%, 4px) rotate(225deg);
}

:where([data-tooltip][data-tooltip-placement="top"]:hover, [data-tooltip][data-tooltip-placement="top"]:focus-visible)::before,
:where([data-tooltip]:not([data-tooltip-placement]):hover, [data-tooltip]:not([data-tooltip-placement]):focus-visible)::before {
  transform: translate(-50%, 0);
}

:where([data-tooltip][data-tooltip-placement="top"]:hover, [data-tooltip][data-tooltip-placement="top"]:focus-visible)::after,
:where([data-tooltip]:not([data-tooltip-placement]):hover, [data-tooltip]:not([data-tooltip-placement]):focus-visible)::after {
  transform: translate(-50%, 0) rotate(225deg);
}

:where([data-tooltip][data-tooltip-placement="bottom"])::before {
  left: 50%;
  top: calc(100% + 10px);
  transform: translate(-50%, -4px);
}

:where([data-tooltip][data-tooltip-placement="bottom"])::after {
  left: 50%;
  top: calc(100% + 6px);
  transform: translate(-50%, -4px) rotate(45deg);
}

:where([data-tooltip][data-tooltip-placement="bottom"]:hover, [data-tooltip][data-tooltip-placement="bottom"]:focus-visible)::before {
  transform: translate(-50%, 0);
}

:where([data-tooltip][data-tooltip-placement="bottom"]:hover, [data-tooltip][data-tooltip-placement="bottom"]:focus-visible)::after {
  transform: translate(-50%, 0) rotate(45deg);
}

:where([data-tooltip][data-tooltip-placement="right"])::before {
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(-4px, -50%);
}

:where([data-tooltip][data-tooltip-placement="right"])::after {
  left: calc(100% + 6px);
  top: 50%;
  transform: translate(-4px, -50%) rotate(-45deg);
}

:where([data-tooltip][data-tooltip-placement="right"]:hover, [data-tooltip][data-tooltip-placement="right"]:focus-visible)::before {
  transform: translate(0, -50%);
}

:where([data-tooltip][data-tooltip-placement="right"]:hover, [data-tooltip][data-tooltip-placement="right"]:focus-visible)::after {
  transform: translate(0, -50%) rotate(-45deg);
}

:where([data-tooltip][data-tooltip-placement="left"])::before {
  right: calc(100% + 10px);
  top: 50%;
  transform: translate(4px, -50%);
}

:where([data-tooltip][data-tooltip-placement="left"])::after {
  right: calc(100% + 6px);
  top: 50%;
  transform: translate(4px, -50%) rotate(135deg);
}

:where([data-tooltip][data-tooltip-placement="left"]:hover, [data-tooltip][data-tooltip-placement="left"]:focus-visible)::before {
  transform: translate(0, -50%);
}

:where([data-tooltip][data-tooltip-placement="left"]:hover, [data-tooltip][data-tooltip-placement="left"]:focus-visible)::after {
  transform: translate(0, -50%) rotate(135deg);
}

@media (prefers-reduced-motion: reduce) {
  :where([data-tooltip])::before,
  :where([data-tooltip])::after {
    transition: none;
  }
}

body.dash-tooltips-ready :where([data-tooltip])::before,
body.dash-tooltips-ready :where([data-tooltip])::after {
  display: none;
}

.dash-tooltip-layer {
  position: fixed;
  left: 0;
  top: 0;
  z-index: var(--z-tooltip, 20000);
  display: flex;
  align-items: center;
  pointer-events: auto;
  opacity: 0;
  transform: translate3d(-9999px, -9999px, 0);
  transition: opacity 160ms ease, transform 160ms ease;
}

.dash-tooltip-layer.is-visible {
  opacity: 1;
}

.dash-tooltip-layer__body {
  max-width: min(220px, calc(100vw - 32px));
  padding: 7px 9px;
  border: none;
  border-radius: 12px;
  background: var(--dash-popover-bg-solid, #202020);
  color: var(--dash-text, #f4f4f5);
  box-shadow: var(--dash-popover-shadow, 0 16px 48px rgba(0, 0, 0, 0.45));
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

.dash-tooltip-layer[data-placement="top"] {
  transform: translate3d(var(--tooltip-x), calc(var(--tooltip-y) + 4px), 0);
}

.dash-tooltip-layer[data-placement="top"].is-visible {
  transform: translate3d(var(--tooltip-x), var(--tooltip-y), 0);
}

.dash-tooltip-layer[data-placement="bottom"] {
  transform: translate3d(var(--tooltip-x), calc(var(--tooltip-y) - 4px), 0);
}

.dash-tooltip-layer[data-placement="bottom"].is-visible {
  transform: translate3d(var(--tooltip-x), var(--tooltip-y), 0);
}

.dash-tooltip-layer[data-placement="right"] {
  transform: translate3d(calc(var(--tooltip-x) - 4px), var(--tooltip-y), 0);
}

.dash-tooltip-layer[data-placement="right"].is-visible {
  transform: translate3d(var(--tooltip-x), var(--tooltip-y), 0);
}

.dash-tooltip-layer[data-placement="left"] {
  transform: translate3d(calc(var(--tooltip-x) + 4px), var(--tooltip-y), 0);
}

.dash-tooltip-layer[data-placement="left"].is-visible {
  transform: translate3d(var(--tooltip-x), var(--tooltip-y), 0);
}

@media (prefers-reduced-motion: reduce) {
  .dash-tooltip-layer {
    transition: none;
  }
}

body.dash-page:not(.dsf-page) img[src*="/transaction-icons/brand/"] {
  filter: var(--dash-brand-icon-filter) !important;
  opacity: var(--dash-brand-icon-opacity) !important;
}

.cdel-backdrop,
.cses-backdrop,
.cerr-backdrop,
.csuc-backdrop,
.cuns-backdrop {
  background: var(--flow-modal-backdrop);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
}

html.dash-landing-preview.light-theme,
html.dash-landing-preview.light,
html.dash-landing-preview.light-theme body,
html.dash-landing-preview.light body,
html.light-theme,
html.light,
html.light-theme body,
html.light body {
  color-scheme: light;
}

html.dash-landing-preview.light-theme,
html.dash-landing-preview.light,
html.light-theme,
html.light {
  --dash-inner-surface: var(--color-surface-muted);
  --dash-wallet-action-surface: color-mix(in srgb, var(--color-cosmos-mist) 6%, #ffffff);
  --dash-activity-surface: color-mix(in srgb, var(--color-cosmos-mist) 4%, #ffffff);
  --dash-activity-fade-base: #ffffff;
  --dash-activity-fade-color: #ffffff;
  --dash-canvas: color-mix(in srgb, var(--color-cosmos-mist) 4%, #ffffff);
  --dash-workspace-bg: var(--dash-canvas);
  --dash-card-on-workspace: #ffffff;
  --dash-card-on-workspace-hover: #ffffff;
  --dash-island-border: none;
  --dash-brand-icon-filter: none;
  --dash-brand-icon-opacity: 0.88;
  --dash-avatar-brand-aws: var(--color-well);
  --dash-avatar-brand-spotify: var(--color-well);
  --dash-avatar-brand-apple: var(--color-well);
}

body.dash-page {
  margin: 0;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-width: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--dash-text);
  background: var(--dash-canvas, var(--dash-bg));
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

body.dash-page svg {
  color: var(--dash-icon);
}

body.dash-page :is(
  .dash-new-btn,
  .dash-hero__action--primary,
  .nv-btn--primary,
  .dsf-btn--primary,
  .dash-floating-chat__launcher,
  .dash-pro__icon,
  .dash-pro__btn,
  .dash-kpi__icon--green,
  .dash-kpi__icon--red,
  .dash-kpi__icon--blue,
  .dash-kpi__icon--purple,
  .ntc-item__icon,
  .ntc-btn--primary,
  .acct-summary__icon,
  .acct-summary__donut,
  .tax-summary__donut,
  .acct-filing__icon,
  .acct-support__illus,
  .acct-workflow__icon,
  .dash-account-row__icon--blue,
  .dash-donut,
  .dash-kpi__spark,
  .dash-hero__chart,
  .aiw-btn--primary,
  .aiw-composer-send
) svg {
  color: inherit;
}

button,
input {
  font: inherit;
}

/* Product form geometry: single-line fields use one fully rounded silhouette. */
body.dash-page :is(
  input[type='text'],
  input[type='search'],
  input[type='email'],
  input[type='password'],
  input[type='tel'],
  input[type='url'],
  input[type='number'],
  input[type='date'],
  input[type='time'],
  input[type='month'],
  input[type='week'],
  input[type='datetime-local'],
  input:not([type]),
  select
) {
  border-radius: var(--control-radius-input, var(--radius-full, 9999px)) !important;
}

body.dash-page .dash-quick__link-field {
  border-radius: var(--control-radius-input, var(--radius-full, 9999px));
}

.dash-shell {
  display: flex;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

/* Main → dash-header-shell.css, dash-sidebar-shell.css */

.dash-main {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  container-type: inline-size;
  container-name: dash-main;
}

.dash-header,
.dash-main > main,
.dash-main > .dash-content,
.dash-main > [class$="-content"],
.dash-main > [class*="-content "] {
  inline-size: min(
    calc(100% - var(--dash-workspace-margin-right) - var(--dash-workspace-margin-right)),
    var(--dash-main-max-width)
  );
  margin-inline: auto;
}

.dash-header {
  position: relative;
  z-index: var(--dash-popover-z);
  margin-block: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.dash-main > .dash-workspace-content,
.dash-content,
.dash-main > [class$="-content"] {
  position: relative;
  z-index: 1;
  padding: var(--dash-workspace-pad-top) var(--dash-workspace-pad-x) var(--dash-content-y);
  padding-left: calc(var(--dash-workspace-pad-x) + var(--dash-mobile-nav-gutter));
  padding-bottom: var(--dash-content-y);
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--dash-island-gap);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  overscroll-behavior-x: none;
  scrollbar-width: none;
  border-radius: 0;
  background: var(--dash-workspace-bg);
  transition: background var(--dash-transition), margin-top var(--dash-transition);
}

.dash-main > .dash-workspace-content::-webkit-scrollbar,
.dash-content::-webkit-scrollbar {
  display: none;
}

/* Shared flat workspace: the former tray surface becomes the page-island surface. */
body.dash-page .dash-main > .dash-workspace-content {
  --dash-page-island-bg: var(--dash-workspace-bg);
  --dash-card: var(--dash-page-island-bg);
  --dash-card-on-workspace: var(--dash-page-island-bg);
  --dash-aside-card: var(--dash-page-island-bg);
  --nv-surface-solid: var(--dash-page-island-bg);
  --inv-surface-solid: var(--dash-page-island-bg);
  padding-block: 0;
  padding-inline: var(--dash-mobile-nav-gutter) 0;
  background: transparent;
}

html.light-theme body.dash-page .dash-main > .dash-workspace-content,
html.light body.dash-page .dash-main > .dash-workspace-content,
html.dash-landing-preview.light-theme body.dash-page .dash-main > .dash-workspace-content,
html.dash-landing-preview.light body.dash-page .dash-main > .dash-workspace-content {
  --dash-page-island-bg: #ffffff;
  --dash-card: #ffffff;
  --dash-card-on-workspace: #ffffff;
  --dash-aside-card: #ffffff;
  --nv-surface-solid: #ffffff;
  --inv-surface-solid: #ffffff;
}

body.dash-page .dash-content--flat-workspace {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}

/* Only nested components use the subtle inner surface; page chrome and islands keep their own surfaces. */
body.dash-page .dash-main > .dash-workspace-content :where(section, .dash-card) {
  --dash-surface: var(--dash-inner-surface);
  --dash-elevated: var(--dash-inner-surface);
  --dash-input-bg: var(--dash-inner-surface);
  --color-bg-input: var(--dash-inner-surface);
  --color-input-bg: var(--dash-inner-surface);
  --color-button-secondary: var(--dash-inner-surface);
  --control-glass-surface: var(--dash-inner-surface);
}

/* Keep serif page titles clear of the flat workspace edge. */
body.dash-page .dash-main > .dash-workspace-content:has(h1[class$="-title"]),
body.dash-page .dash-main > .dash-workspace-content.has-workspace-title {
  padding-block-start: var(--spacing-2xl);
}

/* Product page-title contract: preserve both existing scales and add 4px. */
body.dash-page .dash-main > .dash-workspace-content h1[class$="-title"] {
  font-size: 36px;
}

body.dash-page .dash-main > .dash-workspace-content h1:is(
  .bill-title,
  .inc-title,
  .ins-title,
  .ntf-title,
  .prof-title,
  .set-title,
  .tax-title,
  .team-title
) {
  font-size: 44px;
}

body.dash-page .dash-main > .dash-workspace-content h1.acct-title {
  font-size: clamp(40px, calc(3vw + 4px), 48px);
}

@media (max-width: 720px) {
  body.dash-page .dash-main > .dash-workspace-content h1:is(
    .acc-title,
    .api-title,
    .int-title,
    .pay-title,
    .sec-title
  ) {
    font-size: 32px;
  }

  body.dash-page .dash-main > .dash-workspace-content h1.tx-title {
    font-size: clamp(28px, calc(6vw + 4px), 32px);
  }

  body.dash-page .dash-main > .dash-workspace-content h1.plan-title {
    font-size: clamp(28px, calc(6vw + 4px), 36px);
  }

  body.dash-page .dash-main > .dash-workspace-content h1.ops-title {
    font-size: calc(1.7rem + 4px);
  }
}

@container set-content (max-width: 520px) {
  body.dash-page .dash-main > .dash-workspace-content h1.set-title {
    font-size: 40px;
  }
}

@media (max-width: 800px) {
  body.dash-page .dash-main > .dash-workspace-content {
    padding-block-end: var(--dash-content-y);
  }
}

body.dash-page .dash-main > .dash-workspace-content > *,
body.dash-page .dash-main > .dash-content > * {
  flex-shrink: 0;
}

/* Flex overflow ignores padding-bottom; keep end space on the content itself. */
body.dash-page .dash-main > :is(.dash-workspace-content, .dash-content, [class$="-content"]) > :last-child {
  margin-bottom: var(--dash-content-pad-bottom, 56px);
}

body.dash-page .dash-content--flat-workspace :is(
  .dash-overview,
  .dash-month-summary,
  .dash-split > .dash-card,
  .dash-grid > .dash-col:nth-child(2) > .dash-card,
  .dash-grid > .dash-col:nth-child(2) > .dash-onboarding
) {
  background: var(--dash-page-island-bg);
}

/* One shared rhythm between page-level islands; component internals keep their own spacing. */
body.dash-page .dash-workspace-content {
  --dash-gap: var(--dash-island-gap);
}

body.dash-page :is(
  .tax-content, .tax-layout, .tax-main, .tax-aside,
  .accd-content, .accd-layout, .accd-main, .accd-aside,
  .ops-content, .ops-layout, .ops-main, .ops-aside,
  .pay-content, .pay-layout, .pay-main, .pay-aside,
  .api-content, .api-layout, .api-main, .api-aside,
  .tx-content, .tx-layout, .tx-main, .tx-aside,
  .prof-content, .prof-layout, .prof-main, .prof-aside,
  .invd-content, .invd-layout, .invd-main, .invd-aside,
  .inv-content, .inv-layout, .inv-main, .inv-aside,
  .team-content, .team-layout, .team-main, .team-aside,
  .hlp-content, .hlp-layout, .hlp-main, .hlp-aside,
  .acct-content, .acct-layout, .acct-main, .acct-aside,
  .plan-content, .plan-layout, .plan-main, .plan-aside,
  .bud-content, .bud-layout, .bud-main, .bud-aside,
  .ntf-content, .ntf-layout, .ntf-main, .ntf-aside,
  .sec-content, .sec-layout, .sec-main, .sec-aside,
  .rpt-content, .rpt-layout, .rpt-main, .rpt-aside,
  .acc-content, .acc-layout, .acc-main, .acc-aside,
  .bill-content, .bill-layout, .bill-main, .bill-aside,
  .set-content, .set-layout, .set-main, .set-aside,
  .inc-content, .inc-layout, .inc-main, .inc-aside,
  .aud-content, .aud-layout, .aud-main, .aud-aside,
  .ntc-content, .ntc-layout, .ntc-main, .ntc-aside,
  .int-content, .int-layout, .int-main, .int-aside,
  .payd-content, .payd-layout, .payd-main, .payd-aside,
  .ins-content, .ins-layout, .ins-main, .ins-aside,
  .txd-content, .txd-layout, .txd-main, .txd-aside,
  .aiw-main
) {
  gap: var(--dash-island-gap);
}

/* Shared main + aside contract across dashboard sections. */
body.dash-page :is(
  .tax-layout, .accd-layout, .ops-layout, .pay-layout,
  .api-layout, .tx-layout, .prof-layout, .invd-layout,
  .inv-layout, .team-layout, .hlp-layout, .acct-layout,
  .plan-layout, .bud-layout, .ntf-layout, .sec-layout,
  .rpt-layout, .acc-layout, .bill-layout, .set-layout,
  .inc-layout, .aud-layout, .ntc-layout, .int-layout,
  .payd-layout, .ins-layout, .txd-layout
) {
  column-gap: var(--dash-main-aside-gap);
  row-gap: var(--dash-island-gap);
}

/* KPI + aside island rows share the island gutter, not the dashboard rail canyon. */
body.dash-page :is(.ins-layout, .bud-layout, .inc-layout, .tax-layout, .pay-layout, .acct-layout) {
  column-gap: var(--dash-island-gap);
}

.dash-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--dash-aside-width));
  column-gap: var(--dash-main-aside-gap);
  row-gap: var(--dash-island-gap);
  align-items: start;
  min-width: 0;
}

body.dash-page .dash-content--flat-workspace > .dash-grid {
  margin-block-end: var(--spacing-6xl, 48px);
}

body.dash-page .dash-content--flat-workspace > .dash-environment-banner {
  inline-size: calc(100% - var(--dash-aside-width) - var(--dash-main-aside-gap));
  min-inline-size: 0;
  margin-block-end: 0;
  align-self: flex-start;
  flex: none;
}

html.dash-landing-preview .dash-content--flat-workspace > .dash-grid {
  margin-block-end: 0;
}

.dash-col {
  display: flex;
  flex-direction: column;
  gap: var(--dash-island-gap);
  min-width: 0;
}

.dash-col > .dash-onboarding {
  margin: 0;
}

/* KPI grid responds to main column width (not viewport) */
.dash-grid > .dash-col:first-child {
  container-type: inline-size;
  container-name: dash-main-col;
  gap: var(--spacing-3xl);
}

/* ── Cards ── */

.dash-card {
  background: var(--dash-card-on-workspace);
  border: none;
  border-radius: var(--dash-island-radius);
  box-shadow: none;
}

html.light-theme .dash-card,
html.light .dash-card,
html.dash-landing-preview.light-theme .dash-card,
html.dash-landing-preview.light .dash-card,
html.light-theme .dash-month-summary,
html.light .dash-month-summary,
html.dash-landing-preview.light-theme .dash-month-summary,
html.dash-landing-preview.light .dash-month-summary,
html.light-theme .dash-overview,
html.light .dash-overview,
html.dash-landing-preview.light-theme .dash-overview,
html.dash-landing-preview.light .dash-overview,
html.light-theme .dash-cashflow,
html.light .dash-cashflow,
html.dash-landing-preview.light-theme .dash-cashflow,
html.dash-landing-preview.light .dash-cashflow,
html.light-theme .dash-spending,
html.light .dash-spending,
html.dash-landing-preview.light-theme .dash-spending,
html.dash-landing-preview.light .dash-spending,
html.light-theme .dash-upcoming,
html.light .dash-upcoming,
html.dash-landing-preview.light-theme .dash-upcoming,
html.dash-landing-preview.light .dash-upcoming,
html.light-theme .dash-onboarding,
html.light .dash-onboarding,
html.dash-landing-preview.light-theme .dash-onboarding,
html.dash-landing-preview.light .dash-onboarding,
html.light-theme .tx-table-card,
html.light .tx-table-card,
html.dash-landing-preview.light-theme .tx-table-card,
html.dash-landing-preview.light .tx-table-card {
  border: var(--dash-island-border);
}

html.light-theme .dash-sidebar,
html.light .dash-sidebar,
html.dash-landing-preview.light-theme .dash-sidebar,
html.dash-landing-preview.light .dash-sidebar {
  border-right: none;
}

html.light-theme .dash-kpi,
html.light .dash-kpi,
html.dash-landing-preview.light-theme .dash-kpi,
html.dash-landing-preview.light .dash-kpi {
  background: #ffffff;
  border: var(--dash-island-border);
}

html.light-theme .dash-month-summary .dash-kpi,
html.light .dash-month-summary .dash-kpi,
html.dash-landing-preview.light-theme .dash-month-summary .dash-kpi,
html.dash-landing-preview.light .dash-month-summary .dash-kpi {
  background: var(--dash-activity-surface);
  border: none;
}

html.light-theme :is(.nv-toast, .nv-banner, .nv-inline-alert, .nv-alert, .toast, .dash-environment-banner),
html.light :is(.nv-toast, .nv-banner, .nv-inline-alert, .nv-alert, .toast, .dash-environment-banner),
html.dash-landing-preview.light-theme :is(.nv-toast, .nv-banner, .nv-inline-alert, .nv-alert, .toast, .dash-environment-banner),
html.dash-landing-preview.light :is(.nv-toast, .nv-banner, .nv-inline-alert, .nv-alert, .toast, .dash-environment-banner),
html.light-theme :is(.inv-toast, .tx-toast, .acct-toast, .prof-toast, .bill-toast, .mnt-toast, .aiw-toast),
html.light :is(.inv-toast, .tx-toast, .acct-toast, .prof-toast, .bill-toast, .mnt-toast, .aiw-toast) {
  border: 0;
  box-shadow: var(--dash-alert-shadow);
}

html.light-theme .nucleus-content-callout,
html.light .nucleus-content-callout,
html.dash-landing-preview.light-theme .nucleus-content-callout,
html.dash-landing-preview.light .nucleus-content-callout {
  box-shadow:
    inset 2px 0 0 var(--nucleus-content-callout-accent, var(--color-accent-primary)),
    var(--dash-alert-shadow);
}

.dash-grid > .dash-col:nth-child(2) > .dash-card {
  background: var(--dash-aside-card);
}

.dash-grid > .dash-col:nth-child(2) > .dash-onboarding {
  background: var(--dash-aside-card);
  border-radius: var(--dash-island-radius);
}

/* Floating Assistant — restores the previous FAB → overlay panel interaction. */
.dash-floating-chat {
  --dash-floating-chat-width: min(clamp(24rem, 28dvi, 28rem), calc(100dvi - var(--spacing-3xl)));
  --dash-floating-chat-height: min(40rem, calc(100dvb - var(--spacing-5xl)));
  --dash-floating-chat-bg: var(
    --nv-surface-solid,
    color-mix(in srgb, var(--dash-bg-app) 82%, var(--dash-bg) 18%)
  );
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 1450;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  pointer-events: none;
}

.dash-floating-chat[hidden] {
  display: none;
}

/* An open assistant is an application overlay, above header popovers. */
.dash-floating-chat[data-state="expanded"] {
  z-index: var(--z-modal, 10001);
}

.dash-floating-chat__launcher,
.dash-floating-chat__panel {
  pointer-events: auto;
}

.dash-floating-chat__launcher {
  --dash-floating-chat-cosmos: #020203;
  --dash-floating-chat-icon: #eeeeee;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--dash-floating-chat-icon);
  background-color: var(--dash-floating-chat-cosmos);
  background-image:
    linear-gradient(
      to bottom,
      color-mix(in srgb, var(--dash-floating-chat-cosmos) 18%, transparent),
      color-mix(in srgb, var(--dash-floating-chat-cosmos) 52%, transparent)
    ),
    url('../img/pro-cosmos.png');
  background-position: center, center 18%;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 16px 44px rgb(0 0 0 / 36%);
  overflow: hidden;
  cursor: pointer;
  transition: transform 180ms ease, filter 180ms ease;
}

.dash-floating-chat__launcher svg {
  position: relative;
  filter: drop-shadow(0 1px 3px rgb(0 0 0 / 72%));
}

.dash-floating-chat__launcher[hidden],
.dash-floating-chat__panel[hidden] {
  display: none;
}

.dash-floating-chat__launcher:hover {
  filter: brightness(1.14);
  transform: translateY(-2px);
}

html.light-theme .dash-floating-chat__launcher,
html.light .dash-floating-chat__launcher,
html.dash-landing-preview.light-theme .dash-floating-chat__launcher,
html.dash-landing-preview.light .dash-floating-chat__launcher {
  --dash-floating-chat-cosmos: #ffffff;
  --dash-floating-chat-icon: var(--color-cosmos-accent, #5548b8);
  background-color: #ffffff;
  background-image:
    linear-gradient(
      to bottom,
      rgb(255 255 255 / 0.78),
      rgb(255 255 255 / 0.42)
    ),
    url('../img/video/hero-constellation-light-poster.jpg');
  background-position: center, center;
  border: var(--dash-island-border);
  box-shadow: var(--dash-popover-shadow, 0 16px 48px rgb(7 7 7 / 12%));
}

html.light-theme .dash-floating-chat__launcher svg,
html.light .dash-floating-chat__launcher svg,
html.dash-landing-preview.light-theme .dash-floating-chat__launcher svg,
html.dash-landing-preview.light .dash-floating-chat__launcher svg {
  filter: none;
}

.dash-floating-chat__launcher:focus-visible,
.dash-floating-chat__head-button:focus-visible {
  outline: 2px solid var(--dash-text);
  outline-offset: 3px;
}

.dash-floating-chat__panel {
  display: flex;
  flex-direction: column;
  width: var(--dash-floating-chat-width);
  height: var(--dash-floating-chat-height);
  overflow: hidden;
  border: 0;
  border-radius: var(--dash-island-radius);
  color: var(--dash-text);
  background: var(--dash-floating-chat-bg);
  box-shadow:
    0 30px 96px rgb(0 0 0 / 68%),
    0 12px 32px rgb(0 0 0 / 36%);
  isolation: isolate;
  animation: dash-floating-chat-in 220ms ease-out;
}

html.light-theme .dash-floating-chat__panel,
html.light .dash-floating-chat__panel,
html.dash-landing-preview.light-theme .dash-floating-chat__panel,
html.dash-landing-preview.light .dash-floating-chat__panel {
  border: var(--dash-island-border);
  background: #ffffff;
  box-shadow: var(--dash-popover-shadow, 0 16px 48px rgb(7 7 7 / 12%));
}

html.dash-motion-ready .dash-floating-chat__panel {
  animation: none;
}

@keyframes dash-floating-chat-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.dash-floating-chat__head {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 4rem;
  padding: var(--spacing-md) var(--spacing-lg);
}

.dash-floating-chat__identity,
.dash-floating-chat__head-actions {
  display: flex;
  align-items: center;
}

.dash-floating-chat__identity {
  min-width: 0;
  gap: 10px;
}

.dash-floating-chat__head-actions {
  flex: 0 0 auto;
  gap: 2px;
}

.dash-floating-chat__mark,
.dash-floating-chat__head-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
}

.dash-floating-chat__mark {
  background: color-mix(in srgb, var(--dash-text) 8%, transparent);
}

.dash-floating-chat__mark img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
  opacity: 0.9;
  filter: grayscale(1) brightness(1.45) contrast(1.08);
}

.dash-floating-chat__head-button {
  margin: 0;
  padding: 0;
  color: var(--dash-text-muted);
  background: transparent;
  text-decoration: none;
  cursor: pointer;
}

.dash-floating-chat__head-button:hover {
  color: var(--dash-text);
  background: var(--dash-aside-surface-hover);
}

.dash-floating-chat__title,
.dash-floating-chat__subtitle {
  margin: 0;
}

.dash-floating-chat__title {
  color: var(--dash-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.dash-floating-chat__subtitle {
  margin-top: 2px;
  overflow: hidden;
  color: var(--dash-text-muted);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-floating-chat__frame {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: 0;
  background: transparent;
}

.dash-floating-chat__tour {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin: 0 var(--spacing-lg) var(--spacing-sm);
  padding: var(--spacing-md);
  border: 0;
  border-radius: 20px;
  background: var(--dash-aside-surface);
}

.dash-floating-chat__tour-meta,
.dash-floating-chat__tour-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-sm);
}

.dash-floating-chat__tour-meta {
  color: var(--dash-text-muted);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.dash-floating-chat__tour-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-xs);
}

.dash-floating-chat__tour-progress span {
  height: 3px;
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--dash-text) 10%, transparent);
}

.dash-floating-chat__tour-progress span.is-active {
  background: var(--dash-green);
}

.dash-floating-chat__tour-title,
.dash-floating-chat__tour-copy {
  margin: 0;
}

.dash-floating-chat__tour-title {
  color: var(--dash-text);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
}

.dash-floating-chat__tour-copy {
  color: var(--dash-text-muted);
  font-size: 0.75rem;
  line-height: 1.4;
}

.dash-floating-chat__tour-cta,
.dash-floating-chat__tour-prev,
.dash-floating-chat__tour-next {
  min-height: 2rem;
  border: 0;
  color: var(--dash-text);
  background: var(--dash-aside-surface-hover);
  cursor: pointer;
}

.dash-floating-chat__tour-cta {
  min-width: 0;
  padding: 0 var(--spacing-md);
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  font-weight: 600;
}

.dash-floating-chat__tour-nav {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--spacing-xs);
}

.dash-floating-chat__tour-prev,
.dash-floating-chat__tour-next {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2rem;
  padding: 0;
  border-radius: 50%;
}

.dash-floating-chat__tour-prev[hidden],
.dash-floating-chat__tour-next[hidden] {
  display: none;
}

.dash-floating-chat__tour-cta:hover,
.dash-floating-chat__tour-prev:hover,
.dash-floating-chat__tour-next:hover {
  background: color-mix(in srgb, var(--dash-aside-surface-hover) 82%, var(--dash-text) 18%);
}

.dash-floating-chat__tour-cta:focus-visible,
.dash-floating-chat__tour-prev:focus-visible,
.dash-floating-chat__tour-next:focus-visible {
  outline: 2px solid var(--dash-text);
  outline-offset: 2px;
}

html.dash-landing-preview .dash-floating-chat {
  display: none;
}

@media (max-width: 520px) {
  .dash-floating-chat {
    --dash-floating-chat-width: calc(100dvi - var(--spacing-2xl));
    --dash-floating-chat-height: min(38rem, calc(100dvb - var(--spacing-2xl)));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .dash-floating-chat__launcher,
  .dash-floating-chat__panel {
    animation: none;
    transition: none;
  }
}

.dash-grid > .dash-col:nth-child(2) .dash-quick__item,
.dash-grid > .dash-col:nth-child(2) .dash-quick__copy,
.dash-grid > .dash-col:nth-child(2) .dash-quick__promo {
  background: var(--dash-aside-surface);
}

.dash-grid > .dash-col:nth-child(2) .dash-quick__link-field {
  background: var(--dash-aside-field);
}

.dash-grid > .dash-col:nth-child(2) .dash-quick__item:hover,
.dash-grid > .dash-col:nth-child(2) .dash-quick__promo:hover {
  background: var(--dash-aside-surface-hover);
}

.dash-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.dash-card__title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}

.dash-card__link {
  font-size: 12px;
  font-weight: 500;
  color: var(--dash-text-subtle);
  text-decoration: none;
  transition: color var(--dash-transition);
}

.dash-card__link:hover {
  color: var(--dash-purple);
}

/* ── Hero ── */

.dash-hero {
  position: relative;
  padding: var(--dash-island-pad);
}

.dash-hero__label {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--dash-text-muted);
  padding-right: 200px;
}

.dash-hero__row {
  margin-bottom: 24px;
}

.dash-hero__balance {
  margin: 0;
  font-family: var(--font-numeric);
  font-size: 64px;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1;
}

.dash-hero__growth {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--dash-green-soft);
  color: var(--dash-green);
  font-family: var(--font-numeric);
  font-size: 13px;
  font-weight: 600;
}

.dash-hero__periods {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 1;
  display: flex;
  gap: 4px;
  padding: 4px;
  border-radius: var(--dash-radius-btn);
  background: var(--dash-surface);
  border: none;
}

.dash-hero__period {
  padding: 6px 12px;
  border: none;
  border-radius: var(--dash-radius-btn);
  background: transparent;
  color: var(--dash-text-subtle);
  font-family: var(--font-numeric);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--dash-transition), color var(--dash-transition);
}

.dash-hero__period.is-active {
  background: var(--dash-surface-hover);
  color: var(--dash-text);
}

.dash-hero__period:hover:not(.is-active) {
  color: var(--dash-text-muted);
}

.dash-hero__chart {
  height: 180px;
  margin-bottom: 24px;
}

.dash-hero__chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.dash-hero__chart-tooltip {
  max-width: min(160px, calc(100vw - 32px));
  background: rgba(34, 34, 34, 0.9);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.26);
}

.dash-hero__actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.dash-hero__action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  border-radius: var(--dash-radius-btn);
  border: none;
  background: var(--dash-surface);
  color: var(--dash-text);
  font-weight: 500;
  cursor: pointer;
  transition: background var(--dash-transition), border-color var(--dash-transition), transform var(--dash-transition);
}

.dash-hero__action:hover {
  background: var(--dash-surface-hover);
  border-color: var(--dash-border-hover);
  transform: translateY(-1px);
}

.dash-hero__action--primary {
  background: var(--dash-accent);
  border-color: transparent;
  color: var(--dash-accent-text);
}

.dash-hero__action--primary:hover {
  background: var(--dash-accent-hover);
  filter: none;
}

.dash-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0;
  align-items: stretch;
  min-width: 0;
  overflow: clip;
  border: none;
  border-radius: var(--dash-island-radius);
  background: var(--nv-surface-solid, var(--dash-card-on-workspace));
}

body.dash-page .dash-overview > .dash-card {
  border: none;
  border-radius: 0;
  background: transparent;
}

.dash-overview .dash-wallet,
.dash-overview .dash-activity-panel {
  block-size: auto;
}

/* ── KPI ── */

.dash-month-summary {
  min-width: 0;
  padding: var(--dash-island-pad);
  border: none;
  border-radius: var(--dash-island-radius);
  background: var(--nv-surface-solid, var(--dash-card-on-workspace));
}

.dash-month-summary__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
}

.dash-month-summary__head h2 {
  margin: 0;
  color: var(--dash-text);
  font-size: var(--font-size-lg);
  font-weight: 600;
  line-height: 1.25;
}

.dash-month-summary__head a {
  color: var(--dash-text-subtle);
  font-size: var(--font-size-sm);
  font-weight: 500;
  text-decoration: none;
}

.dash-month-summary__head a:hover { color: var(--dash-text); }

.dash-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-md);
  min-width: 0;
}

.dash-kpi {
  --dash-kpi-pad: var(--spacing-lg);
  position: relative;
  overflow: hidden;
  display: flex;
  min-height: 104px;
  flex-direction: column;
  padding: var(--dash-kpi-pad);
  min-width: 0;
  border: none;
  border-radius: calc(var(--dash-island-radius) - var(--spacing-sm));
  background: var(--dash-activity-surface);
}

.dash-month-summary .dash-kpi__top { display: none; }

.dash-kpi__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 36px;
  margin-bottom: 16px;
}

.dash-kpi__icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
}

.dash-kpi__icon--green { background: var(--dash-green-soft); color: var(--dash-green); }
.dash-kpi__icon--red { background: var(--dash-red-soft); color: var(--dash-red); }
.dash-kpi__icon--purple { background: var(--dash-purple-soft); color: var(--dash-purple); }
.dash-kpi__icon--blue { background: var(--dash-blue-soft); color: var(--dash-blue); }

/* KPI icon wells share one neutral background; only the glyph carries color. */
:is(
  .dash-kpi__icon,
  .ins-summary__icon,
  .acc-summary__icon,
  .acct-summary__icon,
  .bud-summary__icon,
  .inv-summary__icon,
  .tax-summary__icon,
  .pay-summary__icon,
  .team-summary__icon,
  .ops-summary__icon,
  .api-kpi__icon,
  .int-kpi__icon,
  .rpt-kpi__icon,
  .aud-kpi__icon
)[class] {
  background: var(--color-well, var(--dash-surface));
}

.dash-kpi__spark {
  position: absolute;
  inset-inline-start: auto;
  inset-inline-end: 0;
  bottom: 18px;
  width: 58%;
  height: 44px;
  margin: 0;
  opacity: 0.54;
  overflow: visible;
  pointer-events: none;
}

.dash-kpi__label {
  position: relative;
  z-index: 1;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--dash-text-muted);
}

.dash-kpi__value {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--font-numeric);
  font-size: clamp(20px, 2.1cqi, 24px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-kpi__trend {
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: var(--spacing-md);
  font-family: var(--font-numeric);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.dash-kpi__trend-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  min-block-size: 22px;
  padding-block: 0;
  padding-inline: var(--spacing-sm);
  border-radius: var(--radius-full);
  background: var(--color-neutral-soft);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium, 500);
  line-height: 1;
  white-space: nowrap;
}

.dash-kpi__trend-badge .dash-trend-icon {
  inline-size: 12px;
  block-size: 12px;
  color: inherit;
}

.dash-kpi__trend-value { text-box: trim-both cap alphabetic; }

.dash-kpi__trend--up .dash-kpi__trend-badge {
  background: var(--color-success-soft);
  color: var(--color-success);
}

.dash-kpi__trend--down .dash-kpi__trend-badge {
  background: var(--color-error-soft);
  color: var(--color-error);
}

/* ── Wallet + activity hero ── */

.dash-wallet {
  position: relative;
  display: flex;
  flex-direction: column;
  container-type: inline-size;
  padding: var(--dash-island-pad);
  min-width: 0;
  min-block-size: 330px;
}

.dash-wallet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  min-height: var(--spacing-5xl);
}

.dash-wallet__account,
.dash-wallet__visibility,
.dash-wallet__actions button {
  border: 0;
  cursor: pointer;
}

.dash-wallet__account {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: var(--spacing-md);
  padding: 4px 12px 4px 4px;
  border-radius: var(--dash-radius-btn);
  background: transparent;
  color: var(--dash-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}

.dash-wallet__account:hover,
.dash-wallet__account[aria-expanded="true"] {
  background: var(--color-well);
}

.dash-wallet__account:focus-visible {
  outline: 2px solid var(--dash-border-strong);
  outline-offset: 2px;
}

.dash-wallet__account > span:nth-child(2),
.dash-cashflow .dash-card__title {
  text-box: trim-both cap alphabetic;
}

.dash-wallet__account-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--color-well);
  color: var(--dash-text);
  font-family: var(--font-numeric);
  font-weight: 600;
}

.dash-wallet__account svg { color: var(--dash-text-muted); }

.dash-wallet__account[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.dash-wallet__account-menu {
  position: fixed;
  inset: auto;
  z-index: var(--dash-popover-z);
  width: min(320px, calc(100vw - (var(--spacing-xl) * 2)));
  max-height: min(420px, calc(100dvh - (var(--spacing-xl) * 2)));
  margin: 0;
  padding: var(--spacing-sm);
  overflow: auto;
  border: 1px solid var(--dash-border);
  border-radius: var(--dash-radius-card);
  background: var(--dash-popover-bg-solid);
  color: var(--dash-text);
  box-shadow: var(--dash-popover-shadow);
}

.dash-wallet__account-menu[popover] { display: none; }

.dash-wallet__account-menu[popover]:is(:popover-open, .is-open) {
  display: grid;
  gap: var(--spacing-xs);
}

.dash-wallet__account-option {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: var(--spacing-md);
  width: 100%;
  min-height: 56px;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 0;
  border-radius: var(--dash-radius-input);
  background: transparent;
  color: var(--dash-text);
  text-align: left;
  cursor: pointer;
}

.dash-wallet__account-option:hover,
.dash-wallet__account-option[aria-selected="true"] {
  background: var(--dash-surface);
}

.dash-wallet__account-option:hover {
  background: var(--dash-surface-hover);
}

.dash-wallet__account-option-mark {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--color-well);
  color: var(--dash-text);
  font-family: var(--font-numeric);
  font-weight: 600;
}

.dash-wallet__account-option[aria-selected="true"] .dash-wallet__account-option-mark {
  background: var(--dash-popover-bg-solid, #ffffff);
}

.dash-wallet__account-option-copy { min-width: 0; }

.dash-wallet__account-option-name,
.dash-wallet__account-option-sub {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-wallet__account-option-name {
  font-size: 14px;
  font-weight: 600;
}

.dash-wallet__account-option-sub {
  margin-top: 2px;
  color: var(--dash-text-subtle);
  font-size: 12px;
}

.dash-wallet__account-option-balance {
  color: var(--dash-text);
  font-family: var(--font-numeric);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.dash-wallet__account-option-check {
  color: var(--dash-green);
  opacity: 0;
}

.dash-wallet__account-option[aria-selected="true"] .dash-wallet__account-option-check {
  opacity: 1;
}

.dash-wallet__link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--spacing-xs);
}

.dash-wallet__link svg { flex: 0 0 auto; }

.dash-wallet__link > span,
.dash-cashflow .dash-card__link > span {
  line-height: 1.25;
  text-box: trim-both cap alphabetic;
}

.dash-wallet__visibility {
  display: grid;
  position: relative;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--dash-wallet-action-surface);
  color: var(--dash-text-muted);
}

.dash-wallet__balance-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
  margin-top: var(--spacing-xl);
  text-align: center;
}

.dash-wallet__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
}

.dash-wallet__balance {
  display: grid;
  justify-items: center;
  margin: 0;
  color: var(--dash-text);
  font-family: var(--font-numeric);
  font-size: clamp(36px, 7cqi, 52px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.dash-wallet__balance > span {
  grid-area: 1 / 1;
}

.dash-wallet__balance-sizer {
  visibility: hidden;
  pointer-events: none;
}

.dash-wallet__change {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  min-height: 36px;
  margin: 0;
  padding: 0 14px;
  border-radius: var(--dash-radius-btn);
  background: color-mix(in srgb, var(--dash-wallet-action-surface) 52%, transparent);
  color: var(--color-number-primary, var(--dash-text));
  font-family: var(--font-numeric);
  font-size: 12px;
  font-weight: 600;
}

.dash-wallet__change-value {
  display: inline-grid;
  justify-items: start;
  width: max-content;
}

.dash-wallet__change-value > span {
  grid-area: 1 / 1;
}

.dash-wallet__change-sizer {
  visibility: hidden;
  pointer-events: none;
}

.dash-wallet__change[hidden] {
  display: none;
}

.dash-trend-icon { flex: 0 0 auto; }

.dash-wallet__visibility:hover { background: var(--dash-surface-hover); color: var(--dash-text); }

.dash-wallet__actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  inline-size: min(100%, 720px);
  gap: var(--spacing-md);
  margin-top: auto;
  margin-inline: auto;
  padding-top: var(--spacing-2xl);
}

.dash-wallet__actions button {
  display: flex;
  flex-direction: column;
  inline-size: min(100%, 136px);
  min-width: 0;
  justify-self: center;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: 0;
  background: transparent;
  color: var(--dash-text-muted);
  font-size: var(--font-size-lg);
  font-weight: 500;
  line-height: 1.2;
}

.dash-wallet__action-icon {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 50%;
  background: var(--dash-wallet-action-surface);
  color: var(--dash-icon);
  transition: background var(--dash-transition), transform var(--dash-transition);
}

.dash-wallet__actions button:hover { color: var(--dash-text); }
.dash-wallet__actions button:hover .dash-wallet__action-icon { background: var(--dash-surface-hover); transform: translateY(-1px); }

.dash-wallet__account:focus-visible,
.dash-wallet__visibility:focus-visible,
.dash-wallet__account-option:focus-visible {
  outline: 2px solid var(--dash-accent);
  outline-offset: 3px;
}

.dash-wallet__actions button:focus-visible {
  outline: none;
}

.dash-wallet__actions button:focus-visible .dash-wallet__action-icon {
  outline: 2px solid var(--dash-accent);
  outline-offset: 3px;
}

.dash-wallet__actions svg { color: inherit; }

@container (max-width: 300px) {
  .dash-wallet { padding: var(--dash-island-pad); }
  .dash-wallet__balance { font-size: 34px; }
  .dash-wallet__action-icon { width: 64px; height: 64px; }
}

.dash-cashflow {
  container: cashflow / inline-size;
  padding: var(--dash-island-pad);
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: var(--dash-island-radius);
}

.dash-cashflow .dash-card__head {
  margin-bottom: var(--spacing-xl);
  min-height: var(--spacing-5xl);
}

.dash-cashflow .dash-card__title {
  font-size: var(--font-size-lg);
  line-height: 1.25;
}

.dash-cashflow__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--spacing-lg);
  min-width: 0;
}

.dash-cashflow__chart {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.dash-cashflow .dash-donut {
  position: relative;
  width: 128px;
  height: 128px;
  flex-shrink: 0;
}

.dash-cashflow .dash-donut svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.dash-cashflow .dash-donut__center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 8px;
}

.dash-cashflow .dash-donut__center-value {
  font-family: var(--font-numeric);
  font-size: var(--font-size-lg);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.dash-cashflow .dash-donut__center-label {
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-xs);
  color: var(--dash-text-subtle);
  line-height: 1.2;
}

.dash-cashflow__legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--spacing-sm);
  min-width: 0;
}

.dash-cashflow .dash-legend-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  min-height: var(--spacing-2xl);
  font-size: var(--font-size-base);
  min-width: 0;
}

.dash-cashflow .dash-legend-item__left {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  color: var(--dash-text-muted);
  min-width: 0;
  flex: 1;
}

.dash-cashflow .dash-legend-item__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-cashflow .dash-legend-item__dot {
  width: var(--spacing-sm);
  height: var(--spacing-sm);
  border-radius: 50%;
  flex-shrink: 0;
}

.dash-cashflow .dash-legend-item__value {
  font-family: var(--font-numeric);
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--dash-text);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.dash-cashflow__status {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin: 0;
  font-size: var(--font-size-base);
  line-height: 1.35;
  color: var(--dash-green);
  font-weight: 500;
}

.dash-cashflow__status svg {
  flex-shrink: 0;
}

.dash-cashflow__footer {
  display: flex;
  align-items: center;
  min-height: var(--control-height-md);
  margin-top: var(--spacing-xl);
}

@container cashflow (min-width: 440px) {
  .dash-cashflow__body {
    display: grid;
    grid-template-columns: minmax(132px, 0.8fr) minmax(0, 1.2fr);
    gap: var(--spacing-2xl);
  }

  .dash-cashflow .dash-donut {
    width: 132px;
    height: 132px;
  }
}

/* ── Activity ── */

.dash-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--dash-island-gap);
}

.dash-activity,
.dash-spending {
  padding: var(--dash-island-pad);
  border-radius: var(--dash-island-radius);
}

.dash-spending {
  display: flex;
  flex-direction: column;
}

.dash-activity {
  border-radius: calc(var(--dash-island-radius) - var(--spacing-sm));
}

.dash-activity-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dash-activity-panel {
  --dash-activity-fade-size: 56px;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-block-size: 320px;
  max-block-size: 320px;
  margin: 0 var(--dash-island-pad) var(--dash-island-pad);
  border: none;
}

.dash-activity.dash-activity-panel {
  overflow: clip;
  padding-block-end: 0;
}

body.dash-page .dash-overview > .dash-activity-panel {
  border-radius: calc(var(--dash-island-radius) - var(--spacing-sm));
  background: var(--dash-activity-surface);
}

body.dash-page .dash-overview > .dash-activity-panel::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset-inline: 0;
  inset-block-end: 0;
  block-size: var(--dash-activity-fade-size);
  border-radius: 0 0 calc(var(--dash-island-radius) - var(--spacing-sm))
    calc(var(--dash-island-radius) - var(--spacing-sm));
  background: linear-gradient(
    to bottom,
    transparent 0%,
    var(--dash-activity-fade-color) 100%
  );
  pointer-events: none;
}

.dash-activity-panel .dash-card__head {
  flex: 0 0 auto;
  min-height: var(--spacing-5xl);
  margin-bottom: var(--spacing-md);
}

.dash-activity-panel__toolbar {
  align-items: center;
  gap: var(--spacing-lg);
}

.dash-activity__filters {
  display: flex;
  flex: 1 1 auto;
  gap: var(--spacing-xs);
  min-width: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.dash-activity-panel__toolbar .dash-card__link {
  flex: 0 0 auto;
}

.dash-activity__filters::-webkit-scrollbar { display: none; }

.dash-activity__filters button {
  min-block-size: 32px;
  padding-inline: var(--spacing-md);
  border: 0;
  border-radius: var(--dash-radius-btn);
  background: transparent;
  color: var(--dash-text-muted);
  font: inherit;
  font-size: var(--font-size-sm);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}

.dash-activity__filters button:hover:not([aria-pressed="true"]) {
  background: var(--dash-surface);
  color: var(--dash-text);
}

.dash-activity__filters button[aria-pressed="true"] {
  background: var(--dash-surface-hover);
  color: var(--dash-text);
}

.dash-activity__filters button:focus-visible {
  outline: 2px solid var(--dash-accent);
  outline-offset: 2px;
}

.dash-activity-panel .dash-activity-list {
  flex: 1 1 auto;
  min-block-size: 0;
  margin-inline: calc(var(--spacing-2xl) * -1);
  padding-block-end: var(--dash-activity-fade-size);
  scroll-padding-block-end: var(--dash-activity-fade-size);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

.dash-activity-panel .dash-activity-list::-webkit-scrollbar {
  display: none;
}

.dash-activity-row[hidden] {
  display: none;
}

.dash-activity-panel .dash-activity-row {
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) calc(var(--spacing-2xl) - var(--spacing-sm));
  margin-inline: var(--spacing-md);
  border-radius: var(--radius-lg, 16px);
}

.dash-activity-panel .dash-activity-row__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.dash-activity-panel .dash-activity-row__avatar--asset img {
  width: 24px;
  height: 24px;
}

.dash-activity-panel .dash-activity-row__avatar--brand-aws img {
  width: 28px;
  height: 28px;
}

.dash-activity-panel .dash-activity-row__avatar--brand-spotify img {
  width: 25px;
  height: 25px;
}

.dash-activity-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  margin: 0 -12px;
  border-radius: 14px;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--dash-transition), transform var(--dash-transition);
}

.dash-activity-row:hover {
  background: var(--dash-surface-hover);
  transform: none;
}

.dash-activity-row:focus-visible {
  outline: 2px solid var(--dash-focus, #3b82f6);
  outline-offset: 2px;
}

.dash-activity-row__avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-circle, 50%);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.dash-activity-row__avatar--asset {
  background: var(--dash-inner-surface);
  color: var(--dash-text);
  overflow: hidden;
}

.dash-activity-row__avatar--asset img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.dash-activity-row__avatar--brand-aws img {
  width: 34px;
  height: 34px;
}

.dash-activity-row__avatar--brand-spotify img {
  width: 31px;
  height: 31px;
}

.dash-activity-row__avatar--income { background: var(--dash-green-soft); color: var(--dash-green); }
.dash-activity-row__avatar--expense { background: var(--dash-red-soft); color: var(--dash-red); }
.dash-activity-row__avatar--transfer { background: var(--dash-purple-soft); color: var(--dash-purple); }

.dash-activity-row__title {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.dash-activity-row__sub {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--dash-text-subtle);
}

.dash-activity-row__right {
  text-align: right;
}

.dash-activity-row__amount {
  margin: 0;
  font-family: var(--font-numeric);
  font-size: 14px;
  font-weight: 600;
  color: var(--dash-text);
}

.dash-activity-row__date {
  margin: 2px 0 0;
  font-family: var(--font-numeric);
  font-size: 11px;
  color: var(--dash-text-subtle);
}

/* ── Spending ── */

.dash-spending-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-block-start: auto;
}

.dash-spending-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.dash-spending-row__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--dash-inner-surface);
  display: grid;
  place-items: center;
  color: var(--dash-text-muted);
}

.dash-spending-row__meta {
  min-width: 0;
}

.dash-spending-row__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.dash-spending-row__name {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}

.dash-spending-row__metrics {
  display: inline-flex;
  align-items: baseline;
  gap: var(--spacing-md);
  flex: 0 0 auto;
}

.dash-spending-row__amount,
.dash-spending-row__pct {
  font-family: var(--font-numeric);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.dash-spending-row__pct {
  min-width: 3.25ch;
  color: var(--dash-text-subtle);
  text-align: right;
}

.dash-spending-row__bar {
  height: 8px;
  border-radius: 999px;
  background: var(--dash-inner-surface);
  padding: 2px;
  overflow: hidden;
  box-sizing: border-box;
}

.dash-spending-row__fill {
  height: 100%;
  border-radius: 999px;
  background: var(--dash-spending-fill, var(--dash-text));
  transition: width 600ms ease;
}

/* ── Accounts ── */

.dash-accounts {
  padding: var(--dash-island-pad);
  container-type: inline-size;
  border-radius: var(--dash-island-radius);
  border: none;
}

.dash-account-row {
  display: grid;
  grid-template-columns: 36px 1fr auto 16px;
  gap: 12px;
  align-items: center;
  min-width: 0;
  margin-inline: -12px;
  padding: 10px 12px;
  position: relative;
  border: 0;
  border-radius: calc(var(--dash-island-radius) - var(--spacing-sm));
  color: var(--dash-text);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--dash-transition);
}

.dash-account-row:where(a, a:visited, a:hover, a:focus-visible) {
  color: var(--dash-text);
  text-decoration: none;
}

.dash-account-row > div:nth-child(2) {
  min-width: 0;
}

.dash-account-row:hover,
.dash-account-row:focus-visible {
  background: var(--dash-inner-surface);
}

.dash-account-row__icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: 1;
  background: var(--dash-inner-surface);
  color: var(--dash-text);
  text-decoration: none;
}

.dash-account-row__icon--asset {
  background: var(--dash-inner-surface);
  overflow: hidden;
}

.dash-account-row__icon--asset img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.dash-account-row__icon--blue {
  background: var(--dash-blue-soft);
  color: var(--dash-blue);
}

.dash-account-row__name {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--dash-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
}

.dash-account-row__sub {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--dash-text-subtle);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-decoration: none;
}

.dash-account-row__balance {
  font-family: var(--font-numeric);
  font-size: 14px;
  font-weight: 600;
  color: var(--dash-text);
  text-align: right;
  white-space: nowrap;
  text-decoration: none;
}

.dash-account-row__chev {
  color: var(--dash-text-subtle);
}

@container (max-width: 360px) {
  .dash-account-row {
    grid-template-columns: 36px minmax(0, 1fr) auto;
  }

  .dash-account-row__chev {
    display: none;
  }
}

/* ── Upcoming ── */

.dash-upcoming {
  padding: var(--dash-island-pad);
}

.dash-upcoming--wide {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.dash-upcoming--wide .dash-card__head {
  grid-column: 1 / -1;
}

.dash-upcoming-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
}

.dash-upcoming-row:last-child {
  padding-bottom: 0;
}

.dash-upcoming-row:first-child {
  padding-top: 0;
}

.dash-upcoming--wide .dash-upcoming-row {
  grid-column: 1 / -1;
  grid-template-columns: 48px minmax(0, 1fr) max-content;
  border-top: none;
}

.dash-upcoming-row__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--dash-inner-surface);
  border: none;
  border-radius: var(--dash-radius-btn);
}

.dash-upcoming-row__month {
  font-size: 10px;
  font-weight: 700;
  color: var(--dash-text-subtle);
  letter-spacing: 0.04em;
}

.dash-upcoming-row__day {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.dash-upcoming-row__title {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.dash-upcoming-row__sub {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--dash-text-subtle);
}

.dash-upcoming-row__right {
  text-align: right;
}

.dash-upcoming-row__amount {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.dash-upcoming-row__status {
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 600;
}

.dash-upcoming-row__status--soon {
  color: var(--dash-orange);
}

.dash-upcoming-row__status--ok {
  color: var(--dash-text-subtle);
}

/* ── Quick actions / payment link ── */

.dash-quick {
  padding: var(--dash-island-pad);
  min-width: 0;
  max-width: 100%;
  border-radius: var(--dash-island-radius);
}

.dash-quick--actions {
  padding: var(--dash-island-pad);
  border: none;
}

.dash-quick__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  margin-bottom: 0;
}

.dash-quick__actions:not(:last-child) {
  margin-bottom: 10px;
}

.dash-quick__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 76px;
  padding: 16px 10px;
  border: none;
  border-radius: 16px;
  background: var(--dash-inner-surface);
  color: var(--dash-text-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background var(--dash-transition), color var(--dash-transition), transform var(--dash-transition);
}

.dash-quick__item:hover {
  background: var(--dash-surface-hover);
  color: var(--dash-text);
  transform: translateY(-2px);
}

.dash-quick__item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--dash-text-muted);
}

.dash-quick__link-field {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  padding: 7px 8px 7px 12px;
  border-radius: 12px;
  border: none;
  background: var(--dash-inner-surface);
}

.dash-quick__link-field input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  border: none;
  background: transparent;
  color: var(--dash-text-muted);
  font-size: 12px;
  outline: none;
}

.dash-quick__copy {
  padding: 4px 8px;
  border: none;
  border-radius: 8px;
  background: var(--dash-inner-surface);
  color: var(--dash-text-muted);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--dash-transition), color var(--dash-transition);
}

.dash-quick__copy:hover {
  background: var(--dash-purple-soft);
  color: var(--dash-purple);
}

.dash-quick__link-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.dash-quick__promo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 76px;
  padding: 16px 10px;
  border-radius: 16px;
  background: var(--dash-surface);
  color: var(--dash-text-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--dash-transition), color var(--dash-transition), transform var(--dash-transition);
}

.dash-quick__promo:hover {
  background: var(--dash-surface-hover);
  color: var(--dash-text);
  transform: translateY(-2px);
}

.dash-quick__promo svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--dash-text-muted);
}

/* Chart animations */

@keyframes dashDrawLine {
  from { stroke-dashoffset: 1000; }
  to { stroke-dashoffset: 0; }
}

@keyframes dashFadeIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

.dash-donut .dash-donut-seg {
  animation: dashFadeIn 0.6s ease backwards;
}

.dash-donut .dash-donut-seg:nth-child(1) { animation-delay: 0.05s; }
.dash-donut .dash-donut-seg:nth-child(2) { animation-delay: 0.12s; }
.dash-donut .dash-donut-seg:nth-child(3) { animation-delay: 0.19s; }
.dash-donut .dash-donut-seg:nth-child(4) { animation-delay: 0.26s; }

.dash-spending-row__fill {
  width: 0;
}

.dash-spending-row.is-visible .dash-spending-row__fill {
  width: var(--pct);
}

.dash-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Dashboard responsive layout ── */

/* 4 KPI → 2×2 when main column is too narrow for four cards */
@container dash-main-col (max-width: 720px) {
  .dash-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dash-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .dash-split {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1280px) {
  .dash-grid {
    grid-template-columns: 1fr;
  }

  body.dash-page .dash-content--flat-workspace > .dash-environment-banner {
    inline-size: 100%;
  }

  .dash-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .dash-hero__balance {
    font-size: 56px;
  }
}

@media (max-width: 800px) {
  body.dash-page .dash-header {
    padding-inline: var(--dash-mobile-page-x);
  }

  body.dash-page .dash-main > .dash-content--flat-workspace {
    padding-inline: var(--dash-mobile-page-x);
  }

  .dash-hero {
    padding: var(--dash-island-pad);
  }

  .dash-hero__label {
    padding-right: 0;
  }

  .dash-hero__row {
    margin-bottom: 18px;
  }

  .dash-hero__balance {
    font-size: 40px;
  }

  .dash-hero__periods {
    top: 24px;
    right: 24px;
  }

  .dash-hero__period {
    padding: 8px 10px;
  }

  .dash-hero__chart {
    height: 148px;
    margin-bottom: 18px;
  }

  .dash-hero__chart-tooltip {
    transform: translate(calc(-100% + 20px), calc(-100% - 12px));
  }

  .dash-hero__chart-tooltip.is-below {
    transform: translate(calc(-100% + 20px), 14px);
  }

  .dash-hero__actions {
    grid-template-columns: repeat(2, 1fr);
  }

  .dash-kpi-row {
    grid-template-columns: 1fr;
  }

  .dash-kpi {
    --dash-kpi-pad: var(--spacing-lg);
  }

  .dash-month-summary {
    padding: var(--dash-island-pad);
  }

  .dash-overview > .dash-activity-panel {
    margin: 0 var(--dash-island-pad) var(--dash-island-pad);
  }

  .dash-cashflow,
  .dash-activity,
  .dash-spending,
  .dash-accounts,
  .dash-upcoming,
  .dash-quick,
  .dash-quick--actions,
  .dash-wallet {
    padding: var(--dash-island-pad);
  }

  .dash-upcoming--wide {
    grid-template-columns: minmax(0, 1fr);
  }

  .dash-upcoming-row__right {
    min-width: 0;
  }

  .dash-upcoming-row__amount {
    font-size: 13px;
  }
}

@media (max-width: 380px) {
  .dash-hero__action {
    font-size: 13px;
    padding: 0 10px;
  }
}

/* Settings subpage breadcrumb */
.settings-crumb {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--dash-text-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}

.settings-crumb a {
  color: var(--dash-text-muted);
  text-decoration: none;
  transition: color var(--dash-transition);
}

.settings-crumb a:hover,
.settings-crumb a:focus-visible {
  color: var(--dash-text);
}

.settings-crumb__sep {
  color: var(--dash-text-muted);
  opacity: 0.5;
}

.settings-crumb [aria-current="page"] {
  min-width: 0;
  color: var(--dash-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prof-head .settings-crumb,
.team-head .settings-crumb,
.aud-main .settings-crumb {
  margin-bottom: 10px;
}

/* Wide workspace scale: preserve normal desktop density, then grow the whole
   product shell when the viewport has enough physical room. */
@media (min-width: 100rem) {
  body.dash-page {
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-base: 15px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 20px;
    --font-size-2xl: 24px;
    --font-size-3xl: 28px;
    --control-height-md: 48px;
    --nucleus-control-height: 48px;
    --tx-control-height: 48px;
    --control-padding-x: 18px;
    --control-date-icon-size: 20px;
    --spacing-lg: 20px;
    --spacing-xl: 24px;
    --spacing-2xl: 32px;
    --spacing-3xl: 40px;
    --spacing-4xl: 48px;
    --spacing-6xl: 72px;
    --dash-sidebar-w: 288px;
    --dash-page-x: 48px;
    --dash-content-pad-x: 48px;
    --dash-content-y: 40px;
    --dash-header-y: 28px;
    --dash-aside-width: 440px;
    --dash-main-max-width: 1728px;
    --dash-island-gap: 24px;
    --dash-main-aside-gap: 40px;
    --dash-workspace-margin-right: 40px;
    --dash-workspace-pad-x: 24px;
    --dash-workspace-pad-top: 24px;
    --dash-content-pad-bottom: 56px;
    font-size: 16px;
  }

  body.dash-page .dash-sidebar {
    padding: 32px 20px;
  }

  body.dash-page .dash-logo {
    gap: 12px;
    padding: 0 10px 40px;
  }

  body.dash-page .dash-nav {
    gap: 6px;
  }

  body.dash-page .dash-nav__link {
    gap: 12px;
    min-height: 48px;
    padding: 10px 12px;
    font-size: 16px;
  }

  body.dash-page .dash-nav__icon {
    width: 34px;
    height: 34px;
  }

  body.dash-page .dash-nav__link svg,
  body.dash-page .dash-sidebar-toggle svg {
    width: 21px;
    height: 21px;
  }

  body.dash-page .dash-sidebar-toggle {
    width: 44px;
    height: 44px;
  }

  body.dash-page .dash-search {
    max-width: 440px;
  }

  body.dash-page .dash-search input,
  body.dash-page .dash-new-btn,
  body.dash-page .dash-header__island,
  body.dash-page .dash-icon-btn,
  body.dash-page .dash-header .dash-user,
  body.dash-page .dash-avatar {
    min-height: 52px;
    height: 52px;
  }

  body.dash-page .dash-icon-btn,
  body.dash-page .dash-avatar,
  body.dash-page .dash-header .dash-user {
    min-width: 52px;
    width: 52px;
    max-width: 52px;
  }

  body.dash-page .dash-search input {
    padding-inline: 50px 58px;
    font-size: 16px;
  }

  body.dash-page .dash-search svg {
    left: 17px;
    width: 20px;
    height: 20px;
  }

  body.dash-page .dash-new-btn {
    gap: 10px;
    padding-inline: 20px 22px;
    font-size: 16px;
  }

  body.dash-page :is(.dash-new-btn, .dash-icon-btn, .dash-avatar) svg {
    width: 20px;
    height: 20px;
  }

  body.dash-page .dash-main > .dash-workspace-content h1[class$="-title"] {
    font-size: clamp(44px, 3vw, 56px);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  body.dash-page :is(
    .dash-card,
    [class$="-card"],
    [class*="-card "]
  ) {
    --control-date-icon-size: 20px;
  }
}

/* Light: page-level islands on white workspace. Dark keeps border: none. */
html.light-theme body.dash-page :is(
  .dash-grid > .dash-col > .dash-card,
  .dash-split > .dash-card,
  .dash-month-summary,
  .dash-overview,
  .dash-onboarding,
  .pay-card,
  .bill-card,
  .set-card,
  .set-panel,
  .prof-card,
  .prof-panel,
  .team-table-card,
  .team-panel,
  .team-pilot,
  .bill-hero,
  .bill-panel,
  .plan-panel,
  .ntf-card,
  .ntf-panel,
  .sec-card,
  .sec-panel,
  .api-card,
  .api-panel,
  .api-kpi,
  .int-section,
  .int-panel,
  .int-kpi,
  .ops-card,
  .ops-panel,
  .bud-chart-card,
  .bud-table-card,
  .bud-panel,
  .inc-chart-card,
  .inc-table-card,
  .inc-panel,
  .tax-chart-card,
  .tax-table-card,
  .tax-panel,
  .acct-chart-card,
  .acct-table-card,
  .acct-panel,
  .ins-chart-card,
  .ins-table-card,
  .ins-panel,
  .tx-table-card,
  .rpt-table-card,
  .acc-table-card,
  .ntc-inbox,
  .ntc-card
),
html.light body.dash-page :is(
  .dash-grid > .dash-col > .dash-card,
  .dash-split > .dash-card,
  .dash-month-summary,
  .dash-overview,
  .dash-onboarding,
  .pay-card,
  .bill-card,
  .set-card,
  .set-panel,
  .prof-card,
  .prof-panel,
  .team-table-card,
  .team-panel,
  .team-pilot,
  .bill-hero,
  .bill-panel,
  .plan-panel,
  .ntf-card,
  .ntf-panel,
  .sec-card,
  .sec-panel,
  .api-card,
  .api-panel,
  .api-kpi,
  .int-section,
  .int-panel,
  .int-kpi,
  .ops-card,
  .ops-panel,
  .bud-chart-card,
  .bud-table-card,
  .bud-panel,
  .inc-chart-card,
  .inc-table-card,
  .inc-panel,
  .tax-chart-card,
  .tax-table-card,
  .tax-panel,
  .acct-chart-card,
  .acct-table-card,
  .acct-panel,
  .ins-chart-card,
  .ins-table-card,
  .ins-panel,
  .tx-table-card,
  .rpt-table-card,
  .acc-table-card,
  .ntc-inbox,
  .ntc-card
),
html.dash-landing-preview.light-theme :is(
  .dash-grid > .dash-col > .dash-card,
  .dash-split > .dash-card,
  .dash-month-summary,
  .dash-overview,
  .dash-onboarding,
  .pay-card,
  .bill-card,
  .set-card,
  .set-panel,
  .prof-card,
  .prof-panel,
  .team-table-card,
  .team-panel,
  .team-pilot,
  .bill-hero,
  .bill-panel,
  .plan-panel,
  .ntf-card,
  .ntf-panel,
  .sec-card,
  .sec-panel,
  .api-card,
  .api-panel,
  .api-kpi,
  .int-section,
  .int-panel,
  .int-kpi,
  .ops-card,
  .ops-panel,
  .bud-chart-card,
  .bud-table-card,
  .bud-panel,
  .inc-chart-card,
  .inc-table-card,
  .inc-panel,
  .tax-chart-card,
  .tax-table-card,
  .tax-panel,
  .acct-chart-card,
  .acct-table-card,
  .acct-panel,
  .ins-chart-card,
  .ins-table-card,
  .ins-panel,
  .tx-table-card,
  .rpt-table-card,
  .acc-table-card,
  .ntc-inbox,
  .ntc-card
),
html.dash-landing-preview.light :is(
  .dash-grid > .dash-col > .dash-card,
  .dash-split > .dash-card,
  .dash-month-summary,
  .dash-overview,
  .dash-onboarding,
  .pay-card,
  .bill-card,
  .set-card,
  .set-panel,
  .prof-card,
  .prof-panel,
  .team-table-card,
  .team-panel,
  .team-pilot,
  .bill-hero,
  .bill-panel,
  .plan-panel,
  .ntf-card,
  .ntf-panel,
  .sec-card,
  .sec-panel,
  .api-card,
  .api-panel,
  .api-kpi,
  .int-section,
  .int-panel,
  .int-kpi,
  .ops-card,
  .ops-panel,
  .bud-chart-card,
  .bud-table-card,
  .bud-panel,
  .inc-chart-card,
  .inc-table-card,
  .inc-panel,
  .tax-chart-card,
  .tax-table-card,
  .tax-panel,
  .acct-chart-card,
  .acct-table-card,
  .acct-panel,
  .ins-chart-card,
  .ins-table-card,
  .ins-panel,
  .tx-table-card,
  .rpt-table-card,
  .acc-table-card,
  .ntc-inbox,
  .ntc-card
) {
  border: var(--dash-island-border);
}

html.light-theme .dash-overview :is(.dash-card, .dash-activity-panel),
html.light .dash-overview :is(.dash-card, .dash-activity-panel),
html.dash-landing-preview.light-theme .dash-overview :is(.dash-card, .dash-activity-panel),
html.dash-landing-preview.light .dash-overview :is(.dash-card, .dash-activity-panel) {
  border: none;
}
