/* === CABINET THEMES AND PROFILE CUSTOMIZATION === */
body.cab-theme-purple {
  --primary: #6c47ff;
  --primary-hover: #5533d6;
  --bg-color: #f5f2ff;
  --bg-sidebar: #eee8ff;
  --surface: #ffffff;
  --surface-soft: #f7f3ff;
  --control-bg: #ffffff;
  --nav-hover: rgba(108,71,255,0.10);
  --active-bg: rgba(108,71,255,0.16);
  --panel-gradient: linear-gradient(145deg, #21134f 0%, #130d2e 100%);
  --text-main: #160f35;
  --text-muted: #6b628a;
  --border-color: #ded6ff;
  --theme-shadow: rgba(74,45,155,0.12);
}

body.cab-theme-pink {
  --primary: #c0447a;
  --primary-hover: #9f2f61;
  --bg-color: #fff3f7;
  --bg-sidebar: #ffe7f0;
  --surface: #ffffff;
  --surface-soft: #fff7fa;
  --control-bg: #ffffff;
  --nav-hover: rgba(192,68,122,0.10);
  --active-bg: rgba(192,68,122,0.16);
  --panel-gradient: linear-gradient(145deg, #4a1830 0%, #2b1020 100%);
  --text-main: #301020;
  --text-muted: #8a5a70;
  --border-color: #f1d1dc;
  --theme-shadow: rgba(192,68,122,0.11);
}

body.cab-theme-light {
  --primary: #1a2680;
  --primary-hover: #0f1a60;
  --bg-color: #f7f8fc;
  --bg-sidebar: #ffffff;
  --surface: #ffffff;
  --surface-soft: #f4f6fb;
  --control-bg: #ffffff;
  --nav-hover: #f0f2fa;
  --active-bg: rgba(26,38,128,0.07);
  --panel-gradient: linear-gradient(145deg, #10172f 0%, #0a1022 100%);
  --text-main: #0d1230;
  --text-muted: #5a6482;
  --border-color: #e8eaf2;
  --theme-shadow: rgba(0,0,0,0.06);
}

body.cab-theme-dark {
  --primary: #9d86ff;
  --primary-hover: #b7a6ff;
  --bg-color: #11121a;
  --bg-sidebar: #171824;
  --surface: #1b1c29;
  --surface-soft: #232436;
  --control-bg: #202132;
  --nav-hover: rgba(255,255,255,0.06);
  --active-bg: rgba(157,134,255,0.16);
  --panel-gradient: linear-gradient(145deg, #1f2140 0%, #11121a 100%);
  --text-main: #f4f1ff;
  --text-muted: #aaa3c7;
  --border-color: rgba(255,255,255,0.12);
  --theme-shadow: rgba(0,0,0,0.28);
}

/* Theme must repaint the whole cabinet, not just the page background. */
body.cab-body {
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 32%),
    var(--bg-color);
}

.cab-sidebar,
.cab-topbar,
.cab-topbar__dropdown {
  background: var(--bg-sidebar) !important;
  border-color: var(--border-color) !important;
  color: var(--text-main);
}

.cab-main,
.cab-sidebar__title,
.cab-tab-header h2,
.prof-card__header h3 {
  color: var(--text-main) !important;
}

.prof-card,
.cab-auth__box,
.cab-topbar__dropdown-link,
.cab-tool-card,
.segment-panel,
.prof-data__item,
.prof-habit__summary,
.prof-goal,
.book-card,
.myth-game__panel {
  background: var(--surface) !important;
  border-color: var(--border-color) !important;
  color: var(--text-main) !important;
  box-shadow: 0 8px 28px var(--theme-shadow) !important;
}

.cab-nav__item,
.cab-sidebar__collapse,
.cab-sub,
.prof-hero__tag,
.prof-data__label,
.cab-topbar__dropdown-title {
  color: var(--text-muted) !important;
}

.cab-nav__item:hover,
.cab-topbar__dropdown-link:hover {
  background: var(--nav-hover) !important;
  color: var(--text-main) !important;
}

.cab-nav__item--active,
.cab-topbar__dropdown-link--cta {
  background: var(--active-bg) !important;
  color: var(--primary) !important;
}

.cab-nav__item svg,
.cab-nav__item--active svg,
.cab-topbar__dropdown-link svg {
  color: currentColor !important;
}

.cab-sidebar__home-btn,
.prof-name-form__save,
.cab-avatar-upload__btn,
.tool-primary-btn,
.cab-segment-tools-btn,
.expert-form__btn {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #fff !important;
}

.cab-sidebar__home-btn:hover,
.prof-name-form__save:hover,
.cab-avatar-upload__btn:hover,
.tool-primary-btn:hover,
.cab-segment-tools-btn:hover {
  background: var(--primary-hover) !important;
}

.cab-auth__box input,
.prof-name-form__input,
.tool-input,
.tool-textarea,
.expert-form__textarea,
.cab-graph-note-input {
  background: var(--control-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-main) !important;
}

.cab-auth__box input:focus,
.prof-name-form__input:focus,
.tool-input:focus,
.tool-textarea:focus,
.expert-form__textarea:focus,
.cab-graph-note-input:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent) !important;
}

.prof-hero__tag,
.cab-avatar-upload__remove,
.prof-name-form__cancel,
.tool-secondary-btn {
  background: var(--surface-soft) !important;
  border-color: var(--border-color) !important;
}

#cabThemeSelect .cab-theme-option--purple { background: #6c47ff !important; border-color: #6c47ff !important; }
#cabThemeSelect .cab-theme-option--pink { background: #ec4899 !important; border-color: #ec4899 !important; }
#cabThemeSelect .cab-theme-option--light { background: #f1f5f9 !important; border-color: #94a3b8 !important; }
#cabThemeSelect .cab-theme-option--dark { background: #181926 !important; border-color: #181926 !important; }

#cabThemeSelect .cab-theme-option.is-active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--primary) !important;
}

.finance-barometer {
  background: var(--panel-gradient) !important;
  border-color: color-mix(in srgb, var(--primary) 24%, transparent) !important;
}

.finance-barometer .prof-card__header h3,
.finance-barometer__plan-title,
.barometer-card__title {
  color: #fff !important;
}

.barometer-card,
.finance-barometer__plan {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

.prof-hero__avatar {
  overflow: hidden;
  background: var(--bg-color);
  border: 2px solid var(--border-color);
}

.prof-hero__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
