/* MarżaBot — application theme bridge.
   This file is intentionally scoped to .app-shell. Landing and auth stay unchanged. */

:root[data-theme="midnight"] body.app-page .app-shell {
  color-scheme: dark;
  --theme-bg: #080e0c;
  --theme-surface: #101714;
  --theme-surface-raised: #151e1a;
  --theme-surface-soft: #18221d;
  --theme-text: #f1f5f1;
  --theme-muted: #8d9b94;
  --theme-muted-strong: #b6c1bb;
  --theme-line: #26332d;
  --theme-line-soft: #202c26;
  --theme-accent: #59dfae;
  --theme-accent-strong: #0e6d4b;
  --theme-accent-hover: #77edc0;
  --theme-accent-soft: #132d24;
  --theme-accent-ink: #07120d;
  --theme-sidebar: #070c0a;
  --theme-sidebar-raised: #0d1511;
  --theme-sidebar-text: #8f9d96;
  --theme-sidebar-muted: #5f6c65;
  --theme-paper: #e7ece6;
  --theme-paper-raised: #f3f5f1;
  --theme-paper-muted: #d6ddd5;
  --theme-paper-ink: #0b1510;
  --theme-paper-subtle: #536158;
  --theme-ink-panel: #111710;
  --theme-ink-panel-text: #eef4f0;
  --theme-ink-panel-muted: #8d9891;
  --theme-control: #0c1310;
  --theme-control-hover: #111a16;
  --theme-warning-bg: #dca556;
  --theme-warning-ink: #221607;
  --theme-danger-bg: #d48187;
  --theme-danger-ink: #2a0d11;
  --theme-danger: #ee8585;
  --theme-blue: #84aef5;
}

:root[data-theme="forest"] body.app-page .app-shell {
  color-scheme: light;
  --theme-bg: #edf2ed;
  --theme-surface: #fbfcfa;
  --theme-surface-raised: #f4f7f3;
  --theme-surface-soft: #e8eee9;
  --theme-text: #17241e;
  --theme-muted: #637169;
  --theme-muted-strong: #44564c;
  --theme-line: #cbd6ce;
  --theme-line-soft: #dce4de;
  --theme-accent: #147554;
  --theme-accent-strong: #0d593f;
  --theme-accent-hover: #0f6849;
  --theme-accent-soft: #dcece4;
  --theme-accent-ink: #ffffff;
  --theme-sidebar: #0a1712;
  --theme-sidebar-raised: #11221a;
  --theme-sidebar-text: #b2c0b8;
  --theme-sidebar-muted: #718178;
  --theme-paper: #f2f6f1;
  --theme-paper-raised: #ffffff;
  --theme-paper-muted: #e3ebe4;
  --theme-paper-ink: #112019;
  --theme-paper-subtle: #596b60;
  --theme-ink-panel: #14231d;
  --theme-ink-panel-text: #f4f8f5;
  --theme-ink-panel-muted: #a9b8b0;
  --theme-control: #ffffff;
  --theme-control-hover: #f6f9f6;
  --theme-warning-bg: #bd7b27;
  --theme-warning-ink: #ffffff;
  --theme-danger-bg: #ba4b56;
  --theme-danger-ink: #ffffff;
  --theme-danger: #a73540;
  --theme-blue: #386da8;
}

