/* Atomic Hedge exchange UI — 2026 redesign. The dated archive holds the prior CSS. */
:root {
  color-scheme: light;
  --color-cream: #fff;
  --color-cream-dim: #f5f7ff;
  --color-stone: #616b87;
  --color-stone-light: #7e88a3;
  --color-stone-muted: #929bb2;
  --color-charcoal: #dfe4f2;
  --color-charcoal-light: #f2f4fc;
  --color-charcoal-dark: #cbd3e6;
  --color-dark: #17203a;
  --color-dark-deep: #e9edfa;
  --color-accent: #4b55e9;
  --color-accent-hover: #3540d5;
  --color-accent-dim: rgba(75, 85, 233, .1);
  --color-accent-glow: rgba(75, 85, 233, .2);
  --bg-primary: #f5f7fd;
  --bg-secondary: #edf0fa;
  --bg-surface: #fff;
  --bg-elevated: #fff;
  --bg-hover: #f0f2fc;
  --bg-deep: #e9edfa;
  --bg-input: #fff;
  --bg-body: #f5f7fd;
  --bg-background: var(--bg-primary);
  --bg-card: var(--bg-elevated);
  --bg-card-hover: var(--bg-hover);
  --bg-body-solid: var(--bg-primary);
  --bg-charcoal: var(--bg-secondary);
  --text-primary: #17203a;
  --text-secondary: #495570;
  --text-muted: #69748f;
  --text-tertiary: #818ba5;
  --text-inverse: #fff;
  --text-foreground: var(--text-primary);
  --icon-color: #66718e;
  --icon-hover: var(--text-primary);
  --icon-muted: var(--text-muted);
  --accent: var(--color-accent);
  --accent-hover: var(--color-accent-hover);
  --accent-muted: var(--color-accent-dim);
  --accent-glow: var(--color-accent-glow);
  --accent-foreground: #fff;
  --accent-gold: #777cf1;
  --border-default: #dce2f0;
  --border-subtle: #e9edf6;
  --border-hover: #bdc7e5;
  --border-strong: #aebad9;
  --border-accent: #a5aafa;
  --border-highlight: #c8ceff;
  --success: #078d91;
  --success-dim: rgba(7, 141, 145, .1);
  --error: #d34d6a;
  --error-dim: rgba(211, 77, 106, .11);
  --warning: #a9650b;
  --warning-dim: rgba(169, 101, 11, .11);
  --info: #4660db;
  --info-dim: rgba(70, 96, 219, .1);
  --danger: var(--error);
  --background: var(--bg-primary);
  --foreground: var(--text-primary);
  --card: var(--bg-elevated);
  --card-foreground: var(--text-primary);
  --popover: var(--bg-surface);
  --popover-foreground: var(--text-primary);
  --primary: var(--accent);
  --primary-foreground: var(--accent-foreground);
  --secondary: var(--bg-secondary);
  --secondary-foreground: var(--text-secondary);
  --muted: var(--bg-deep);
  --muted-foreground: var(--text-muted);
  --destructive: var(--error);
  --destructive-foreground: #fff;
  --border: var(--border-default);
  --input: var(--bg-input);
  --ring: var(--accent);
  --primary-color: var(--accent);
  --primary-hover: var(--accent-hover);
  --admin-accent: var(--accent);
  --tier-s: #4b55e9;
  --tier-a: #777cf1;
  --tier-b: #078d91;
  --radius-sm: .5rem;
  --radius-md: .75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --topnav-height: 4.25rem;
  --shadow-sm: 0 2px 8px rgba(20, 32, 77, .035);
  --shadow-md: 0 12px 32px rgba(20, 32, 77, .055);
  --shadow-lg: 0 18px 48px rgba(20, 32, 77, .085);
  --shadow-xl: 0 28px 64px rgba(20, 32, 77, .12);
  --shadow-dropdown: 0 18px 44px rgba(20, 32, 77, .16);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --color-cream: #f4f5ff;
  --color-cream-dim: #dce1f8;
  --color-stone: #aeb8d5;
  --color-stone-light: #929dbc;
  --color-stone-muted: #7e89a9;
  --color-charcoal: #303956;
  --color-charcoal-light: #242d47;
  --color-charcoal-dark: #151e36;
  --color-dark: #0b1020;
  --color-dark-deep: #10172b;
  --color-accent: #949bff;
  --color-accent-hover: #b4b8ff;
  --color-accent-dim: rgba(148, 155, 255, .14);
  --color-accent-glow: rgba(148, 155, 255, .23);
  --bg-primary: #0b1020;
  --bg-secondary: #10172b;
  --bg-surface: #161e34;
  --bg-elevated: #1b2440;
  --bg-hover: #27314e;
  --bg-deep: #111a30;
  --bg-input: #111a30;
  --bg-body: #0b1020;
  --bg-background: var(--bg-primary);
  --bg-card: var(--bg-elevated);
  --bg-card-hover: var(--bg-hover);
  --bg-body-solid: var(--bg-primary);
  --bg-charcoal: var(--bg-secondary);
  --text-primary: #f4f5ff;
  --text-secondary: #b5bfda;
  --text-muted: #9aa6c5;
  --text-tertiary: #8491b1;
  --text-inverse: #0b1020;
  --text-foreground: var(--text-primary);
  --icon-color: #aab6d5;
  --icon-hover: var(--text-primary);
  --icon-muted: var(--text-muted);
  --accent: var(--color-accent);
  --accent-hover: var(--color-accent-hover);
  --accent-muted: var(--color-accent-dim);
  --accent-glow: var(--color-accent-glow);
  --accent-foreground: #10152d;
  --accent-gold: #b6b9ff;
  --border-default: #303b59;
  --border-subtle: #25314c;
  --border-hover: #526187;
  --border-strong: #64749e;
  --border-accent: #6f77d3;
  --border-highlight: #535a9b;
  --success: #39cfbf;
  --success-dim: rgba(57, 207, 191, .12);
  --error: #ff7894;
  --error-dim: rgba(255, 120, 148, .13);
  --warning: #f4be70;
  --warning-dim: rgba(244, 190, 112, .13);
  --info: #97a7ff;
  --info-dim: rgba(151, 167, 255, .13);
  --danger: var(--error);
  --background: var(--bg-primary);
  --foreground: var(--text-primary);
  --card: var(--bg-elevated);
  --card-foreground: var(--text-primary);
  --popover: var(--bg-surface);
  --popover-foreground: var(--text-primary);
  --primary: var(--accent);
  --primary-foreground: var(--accent-foreground);
  --secondary: var(--bg-secondary);
  --secondary-foreground: var(--text-secondary);
  --muted: var(--bg-deep);
  --muted-foreground: var(--text-muted);
  --destructive: var(--error);
  --destructive-foreground: #0b1020;
  --border: var(--border-default);
  --input: var(--bg-input);
  --ring: var(--accent);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .13);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, .2);
  --shadow-lg: 0 18px 48px rgba(0, 0, 0, .28);
  --shadow-xl: 0 28px 64px rgba(0, 0, 0, .36);
  --shadow-dropdown: 0 18px 44px rgba(0, 0, 0, .4);
}

