/* ============================================================================
 * CMYK.OS — сезон × тема поверх --ds-* (см. docs/SEASON_THEME_AGENT.md)
 *
 * Оси независимы:
 *   data-ds-appearance="dark" | (нет атрибута = light)
 *   data-season="default|spring|summer|autumn|winter|birthday"
 *
 * Картинки / сезонные ассеты — не используем.
 * ========================================================================== */

/* ── Season accent rings (общие, без light/dark) ─────────────────────────── */
html[data-season="spring"] {
  --cmyk-season-a: #7ec8ff;
  --cmyk-season-b: #3dbe7a;
  --cmyk-season-c: #ff8fab;
  --cmyk-season-d: #c8f5a8;
}
html[data-season="summer"] {
  --cmyk-season-a: #7ec8ff;
  --cmyk-season-b: #00a8c8;
  --cmyk-season-c: #ff6b6b;
  --cmyk-season-d: #ffe566;
}
html[data-season="autumn"] {
  --cmyk-season-a: #f0b429;
  --cmyk-season-b: #e07a2f;
  --cmyk-season-c: #c23b22;
  --cmyk-season-d: #8b5a2b;
}
html[data-season="winter"] {
  --cmyk-season-a: #a8d8ff;
  --cmyk-season-b: #4fa3d1;
  --cmyk-season-c: #e8f4ff;
  --cmyk-season-d: #7eb6d9;
}
html[data-season="birthday"] {
  --cmyk-season-a: #ffd56a;
  --cmyk-season-b: #e8a317;
  --cmyk-season-c: #e85a8a;
  --cmyk-season-d: #ffd6e7;
}

