/* --- UNIFIED UI CORE THEMES (24 SYMMETRICAL THEMES) ---
 * Дефолт (:root) = light-slate — нейтральный светлый, подходит дневным
 * инструментам (планнер, читалка). Тёмные/специфичные темы — через
 * [data-theme="..."]. 2026-07-16: удалены crimson и cyberpunk (стресс/неон
 * для рабочего набора), усилены акценты midnight/dracula до контраста 5+. */

:root {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #f4f5f7; --bg-secondary: #ffffff; --bg-tertiary: #eef1f4; --bg-hover: #e2e6eb;
  --accent: #4c5699; --accent-hover: #4c5699; --accent-glow: rgba(76, 86, 153, 0.15);
  --success: #2b764c; --success-bg: rgba(43, 118, 76, 0.08); --success-border: rgba(43, 118, 76, 0.2);
  --danger: #b33939; --danger-bg: rgba(179, 57, 57, 0.08); --danger-border: rgba(179, 57, 57, 0.2); --danger-hover: #b33939;
  --ref-color: #1b7193; --ref-bg: rgba(34, 141, 184, 0.08); --ref-border: rgba(34, 141, 184, 0.2);
  --inbox-color: #a63d76; --inbox-bg: rgba(166, 61, 118, 0.08); --inbox-border: rgba(166, 61, 118, 0.2);
  --text-primary: #1f2329; --text-secondary: #5c626a; --text-muted: #616871;
  --border-color: #d1d5db; --row-selected: rgba(76, 86, 153, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(244, 245, 247, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="light-slate"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #f4f5f7; --bg-secondary: #ffffff; --bg-tertiary: #eef1f4; --bg-hover: #e2e6eb;
  --accent: #4c5699; --accent-hover: #4c5699; --accent-glow: rgba(76, 86, 153, 0.15);
  --success: #2b764c; --success-bg: rgba(43, 118, 76, 0.08); --success-border: rgba(43, 118, 76, 0.2);
  --danger: #b33939; --danger-bg: rgba(179, 57, 57, 0.08); --danger-border: rgba(179, 57, 57, 0.2); --danger-hover: #b33939;
  --ref-color: #1b7193; --ref-bg: rgba(27, 113, 147, 0.08); --ref-border: rgba(27, 113, 147, 0.2);
  --inbox-color: #a63d76; --inbox-bg: rgba(166, 61, 118, 0.08); --inbox-border: rgba(166, 61, 118, 0.2);
  --text-primary: #1f2329; --text-secondary: #5c626a; --text-muted: #616871;
  --border-color: #d1d5db; --row-selected: rgba(76, 86, 153, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(244, 245, 247, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-slate"] {  --warning: #f59e0b;
  --text-on-success: #ffffff; --text-on-danger: #0f1013; --text-on-accent: #0f1013;


  --bg-primary: #0f1013; --bg-secondary: #17181c; --bg-tertiary: #1f2126; --bg-hover: #262930;
  --accent: #858bba; --accent-hover: #858bba; --accent-glow: rgba(133, 139, 186, 0.22);
  --success: #5d9a77; --success-bg: rgba(93, 154, 119, 0.1); --success-border: rgba(93, 154, 119, 0.25);
  --danger: #c97474; --danger-bg: rgba(201, 116, 116, 0.1); --danger-border: rgba(201, 116, 116, 0.25); --danger-hover: #b33939;
  --ref-color: #3697be; --ref-bg: rgba(54, 151, 190, 0.1); --ref-border: rgba(54, 151, 190, 0.25);
  --inbox-color: #c0779e; --inbox-bg: rgba(192, 119, 158, 0.1); --inbox-border: rgba(192, 119, 158, 0.25);
  --text-primary: #f2f3f5; --text-secondary: #949ba4; --text-muted: #888b92;
  --border-color: #26282e; --row-selected: rgba(76, 86, 153, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(15, 16, 19, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-slate"] {  --warning: #f59e0b;
  --text-on-success: #ffffff; --text-on-danger: #000000; --text-on-accent: #000000;


  --bg-primary: #000000; --bg-secondary: #080808; --bg-tertiary: #101010; --bg-hover: #181818;
  --accent: #858bba; --accent-hover: #858bba; --accent-glow: rgba(133, 139, 186, 0.22);
  --success: #5d9a77; --success-bg: rgba(93, 154, 119, 0.1); --success-border: rgba(93, 154, 119, 0.25);
  --danger: #c97474; --danger-bg: rgba(201, 116, 116, 0.1); --danger-border: rgba(201, 116, 116, 0.25); --danger-hover: #b33939;
  --ref-color: #3697be; --ref-bg: rgba(54, 151, 190, 0.1); --ref-border: rgba(54, 151, 190, 0.25);
  --inbox-color: #c0779e; --inbox-bg: rgba(192, 119, 158, 0.1); --inbox-border: rgba(192, 119, 158, 0.25);
  --text-primary: #f2f3f5; --text-secondary: #949ba4; --text-muted: #888b92;
  --border-color: #1c1c1c; --row-selected: rgba(76, 86, 153, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-nord"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #eceff4; --bg-secondary: #ffffff; --bg-tertiary: #e5e9f0; --bg-hover: #d8dee9;
  --accent: #4b678a; --accent-hover: #4b678a; --accent-glow: rgba(75, 103, 138, 0.15);
  --success: #5b6a4e; --success-bg: rgba(91, 106, 78, 0.08); --success-border: rgba(91, 106, 78, 0.2);
  --danger: #994e55; --danger-bg: rgba(153, 78, 85, 0.08); --danger-border: rgba(153, 78, 85, 0.2); --danger-hover: #994e55;
  --ref-color: #52667b; --ref-bg: rgba(82, 102, 123, 0.08); --ref-border: rgba(82, 102, 123, 0.2);
  --inbox-color: #735a6e; --inbox-bg: rgba(115, 90, 110, 0.08); --inbox-border: rgba(115, 90, 110, 0.2);
  --text-primary: #2e3440; --text-secondary: #4c566a; --text-muted: #5f6878;
  --border-color: #d8dee9; --row-selected: rgba(94, 129, 172, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(236, 239, 244, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-nord"] {  --warning: #f59e0b;
  --text-on-success: #2e3440; --text-on-danger: #2e3440; --text-on-accent: #2e3440;


  --bg-primary: #2e3440; --bg-secondary: #2b303b; --bg-tertiary: #3b4252; --bg-hover: #434c5e;
  --accent: #9fb5ce; --accent-hover: #9fb5ce; --accent-glow: rgba(159, 181, 206, 0.22);
  --success: #a3be8c; --success-bg: rgba(163, 190, 140, 0.1); --success-border: rgba(163, 190, 140, 0.25);
  --danger: #dba5aa; --danger-bg: rgba(219, 165, 170, 0.1); --danger-border: rgba(219, 165, 170, 0.25); --danger-hover: #bf616a;
  --ref-color: #9bb5ce; --ref-bg: rgba(155, 181, 206, 0.1); --ref-border: rgba(155, 181, 206, 0.25);
  --inbox-color: #c6a9c1; --inbox-bg: rgba(198, 169, 193, 0.1); --inbox-border: rgba(198, 169, 193, 0.25);
  --text-primary: #eceff4; --text-secondary: #d8dee9; --text-muted: #abb3c3;
  --border-color: #3b4252; --row-selected: rgba(94, 129, 172, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(46, 52, 64, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-nord"] {  --warning: #f59e0b;
  --text-on-success: #2e3440; --text-on-danger: #2e3440; --text-on-accent: #2e3440;


  --bg-primary: #000000; --bg-secondary: #06080a; --bg-tertiary: #0c1014; --bg-hover: #141820;
  --accent: #9fb5ce; --accent-hover: #9fb5ce; --accent-glow: rgba(159, 181, 206, 0.22);
  --success: #a3be8c; --success-bg: rgba(163, 190, 140, 0.1); --success-border: rgba(163, 190, 140, 0.25);
  --danger: #dba5aa; --danger-bg: rgba(219, 165, 170, 0.1); --danger-border: rgba(219, 165, 170, 0.25); --danger-hover: #bf616a;
  --ref-color: #9bb5ce; --ref-bg: rgba(155, 181, 206, 0.1); --ref-border: rgba(155, 181, 206, 0.25);
  --inbox-color: #c6a9c1; --inbox-bg: rgba(198, 169, 193, 0.1); --inbox-border: rgba(198, 169, 193, 0.25);
  --text-primary: #eceff4; --text-secondary: #d8dee9; --text-muted: #abb3c3;
  --border-color: #1c222c; --row-selected: rgba(94, 129, 172, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-midnight"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #f0f4fe; --bg-secondary: #ffffff; --bg-tertiary: #e6edf9; --bg-hover: #d6e2f4;
  --accent: #2e5bdc; --accent-hover: #2e5bdc; --accent-glow: rgba(46, 91, 220, 0.15);
  --success: #57713a; --success-bg: rgba(87, 113, 58, 0.08); --success-border: rgba(87, 113, 58, 0.2);
  --danger: #9e4b5a; --danger-bg: rgba(158, 75, 90, 0.08); --danger-border: rgba(158, 75, 90, 0.2); --danger-hover: #9e4b5a;
  --ref-color: #406982; --ref-bg: rgba(64, 105, 130, 0.08); --ref-border: rgba(64, 105, 130, 0.2);
  --inbox-color: #6e5b92; --inbox-bg: rgba(110, 91, 146, 0.08); --inbox-border: rgba(110, 91, 146, 0.2);
  --text-primary: #1a1b26; --text-secondary: #565f89; --text-muted: #5d69a5;
  --border-color: #c9d4eb; --row-selected: rgba(122, 162, 247, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(240, 244, 254, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-midnight"] {  --warning: #f59e0b;
  --text-on-success: #1a1b26; --text-on-danger: #1a1b26; --text-on-accent: #ffffff;


  --bg-primary: #1a1b26; --bg-secondary: #16161e; --bg-tertiary: #24283b; --bg-hover: #2f3449;
  --accent: #3060e8; --accent-hover: #3060e8; --accent-glow: rgba(48, 96, 232, 0.2);
  --success: #9ece6a; --success-bg: rgba(158, 206, 106, 0.1); --success-border: rgba(158, 206, 106, 0.25);
  --danger: #f7768e; --danger-bg: rgba(247, 118, 142, 0.1); --danger-border: rgba(247, 118, 142, 0.25); --danger-hover: #f7768e;
  --ref-color: #7dcfff; --ref-bg: rgba(125, 207, 255, 0.1); --ref-border: rgba(125, 207, 255, 0.25);
  --inbox-color: #bb9af7; --inbox-bg: rgba(187, 154, 247, 0.1); --inbox-border: rgba(187, 154, 247, 0.25);
  --text-primary: #c0caf5; --text-secondary: #a9b1d6; --text-muted: #979db6;
  --border-color: #2a2e42; --row-selected: rgba(122, 162, 247, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(26, 27, 38, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-midnight"] {  --warning: #f59e0b;
  --text-on-success: #1a1b26; --text-on-danger: #1a1b26; --text-on-accent: #ffffff;


  --bg-primary: #000000; --bg-secondary: #05060a; --bg-tertiary: #0a0c14; --bg-hover: #101220;
  --accent: #3060e8; --accent-hover: #3060e8; --accent-glow: rgba(48, 96, 232, 0.2);
  --success: #9ece6a; --success-bg: rgba(158, 206, 106, 0.1); --success-border: rgba(158, 206, 106, 0.25);
  --danger: #f7768e; --danger-bg: rgba(247, 118, 142, 0.1); --danger-border: rgba(247, 118, 142, 0.25); --danger-hover: #f7768e;
  --ref-color: #7dcfff; --ref-bg: rgba(125, 207, 255, 0.1); --ref-border: rgba(125, 207, 255, 0.25);
  --inbox-color: #bb9af7; --inbox-bg: rgba(187, 154, 247, 0.1); --inbox-border: rgba(187, 154, 247, 0.25);
  --text-primary: #c0caf5; --text-secondary: #a9b1d6; --text-muted: #979db6;
  --border-color: #181c2c; --row-selected: rgba(122, 162, 247, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-dracula"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #f6f3fc; --bg-secondary: #ffffff; --bg-tertiary: #ece6f7; --bg-hover: #e0d5f2;
  --accent: #8d41cb; --accent-hover: #8d41cb; --accent-glow: rgba(141, 65, 203, 0.15);
  --success: #257439; --success-bg: rgba(37, 116, 57, 0.08); --success-border: rgba(37, 116, 57, 0.2);
  --danger: #ad3a3a; --danger-bg: rgba(173, 58, 58, 0.08); --danger-border: rgba(173, 58, 58, 0.2); --danger-hover: #ad3a3a;
  --ref-color: #416d76; --ref-bg: rgba(65, 109, 118, 0.08); --ref-border: rgba(65, 109, 118, 0.2);
  --inbox-color: #994876; --inbox-bg: rgba(153, 72, 118, 0.08); --inbox-border: rgba(153, 72, 118, 0.2);
  --text-primary: #282a36; --text-secondary: #6272a4; --text-muted: #666b8c;
  --border-color: #e1d4f0; --row-selected: rgba(189, 147, 249, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(246, 243, 252, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-dracula"] {  --warning: #f59e0b;
  --text-on-success: #282a36; --text-on-danger: #282a36; --text-on-accent: #282a36;


  --bg-primary: #282a36; --bg-secondary: #21222c; --bg-tertiary: #343746; --bg-hover: #3c3f51;
  --accent: #c090e7; --accent-hover: #c090e7; --accent-glow: rgba(192, 144, 231, 0.22);
  --success: #50fa7b; --success-bg: rgba(80, 250, 123, 0.1); --success-border: rgba(80, 250, 123, 0.25);
  --danger: #ff7e7e; --danger-bg: rgba(255, 126, 126, 0.1); --danger-border: rgba(255, 126, 126, 0.25); --danger-hover: #ff7e7e;
  --ref-color: #8be9fd; --ref-bg: rgba(139, 233, 253, 0.1); --ref-border: rgba(139, 233, 253, 0.25);
  --inbox-color: #ff79c6; --inbox-bg: rgba(255, 121, 198, 0.1); --inbox-border: rgba(255, 121, 198, 0.25);
  --text-primary: #f8f8f2; --text-secondary: #c4c6d4; --text-muted: #9ba5c5;
  --border-color: #3a3d4d; --row-selected: rgba(189, 147, 249, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(40, 42, 54, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-dracula"] {  --warning: #f59e0b;
  --text-on-success: #282a36; --text-on-danger: #282a36; --text-on-accent: #282a36;


  --bg-primary: #000000; --bg-secondary: #08080b; --bg-tertiary: #101015; --bg-hover: #181822;
  --accent: #c090e7; --accent-hover: #c090e7; --accent-glow: rgba(192, 144, 231, 0.22);
  --success: #50fa7b; --success-bg: rgba(80, 250, 123, 0.1); --success-border: rgba(80, 250, 123, 0.25);
  --danger: #ff7e7e; --danger-bg: rgba(255, 126, 126, 0.1); --danger-border: rgba(255, 126, 126, 0.25); --danger-hover: #ff7e7e;
  --ref-color: #8be9fd; --ref-bg: rgba(139, 233, 253, 0.1); --ref-border: rgba(139, 233, 253, 0.25);
  --inbox-color: #ff79c6; --inbox-bg: rgba(255, 121, 198, 0.1); --inbox-border: rgba(255, 121, 198, 0.25);
  --text-primary: #f8f8f2; --text-secondary: #c4c6d4; --text-muted: #9ba5c5;
  --border-color: #222230; --row-selected: rgba(189, 147, 249, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-sepia"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #fcfaf2; --bg-secondary: #ffffff; --bg-tertiary: #f4ecd8; --bg-hover: #e8dcbf;
  --accent: #a0522d; --accent-hover: #a0522d; --accent-glow: rgba(160, 82, 45, 0.15);
  --success: #56721c; --success-bg: rgba(86, 114, 28, 0.08); --success-border: rgba(86, 114, 28, 0.2);
  --danger: #b22222; --danger-bg: rgba(178, 34, 34, 0.08); --danger-border: rgba(178, 34, 34, 0.2); --danger-hover: #b22222;
  --ref-color: #386890; --ref-bg: rgba(56, 104, 144, 0.08); --ref-border: rgba(56, 104, 144, 0.2);
  --inbox-color: #8a2be2; --inbox-bg: rgba(138, 43, 226, 0.08); --inbox-border: rgba(138, 43, 226, 0.2);
  --text-primary: #433422; --text-secondary: #7c6853; --text-muted: #82705c;
  --border-color: #e8dcbf; --row-selected: rgba(160, 82, 45, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(252, 250, 242, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-sepia"] {  --warning: #f59e0b;
  --text-on-success: #1e1b18; --text-on-danger: #1e1b18; --text-on-accent: #1e1b18;


  --bg-primary: #1e1b18; --bg-secondary: #272320; --bg-tertiary: #352f2b; --bg-hover: #463f3a;
  --accent: #e6bba6; --accent-hover: #e6bba6; --accent-glow: rgba(230, 187, 166, 0.22);
  --success: #b9ca98; --success-bg: rgba(185, 202, 152, 0.1); --success-border: rgba(185, 202, 152, 0.25);
  --danger: #ecb6b6; --danger-bg: rgba(236, 182, 182, 0.1); --danger-border: rgba(236, 182, 182, 0.25); --danger-hover: #ecb6b6;
  --ref-color: #abc6dd; --ref-bg: rgba(171, 198, 221, 0.1); --ref-border: rgba(171, 198, 221, 0.25);
  --inbox-color: #d7b8f6; --inbox-bg: rgba(215, 184, 246, 0.1); --inbox-border: rgba(215, 184, 246, 0.25);
  --text-primary: #efebe4; --text-secondary: #aaa399; --text-muted: #969089;
  --border-color: #352f2b; --row-selected: rgba(160, 82, 45, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(30, 27, 24, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-sepia"] {  --warning: #f59e0b;
  --text-on-success: #1e1b18; --text-on-danger: #000000; --text-on-accent: #1e1b18;


  --bg-primary: #000000; --bg-secondary: #090807; --bg-tertiary: #12100e; --bg-hover: #1c1815;
  --accent: #e6bba6; --accent-hover: #e6bba6; --accent-glow: rgba(230, 187, 166, 0.22);
  --success: #b9ca98; --success-bg: rgba(185, 202, 152, 0.1); --success-border: rgba(185, 202, 152, 0.25);
  --danger: #ecb6b6; --danger-bg: rgba(236, 182, 182, 0.1); --danger-border: rgba(236, 182, 182, 0.25); --danger-hover: #ecb6b6;
  --ref-color: #abc6dd; --ref-bg: rgba(171, 198, 221, 0.1); --ref-border: rgba(171, 198, 221, 0.25);
  --inbox-color: #d7b8f6; --inbox-bg: rgba(215, 184, 246, 0.1); --inbox-border: rgba(215, 184, 246, 0.25);
  --text-primary: #efebe4; --text-secondary: #aaa399; --text-muted: #969089;
  --border-color: #22120e; --row-selected: rgba(160, 82, 45, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-evergreen"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #f1f7f4; --bg-secondary: #ffffff; --bg-tertiary: #e3eee9; --bg-hover: #d5e5dd;
  --accent: #2d6a4f; --accent-hover: #2d6a4f; --accent-glow: rgba(45, 106, 79, 0.15);
  --success: #347457; --success-bg: rgba(52, 116, 87, 0.08); --success-border: rgba(52, 116, 87, 0.2);
  --danger: #c5202c; --danger-bg: rgba(197, 32, 44, 0.08); --danger-border: rgba(197, 32, 44, 0.2); --danger-hover: #c5202c;
  --ref-color: #337456; --ref-bg: rgba(51, 116, 86, 0.08); --ref-border: rgba(51, 116, 86, 0.2);
  --inbox-color: #416e57; --inbox-bg: rgba(65, 110, 87, 0.08); --inbox-border: rgba(65, 110, 87, 0.2);
  --text-primary: #1c2e24; --text-secondary: #496356; --text-muted: #5a7566;
  --border-color: #d5e5dd; --row-selected: rgba(45, 106, 79, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(241, 247, 244, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-evergreen"] {  --warning: #f59e0b;
  --text-on-success: #0f1a14; --text-on-danger: #0f1a14; --text-on-accent: #0f1a14;


  --bg-primary: #0f1a14; --bg-secondary: #15241b; --bg-tertiary: #1d3326; --bg-hover: #264232;
  --accent: #87ceab; --accent-hover: #87ceab; --accent-glow: rgba(45, 106, 79, 0.2);
  --success: #86cdac; --success-bg: rgba(134, 205, 172, 0.1); --success-border: rgba(134, 205, 172, 0.25);
  --danger: #f5adad; --danger-bg: rgba(245, 173, 173, 0.1); --danger-border: rgba(245, 173, 173, 0.25); --danger-hover: #f5adad;
  --ref-color: #9fc8b5; --ref-bg: rgba(159, 200, 181, 0.1); --ref-border: rgba(159, 200, 181, 0.25);
  --inbox-color: #85cda6; --inbox-bg: rgba(133, 205, 166, 0.1); --inbox-border: rgba(133, 205, 166, 0.25);
  --text-primary: #e2e8e6; --text-secondary: #a3b5b0; --text-muted: #b8c1bf;
  --border-color: #1c2e24; --row-selected: rgba(45, 106, 79, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(15, 26, 20, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-evergreen"] {  --warning: #f59e0b;
  --text-on-success: #0f1a14; --text-on-danger: #0f1a14; --text-on-accent: #0f1a14;


  --bg-primary: #000000; --bg-secondary: #040806; --bg-tertiary: #08100c; --bg-hover: #0e1a14;
  --accent: #87ceab; --accent-hover: #87ceab; --accent-glow: rgba(45, 106, 79, 0.2);
  --success: #86cdac; --success-bg: rgba(134, 205, 172, 0.1); --success-border: rgba(134, 205, 172, 0.25);
  --danger: #f5adad; --danger-bg: rgba(245, 173, 173, 0.1); --danger-border: rgba(245, 173, 173, 0.25); --danger-hover: #f5adad;
  --ref-color: #9fc8b5; --ref-bg: rgba(159, 200, 181, 0.1); --ref-border: rgba(159, 200, 181, 0.25);
  --inbox-color: #85cda6; --inbox-bg: rgba(133, 205, 166, 0.1); --inbox-border: rgba(133, 205, 166, 0.25);
  --text-primary: #e2e8e6; --text-secondary: #a3b5b0; --text-muted: #b8c1bf;
  --border-color: #15241c; --row-selected: rgba(45, 106, 79, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-amber"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #fffdf5; --bg-secondary: #ffffff; --bg-tertiary: #fcf6e3; --bg-hover: #f5eac2;
  --accent: #be4c00; --accent-hover: #be4c00; --accent-glow: rgba(190, 76, 0, 0.15);
  --success: #1c7d44; --success-bg: rgba(28, 125, 68, 0.08); --success-border: rgba(28, 125, 68, 0.2);
  --danger: #c0392b; --danger-bg: rgba(192, 57, 43, 0.08); --danger-border: rgba(192, 57, 43, 0.2); --danger-hover: #c0392b;
  --ref-color: #2573a6; --ref-bg: rgba(37, 115, 166, 0.08); --ref-border: rgba(37, 115, 166, 0.2);
  --inbox-color: #8e44ad; --inbox-bg: rgba(142, 68, 173, 0.08); --inbox-border: rgba(142, 68, 173, 0.2);
  --text-primary: #3d321d; --text-secondary: #75623f; --text-muted: #8a764e;
  --border-color: #f5eac2; --row-selected: rgba(211, 84, 0, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(255, 253, 245, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-amber"] {  --warning: #f59e0b;
  --text-on-success: #1a130f; --text-on-danger: #1a130f; --text-on-accent: #1a130f;


  --bg-primary: #1a130f; --bg-secondary: #241b15; --bg-tertiary: #33261d; --bg-hover: #423226;
  --accent: #f59e0b; --accent-hover: #f59e0b; --accent-glow: rgba(211, 84, 0, 0.2);
  --success: #27ae60; --success-bg: rgba(39, 174, 96, 0.1); --success-border: rgba(39, 174, 96, 0.25);
  --danger: #f97e7e; --danger-bg: rgba(249, 126, 126, 0.1); --danger-border: rgba(249, 126, 126, 0.25); --danger-hover: #f97e7e;
  --ref-color: #24adeb; --ref-bg: rgba(36, 173, 235, 0.1); --ref-border: rgba(36, 173, 235, 0.25);
  --inbox-color: #ac92fa; --inbox-bg: rgba(172, 146, 250, 0.1); --inbox-border: rgba(172, 146, 250, 0.25);
  --text-primary: #fdf5f0; --text-secondary: #b8a69d; --text-muted: #aba19b;
  --border-color: #2e231d; --row-selected: rgba(211, 84, 0, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(26, 19, 15, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-amber"] {  --warning: #f59e0b;
  --text-on-success: #1a130f; --text-on-danger: #1a130f; --text-on-accent: #1a130f;


  --bg-primary: #000000; --bg-secondary: #0a0604; --bg-tertiary: #140c08; --bg-hover: #20140c;
  --accent: #f59e0b; --accent-hover: #f59e0b; --accent-glow: rgba(211, 84, 0, 0.2);
  --success: #27ae60; --success-bg: rgba(39, 174, 96, 0.1); --success-border: rgba(39, 174, 96, 0.25);
  --danger: #f97e7e; --danger-bg: rgba(249, 126, 126, 0.1); --danger-border: rgba(249, 126, 126, 0.25); --danger-hover: #f97e7e;
  --ref-color: #24adeb; --ref-bg: rgba(36, 173, 235, 0.1); --ref-border: rgba(36, 173, 235, 0.25);
  --inbox-color: #ac92fa; --inbox-bg: rgba(172, 146, 250, 0.1); --inbox-border: rgba(172, 146, 250, 0.25);
  --text-primary: #fdf5f0; --text-secondary: #b8a69d; --text-muted: #aba19b;
  --border-color: #2c1b12; --row-selected: rgba(211, 84, 0, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

[data-theme="light-sakura"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;


  --bg-primary: #fff0f5; --bg-secondary: #ffffff; --bg-tertiary: #ffe4e1; --bg-hover: #ffd1dc;
  --accent: #9c5169; --accent-hover: #9c5169; --accent-glow: rgba(156, 81, 105, 0.15);
  --success: #2e6d67; --success-bg: rgba(46, 109, 103, 0.08); --success-border: rgba(46, 109, 103, 0.2);
  --danger: #a34444; --danger-bg: rgba(163, 68, 68, 0.08); --danger-border: rgba(163, 68, 68, 0.2); --danger-hover: #a34444;
  --ref-color: #3b6b92; --ref-bg: rgba(59, 107, 146, 0.08); --ref-border: rgba(59, 107, 146, 0.2);
  --inbox-color: #8b4e96; --inbox-bg: rgba(139, 78, 150, 0.08); --inbox-border: rgba(139, 78, 150, 0.2);
  --text-primary: #5c2c3a; --text-secondary: #8c5364; --text-muted: #966173;
  --border-color: #ffd1dc; --row-selected: rgba(183, 95, 124, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(255, 240, 245, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-sakura"] {  --warning: #f59e0b;
  --text-on-success: #1f1619; --text-on-danger: #1f1619; --text-on-accent: #1f1619;


  --bg-primary: #1f1619; --bg-secondary: #281c20; --bg-tertiary: #36272b; --bg-hover: #463339;
  --accent: #f583bf; --accent-hover: #f583bf; --accent-glow: rgba(245, 131, 191, 0.22);
  --success: #4db6ac; --success-bg: rgba(77, 182, 172, 0.1); --success-border: rgba(77, 182, 172, 0.25);
  --danger: #f98686; --danger-bg: rgba(249, 134, 134, 0.1); --danger-border: rgba(249, 134, 134, 0.25); --danger-hover: #f98686;
  --ref-color: #64b5f6; --ref-bg: rgba(100, 181, 246, 0.1); --ref-border: rgba(100, 181, 246, 0.25);
  --inbox-color: #c68ffc; --inbox-bg: rgba(198, 143, 252, 0.1); --inbox-border: rgba(198, 143, 252, 0.25);
  --text-primary: #ffd1dc; --text-secondary: #c59fa9; --text-muted: #b7a3a9;
  --border-color: #463339; --row-selected: rgba(216, 112, 147, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(31, 22, 25, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-sakura"] {  --warning: #f59e0b;
  --text-on-success: #1f1619; --text-on-danger: #1f1619; --text-on-accent: #1f1619;


  --bg-primary: #000000; --bg-secondary: #080506; --bg-tertiary: #120d0f; --bg-hover: #1b1316;
  --accent: #f583bf; --accent-hover: #f583bf; --accent-glow: rgba(245, 131, 191, 0.22);
  --success: #4db6ac; --success-bg: rgba(77, 182, 172, 0.1); --success-border: rgba(77, 182, 172, 0.25);
  --danger: #f98686; --danger-bg: rgba(249, 134, 134, 0.1); --danger-border: rgba(249, 134, 134, 0.25); --danger-hover: #f98686;
  --ref-color: #64b5f6; --ref-bg: rgba(100, 181, 246, 0.1); --ref-border: rgba(100, 181, 246, 0.25);
  --inbox-color: #c68ffc; --inbox-bg: rgba(198, 143, 252, 0.1); --inbox-border: rgba(198, 143, 252, 0.25);
  --text-primary: #ffd1dc; --text-secondary: #c59fa9; --text-muted: #b7a3a9;
  --border-color: #23181c; --row-selected: rgba(216, 112, 147, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}
[data-theme="light-sage"] {  --warning: #a24b08;
  --text-on-success: #ffffff; --text-on-danger: #ffffff; --text-on-accent: #ffffff;
  --bg-primary: #f2f1ec; --bg-secondary: #ffffff; --bg-tertiary: #e9e7e0; --bg-hover: #e0ddd4;
  --accent: #75894d; --accent-glow: rgba(117, 137, 77, 0.15);
  --success: #5f7a4e; --success-bg: rgba(95, 122, 78, 0.08); --success-border: rgba(95, 122, 78, 0.2);
  --danger: #b0473a; --danger-bg: rgba(176, 71, 58, 0.08); --danger-border: rgba(176, 71, 58, 0.2); --danger-hover: #b0473a;
  --ref-color: #3f6f9e; --ref-bg: rgba(63, 111, 158, 0.08); --ref-border: rgba(63, 111, 158, 0.2);
  --inbox-color: #8a5ca8; --inbox-bg: rgba(138, 92, 168, 0.08); --inbox-border: rgba(138, 92, 168, 0.2);
  --text-primary: #3a362e; --text-secondary: #6f6a5f; --text-muted: #616871;
  --border-color: #d7d4ca; --row-selected: rgba(117, 137, 77, 0.15); --shadow: rgba(0,0,0,0.08);
  --glass-bg: rgba(242, 241, 236, 0.85); --glass-border: rgba(255,255,255,0.4); --bg-translucent: rgba(255,255,255,0.6);
}

[data-theme="dark-sage"] {  --warning: #d97706;
  --text-on-success: #ffffff; --text-on-danger: #1e1d1a; --text-on-accent: #1e1d1a;
  --bg-primary: #1e1d1a; --bg-secondary: #292825; --bg-tertiary: #36332f; --bg-hover: #44403a;
  --accent: #8da05f; --accent-glow: rgba(141, 160, 95, 0.2);
  --success: #7c8f5e; --success-bg: rgba(124, 143, 94, 0.1); --success-border: rgba(124, 143, 94, 0.25);
  --danger: #cf6a58; --danger-bg: rgba(207, 106, 88, 0.1); --danger-border: rgba(207, 106, 88, 0.25); --danger-hover: #cf6a58;
  --ref-color: #5f92c4; --ref-bg: rgba(95, 146, 196, 0.1); --ref-border: rgba(95, 146, 196, 0.25);
  --inbox-color: #a97bc9; --inbox-bg: rgba(169, 123, 201, 0.1); --inbox-border: rgba(169, 123, 201, 0.25);
  --text-primary: #eceae5; --text-secondary: #a8a49b; --text-muted: #76726a;
  --border-color: #45423c; --row-selected: rgba(141, 160, 95, 0.25); --shadow: rgba(0,0,0,0.4);
  --glass-bg: rgba(30, 29, 26, 0.85); --glass-border: rgba(255,255,255,0.06); --bg-translucent: rgba(0,0,0,0.2);
}

[data-theme="oled-sage"] {  --warning: #d97706;
  --text-on-success: #ffffff; --text-on-danger: #000000; --text-on-accent: #000000;
  --bg-primary: #000000; --bg-secondary: #0a0908; --bg-tertiary: #131210; --bg-hover: #1d1b19;
  --accent: #8da05f; --accent-glow: rgba(141, 160, 95, 0.2);
  --success: #7c8f5e; --success-bg: rgba(124, 143, 94, 0.1); --success-border: rgba(124, 143, 94, 0.25);
  --danger: #cf6a58; --danger-bg: rgba(207, 106, 88, 0.1); --danger-border: rgba(207, 106, 88, 0.25); --danger-hover: #cf6a58;
  --ref-color: #5f92c4; --ref-bg: rgba(95, 146, 196, 0.1); --ref-border: rgba(95, 146, 196, 0.25);
  --inbox-color: #a97bc9; --inbox-bg: rgba(169, 123, 201, 0.1); --inbox-border: rgba(169, 123, 201, 0.25);
  --text-primary: #eceae5; --text-secondary: #a8a49b; --text-muted: #76726a;
  --border-color: #201e1b; --row-selected: rgba(141, 160, 95, 0.28); --shadow: rgba(0,0,0,0.8);
  --glass-bg: rgba(0,0,0,0.9); --glass-border: rgba(255,255,255,0.08); --bg-translucent: rgba(255,255,255,0.03);
}

/* ── ЕДИНЫЙ HOVER ДЛЯ ВСЕХ ТЕМ ───────────────────────────────────────────
 * Раньше --accent-hover дублировал --accent во всех 24 темах → hover
 * primary-кнопок был невидим. Теперь он выводится из акцента: на 12% темнее.
 * Стоит ПОСЛЕ тематических блоков, чтобы перекрывать их значения. */
:root, [data-theme] {
  --accent-hover: color-mix(in srgb, var(--accent) 88%, #000);
}

/* ── СЕМАНТИЧЕСКИЕ ЦВЕТА ДЛЯ ВСЕХ ТЕМ ────────────────────────────────────
 * Единый полупрозрачный оверлей модалок/диалогов: цвет текста темы
 * с прозрачностью, чтобы адаптировался к светлой/тёмной теме (переехал
 * из ежедневника — там был локальным в App.css).
 * --prio-* — уровни приоритета (низкий/средний/высокий), «светофор»,
 * один набор на все темы (как --chart-* в tokens.css). */
:root, [data-theme] {
  --overlay: color-mix(in srgb, var(--text-primary) 25%, transparent);
  --prio-low: #4caf50;
  --prio-med: #ffb300;
  --prio-high: #e05252;
}

/* --- Нативные элементы управления ---
 * Галочки, полосы прокрутки, список выбора даты и поле файла рисует сам браузер, и палитру он
 * берёт из `color-scheme`, а не из наших переменных. Без этой строки на тёмных темах браузер
 * рисовал системную светлую галочку — на странице входа «Запомнить меня» была белым квадратом.
 * Имена тем регулярны: light-* светлые, dark-* и oled-* тёмные, поэтому правило по префиксу
 * остаётся верным и для новых тем. */
:root, [data-theme^="light-"] { color-scheme: light; }
[data-theme^="dark-"], [data-theme^="oled-"] { color-scheme: dark; }