/* A compact exchange shell with clear primary destinations. */
.app-layout { background: var(--bg-body); }
.app-topnav {
  padding-inline: clamp(1rem, 2.4vw, 2.5rem);
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-default);
  box-shadow: none;
  backdrop-filter: none;
}
html[data-theme="dark"] .app-topnav {
  background: var(--bg-secondary);
  border-bottom-color: var(--border-default);
  box-shadow: none;
}
.topnav-brand-logo { height: 2rem; }
.topnav-brand-text { font-family: var(--font-brand); font-size: .92rem; letter-spacing: .025em; }
.topnav-links { margin-left: clamp(1.5rem, 3vw, 3.25rem); gap: .3rem; }
.topnav-link { padding: .55rem .85rem; border-radius: 3px; font-size: .79rem; font-weight: 600; }
.topnav-link:hover { color: var(--text-primary); background: var(--bg-hover); }
.topnav-link.active { color: var(--accent); background: var(--accent-muted); box-shadow: none; }
.topnav-link svg, .topnav-link [data-lucide] { width: 16px; height: 16px; }
.topnav-actions { gap: .65rem; }
.theme-toggle, .topnav-user-trigger, .topnav-upgrade, .topnav-admin { border-radius: .6rem; }
.theme-toggle { background: var(--bg-secondary); border: 1px solid var(--border-default); }
.topnav-upgrade { background: var(--accent); color: var(--accent-foreground); border-color: var(--accent); box-shadow: none; }
.topnav-upgrade:hover { background: var(--accent-hover); color: var(--accent-foreground); }
.topnav-user-trigger { border: 1px solid var(--border-default); background: var(--bg-surface); }
.topnav-user-dropdown, .mobile-nav-panel { background: var(--bg-surface); border-color: var(--border-default); box-shadow: var(--shadow-dropdown); }
.app-footer { background: var(--bg-surface); border-color: var(--border-default); box-shadow: none; }
html[data-theme="dark"] .app-footer { background: var(--bg-secondary); box-shadow: none; }
.mobile-bottom-nav { background: var(--bg-surface); border-color: var(--border-default); }
.bottom-nav-item.active .bottom-nav-icon { background: var(--accent-muted); }
.wallet-badge { border-color: var(--border-accent); }
.wallet-badge:hover { background: var(--success-dim); border-color: var(--success); }
.connect-btn { background: var(--accent); color: var(--accent-foreground); }
.connect-btn:hover { background: var(--accent-hover); }