/* ── Весна · light ───────────────────────────────────────────────────────── */
html[data-season="spring"]:not([data-ds-appearance="dark"]) {
  --ds-bg: #f4fff8; --ds-bg-subtle: #e8f9ef;
  --ds-surface: #ffffff; --ds-surface-2: #eefaf3;
  --ds-label: #143528; --ds-label-secondary: #5d7a6c; --ds-label-tertiary: #8aa396;
  --ds-separator: rgba(20, 53, 40, 0.10); --ds-separator-strong: rgba(20, 53, 40, 0.16);
  --ds-fill: #e8f9ef; --ds-hairline: rgba(20, 53, 40, 0.07);
  --ds-blue: #2ea86a; --ds-blue-strong: #248a57; --ds-primary: var(--ds-blue);
  --ds-brand: #e85a8a; --ds-brand-strong: #d44778;
  --ds-brand-grad: linear-gradient(145deg, #3dbe7a 0%, #e85a8a 100%);
  --ds-info-bg: #e8f9ef; --ds-info-fg: #1a7a4a; --ds-info-bd: #c5e8d4;
  --ds-shadow-accent: 0 8px 24px rgba(46, 168, 106, 0.35), 0 2px 8px rgba(0, 0, 0, 0.10);
  --ds-material-thin: rgba(244, 255, 248, 0.72);
  --ds-material-regular: rgba(244, 255, 248, 0.86);
  --ds-material-thick: rgba(244, 255, 248, 0.94);
}

/* ── Весна · dark ────────────────────────────────────────────────────────── */
html[data-season="spring"][data-ds-appearance="dark"] {
  --ds-bg: #081611; --ds-bg-subtle: #0f241c;
  --ds-surface: #0f241c; --ds-surface-2: #163529;
  --ds-label: #f3fff8; --ds-label-secondary: #c5e8d4; --ds-label-tertiary: #9bbfad;
  --ds-separator: rgba(255, 255, 255, 0.12); --ds-separator-strong: rgba(255, 255, 255, 0.20);
  --ds-fill: #163529; --ds-hairline: rgba(255, 255, 255, 0.08);
  --ds-blue: #3dbe7a; --ds-blue-strong: #2ea86a; --ds-primary: var(--ds-blue);
  --ds-brand: #ff8fab; --ds-brand-strong: #ff7499;
  --ds-brand-grad: linear-gradient(145deg, #3dbe7a 0%, #ff8fab 100%);
  --ds-info-bg: #163529; --ds-info-fg: #c8f5a8; --ds-info-bd: #255541;
  --ds-success-bg: #143528; --ds-success-fg: #6ee7a0; --ds-success-bd: #1f5a3c;
  --ds-warning-bg: #3a2e12; --ds-warning-fg: #ffd56a; --ds-warning-bd: #6a5220;
  --ds-danger-bg: #3a1616; --ds-danger-fg: #ff8a80; --ds-danger-bd: #6a2828;
  --ds-shadow-accent: 0 8px 24px rgba(61, 190, 122, 0.28), 0 2px 8px rgba(0, 0, 0, 0.4);
  --ds-material-thin: rgba(15, 36, 28, 0.72);
  --ds-material-regular: rgba(15, 36, 28, 0.86);
  --ds-material-thick: rgba(15, 36, 28, 0.94);
}

/* ── Лето · light ────────────────────────────────────────────────────────── */
html[data-season="summer"]:not([data-ds-appearance="dark"]) {
  --ds-bg: #fff8e8; --ds-bg-subtle: #fff1d0;
  --ds-surface: #ffffff; --ds-surface-2: #fff6df;
  --ds-label: #163042; --ds-label-secondary: #5f7380; --ds-label-tertiary: #8a9aa5;
  --ds-separator: rgba(22, 48, 66, 0.10); --ds-separator-strong: rgba(22, 48, 66, 0.16);
  --ds-fill: #fff1d0; --ds-hairline: rgba(22, 48, 66, 0.07);
  --ds-blue: #0396a6; --ds-blue-strong: #027a87; --ds-primary: var(--ds-blue);
  --ds-brand: #ff5a5f; --ds-brand-strong: #e8484d;
  --ds-brand-grad: linear-gradient(145deg, #3ecfff 0%, #ff6b6b 55%, #ffe566 100%);
  --ds-info-bg: #e6f7fb; --ds-info-fg: #027a87; --ds-info-bd: #b8e6ef;
  --ds-shadow-accent: 0 8px 24px rgba(255, 90, 95, 0.32), 0 2px 8px rgba(0, 0, 0, 0.10);
  --ds-material-thin: rgba(255, 248, 232, 0.72);
  --ds-material-regular: rgba(255, 248, 232, 0.86);
  --ds-material-thick: rgba(255, 248, 232, 0.94);
}

/* ── Лето · dark ─────────────────────────────────────────────────────────── */
html[data-season="summer"][data-ds-appearance="dark"] {
  --ds-bg: #071820; --ds-bg-subtle: #0d2430;
  --ds-surface: #0d2430; --ds-surface-2: #123040;
  --ds-label: #f7fbff; --ds-label-secondary: #c5dce6; --ds-label-tertiary: #9bb8c6;
  --ds-separator: rgba(255, 255, 255, 0.12); --ds-separator-strong: rgba(255, 255, 255, 0.20);
  --ds-fill: #123040; --ds-hairline: rgba(255, 255, 255, 0.08);
  --ds-blue: #3ecfff; --ds-blue-strong: #00a8c8; --ds-primary: var(--ds-blue);
  --ds-brand: #ff6b6b; --ds-brand-strong: #ff5252;
  --ds-brand-grad: linear-gradient(145deg, #3ecfff 0%, #ff6b6b 55%, #ffe566 100%);
  --ds-info-bg: #123040; --ds-info-fg: #7ec8ff; --ds-info-bd: #1f4a5c;
  --ds-success-bg: #143528; --ds-success-fg: #6ee7a0; --ds-success-bd: #1f5a3c;
  --ds-warning-bg: #3a2e12; --ds-warning-fg: #ffe566; --ds-warning-bd: #6a5220;
  --ds-danger-bg: #3a1616; --ds-danger-fg: #ff8a80; --ds-danger-bd: #6a2828;
  --ds-shadow-accent: 0 8px 24px rgba(255, 107, 107, 0.28), 0 2px 8px rgba(0, 0, 0, 0.4);
  --ds-material-thin: rgba(13, 36, 48, 0.72);
  --ds-material-regular: rgba(13, 36, 48, 0.86);
  --ds-material-thick: rgba(13, 36, 48, 0.94);
}

/* ── Осень · light ───────────────────────────────────────────────────────── */
html[data-season="autumn"]:not([data-ds-appearance="dark"]) {
  --ds-bg: #fff7ec; --ds-bg-subtle: #ffefd8;
  --ds-surface: #ffffff; --ds-surface-2: #fff4e4;
  --ds-label: #3a2416; --ds-label-secondary: #7a6148; --ds-label-tertiary: #a08a72;
  --ds-separator: rgba(58, 36, 22, 0.10); --ds-separator-strong: rgba(58, 36, 22, 0.16);
  --ds-fill: #ffefd8; --ds-hairline: rgba(58, 36, 22, 0.07);
  --ds-blue: #b86a1c; --ds-blue-strong: #9a5614; --ds-primary: var(--ds-blue);
  --ds-brand: #c23b22; --ds-brand-strong: #a8321c;
  --ds-brand-grad: linear-gradient(145deg, #f0b429 0%, #e07a2f 50%, #c23b22 100%);
  --ds-info-bg: #fff0dc; --ds-info-fg: #9a5614; --ds-info-bd: #ecd2a8;
  --ds-shadow-accent: 0 8px 24px rgba(224, 122, 47, 0.35), 0 2px 8px rgba(0, 0, 0, 0.10);
  --ds-material-thin: rgba(255, 247, 236, 0.72);
  --ds-material-regular: rgba(255, 247, 236, 0.86);
  --ds-material-thick: rgba(255, 247, 236, 0.94);
}

/* ── Осень · dark ────────────────────────────────────────────────────────── */
html[data-season="autumn"][data-ds-appearance="dark"] {
  --ds-bg: #140c08; --ds-bg-subtle: #22150e;
  --ds-surface: #22150e; --ds-surface-2: #2f1d14;
  --ds-label: #fff6eb; --ds-label-secondary: #e8d0b0; --ds-label-tertiary: #c4a78a;
  --ds-separator: rgba(255, 255, 255, 0.12); --ds-separator-strong: rgba(255, 255, 255, 0.20);
  --ds-fill: #2f1d14; --ds-hairline: rgba(255, 255, 255, 0.08);
  --ds-blue: #f0b429; --ds-blue-strong: #d4921a; --ds-primary: var(--ds-blue);
  --ds-brand: #e07a2f; --ds-brand-strong: #c96822;
  --ds-brand-grad: linear-gradient(145deg, #f0b429 0%, #e07a2f 50%, #c23b22 100%);
  --ds-info-bg: #2f1d14; --ds-info-fg: #ffd56a; --ds-info-bd: #4a3020;
  --ds-success-bg: #1f2e18; --ds-success-fg: #b8e08a; --ds-success-bd: #3a5228;
  --ds-warning-bg: #3a2e12; --ds-warning-fg: #ffd56a; --ds-warning-bd: #6a5220;
  --ds-danger-bg: #3a1616; --ds-danger-fg: #ff8a80; --ds-danger-bd: #6a2828;
  --ds-shadow-accent: 0 8px 24px rgba(224, 122, 47, 0.28), 0 2px 8px rgba(0, 0, 0, 0.45);
  --ds-material-thin: rgba(34, 21, 14, 0.72);
  --ds-material-regular: rgba(34, 21, 14, 0.86);
  --ds-material-thick: rgba(34, 21, 14, 0.94);
}

/* ── Зима · light ────────────────────────────────────────────────────────── */
html[data-season="winter"]:not([data-ds-appearance="dark"]) {
  --ds-bg: #f4f8fc; --ds-bg-subtle: #e8f1f8;
  --ds-surface: #ffffff; --ds-surface-2: #eef4f9;
  --ds-label: #16324a; --ds-label-secondary: #5f7388; --ds-label-tertiary: #8a9aab;
  --ds-separator: rgba(22, 50, 74, 0.10); --ds-separator-strong: rgba(22, 50, 74, 0.16);
  --ds-fill: #e8f1f8; --ds-hairline: rgba(22, 50, 74, 0.07);
  --ds-blue: #2f7eae; --ds-blue-strong: #266c97; --ds-primary: var(--ds-blue);
  --ds-brand: #4fa3d1; --ds-brand-strong: #3d8fbc;
  --ds-brand-grad: linear-gradient(145deg, #a8d8ff 0%, #4fa3d1 55%, #2f7eae 100%);
  --ds-info-bg: #e8f1f8; --ds-info-fg: #266c97; --ds-info-bd: #c9dceb;
  --ds-shadow-accent: 0 8px 24px rgba(79, 163, 209, 0.35), 0 2px 8px rgba(0, 0, 0, 0.10);
  --ds-material-thin: rgba(244, 248, 252, 0.72);
  --ds-material-regular: rgba(244, 248, 252, 0.86);
  --ds-material-thick: rgba(244, 248, 252, 0.94);
}

/* ── Зима · dark ─────────────────────────────────────────────────────────── */
html[data-season="winter"][data-ds-appearance="dark"] {
  --ds-bg: #060e18; --ds-bg-subtle: #0c1826;
  --ds-surface: #0c1826; --ds-surface-2: #132233;
  --ds-label: #f2f8ff; --ds-label-secondary: #c9dceb; --ds-label-tertiary: #9bb4cc;
  --ds-separator: rgba(255, 255, 255, 0.12); --ds-separator-strong: rgba(255, 255, 255, 0.20);
  --ds-fill: #132233; --ds-hairline: rgba(255, 255, 255, 0.08);
  --ds-blue: #4fa3d1; --ds-blue-strong: #3d8fbc; --ds-primary: var(--ds-blue);
  --ds-brand: #7eb6d9; --ds-brand-strong: #a8d8ff;
  --ds-brand-grad: linear-gradient(145deg, #a8d8ff 0%, #4fa3d1 55%, #2f7eae 100%);
  --ds-info-bg: #132233; --ds-info-fg: #a8d8ff; --ds-info-bd: #243a52;
  --ds-success-bg: #143528; --ds-success-fg: #6ee7a0; --ds-success-bd: #1f5a3c;
  --ds-warning-bg: #3a2e12; --ds-warning-fg: #ffd56a; --ds-warning-bd: #6a5220;
  --ds-danger-bg: #3a1616; --ds-danger-fg: #ff8a80; --ds-danger-bd: #6a2828;
  --ds-shadow-accent: 0 8px 24px rgba(79, 163, 209, 0.28), 0 2px 8px rgba(0, 0, 0, 0.45);
  --ds-material-thin: rgba(12, 24, 38, 0.72);
  --ds-material-regular: rgba(12, 24, 38, 0.86);
  --ds-material-thick: rgba(12, 24, 38, 0.94);
}

/* ── День рождения · light ───────────────────────────────────────────────── */
html[data-season="birthday"]:not([data-ds-appearance="dark"]) {
  --ds-bg: #fff7f2; --ds-bg-subtle: #ffefe4;
  --ds-surface: #ffffff; --ds-surface-2: #fff4ea;
  --ds-label: #3a1d28; --ds-label-secondary: #8a5a68; --ds-label-tertiary: #b08a94;
  --ds-separator: rgba(58, 29, 40, 0.10); --ds-separator-strong: rgba(58, 29, 40, 0.16);
  --ds-fill: #ffefe4; --ds-hairline: rgba(58, 29, 40, 0.07);
  --ds-blue: #c9a227; --ds-blue-strong: #a8861c; --ds-primary: var(--ds-blue);
  --ds-brand: #e85a8a; --ds-brand-strong: #d44778;
  --ds-brand-grad: linear-gradient(145deg, #ffd56a 0%, #e85a8a 55%, #c9a227 100%);
  --ds-info-bg: #fff0dc; --ds-info-fg: #9a5614; --ds-info-bd: #ecd2a8;
  --ds-shadow-accent: 0 8px 24px rgba(232, 90, 138, 0.28), 0 2px 8px rgba(201, 162, 39, 0.18);
  --ds-material-thin: rgba(255, 247, 242, 0.72);
  --ds-material-regular: rgba(255, 247, 242, 0.86);
  --ds-material-thick: rgba(255, 247, 242, 0.94);
}

/* ── День рождения · dark ────────────────────────────────────────────────── */
html[data-season="birthday"][data-ds-appearance="dark"] {
  --ds-bg: #14080e; --ds-bg-subtle: #221018;
  --ds-surface: #221018; --ds-surface-2: #2f1622;
  --ds-label: #fff6f0; --ds-label-secondary: #f0c9d4; --ds-label-tertiary: #c49aa8;
  --ds-separator: rgba(255, 255, 255, 0.12); --ds-separator-strong: rgba(255, 255, 255, 0.20);
  --ds-fill: #2f1622; --ds-hairline: rgba(255, 255, 255, 0.08);
  --ds-blue: #ffd56a; --ds-blue-strong: #e8c547; --ds-primary: var(--ds-blue);
  --ds-brand: #ff8fab; --ds-brand-strong: #ff7499;
  --ds-brand-grad: linear-gradient(145deg, #ffd56a 0%, #ff8fab 55%, #c9a227 100%);
  --ds-info-bg: #2f1622; --ds-info-fg: #ffd56a; --ds-info-bd: #4a2434;
  --ds-success-bg: #1f2e18; --ds-success-fg: #b8e08a; --ds-success-bd: #3a5228;
  --ds-warning-bg: #3a2e12; --ds-warning-fg: #ffd56a; --ds-warning-bd: #6a5220;
  --ds-danger-bg: #3a1616; --ds-danger-fg: #ff8a80; --ds-danger-bd: #6a2828;
  --ds-shadow-accent: 0 8px 24px rgba(255, 143, 171, 0.28), 0 2px 8px rgba(0, 0, 0, 0.45);
  --ds-material-thin: rgba(34, 16, 24, 0.72);
  --ds-material-regular: rgba(34, 16, 24, 0.86);
  --ds-material-thick: rgba(34, 16, 24, 0.94);
}

/* ── Общие сезонные эффекты (не копировать 4 раза) ───────────────────────── */
html[data-season]:not([data-season="default"]) body {
  background-color: var(--ds-bg) !important;
  background-image:
    radial-gradient(ellipse 90% 50% at 50% -20%, color-mix(in srgb, var(--cmyk-season-d) 22%, transparent), transparent 60%),
    radial-gradient(ellipse 55% 40% at 8% 12%, color-mix(in srgb, var(--cmyk-season-a) 18%, transparent), transparent 55%),
    radial-gradient(ellipse 50% 35% at 92% 18%, color-mix(in srgb, var(--cmyk-season-c) 16%, transparent), transparent 52%);
  background-attachment: fixed;
  color: var(--ds-label);
}

html[data-ds-appearance="dark"] body {
  background-color: var(--ds-bg) !important;
  color: var(--ds-label);
}

/* ── Оболочка: топбар + сайдбар красятся сезоном / тёмной темой ─────────── */
html[data-season]:not([data-season="default"]) .navbar-fintech,
html[data-ds-appearance="dark"] .navbar-fintech {
  background-color: color-mix(in srgb, var(--ds-bg) 42%, var(--ds-surface) 58%) !important;
  background-image:
    radial-gradient(ellipse 70% 120% at 12% -40%, color-mix(in srgb, var(--cmyk-season-a, var(--ds-brand)) 16%, transparent), transparent 55%),
    radial-gradient(ellipse 50% 100% at 88% -30%, color-mix(in srgb, var(--cmyk-season-c, var(--ds-blue)) 12%, transparent), transparent 50%);
  -webkit-backdrop-filter: var(--ds-blur-regular, saturate(160%) blur(20px));
  backdrop-filter: var(--ds-blur-regular, saturate(160%) blur(20px));
  border-bottom-color: var(--ds-separator) !important;
  box-shadow: none !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-brand,
html[data-ds-appearance="dark"] .navbar-fintech .navbar-brand {
  color: var(--ds-label) !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-brand-dot,
html[data-ds-appearance="dark"] .navbar-fintech .navbar-brand-dot {
  color: var(--ds-brand) !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-nav .nav-link {
  color: var(--ds-label-secondary) !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-nav .nav-link:hover,
html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-nav .nav-link:focus-visible,
html[data-season]:not([data-season="default"]) .navbar-fintech .navbar-nav .nav-link.active {
  color: var(--ds-label) !important;
  background-color: var(--ds-fill) !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .cmykos-user-link,
html[data-season]:not([data-season="default"]) .cmykos-print-wisdom {
  color: var(--ds-label-secondary) !important;
}

html[data-season]:not([data-season="default"]) .navbar-fintech .cmykos-user-link:hover,
html[data-season]:not([data-season="default"]) .navbar-fintech .cmykos-user-link:focus-visible {
  background: var(--ds-fill) !important;
  color: var(--ds-label) !important;
}

html[data-season]:not([data-season="default"]) .badge-role {
  background: var(--ds-info-bg) !important;
  color: var(--ds-info-fg) !important;
  border: 1px solid var(--ds-info-bd);
}

html[data-season]:not([data-season="default"]) .btn-logout {
  background: color-mix(in srgb, var(--ds-surface) 80%, transparent) !important;
  color: var(--ds-label-secondary) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-season]:not([data-season="default"]) .btn-logout:hover {
  background: var(--ds-danger-bg) !important;
  color: var(--ds-danger-fg) !important;
  border-color: var(--ds-danger-bd) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar,
html[data-ds-appearance="dark"] .cmykos-sidebar {
  background-color: color-mix(in srgb, var(--ds-bg) 55%, var(--ds-surface) 45%) !important;
  background-image:
    radial-gradient(ellipse 120% 40% at 0% 0%, color-mix(in srgb, var(--cmyk-season-a, var(--ds-brand)) 14%, transparent), transparent 60%),
    radial-gradient(ellipse 90% 35% at 100% 100%, color-mix(in srgb, var(--cmyk-season-c, var(--ds-blue)) 10%, transparent), transparent 55%);
  border-right-color: var(--ds-separator) !important;
  box-shadow: none !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar__label {
  color: var(--ds-label-secondary) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar__accordion[open] > .cmykos-sidebar__label {
  color: var(--ds-label) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar__link {
  color: var(--ds-label-secondary) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar__link:hover,
html[data-season]:not([data-season="default"]) .cmykos-sidebar__link:focus-visible {
  background: var(--ds-fill) !important;
  color: var(--ds-label) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-sidebar__link.is-active {
  background: color-mix(in srgb, var(--ds-brand) 14%, transparent) !important;
  color: var(--ds-brand-strong) !important;
}

html[data-season]:not([data-season="default"]) .cmykos-nav-collapse-btn,
html[data-season]:not([data-season="default"]) .cmykos-nav-rail,
html[data-season]:not([data-season="default"]) .cmykos-sidebar-toggle {
  background: color-mix(in srgb, var(--ds-surface) 85%, transparent) !important;
  color: var(--ds-label-secondary) !important;
  border-color: var(--ds-separator-strong) !important;
  box-shadow: none !important;
}

html[data-season]:not([data-season="default"]) .cmykos-nav-collapse-btn:hover,
html[data-season]:not([data-season="default"]) .cmykos-nav-rail:hover,
html[data-season]:not([data-season="default"]) .cmykos-sidebar-toggle:hover {
  background: var(--ds-fill) !important;
  color: var(--ds-label) !important;
}

html[data-season]:not([data-season="default"]) .stripe-card,
html[data-ds-appearance="dark"] .stripe-card {
  background: var(--ds-surface);
  border-color: var(--ds-separator-strong);
  color: var(--ds-label);
}

/* Пикеры в ЛК */
.cab-season-picker,
.cab-appearance-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.cab-season-chip,
.cab-appearance-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: var(--ds-radius-pill, 999px);
  border: 1px solid var(--ds-separator-strong, rgba(0,0,0,.14));
  background: var(--ds-surface, #fff);
  color: var(--ds-label, #1d1d1f);
  font-size: 0.8125rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: transform var(--ds-dur-fast, 0.12s) var(--ds-ease, ease),
              background-color var(--ds-dur, 0.2s) ease,
              border-color var(--ds-dur, 0.2s) ease,
              box-shadow var(--ds-dur, 0.2s) ease;
}

.cab-season-chip:active,
.cab-appearance-chip:active {
  transform: scale(0.97);
}

.cab-season-chip.is-active,
.cab-appearance-chip.is-active {
  border-color: color-mix(in srgb, var(--ds-brand, #635bff) 55%, transparent);
  background: color-mix(in srgb, var(--ds-brand, #635bff) 12%, transparent);
  color: var(--ds-brand-strong, #4f46e5);
  box-shadow: var(--ds-shadow-1);
}

.cab-season-chip .cab-season-ico,
.cab-appearance-chip .cab-season-ico {
  font-size: 1rem;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  html[data-season]:not([data-season="default"]) body {
    background-attachment: scroll;
  }
  .cab-season-chip,
  .cab-appearance-chip {
    transition: none;
  }
}


/* ============================================================================
 * Тёмная тема: читаемость + убрать белые «прострелы» оболочки
 * (Bootstrap text-muted/text-dark, белые кнопки шапки/сайдбара).
 * ========================================================================== */

html[data-ds-appearance="dark"] body {
  background-color: var(--ds-bg) !important;
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .text-muted,
html[data-ds-appearance="dark"] .text-secondary,
html[data-ds-appearance="dark"] .text-body-secondary {
  color: var(--ds-label-secondary) !important;
}

html[data-ds-appearance="dark"] .text-dark,
html[data-ds-appearance="dark"] .text-body,
html[data-ds-appearance="dark"] .text-black {
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .text-white {
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] a:not(.btn):not(.nav-link):not(.badge-role):not(.btn-logout) {
  color: var(--ds-blue);
}

html[data-ds-appearance="dark"] .card,
html[data-ds-appearance="dark"] .modal-content,
html[data-ds-appearance="dark"] .dropdown-menu,
html[data-ds-appearance="dark"] .list-group-item,
html[data-ds-appearance="dark"] .popover,
html[data-ds-appearance="dark"] .offcanvas,
html[data-ds-appearance="dark"] .toast {
  background-color: var(--ds-surface) !important;
  color: var(--ds-label) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-ds-appearance="dark"] .form-control,
html[data-ds-appearance="dark"] .form-select,
html[data-ds-appearance="dark"] .input-group-text {
  background-color: var(--ds-surface-2) !important;
  color: var(--ds-label) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-ds-appearance="dark"] .form-control::placeholder {
  color: var(--ds-label-tertiary) !important;
}

html[data-ds-appearance="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--ds-label);
  --bs-table-border-color: var(--ds-separator);
  --bs-table-striped-bg: var(--ds-surface-2);
  --bs-table-hover-bg: var(--ds-fill);
  color: var(--ds-label);
}

html[data-ds-appearance="dark"] .bg-white,
html[data-ds-appearance="dark"] .bg-light {
  background-color: var(--ds-surface) !important;
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .border,
html[data-ds-appearance="dark"] .border-bottom,
html[data-ds-appearance="dark"] .border-top,
html[data-ds-appearance="dark"] .border-start,
html[data-ds-appearance="dark"] .border-end {
  border-color: var(--ds-separator) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech {
  background-color: color-mix(in srgb, var(--ds-surface) 92%, transparent) !important;
  border-bottom-color: var(--ds-separator) !important;
  box-shadow: none !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .navbar-brand {
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .navbar-brand-dot {
  color: var(--ds-brand) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .navbar-nav .nav-link {
  color: var(--ds-label-secondary) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .navbar-nav .nav-link:hover,
html[data-ds-appearance="dark"] .navbar-fintech .navbar-nav .nav-link:focus-visible,
html[data-ds-appearance="dark"] .navbar-fintech .navbar-nav .nav-link.active {
  color: var(--ds-label) !important;
  background-color: var(--ds-fill) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .cmykos-user-link {
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .navbar-fintech .cmykos-user-link:hover,
html[data-ds-appearance="dark"] .navbar-fintech .cmykos-user-link:focus-visible {
  background: var(--ds-fill) !important;
}

html[data-ds-appearance="dark"] .cmykos-print-wisdom {
  color: var(--ds-label-secondary) !important;
}

html[data-ds-appearance="dark"] .badge-role {
  background: var(--ds-info-bg) !important;
  color: var(--ds-info-fg) !important;
  border: 1px solid var(--ds-info-bd);
}

html[data-ds-appearance="dark"] .btn-logout {
  background: var(--ds-surface-2) !important;
  color: var(--ds-label-secondary) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-ds-appearance="dark"] .btn-logout:hover {
  background: var(--ds-danger-bg) !important;
  color: var(--ds-danger-fg) !important;
  border-color: var(--ds-danger-bd) !important;
}

html[data-ds-appearance="dark"] .btn-outline-secondary {
  color: var(--ds-label-secondary) !important;
  border-color: var(--ds-separator-strong) !important;
  background: transparent !important;
}

html[data-ds-appearance="dark"] .btn-outline-secondary:hover {
  color: var(--ds-label) !important;
  background: var(--ds-fill) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-ds-appearance="dark"] .btn-outline-primary {
  color: var(--ds-blue) !important;
  border-color: color-mix(in srgb, var(--ds-blue) 45%, transparent) !important;
  background: transparent !important;
}

html[data-ds-appearance="dark"] .btn-light,
html[data-ds-appearance="dark"] .btn-white {
  background: var(--ds-surface-2) !important;
  color: var(--ds-label) !important;
  border-color: var(--ds-separator-strong) !important;
}

html[data-ds-appearance="dark"] .cmykos-sidebar {
  background: var(--ds-surface) !important;
  border-right-color: var(--ds-separator) !important;
  box-shadow: none !important;
}

html[data-ds-appearance="dark"] .cmykos-sidebar__link {
  color: var(--ds-label-secondary) !important;
}

html[data-ds-appearance="dark"] .cmykos-sidebar__link:hover,
html[data-ds-appearance="dark"] .cmykos-sidebar__link:focus-visible {
  background: var(--ds-fill) !important;
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .cmykos-sidebar__link.is-active {
  background: color-mix(in srgb, var(--ds-brand) 18%, transparent) !important;
  color: var(--ds-brand-strong) !important;
}

html[data-ds-appearance="dark"] .cmykos-nav-collapse-btn,
html[data-ds-appearance="dark"] .cmykos-nav-rail,
html[data-ds-appearance="dark"] .cmykos-sidebar-toggle {
  background: var(--ds-surface-2) !important;
  color: var(--ds-label-secondary) !important;
  border-color: var(--ds-separator-strong) !important;
  box-shadow: none !important;
}

html[data-ds-appearance="dark"] .cmykos-nav-collapse-btn:hover,
html[data-ds-appearance="dark"] .cmykos-nav-rail:hover,
html[data-ds-appearance="dark"] .cmykos-sidebar-toggle:hover {
  background: var(--ds-fill) !important;
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] {
  scrollbar-color: var(--ds-fill) var(--ds-bg);
}

html[data-ds-appearance="dark"] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

html[data-ds-appearance="dark"] ::-webkit-scrollbar-track {
  background: var(--ds-bg);
}

html[data-ds-appearance="dark"] ::-webkit-scrollbar-thumb {
  background: var(--ds-fill);
  border-radius: 8px;
  border: 2px solid var(--ds-bg);
}

html[data-ds-appearance="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--ds-label-tertiary);
}

html[data-ds-appearance="dark"] .home-list__meta,
html[data-ds-appearance="dark"] .home-activity-feed__top,
html[data-ds-appearance="dark"] .home-activity-feed__sub,
html[data-ds-appearance="dark"] .home-activity-feed__msg,
html[data-ds-appearance="dark"] .shift-meta,
html[data-ds-appearance="dark"] .home-widget__empty {
  color: var(--ds-label-secondary) !important;
}

html[data-ds-appearance="dark"] .home-activity-feed__who,
html[data-ds-appearance="dark"] .home-pulse-card strong,
html[data-ds-appearance="dark"] .driver-name {
  color: var(--ds-label) !important;
}

html[data-ds-appearance="dark"] .stripe-card {
  background: var(--ds-surface) !important;
  border-color: var(--ds-separator-strong) !important;
  color: var(--ds-label) !important;
}

/* ── День рождения: конфетти (без картинок) + баннер ─────────────────────── */
html[data-season="birthday"] body::after {
  content: "";
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 4;
  background-image:
    radial-gradient(circle, var(--cmyk-season-c) 1.4px, transparent 1.8px),
    radial-gradient(circle, var(--cmyk-season-a) 1.2px, transparent 1.6px),
    radial-gradient(circle, var(--cmyk-season-b) 1.3px, transparent 1.7px);
  background-size: 92px 118px, 128px 84px, 74px 142px;
  background-position: 8px 16px, 42px 58px, 68px 8px;
  opacity: 0.2;
  animation: cmyk-bday-drift 32s linear infinite;
}
@keyframes cmyk-bday-drift {
  from { background-position: 8px 16px, 42px 58px, 68px 8px; }
  to { background-position: 8px -102px, 42px -26px, 68px -134px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-season="birthday"] body::after { animation: none; }
}

.cmyk-bday-banner {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  min-width: 0;
  max-width: none;
  margin: 0 0.5rem;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ds-brand) 14%, var(--ds-surface));
  color: var(--ds-label);
  border: 1px solid color-mix(in srgb, var(--ds-brand) 28%, transparent);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
  overflow: visible;
}
.cmyk-bday-banner__ico { flex-shrink: 0; }
.cmyk-bday-banner__text {
  min-width: 0;
  white-space: nowrap;
  overflow: visible;
}
.cmyk-bday-banner--bar {
  display: flex;
  flex: none;
  max-width: none;
  width: auto;
  margin: 0.45rem 1rem 0;
  white-space: normal;
  overflow: visible;
}
.cmyk-bday-banner--bar .cmyk-bday-banner__text {
  white-space: normal;
  overflow: visible;
}
@media (min-width: 992px) {
  .cmyk-bday-banner--bar { display: none; }
}
.cab-pill.cmyk-bday-pill {
  background: color-mix(in srgb, var(--ds-brand) 16%, var(--ds-surface));
  color: var(--ds-brand-strong);
  border: 1px solid color-mix(in srgb, var(--ds-brand) 30%, transparent);
}
.cab-season-picker.is-bday-locked { opacity: 0.72; }