:root[data-theme="ocean"] body.app-page .app-shell {
  color-scheme: light;
  --theme-bg: #edf3fa;
  --theme-surface: #fbfdff;
  --theme-surface-raised: #f3f7fc;
  --theme-surface-soft: #e7eef8;
  --theme-text: #17263a;
  --theme-muted: #627186;
  --theme-muted-strong: #40536c;
  --theme-line: #cbd7e6;
  --theme-line-soft: #dce5f0;
  --theme-accent: #286cca;
  --theme-accent-strong: #174f9d;
  --theme-accent-hover: #1d5fbd;
  --theme-accent-soft: #dce9fb;
  --theme-accent-ink: #ffffff;
  --theme-sidebar: #0b182a;
  --theme-sidebar-raised: #12243a;
  --theme-sidebar-text: #b2c0d2;
  --theme-sidebar-muted: #708299;
  --theme-paper: #f1f6fc;
  --theme-paper-raised: #ffffff;
  --theme-paper-muted: #e1eaf5;
  --theme-paper-ink: #12233a;
  --theme-paper-subtle: #586b83;
  --theme-ink-panel: #101f35;
  --theme-ink-panel-text: #f4f8fd;
  --theme-ink-panel-muted: #a8b8cc;
  --theme-control: #ffffff;
  --theme-control-hover: #f5f8fc;
  --theme-warning-bg: #b77727;
  --theme-warning-ink: #ffffff;
  --theme-danger-bg: #b84b58;
  --theme-danger-ink: #ffffff;
  --theme-danger: #a33442;
  --theme-blue: #286cca;
}

:root[data-theme="violet"] body.app-page .app-shell {
  color-scheme: light;
  --theme-bg: #f2eff7;
  --theme-surface: #fdfcff;
  --theme-surface-raised: #f7f4fb;
  --theme-surface-soft: #ece6f4;
  --theme-text: #281f39;
  --theme-muted: #70657f;
  --theme-muted-strong: #51445f;
  --theme-line: #d8d0e4;
  --theme-line-soft: #e6e0ee;
  --theme-accent: #7052c8;
  --theme-accent-strong: #5336a9;
  --theme-accent-hover: #6042ba;
  --theme-accent-soft: #e6def7;
  --theme-accent-ink: #ffffff;
  --theme-sidebar: #1d1729;
  --theme-sidebar-raised: #292039;
  --theme-sidebar-text: #c2b8d0;
  --theme-sidebar-muted: #857891;
  --theme-paper: #f6f2fa;
  --theme-paper-raised: #ffffff;
  --theme-paper-muted: #e9e2f1;
  --theme-paper-ink: #241c34;
  --theme-paper-subtle: #6b6079;
  --theme-ink-panel: #211a33;
  --theme-ink-panel-text: #faf8fd;
  --theme-ink-panel-muted: #bcb1c9;
  --theme-control: #ffffff;
  --theme-control-hover: #f8f5fb;
  --theme-warning-bg: #ad7125;
  --theme-warning-ink: #ffffff;
  --theme-danger-bg: #b34759;
  --theme-danger-ink: #ffffff;
  --theme-danger: #a03245;
  --theme-blue: #5a63b7;
}

/* Feed the latest visual layers with theme-aware values. */
:root[data-theme] body.app-page .app-shell {
  --bg: var(--theme-bg);
  --surface: var(--theme-surface);
  --surface-subtle: var(--theme-surface-raised);
  --text: var(--theme-text);
  --muted: var(--theme-muted);
  --line: var(--theme-line);
  --brand: var(--theme-accent);
  --brand-strong: var(--theme-accent-hover);
  --brand-soft: var(--theme-accent-soft);
  --input-border: var(--theme-line);
  --sidebar-line: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent);
  --lux-panel: var(--theme-surface);
  --lux-panel-raised: var(--theme-surface-raised);
  --lux-sidebar: var(--theme-sidebar);
  --shadow: none;
  --ledger-paper: var(--theme-paper);
  --ledger-paper-raised: var(--theme-paper-raised);
  --ledger-paper-muted: var(--theme-paper-muted);
  --ledger-ink: var(--theme-paper-ink);
  --ledger-ink-muted: var(--theme-paper-subtle);
  --ledger-mint: var(--theme-accent);
  --ledger-mint-dark: var(--theme-accent-strong);
  --ledger-panel: var(--theme-surface);
  --ledger-panel-raised: var(--theme-surface-raised);
  --ledger-panel-soft: var(--theme-surface-soft);
  --ledger-line: var(--theme-line);
  --ledger-line-soft: var(--theme-line-soft);
  --ledger-danger: var(--theme-danger);
  --ledger-danger-dark: var(--theme-danger);
  --ledger-warning: var(--theme-warning-bg);
  --ledger-blue: var(--theme-blue);
  background: var(--theme-bg);
  color: var(--theme-text);
}