/* Shared workspace language. Preserve the terminal's trading geometry. */
.app-page:not(.app-page--terminal) .app-main { padding: clamp(.75rem, 1.5vw, 1.25rem); }
.app-page:not(.app-page--terminal) .app-main > :is(main, div, section) { max-width: 1600px; margin-inline: auto; }
.app-page:not(.app-page--terminal) :is(.portfolio-page, .vault-page, .automation-page, .hedge-page, .settings-page, .signals-page, .combo-page) { padding: 0; gap: 1rem; }
.app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .automation-page .hero) {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
  padding: clamp(1.25rem, 2.2vw, 2.25rem);
  position: relative;
  overflow: hidden;
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .automation-page .hero)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--accent), #62b7ee);
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .hedge-header) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero-stats, .vault-hero-stats, .workspace-stats, .balance-grid) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  padding: 0;
  border: 0;
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero-stat, .vault-hero-stat, .workspace-stat, .balance-card) { padding: 1rem 1.15rem; }
.app-page:not(.app-page--terminal) .portfolio-brief-grid { display: none; }
.app-page:not(.app-page--terminal) :is(.portfolio-hero-title, .vault-hero-title) { font-size: clamp(2rem, 3.3vw, 3rem); }
.app-page:not(.app-page--terminal) :is(.portfolio-hero-title, .vault-hero-title, .hero-title, .workspace-copy h1, .page-title) {
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.app-page:not(.app-page--terminal) :is(.portfolio-kicker, .vault-kicker, .positions-panel-eyebrow, .workspace-kicker) {
  color: var(--accent);
  background: var(--accent-muted);
  border-color: var(--border-accent);
  letter-spacing: .08em;
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero-stat, .vault-hero-stat, .workspace-stat, .portfolio-brief-card, .metric, .sub-stat, .position-metric) {
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  box-shadow: none;
}
.app-page:not(.app-page--terminal) :is(.portfolio-hero-stat-value, .vault-hero-stat-value, .workspace-stat-value, .meta-value, .metric strong) {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.app-page:not(.app-page--terminal) :is(.card, .panel, .grid-item, .positions-panel, .ledger-panel, .tiers-panel, .automation-card, .recent-signals-panel, .subscription-toolbox, .simulation-toolbox, .strategy-card, .signal-card, .pool-item) {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
}
html[data-theme="dark"] .app-page:not(.app-page--terminal) :is(.card, .panel, .grid-item) { background: var(--bg-surface); box-shadow: var(--shadow-sm); }
.app-page:not(.app-page--terminal) :is(.card-header, .panel-header, .automation-card-header, .positions-panel-header, .ledger-header, .tiers-panel-header) { background: transparent; border-color: var(--border-default); }
.app-page:not(.app-page--terminal) :is(.data-table, .run-list table, .positions-table) { font-variant-numeric: tabular-nums; }
.app-page:not(.app-page--terminal) :is(.data-table th, .run-list th, .positions-table th) { background: var(--bg-secondary); color: var(--text-muted); border-color: var(--border-default); }
.app-page:not(.app-page--terminal) :is(.data-table td, .run-list td, .positions-table td) { border-color: var(--border-subtle); }
.app-page:not(.app-page--terminal) :is(.data-table tbody tr:hover, .run-list tbody tr:hover, .positions-table tbody tr:hover) { background: var(--bg-hover); }
.app-page:not(.app-page--terminal) :is(input, select, textarea) { color: var(--text-primary); background: var(--bg-input); border-color: var(--border-default); }
.app-page:not(.app-page--terminal) :is(input, select, textarea):focus-visible { outline: 2px solid var(--accent-glow); border-color: var(--accent); }
.app-page:not(.app-page--terminal) :is(.btn-primary, .button.primary, .wizard-btn.next) { background: var(--accent); border-color: var(--accent); color: var(--accent-foreground); box-shadow: none; }
.app-page:not(.app-page--terminal) :is(.btn-primary, .button.primary, .wizard-btn.next):hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--accent-foreground); }
.app-page:not(.app-page--terminal) :is(.automation-tabs, .filter-tabs, .sort-bar) { background: var(--bg-secondary); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.app-page:not(.app-page--terminal) :is(.automation-tab.active, .filter-tab.active) { background: var(--bg-surface); color: var(--accent); box-shadow: var(--shadow-sm); }
.app-page:not(.app-page--terminal) :is(.positive, .text-success) { color: var(--success); }
.app-page:not(.app-page--terminal) :is(.negative, .text-error) { color: var(--error); }

/* Account and strategy workspaces use the same hierarchy as the portfolio. */
.app-page:not(.app-page--terminal) .account-page { padding: 0; }
.app-page:not(.app-page--terminal) .account-container { max-width: 1240px; }
.app-page:not(.app-page--terminal) .account-page .page-header {
  margin: 0 0 1rem;
  padding: clamp(1.25rem, 2.2vw, 2.25rem);
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-xl);
}
.app-page:not(.app-page--terminal) :is(.settings-menu, .settings-panel) {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.app-page:not(.app-page--terminal) .settings-menu-link.active { background: var(--accent-muted); color: var(--accent); }
.app-page:not(.app-page--terminal) .profile-field strong { background: var(--bg-secondary); border-color: var(--border-default); border-radius: var(--radius-sm); }
.app-page:not(.app-page--terminal) .hedge-header {
  background: var(--bg-surface);
  border: 1px solid var(--border-default);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
  padding: clamp(1.25rem, 2.2vw, 2.25rem);
}
.app-page:not(.app-page--terminal) :is(.balance-card, .metric-box) { background: var(--bg-secondary); border-color: var(--border-default); box-shadow: none; }
.app-page:not(.app-page--terminal) .hedge-kicker { color: var(--accent); background: var(--accent-muted); border-color: var(--border-accent); }
.app-page:not(.app-page--terminal) .hedge-header-copy h1 { font-size: clamp(2rem, 3.3vw, 3rem); letter-spacing: -.045em; }
.app-page:not(.app-page--terminal) :is(.strategy-list, .signals-grid, .pools-list) { gap: .75rem; }
.app-page:not(.app-page--terminal) :is(.strategy-card, .signal-card, .pool-item):hover { border-color: var(--border-hover); box-shadow: var(--shadow-md); }
.app-page:not(.app-page--terminal) :is(.portfolio-brief-card, .metric) { padding: 1.15rem; }

/* Terminal retains its chart/sidebar layout, with the new palette. */
.app-page--terminal .terminal-page { background: var(--bg-primary); }
.app-page--terminal :is(.symbol-bar, .chart-container, .side-panel) { box-shadow: none; }

@media (max-width: 1024px) {
  .app-page:not(.app-page--terminal) .app-main { padding: .75rem; }
  .topnav-brand-text { display: none; }
  .mobile-bottom-nav { box-shadow: 0 -6px 24px rgba(20, 32, 77, .06); }
  .app-page:not(.app-page--terminal) :is(.portfolio-hero-stats, .vault-hero-stats, .workspace-stats, .balance-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .app-page:not(.app-page--terminal) .app-main { padding: .5rem; }
  .app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .automation-page .hero) { padding: 1.25rem; }
  .topnav-mobile-status, .theme-toggle-label { display: none; }
  .app-page:not(.app-page--terminal) :is(.account-page .page-header, .hedge-header) { padding: 1.25rem; }
}

/* Reference palette: graphite surfaces, quiet dividers, and mint market signals. */
:root {
  --color-cream: #fff;
  --color-cream-dim: #e6ebe5;
  --color-stone: #4a5650;
  --color-stone-light: #66736b;
  --color-stone-muted: #77827b;
  --color-charcoal: #d8ded8;
  --color-charcoal-light: #edf0eb;
  --color-charcoal-dark: #b8c4b9;
  --color-dark: #141a17;
  --color-dark-deep: #e9ede9;
  --color-accent: #176b50;
  --color-accent-hover: #0e533c;
  --color-accent-dim: #176b5018;
  --color-accent-glow: #176b5033;
  --bg-primary: #f4f5f2;
  --bg-secondary: #ecefea;
  --bg-surface: #ffffff;
  --bg-elevated: #ffffff;
  --bg-hover: #e8ede8;
  --bg-deep: #e9ede9;
  --bg-input: #ffffff;
  --bg-body: #f4f5f2;
  --bg-body-solid: #f4f5f2;
  --bg-background: #f4f5f2;
  --bg-charcoal: #ecefea;
  --text-primary: #141a17;
  --text-secondary: #4a5650;
  --text-muted: #66736b;
  --text-tertiary: #77827b;
  --text-inverse: #fff;
  --text-foreground: #141a17;
  --icon-color: #66736b;
  --icon-hover: #141a17;
  --icon-muted: #77827b;
  --accent: #176b50;
  --accent-hover: #0e533c;
  --accent-muted: #176b5018;
  --accent-glow: #176b5033;
  --accent-foreground: #ffffff;
  --accent-gold: #176b50;
  --border-default: #d8ded8;
  --border-subtle: #e6eae5;
  --border-hover: #aebbb0;
  --border-strong: #92a297;
  --border-accent: #7fa995;
  --border-highlight: #b2cfc0;
  --success: #14704d;
  --success-dim: #14704d18;
  --error: #bb4c55;
  --error-dim: #bb4c551a;
  --warning: #9d6c2f;
  --warning-dim: #9d6c2f1a;
  --info: #326d78;
  --info-dim: #326d781a;
  --background: var(--bg-primary);
  --foreground: var(--text-primary);
  --card: var(--bg-surface);
  --popover: var(--bg-surface);
  --primary: var(--accent);
  --primary-foreground: var(--accent-foreground);
  --secondary: var(--bg-secondary);
  --muted: var(--bg-deep);
  --border: var(--border-default);
  --input: var(--bg-input);
  --ring: var(--accent);
  --shadow-sm: none;
  --shadow-md: 0 8px 20px #111b1410;
  --shadow-lg: 0 16px 40px #111b1418;
  --shadow-xl: 0 25px 55px #111b1424;
}
html[data-theme="dark"] {
  --color-cream: #f2f3ef;
  --color-cream-dim: #c8d0c9;
  --color-stone: #b3bbb5;
  --color-stone-light: #919b94;
  --color-stone-muted: #7e8981;
  --color-charcoal: #303633;
  --color-charcoal-light: #242a27;
  --color-charcoal-dark: #101413;
  --color-dark: #0b0d0d;
  --color-dark-deep: #101413;
  --color-accent: #bce9cc;
  --color-accent-hover: #d4f5df;
  --color-accent-dim: #bce9cc18;
  --color-accent-glow: #bce9cc33;
  --bg-primary: #0b0d0d;
  --bg-secondary: #101313;
  --bg-surface: #141717;
  --bg-elevated: #191d1c;
  --bg-hover: #242a27;
  --bg-deep: #101413;
  --bg-input: #101413;
  --bg-body: #0b0d0d;
  --bg-body-solid: #0b0d0d;
  --bg-background: #0b0d0d;
  --bg-charcoal: #101313;
  --text-primary: #f2f3ef;
  --text-secondary: #b3bbb5;
  --text-muted: #919b94;
  --text-tertiary: #7e8981;
  --text-inverse: #0b0d0d;
  --text-foreground: #f2f3ef;
  --icon-color: #aeb8af;
  --icon-hover: #f2f3ef;
  --icon-muted: #919b94;
  --accent: #bce9cc;
  --accent-hover: #d4f5df;
  --accent-muted: #bce9cc18;
  --accent-glow: #bce9cc33;
  --accent-foreground: #0b110e;
  --accent-gold: #bce9cc;
  --border-default: #303633;
  --border-subtle: #252b28;
  --border-hover: #59675d;
  --border-strong: #69786e;
  --border-accent: #52775f;
  --border-highlight: #52775f;
  --success: #8cddb0;
  --success-dim: #8cddb01c;
  --error: #fa8184;
  --error-dim: #fa81841a;
  --warning: #e4bb78;
  --warning-dim: #e4bb781a;
  --info: #9ac9c6;
  --info-dim: #9ac9c61a;
  --background: var(--bg-primary);
  --foreground: var(--text-primary);
  --card: var(--bg-surface);
  --popover: var(--bg-surface);
  --primary: var(--accent);
  --primary-foreground: var(--accent-foreground);
  --secondary: var(--bg-secondary);
  --muted: var(--bg-deep);
  --border: var(--border-default);
  --input: var(--bg-input);
  --ring: var(--accent);
  --shadow-sm: none;
  --shadow-md: 0 8px 20px #0004;
  --shadow-lg: 0 16px 40px #0006;
  --shadow-xl: 0 25px 55px #0009;
}
.app-topnav, html[data-theme="dark"] .app-topnav { background: var(--bg-secondary); border-bottom: 1px solid var(--border-default); }
.topnav-link.active { color: var(--accent); background: var(--accent-muted); }
.topnav-upgrade { background: var(--text-primary); border-color: var(--text-primary); color: var(--bg-primary); }
.topnav-upgrade:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-foreground); }
.app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .automation-page .hero)::before { background: var(--success); }
.app-page:not(.app-page--terminal) :is(.card, .panel, .grid-item, .positions-panel, .ledger-panel, .tiers-panel, .automation-card, .recent-signals-panel, .subscription-toolbox, .simulation-toolbox, .strategy-card, .signal-card, .pool-item) { border-radius: 3px; box-shadow: none; }
.app-page:not(.app-page--terminal) :is(.portfolio-hero, .vault-hero, .combo-workspace-header, .automation-page .hero, .hedge-header) { border-radius: 3px; box-shadow: none; }
.app-page:not(.app-page--terminal) :is(.portfolio-hero-stat, .vault-hero-stat, .workspace-stat, .portfolio-brief-card, .metric, .sub-stat, .position-metric, .balance-card) { border-radius: 2px; }
.app-page:not(.app-page--terminal) :is(.btn-primary, .button.primary, .wizard-btn.next) { background: var(--text-primary); border-color: var(--text-primary); color: var(--bg-primary); border-radius: 2px; }
.app-page:not(.app-page--terminal) :is(.btn-primary, .button.primary, .wizard-btn.next):hover { background: var(--accent); border-color: var(--accent); color: var(--accent-foreground); }

/* Mobile navigation uses the entire item as the selection surface. */
@media (max-width: 1024px) {
  .mobile-bottom-nav {
    height: calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom, 0px));
    min-height: 0;
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    gap: 0;
    box-shadow: none;
  }
  .bottom-nav-item {
    height: var(--mobile-bottom-nav-height);
    min-height: var(--mobile-bottom-nav-height);
    padding: 5px 2px;
    gap: 3px;
    border-radius: 0;
    border-right: 1px solid var(--border-subtle);
  }
  .bottom-nav-item:last-child { border-right: 0; }
  .bottom-nav-item.active,
  .bottom-nav-item.active:hover { background: var(--accent-muted); color: var(--accent); }
  .bottom-nav-item:hover:not(.active) { background: var(--bg-hover); }
  .bottom-nav-item .bottom-nav-icon,
  .bottom-nav-item:hover .bottom-nav-icon,
  .bottom-nav-item.active .bottom-nav-icon { background: transparent; border-radius: 0; }
  .bottom-nav-item:active { transform: none; }
  .bottom-nav-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .bottom-nav-item:focus-visible .bottom-nav-icon { box-shadow: none; }
}
