/* Цветовые темы. Выбирается в админке (/admin/settings) и применяется ко всем посетителям через <html data-theme="…">.
   --accent — основной цвет, --accent-d — при наведении, --dark — шапка/подвал, --hero-a/--hero-b — градиент главного баннера,
   --bg/--card/--text/--muted/--line — фон, карточки, текст, линии (в тёмных темах). */
html[data-theme="orange"]   { --accent: #ff6a00; --accent-d: #d95a00; --dark: #151a26; --hero-a: #151a26; --hero-b: #262f47; }
html[data-theme="amber"]    { --accent: #d97706; --accent-d: #b45309; --dark: #1f1a10; --hero-a: #1f1a10; --hero-b: #78350f; --bg: #faf7f1; }
html[data-theme="red"]      { --accent: #dc2626; --accent-d: #b91c1c; --dark: #1f1315; --hero-a: #1f1315; --hero-b: #7f1d1d; --bg: #faf4f4; }
html[data-theme="pink"]     { --accent: #db2777; --accent-d: #be185d; --dark: #2a0f1e; --hero-a: #2a0f1e; --hero-b: #831843; --bg: #fbf4f8; }
html[data-theme="purple"]   { --accent: #7c3aed; --accent-d: #6d28d9; --dark: #1e1033; --hero-a: #1e1033; --hero-b: #4c1d95; --bg: #f7f4fc; }
html[data-theme="indigo"]   { --accent: #4f46e5; --accent-d: #4338ca; --dark: #14143a; --hero-a: #14143a; --hero-b: #3730a3; --bg: #f4f5fc; }
html[data-theme="blue"]     { --accent: #2563eb; --accent-d: #1d4ed8; --dark: #0f172a; --hero-a: #0f172a; --hero-b: #1e3a8a; --bg: #f3f6fb; }
html[data-theme="sky"]      { --accent: #0284c7; --accent-d: #0369a1; --dark: #0c2233; --hero-a: #0c2233; --hero-b: #075985; --bg: #f1f7fb; }
html[data-theme="teal"]     { --accent: #0d9488; --accent-d: #0f766e; --dark: #0b2524; --hero-a: #0b2524; --hero-b: #115e59; --bg: #f1f8f7; }
html[data-theme="green"]    { --accent: #16a34a; --accent-d: #15803d; --dark: #0f2a1d; --hero-a: #0f2a1d; --hero-b: #14532d; --bg: #f3f8f5; }
html[data-theme="brown"]    { --accent: #92400e; --accent-d: #78350f; --dark: #22160f; --hero-a: #22160f; --hero-b: #57341b; --bg: #f9f5f1; }
html[data-theme="graphite"] { --accent: #475569; --accent-d: #334155; --dark: #111827; --hero-a: #111827; --hero-b: #374151; --bg: #f3f4f6; }

/* тёмные темы: общие цвета + свой акцент */
html[data-theme^="dark"] {
  --dark: #0a0d14; --hero-a: #0a0d14; --hero-b: #1b2335;
  --bg: #0f1420; --card: #1a2132; --text: #e8ebf2; --muted: #98a2b8; --line: #2b3550; --skeleton: #243049;
  --soft: #232c42; --shadow: 0 2px 10px rgba(0, 0, 0, .35);
}
html[data-theme="dark"]        { --accent: #ff8a1f; --accent-d: #ff7a00; }
html[data-theme="dark-blue"]   { --accent: #4f8cff; --accent-d: #3b7bf0; --hero-b: #16305f; --dark: #0a1020; --bg: #0d1424; }
html[data-theme="dark-green"]  { --accent: #34d399; --accent-d: #10b981; --hero-b: #0f3a2a; --dark: #07140f; --bg: #0c1613; --card: #15231e; --line: #26403a; --soft: #1c2f28; --skeleton: #1f342d; }
html[data-theme="dark-purple"] { --accent: #a78bfa; --accent-d: #8b5cf6; --hero-b: #2e1f5e; --dark: #0f0b1c; --bg: #130f21; --card: #1e1832; --line: #35294f; --soft: #281f40; --skeleton: #2c2347; }

/* ---- компоненты в тёмных темах ---- */
/* основная кнопка (акцентный фон) — тёмный текст; вторичные кнопки не трогаем */
html[data-theme^="dark"] .btn:not(.light):not(.ghost):not(.tg):not(.danger) { color: #101010; }
html[data-theme^="dark"] .btn.light { background: var(--card); color: var(--text); border-color: var(--line); }
html[data-theme^="dark"] .btn.ghost { color: var(--text); }
html[data-theme^="dark"] .hero .btn.ghost, html[data-theme^="dark"] .cta-block .btn.ghost { color: #fff; }
html[data-theme^="dark"] .btn.danger { background: transparent; color: #ff8d8d; border-color: #c25a5a; }
html[data-theme^="dark"] .btn.tg { background: #229ed9; color: #fff; }
html[data-theme^="dark"] input::placeholder, html[data-theme^="dark"] textarea::placeholder { color: #6f7a92; }
/* бейджи: нейтральный + цветные статусы (контрастные на тёмном фоне) */
html[data-theme^="dark"] .badge { background: #2a3550; color: #e8ebf2; }
html[data-theme^="dark"] .badge.published, html[data-theme^="dark"] .badge.done, html[data-theme^="dark"] .badge.sale,
html[data-theme^="dark"] .badge.contract { background: #163a26; color: #6fd196; }
html[data-theme^="dark"] .badge.new, html[data-theme^="dark"] .badge.exchange { background: #1b2f4d; color: #8fc1f0; }
html[data-theme^="dark"] .badge.parts { background: #3d2a14; color: #ffb877; }
html[data-theme^="dark"] .badge.in_progress, html[data-theme^="dark"] .badge.running { background: #3a3112; color: #f3cf6a; }
html[data-theme^="dark"] .badge.rejected, html[data-theme^="dark"] .badge.failed { background: #3a1c1f; color: #f08a8a; }
html[data-theme^="dark"] .alert.info { background: #1c2c44; color: #8fc1f0; }
html[data-theme^="dark"] .alert.ok { background: #16301f; color: #6fd196; }
html[data-theme^="dark"] .alert.err, html[data-theme^="dark"] .login .alert { background: #3a1c1f; color: #f08a8a; }
html[data-theme^="dark"] .preview { background: #1c2c44; }
html[data-theme^="dark"] .side a:hover { background: rgba(255, 255, 255, .08); }
html[data-theme^="dark"] table { box-shadow: none; border: 1px solid var(--line); }
html[data-theme^="dark"] .card { box-shadow: none; border: 1px solid var(--line); }
/* подсказки и пузырьки переписки одинаково читаются на любой теме */
.bubble.mine { background: color-mix(in srgb, var(--accent) 16%, var(--card)); color: var(--text); }
.bubble.staff { background: color-mix(in srgb, #22c55e 16%, var(--card)); color: var(--text); }
.chat-admin .m-in { background: var(--soft); }
.chat-admin .m-out { background: color-mix(in srgb, var(--accent) 16%, var(--card)); margin-left: auto; }
.chat-admin .m-in, .chat-admin .m-out { margin-top: 10px; padding: 10px 14px; border-radius: 12px; max-width: 85%; white-space: pre-line; color: var(--text); }
.notice-warn { background: color-mix(in srgb, #f59e0b 16%, var(--card)); color: var(--text); }
.notice-ok { background: color-mix(in srgb, #22c55e 16%, var(--card)); color: var(--text); }
