/* ==========================================================================
   Дизайн-токены портала «Школа №1248»
   Палитра взята из логотипа: #32398E / #CB0666 / #FECB37 / #8A2C88 / #EC673A
   ТЗ, п. 13: светлая и тёмная темы через дизайн-токены.
   ========================================================================== */

:root {
  /* Бренд (сырые цвета логотипа) */
  --brand-blue: #32398e;
  --brand-magenta: #cb0666;
  --brand-yellow: #fecb37;
  --brand-purple: #8a2c88;
  --brand-orange: #ec673a;

  /* Направления (цвет = направление, всегда дублируется подписью) */
  --dir-vospitanie: #b0055a;
  --dir-vospitanie-soft: #fce7f0;
  --dir-kachestvo: #7a2678;
  --dir-kachestvo-soft: #f6e8f5;
  --dir-soderzhanie: #32398e;
  --dir-soderzhanie-soft: #e9eaf8;
  --dir-resursy: #c14814;
  --dir-resursy-soft: #fdebe2;

  /* Геометрия и типографика */
  --font-sans: "Segoe UI", "Inter", "PT Sans", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --header-h: 68px;
  --sidebar-w: 252px;
  --sidebar-w-collapsed: 78px;
  --context-w: clamp(264px, 21%, 340px);
  --radius-xs: 6px;
  --radius-sm: 9px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-pill: 999px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 180ms;

  /* Светлая тема */
  --bg: #f3f5fa;
  --bg-elevated: #ffffff;
  --surface: #ffffff;
  --surface-2: #f7f8fc;
  --surface-3: #edf0f7;
  --surface-hover: #f1f3fa;
  --overlay: rgba(19, 23, 51, 0.46);
  --border: #e2e5ef;
  --border-soft: #eceef5;
  --border-strong: #c9cfdf;
  --text: #191d33;
  --text-2: #4d5470;
  --text-3: #737b93;
  --text-inverse: #ffffff;

  --primary: #32398e;
  --primary-hover: #272d73;
  --primary-active: #1f2560;
  --primary-soft: #e9ebf9;
  --primary-soft-2: #d9ddf4;
  --on-primary: #ffffff;

  --success: #146b42;
  --success-soft: #e2f4ea;
  --warning: #8a5a00;
  --warning-soft: #fff3d1;
  --danger: #a81e2b;
  --danger-soft: #fce8ea;
  --info: #2450a4;
  --info-soft: #e7eefc;

  /* Статусы */
  --st-plans: #4f5870;
  --st-plans-soft: #eef0f5;
  --st-issued: #2a46b8;
  --st-issued-soft: #e8edfc;
  --st-work: #8a5a00;
  --st-work-soft: #fff2cd;
  --st-review: #7a2678;
  --st-review-soft: #f6e8f5;
  --st-returned: #a81e2b;
  --st-returned-soft: #fce8ea;
  --st-done: #146b42;
  --st-done-soft: #e2f4ea;

  --shadow-xs: 0 1px 2px rgba(20, 25, 60, 0.06);
  --shadow-sm: 0 1px 3px rgba(20, 25, 60, 0.08), 0 1px 2px rgba(20, 25, 60, 0.04);
  --shadow-md: 0 6px 18px -6px rgba(20, 25, 60, 0.14), 0 2px 6px rgba(20, 25, 60, 0.05);
  --shadow-lg: 0 24px 60px -20px rgba(20, 25, 60, 0.32);
  --shadow-pop: 0 18px 44px -16px rgba(20, 25, 60, 0.28);

  --hero-grad: radial-gradient(120% 140% at 0% 0%, #ececff 0%, transparent 55%),
    radial-gradient(90% 120% at 100% 0%, #fff1f7 0%, transparent 60%),
    linear-gradient(135deg, #fbfbff 0%, #f4f5fd 100%);

  /* Шапка и меню: палитра логотипа, меню — самый тёмный синий */
  --header-bg: linear-gradient(
      100deg,
      rgba(50, 57, 142, 0.3) 0%,
      rgba(138, 44, 136, 0.22) 28%,
      rgba(203, 6, 102, 0.24) 52%,
      rgba(236, 103, 58, 0.2) 76%,
      rgba(254, 203, 55, 0.32) 100%
    ),
    linear-gradient(90deg, rgba(255, 255, 255, 0.97), rgba(255, 255, 255, 0.9));
  --header-border: color-mix(in srgb, var(--brand-blue) 30%, var(--border));
  --header-accent: linear-gradient(
    90deg,
    var(--brand-blue) 0%,
    var(--brand-purple) 32%,
    var(--brand-magenta) 57%,
    var(--brand-orange) 79%,
    var(--brand-yellow) 100%
  );
  --header-hover: color-mix(in srgb, var(--brand-blue) 12%, transparent);

  --sidebar-bg: linear-gradient(180deg, #3a4199 0%, var(--brand-blue) 46%, #272d73 100%);
  --sidebar-border: rgba(255, 255, 255, 0.16);
  --sidebar-shadow: 10px 0 30px -22px rgba(12, 16, 50, 0.7);
  --sidebar-text: rgba(255, 255, 255, 0.8);
  --sidebar-text-strong: #ffffff;
  --sidebar-icon: rgba(255, 255, 255, 0.66);
  --sidebar-title: #ffd764;
  --sidebar-scroll-thumb: rgba(255, 255, 255, 0.3);
  --sidebar-badge-bg: rgba(255, 255, 255, 0.16);
  --sidebar-badge-color: rgba(255, 255, 255, 0.95);
  --sidebar-meta: rgba(255, 255, 255, 0.66);
  --sidebar-link: #ffd764;

  --nav-hover-bg: rgba(255, 255, 255, 0.1);
  --nav-hover-icon: #ffffff;
  --nav-active-bg: linear-gradient(90deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.1) 100%);
  --nav-active-bar: linear-gradient(180deg, var(--brand-yellow) 0%, var(--brand-orange) 100%);
  --nav-active-icon: var(--brand-yellow);
  --nav-active-badge-bg: var(--brand-yellow);
  --nav-active-badge-color: #262c6e;

  --sidebar-toggle-bg: #ffffff;
  --sidebar-toggle-color: var(--brand-blue);
  --sidebar-toggle-border: rgba(50, 57, 142, 0.18);
  --sidebar-toggle-shadow: 0 6px 18px -8px rgba(12, 16, 50, 0.55);
}

[data-theme="dark"] {
  color-scheme: dark;

  --dir-vospitanie: #f27ab3;
  --dir-vospitanie-soft: rgba(240, 106, 168, 0.14);
  --dir-kachestvo: #d79ad6;
  --dir-kachestvo-soft: rgba(200, 124, 198, 0.14);
  --dir-soderzhanie: #a6adf2;
  --dir-soderzhanie-soft: rgba(142, 150, 232, 0.15);
  --dir-resursy: #f6a07d;
  --dir-resursy-soft: rgba(245, 161, 131, 0.14);

  --bg: #0e1120;
  --bg-elevated: #15192b;
  --surface: #171b2e;
  --surface-2: #1d2237;
  --surface-3: #252b44;
  --surface-hover: #222840;
  --overlay: rgba(3, 5, 15, 0.66);
  --border: #2b3250;
  --border-soft: #242a44;
  --border-strong: #3e4768;
  --text: #eceef8;
  --text-2: #aeb5cc;
  --text-3: #858da5;
  --text-inverse: #10142a;

  --primary: #8e96e8;
  --primary-hover: #a6adf2;
  --primary-active: #c0c5f7;
  --primary-soft: rgba(142, 150, 232, 0.15);
  --primary-soft-2: rgba(142, 150, 232, 0.26);
  --on-primary: #10142a;

  --success: #6fd39d;
  --success-soft: rgba(74, 199, 130, 0.14);
  --warning: #f2c14e;
  --warning-soft: rgba(242, 193, 78, 0.13);
  --danger: #f48994;
  --danger-soft: rgba(244, 137, 148, 0.13);
  --info: #8fb3ff;
  --info-soft: rgba(143, 179, 255, 0.13);

  --st-plans: #aeb5cc;
  --st-plans-soft: rgba(174, 181, 204, 0.12);
  --st-issued: #93a7ff;
  --st-issued-soft: rgba(147, 167, 255, 0.14);
  --st-work: #f2c14e;
  --st-work-soft: rgba(242, 193, 78, 0.13);
  --st-review: #d79ad6;
  --st-review-soft: rgba(215, 154, 214, 0.14);
  --st-returned: #f48994;
  --st-returned-soft: rgba(244, 137, 148, 0.13);
  --st-done: #6fd39d;
  --st-done-soft: rgba(111, 211, 157, 0.13);

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 22px -8px rgba(0, 0, 0, 0.6);
  --shadow-lg: 0 28px 70px -24px rgba(0, 0, 0, 0.75);
  --shadow-pop: 0 20px 50px -18px rgba(0, 0, 0, 0.7);

  --hero-grad: radial-gradient(120% 140% at 0% 0%, rgba(90, 98, 190, 0.28) 0%, transparent 58%),
    radial-gradient(90% 120% at 100% 0%, rgba(203, 6, 102, 0.18) 0%, transparent 62%),
    linear-gradient(135deg, #171b2e 0%, #131728 100%);

  /* Шапка и меню в тёмной теме остаются нейтральными */
  --header-bg: color-mix(in srgb, var(--surface) 92%, transparent);
  --header-border: var(--border);
  --header-accent: linear-gradient(
    90deg,
    rgba(142, 150, 232, 0.55) 0%,
    rgba(215, 154, 214, 0.55) 32%,
    rgba(244, 137, 148, 0.5) 57%,
    rgba(246, 160, 125, 0.5) 79%,
    rgba(242, 193, 78, 0.45) 100%
  );
  --header-hover: var(--surface-hover);

  --sidebar-bg: var(--surface);
  --sidebar-border: var(--border);
  --sidebar-shadow: none;
  --sidebar-text: var(--text-2);
  --sidebar-text-strong: var(--text);
  --sidebar-icon: var(--text-3);
  --sidebar-title: var(--text-3);
  --sidebar-scroll-thumb: var(--border-strong);
  --sidebar-badge-bg: var(--surface-3);
  --sidebar-badge-color: var(--text-2);
  --sidebar-meta: var(--text-3);
  --sidebar-link: var(--primary);

  --nav-hover-bg: var(--surface-hover);
  --nav-hover-icon: var(--text-2);
  --nav-active-bg: var(--primary-soft);
  --nav-active-bar: var(--primary);
  --nav-active-icon: var(--primary);
  --nav-active-badge-bg: var(--primary);
  --nav-active-badge-color: var(--on-primary);

  --sidebar-toggle-bg: var(--surface-2);
  --sidebar-toggle-color: var(--text-2);
  --sidebar-toggle-border: var(--border);
  --sidebar-toggle-shadow: var(--shadow-md);
}