/* Shell, navigation and shared controls --------------------------------- */

:root[data-theme] body.app-page .app-shell .main-content {
  background: var(--theme-bg);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell .sidebar {
  background: var(--theme-sidebar);
  border-color: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent);
  color: var(--theme-sidebar-text);
}

:root[data-theme] body.app-page .app-shell :is(.brand-copy > span, .mobile-app-brand) { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell .sidebar .brand-copy > span { color: #f3f7f4; }
:root[data-theme] body.app-page .app-shell .sidebar :is(.brand-copy small, .nav-section-label) { color: var(--theme-sidebar-muted); }
:root[data-theme] body.app-page .app-shell .nav-item { color: var(--theme-sidebar-text); }

:root[data-theme] body.app-page .app-shell .nav-item:hover {
  border-color: color-mix(in srgb, var(--theme-sidebar-text) 22%, transparent);
  background: var(--theme-sidebar-raised);
  color: #ffffff;
}

:root[data-theme] body.app-page .app-shell .nav-item.is-active {
  border-color: color-mix(in srgb, var(--theme-accent) 36%, var(--theme-sidebar));
  background: color-mix(in srgb, var(--theme-accent) 13%, var(--theme-sidebar-raised));
  color: color-mix(in srgb, var(--theme-accent) 78%, #ffffff);
  box-shadow: inset 2px 0 0 var(--theme-accent);
}

:root[data-theme] body.app-page .app-shell .nav-badge {
  background: color-mix(in srgb, var(--theme-danger) 18%, var(--theme-sidebar-raised));
  color: color-mix(in srgb, var(--theme-danger) 74%, #ffffff);
}

:root[data-theme] body.app-page .app-shell .sidebar-note {
  border-color: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent);
  background: var(--theme-sidebar-raised);
}

:root[data-theme] body.app-page .app-shell .sidebar-note strong { color: #edf4ef; }
:root[data-theme] body.app-page .app-shell .sidebar-note small { color: var(--theme-sidebar-muted); }
:root[data-theme] body.app-page .app-shell .topbar h1 { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell .eyebrow,
:root[data-theme] body.app-page .app-shell .panel-kicker,
:root[data-theme] body.app-page .app-shell .screen-kicker { color: var(--theme-accent); }

:root[data-theme] body.app-page .app-shell :is(.system-state, .account-chip) {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell :is(.system-state small, .account-chip small) { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell .account-avatar { background: var(--theme-accent-soft); color: var(--theme-accent); }

:root[data-theme] body.app-page .app-shell .button-primary {
  border-color: var(--theme-accent);
  background: var(--theme-accent);
  color: var(--theme-accent-ink);
}

:root[data-theme] body.app-page .app-shell .button-primary:hover { background: var(--theme-accent-hover); }

:root[data-theme] body.app-page .app-shell .button-secondary {
  border-color: var(--theme-line);
  background: var(--theme-surface-raised);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell .button-secondary:hover { border-color: var(--theme-accent); background: var(--theme-accent-soft); }
:root[data-theme] body.app-page .app-shell .text-button { color: var(--theme-accent-strong); }

:root[data-theme] body.app-page .app-shell :is(.panel, .stat-card, .table-card, .store-channel-bar, .connection-card, .settings-save-bar) {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell :is(.panel-heading p, .stat-card span, .stat-card small, .muted) { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell .panel-heading { border-color: var(--theme-line-soft); }
:root[data-theme] body.app-page .app-shell .pill { border-color: var(--theme-line); background: var(--theme-accent-soft); color: var(--theme-accent-strong); }

:root[data-theme] body.app-page .app-shell .screen-masthead {
  border-color: var(--theme-line);
  background: var(--theme-surface);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell .screen-masthead p { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell .screen-masthead-aside { border-color: var(--theme-line); }
:root[data-theme] body.app-page .app-shell .screen-masthead-aside span,
:root[data-theme] body.app-page .app-shell .screen-masthead-aside small,
:root[data-theme] body.app-page .app-shell .screen-step { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell .screen-masthead-aside strong { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell .screen-step { border-color: var(--theme-line); }

:root[data-theme] body.app-page .app-shell :is(input, select, textarea) {
  border-color: var(--theme-line);
  background: var(--theme-control);
  color: var(--theme-text);
}

:root[data-theme] body.app-page .app-shell :is(input, select, textarea):focus { border-color: var(--theme-accent); }

/* Dashboard ------------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell .dashboard-profit-card {
  border-color: var(--theme-line);
  background: var(--theme-paper);
  color: var(--theme-paper-ink);
}

:root[data-theme] body.app-page .app-shell .dashboard-profit-card .eyebrow,
:root[data-theme] body.app-page .app-shell .dashboard-profit-card > strong,
:root[data-theme] body.app-page .app-shell .metric-foot .text-button { color: var(--theme-accent-strong); }
:root[data-theme] body.app-page .app-shell .dashboard-profit-card > p,
:root[data-theme] body.app-page .app-shell .dashboard-profit-card > small,
:root[data-theme] body.app-page .app-shell .metric-foot > span { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell :is(.metric-period, .metric-foot) { border-color: color-mix(in srgb, var(--theme-paper-ink) 16%, transparent); }

:root[data-theme] body.app-page .app-shell .decision-card {
  border-color: color-mix(in srgb, var(--theme-warning-bg) 36%, var(--theme-ink-panel));
  background: var(--theme-ink-panel);
  color: var(--theme-ink-panel-text);
}

:root[data-theme] body.app-page .app-shell .decision-card p,
:root[data-theme] body.app-page .app-shell .decision-card-action small { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell .decision-card .eyebrow { color: color-mix(in srgb, var(--theme-accent) 46%, #ffffff); }
:root[data-theme] body.app-page .app-shell .decision-card-action { border-color: color-mix(in srgb, var(--theme-ink-panel-text) 14%, transparent); }
:root[data-theme] body.app-page .app-shell .decision-card .button-secondary { border-color: color-mix(in srgb, var(--theme-ink-panel-text) 18%, transparent); background: transparent; color: var(--theme-ink-panel-text); }

:root[data-theme] body.app-page .app-shell .stat-card { background: var(--theme-surface); }
:root[data-theme] body.app-page .app-shell .stat-card strong { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell .chart-legend,
:root[data-theme] body.app-page .app-shell .ranking-row { border-color: var(--theme-line-soft); }
:root[data-theme] body.app-page .app-shell .ranking-row strong,
:root[data-theme] body.app-page .app-shell .ranking-value strong { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell .ranking-row small { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell .ranking-panel .text-button { color: var(--theme-accent); }

/* Alerts --------------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-alerts .alerts-stats { border-color: var(--theme-line); background: var(--theme-surface); }
:root[data-theme] body.app-page .app-shell #page-alerts .alerts-stats .stat-card { background: transparent; }
:root[data-theme] body.app-page .app-shell #page-alerts .alerts-stats .stat-card:last-child { background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-alerts .alerts-stats .stat-card :is(span, small) { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-alerts .alerts-stats .stat-card:last-child :is(span, small) { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-alerts .page-toolbar p { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-item { border-color: var(--theme-line); background: transparent; color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-item:hover { background: var(--theme-surface-raised); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-marker { border-color: var(--theme-line); background: var(--theme-surface-soft); color: var(--theme-blue); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-item.critical .alert-marker { border-color: color-mix(in srgb, var(--theme-danger) 38%, var(--theme-line)); background: color-mix(in srgb, var(--theme-danger) 10%, var(--theme-surface)); color: var(--theme-danger); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-item.warning .alert-marker { border-color: color-mix(in srgb, var(--theme-warning-bg) 40%, var(--theme-line)); background: color-mix(in srgb, var(--theme-warning-bg) 10%, var(--theme-surface)); color: var(--theme-warning-bg); }
:root[data-theme] body.app-page .app-shell #page-alerts :is(.alert-level, .alert-copy p, .alert-impact span) { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-alerts :is(.alert-heading strong, .alert-copy small) { color: var(--theme-muted-strong); }
:root[data-theme] body.app-page .app-shell #page-alerts .alert-impact strong { color: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-alerts .empty-state { border-color: var(--theme-line); background: var(--theme-surface); }

/* Integrations --------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-integrations .connections-hero { border-color: var(--theme-line); background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-integrations .connections-hero .eyebrow { color: var(--theme-accent-strong); }
:root[data-theme] body.app-page .app-shell #page-integrations .connections-hero p { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-integrations .connections-summary { background: var(--theme-ink-panel); }
:root[data-theme] body.app-page .app-shell #page-integrations .connections-summary strong { color: color-mix(in srgb, var(--theme-accent) 82%, #ffffff); }
:root[data-theme] body.app-page .app-shell #page-integrations .connections-summary span { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-card { border-color: var(--theme-line); background: var(--theme-surface); color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-card.is-connected { border-color: color-mix(in srgb, var(--theme-accent) 38%, var(--theme-line)); background: color-mix(in srgb, var(--theme-accent-soft) 48%, var(--theme-surface)); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-card::after { color: var(--theme-line); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-card p,
:root[data-theme] body.app-page .app-shell #page-integrations .connection-demo-note,
:root[data-theme] body.app-page .app-shell #page-integrations .connection-steps small { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-demo-note,
:root[data-theme] body.app-page .app-shell #page-integrations .connection-meta,
:root[data-theme] body.app-page .app-shell #page-integrations .connection-steps > div { border-color: var(--theme-line-soft); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-flow .panel-heading p { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-integrations .connection-steps span { background: var(--theme-accent-soft); color: var(--theme-accent-strong); }

/* Store and tables ----------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-store .store-channel-bar { border-color: var(--theme-line); background: var(--theme-surface); }
:root[data-theme] body.app-page .app-shell #page-store .store-channel-bar small { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-store .channel-tabs { border-color: var(--theme-line); background: var(--theme-surface-soft); }
:root[data-theme] body.app-page .app-shell #page-store .channel-tab { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-store .channel-tab.is-active { background: var(--theme-surface); color: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-store .select-label select { border-color: var(--theme-line); background: var(--theme-control); color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-store .table-card { border-color: var(--theme-line); background: var(--theme-surface); }
:root[data-theme] body.app-page .app-shell #page-store .table-card th { border-color: var(--theme-line); background: var(--theme-surface-raised); color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-store .table-card td { border-color: var(--theme-line-soft); color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-store .table-card tbody tr:hover { background: var(--theme-surface-raised); }
:root[data-theme] body.app-page .app-shell #page-store .icon-button { border-color: var(--theme-line); background: var(--theme-surface-raised); color: var(--theme-muted-strong); }
:root[data-theme] body.app-page .app-shell #page-store .empty-state { border-color: var(--theme-line); background: var(--theme-surface); }

/* Import --------------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-import .import-panel { border-color: var(--theme-line); background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-import .import-panel .panel-heading { border-color: color-mix(in srgb, var(--theme-paper-ink) 16%, transparent); }
:root[data-theme] body.app-page .app-shell #page-import .import-panel .panel-heading p,
:root[data-theme] body.app-page .app-shell #page-import .import-dropzone small,
:root[data-theme] body.app-page .app-shell #page-import .import-actions span { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-import .import-dropzone { border-color: color-mix(in srgb, var(--theme-paper-ink) 30%, transparent); background: var(--theme-paper-raised); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-import .import-dropzone:hover { border-color: var(--theme-accent-strong); background: color-mix(in srgb, var(--theme-accent-soft) 45%, var(--theme-paper-raised)); }
:root[data-theme] body.app-page .app-shell #page-import .import-icon { border-color: color-mix(in srgb, var(--theme-accent) 24%, transparent); background: var(--theme-accent-soft); color: var(--theme-accent-strong); }
:root[data-theme] body.app-page .app-shell #page-import .import-dropzone input { border-color: var(--theme-line); background: #ffffff; color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-import .import-dropzone input::file-selector-button { background: var(--theme-ink-panel); color: var(--theme-ink-panel-text); }
:root[data-theme] body.app-page .app-shell #page-import .import-actions .button-secondary { border-color: color-mix(in srgb, var(--theme-paper-ink) 24%, transparent); background: transparent; color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-import .import-help { border-color: var(--theme-line); background: var(--theme-ink-panel); color: var(--theme-ink-panel-text); }
:root[data-theme] body.app-page .app-shell #page-import .import-help li { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell #page-import .import-help .muted { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell #page-import .import-help li:not(:last-child)::after { background: color-mix(in srgb, var(--theme-ink-panel-text) 16%, transparent); }
:root[data-theme] body.app-page .app-shell #page-import .import-preview th { background: var(--theme-surface-raised); color: var(--theme-muted); }

/* Simulator ------------------------------------------------------------ */

:root[data-theme] body.app-page .app-shell #page-simulator .simulator-panel { border-color: var(--theme-line); background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-panel .panel-heading { border-color: color-mix(in srgb, var(--theme-paper-ink) 16%, transparent); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-panel :is(.panel-heading p, .select-label) { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-panel select { border-color: color-mix(in srgb, var(--theme-paper-ink) 24%, transparent); background: var(--theme-paper-raised); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field { border-color: color-mix(in srgb, var(--theme-paper-ink) 18%, transparent); background: var(--theme-paper-raised); color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field output { color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field input[type="range"]::-webkit-slider-runnable-track { background: var(--theme-paper-muted); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field input[type="range"]::-webkit-slider-thumb { background: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field input[type="range"]::-moz-range-track { background: var(--theme-paper-muted); }
:root[data-theme] body.app-page .app-shell #page-simulator .range-field input[type="range"]::-moz-range-thumb { background: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-stats { border-color: var(--theme-line); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-stats .stat-card { border-color: var(--theme-line); background: var(--theme-surface); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-stats .stat-card :is(span, small) { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-stats .highlight-card { background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-stats .highlight-card :is(span, small) { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-recommendation { border-color: color-mix(in srgb, var(--theme-warning-bg) 32%, var(--theme-line)); background: var(--theme-ink-panel); color: var(--theme-ink-panel-text); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-recommendation .eyebrow { color: color-mix(in srgb, var(--theme-accent) 46%, #ffffff); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-recommendation p { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell #page-simulator .simulator-recommendation .button-secondary { border-color: color-mix(in srgb, var(--theme-ink-panel-text) 18%, transparent); background: transparent; color: var(--theme-ink-panel-text); }

/* Report paper --------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-report { color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-document { border-color: var(--theme-line); background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-header,
:root[data-theme] body.app-page .app-shell #page-report .report-stats,
:root[data-theme] body.app-page .app-shell #page-report .report-document-footer { border-color: color-mix(in srgb, var(--theme-paper-ink) 18%, transparent); }
:root[data-theme] body.app-page .app-shell #page-report :is(.report-header p, .report-stats .stat-card span, .report-stats .stat-card small, .panel-heading p, .profit-bar-row span, .report-insights li, .report-document-footer) { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-report .report-stats .stat-card { border-color: color-mix(in srgb, var(--theme-paper-ink) 18%, transparent); background: transparent; color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-stats .stat-card strong { color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-grid .panel { border-color: color-mix(in srgb, var(--theme-paper-ink) 18%, transparent); background: var(--theme-paper-raised); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .profit-bar-track { background: var(--theme-paper-muted); }
:root[data-theme] body.app-page .app-shell #page-report .profit-bar-track i { background: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-report .report-insights strong { color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-actions .button-secondary { border-color: color-mix(in srgb, var(--theme-paper-ink) 26%, transparent); background: transparent; color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-report .report-actions .button-primary { border-color: var(--theme-ink-panel); background: var(--theme-ink-panel); color: var(--theme-ink-panel-text); }

/* Settings ------------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-settings .settings-panel { border-color: var(--theme-line); background: var(--theme-surface); color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-panel::before { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-panel .panel-heading p { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings :is(.field, .compact-field) { color: var(--theme-muted-strong); }
:root[data-theme] body.app-page .app-shell #page-settings :is(input, select) { border-color: var(--theme-line); background: var(--theme-control); color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-settings :is(input, select):disabled { background: var(--theme-surface-soft); color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings .input-suffix em { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings .vat-settings { border-color: var(--theme-line-soft); background: var(--theme-surface-raised); }
:root[data-theme] body.app-page .app-shell #page-settings .switch-row { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch { border-color: var(--theme-line-soft); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch small,
:root[data-theme] body.app-page .app-shell #page-settings .data-actions small { color: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch input[type="checkbox"],
:root[data-theme] body.app-page .app-shell #page-settings #settings-vat-payer { border-color: var(--theme-line); background: var(--theme-surface-soft); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch input[type="checkbox"]::before,
:root[data-theme] body.app-page .app-shell #page-settings #settings-vat-payer::before { background: var(--theme-muted); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch input[type="checkbox"]:checked,
:root[data-theme] body.app-page .app-shell #page-settings #settings-vat-payer:checked { border-color: var(--theme-accent); background: var(--theme-accent-soft); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-switch input[type="checkbox"]:checked::before,
:root[data-theme] body.app-page .app-shell #page-settings #settings-vat-payer:checked::before { background: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-settings .theme-card { border-color: var(--theme-line); background: var(--theme-surface-raised); }
:root[data-theme] body.app-page .app-shell #page-settings .theme-card:has(input:checked) { border-color: var(--theme-accent); box-shadow: inset 0 -2px 0 var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-settings .theme-card strong { color: var(--theme-text); }
:root[data-theme] body.app-page .app-shell #page-settings .data-actions { border-color: var(--theme-line-soft); }
:root[data-theme] body.app-page .app-shell #page-settings .danger-zone strong { color: var(--theme-danger); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-save-bar { border-color: var(--theme-line); background: color-mix(in srgb, var(--theme-surface) 94%, transparent); }
:root[data-theme] body.app-page .app-shell #page-settings .settings-save-bar span { color: var(--theme-muted); }

/* Calculator ----------------------------------------------------------- */

:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form { border-color: var(--theme-line); background: var(--theme-paper); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form .panel-heading,
:root[data-theme] body.app-page .app-shell #page-calculator .product-form-block { border-color: color-mix(in srgb, var(--theme-paper-ink) 17%, transparent); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form :is(.panel-heading p, .product-form-block-head p, .field-note) { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form :is(.field, .compact-field) { color: color-mix(in srgb, var(--theme-paper-ink) 78%, transparent); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form :is(input, select) { border-color: color-mix(in srgb, var(--theme-paper-ink) 24%, transparent); background: var(--theme-paper-raised); color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form :is(input, select):hover { border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--theme-paper-ink)); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form :is(input, select):focus { border-color: var(--theme-accent); background: var(--theme-paper-raised); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form .input-suffix em { color: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form .vat-settings { border-color: color-mix(in srgb, var(--theme-paper-ink) 16%, transparent); background: var(--theme-paper-muted); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form .switch-row { color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator #product-vat-payer { border-color: color-mix(in srgb, var(--theme-paper-ink) 22%, transparent); background: color-mix(in srgb, var(--theme-paper-ink) 12%, var(--theme-paper)); }
:root[data-theme] body.app-page .app-shell #page-calculator #product-vat-payer::before { background: var(--theme-paper-subtle); }
:root[data-theme] body.app-page .app-shell #page-calculator #product-vat-payer:checked { border-color: var(--theme-accent); background: var(--theme-accent-soft); }
:root[data-theme] body.app-page .app-shell #page-calculator #product-vat-payer:checked::before { background: var(--theme-accent); }
:root[data-theme] body.app-page .app-shell #page-calculator .calculator-form .button-secondary { border-color: color-mix(in srgb, var(--theme-paper-ink) 24%, transparent); background: transparent; color: var(--theme-paper-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-hero { border-color: var(--theme-accent); background: var(--theme-accent); color: var(--theme-accent-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-hero.warning { border-color: var(--theme-warning-bg); background: var(--theme-warning-bg); color: var(--theme-warning-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-hero.loss { border-color: var(--theme-danger-bg); background: var(--theme-danger-bg); color: var(--theme-danger-ink); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-hero :is(.result-status, p, small) { color: color-mix(in srgb, currentColor 78%, transparent); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-status { border-color: color-mix(in srgb, currentColor 26%, transparent); background: color-mix(in srgb, currentColor 8%, transparent); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-panel { border-color: color-mix(in srgb, var(--theme-ink-panel-text) 14%, var(--theme-ink-panel)); background: var(--theme-ink-panel); color: var(--theme-ink-panel-text); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-panel > p,
:root[data-theme] body.app-page .app-shell #page-calculator .result-list dt { color: var(--theme-ink-panel-muted); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-list div { border-color: color-mix(in srgb, var(--theme-ink-panel-text) 14%, transparent); }
:root[data-theme] body.app-page .app-shell #page-calculator .result-list dd { color: var(--theme-ink-panel-text); }

/* Mobile navigation ---------------------------------------------------- */

@media (max-width: 900px) {
  :root[data-theme] body.app-page .app-shell .mobile-app-brand { color: var(--theme-text); }
  :root[data-theme] body.app-page .app-shell .mobile-tabbar {
    border-color: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent);
    background: var(--theme-sidebar);
  }
  :root[data-theme] body.app-page .app-shell .mobile-tab { color: var(--theme-sidebar-muted); }
  :root[data-theme] body.app-page .app-shell .mobile-tab.is-active { color: color-mix(in srgb, var(--theme-accent) 78%, #ffffff); }
  :root[data-theme] body.app-page .app-shell .mobile-tab-primary .mobile-tab-icon { border-color: var(--theme-accent); background: var(--theme-accent); color: var(--theme-accent-ink); }
  :root[data-theme] body.app-page .app-shell .mobile-tab-primary small { color: color-mix(in srgb, var(--theme-accent) 78%, #ffffff); }
  :root[data-theme] body.app-page .app-shell .mobile-more-sheet {
    border-color: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent);
    background: var(--theme-sidebar);
    color: #f3f7f4;
  }
  :root[data-theme] body.app-page .app-shell .mobile-more-head { border-color: color-mix(in srgb, var(--theme-sidebar-text) 16%, transparent); }
  :root[data-theme] body.app-page .app-shell .mobile-more-head button,
  :root[data-theme] body.app-page .app-shell .mobile-more-grid button { border-color: color-mix(in srgb, var(--theme-sidebar-text) 18%, transparent); background: var(--theme-sidebar-raised); color: #f3f7f4; }
  :root[data-theme] body.app-page .app-shell .mobile-more-grid button small { color: var(--theme-sidebar-muted); }
  :root[data-theme] body.app-page .app-shell .mobile-more-icon { color: color-mix(in srgb, var(--theme-accent) 78%, #ffffff); }
  :root[data-theme] body.app-page .app-shell .mobile-account-row { border-color: color-mix(in srgb, var(--theme-sidebar-text) 16%, transparent); }
  :root[data-theme] body.app-page .app-shell .mobile-account-row small { color: var(--theme-sidebar-muted); }
}

/* Keep the established midnight composition pixel-stable where it matters. */
:root[data-theme="midnight"] body.app-page .app-shell .dashboard-profit-card { background: #e5ebe4; }
:root[data-theme="midnight"] body.app-page .app-shell #page-integrations .connections-hero,
:root[data-theme="midnight"] body.app-page .app-shell #page-import .import-panel,
:root[data-theme="midnight"] body.app-page .app-shell #page-simulator .simulator-panel,
:root[data-theme="midnight"] body.app-page .app-shell #page-report .report-document,
:root[data-theme="midnight"] body.app-page .app-shell #page-calculator .calculator-form { background: #e7ece6; }

@media (prefers-reduced-motion: reduce) {
  :root[data-theme] body.app-page .app-shell { scroll-behavior: auto; }
}
