/* Твой закон — тёмная тема. Включается атрибутом data-theme="dark" на <html>
   (переключатель в шапке: светлая / тёмная / как в системе; выбор хранится в браузере).
   Порядок: токены → переопределения цветов,
   сгенерированные из style.css и redesign.css (светлые фоны → тёмные поверхности, тёмный текст → светлый) → ручные правки компонентов. */

html[data-theme="dark"] {
  color-scheme: dark;
  /* style.css */
  --bg: #0B1020; --card: #121A2C; --soft: #151D31; --soft-2: #182136;
  --ok: #4CC777; --bad: #F2738A; --warn: #E9A061;
  --hero-line: #2A3A5C; --hero-text: #B8C4DC; --hero-eyebrow: #9DB6F2;
  /* redesign.css */
  --navy: #E6ECF8; --navy-2: #C9D4EA; --text: #C3CCDD; --muted: #98A5BC; --faint: #7E8BA3;
  --rule: #222C42; --rule-2: #33405C; --alt: #10172A; --accent: #6F9BFF; --accent-soft: #1A2644;
  --hero: #0F1D40;
  /* фон-«заливки» вместо тёмно-синего: кнопки, активные элементы */
  --fill: #2F62D6; --fill-2: #4373E2; --deep: #12224A;
}
/* ===== сгенерировано из style.css и redesign.css ===== */
/* --- из style.css --- */
html[data-theme="dark"] .btn-outline, html[data-theme="dark"] .btn-ghost { background: #10131C; }
html[data-theme="dark"] .site-header { background: #10131C; }
html[data-theme="dark"] .flash-error { background: #2B1015; color: #E48293; border-color: #461B23; }
html[data-theme="dark"] .flash-success { background: #172C1F; color: #AFECC0; border-color: #284933; }
html[data-theme="dark"] .hero-search input { background: #10131C; }
html[data-theme="dark"] .org-logo { box-shadow: inset 0 -2px 0 rgba(0,0,0,0.36); }
html[data-theme="dark"] .tcard { border: 1px solid #262A31; }
html[data-theme="dark"] .filter-box { background: #10131C; }
html[data-theme="dark"] .sub-row { border-top: 1px solid #1C2025; }
html[data-theme="dark"] .pill { background: #10131C; }
html[data-theme="dark"] .chip:hover { border-color: #263561; }
html[data-theme="dark"] .chip.is-sel { background: #121A30; }
html[data-theme="dark"] .news-card, html[data-theme="dark"] .act-card { background: #10131C; }
html[data-theme="dark"] a.tag:hover { background: #121A30; }
html[data-theme="dark"] .tag-org { color: #6283E8; }
html[data-theme="dark"] .tag-new { background: #172C1F; color: #AFECC0; }
html[data-theme="dark"] .tag-hidden { background: #2B1015; color: #E48293; }
html[data-theme="dark"] .tag-status { background: #2E2211; color: #EEBB8B; }
html[data-theme="dark"] .tag-msk { background: #2B1015; color: #E48293; }
html[data-theme="dark"] .tag-fed { color: #6283E8; }
html[data-theme="dark"] .fav.on { color: #E8BE61; border-color: #7D672F; background: #302912; }
html[data-theme="dark"] .spoiler .ai-full { background: #101620; }
html[data-theme="dark"] .admin-bar { border-top: 1px dashed #251941; }
html[data-theme="dark"] .admin-bar-label { color: #8A63D9; }
html[data-theme="dark"] .abtn { border: 1px solid #251941; background: #160E26; color: #A486E6; }
html[data-theme="dark"] .abtn:hover { color: #C9B8EF; }
html[data-theme="dark"] .admin-panel-inline { border: 1px solid #251941; background: #140D23; }
html[data-theme="dark"] .panel { background: #10131C; }
html[data-theme="dark"] .mini-bill { border-bottom: 1px solid #1C2025; }
html[data-theme="dark"] .empty { background: #10131C; }
html[data-theme="dark"] .org-hero .org-logo { box-shadow: 0 0 0 4px rgba(0,0,0,0.09); }
html[data-theme="dark"] .org-hero .btn-outline { border-color: rgba(16,19,28,0.40); }
html[data-theme="dark"] .org-hero .btn-outline:hover { border-color: #10131C; }
html[data-theme="dark"] .org-chip { background: #10131C; }
html[data-theme="dark"] .detail { background: #10131C; }
html[data-theme="dark"] .chat { background: #10131C; }
html[data-theme="dark"] .chat-quick button { background: #10131C; }
html[data-theme="dark"] .auth-card { background: #10131C; }
html[data-theme="dark"] input:not([type=checkbox]), html[data-theme="dark"] select { background: #10131C; }
html[data-theme="dark"] .worker.ok { background: #172C1F; color: #AFECC0; }
html[data-theme="dark"] .worker.bad { background: #2B1015; color: #E48293; }
html[data-theme="dark"] .kpi { background: #10131C; }
html[data-theme="dark"] .table-wrap { background: #10131C; }
html[data-theme="dark"] .table th, html[data-theme="dark"] .table td { border-bottom: 1px solid #1C2025; }
html[data-theme="dark"] .site-footer { background: #10131C; }
html[data-theme="dark"] .st-dot { background: #10131C; }
html[data-theme="dark"] .st-current .st-dot { box-shadow: 0 0 0 4px rgba(0,0,0,0.60); }
html[data-theme="dark"] .stages-compact { background: #101620; border: 1px solid #1C2025; }
html[data-theme="dark"] .stages-full { background: #101620; border: 1px solid #1C2025; }
html[data-theme="dark"] .advice-spoiler summary { color: #EEBB8B; }
html[data-theme="dark"] .advice-spoiler .advice { background: #2A2010; }
html[data-theme="dark"] .advice-panel { background: #2A2010; border: 1px solid #4F3E1E; }
html[data-theme="dark"] .advice-panel h3 { color: #EEBB8B; }
html[data-theme="dark"] .advice-lock { color: #EEBB8B; }
html[data-theme="dark"] .advice-lock:hover { color: #F3CDA9; }
html[data-theme="dark"] .rec-box { background: linear-gradient(135deg, #180F29, #0F1729); border: 1px solid #251941; }
html[data-theme="dark"] .rec-box strong { color: #A181E3; }
html[data-theme="dark"] .org-card { background: #10131C; }
html[data-theme="dark"] .status-ready .org-status { background: #172C1F; color: #AFECC0; }
html[data-theme="dark"] .status-error .org-status { background: #2B1015; color: #E48293; }
html[data-theme="dark"] .org-card-foot { border-top: 1px solid #1C2025; }
html[data-theme="dark"] .org-add { background: #0D1422; }
html[data-theme="dark"] .btn-ghost-dark { border: 1px solid rgba(16,19,28,0.30); }
html[data-theme="dark"] .btn-ghost-dark:hover { border-color: #10131C; }
html[data-theme="dark"] .mock-mail { background: #10131C; box-shadow: 0 30px 80px rgba(0,0,0,0.60); }
html[data-theme="dark"] .mock-row { border: 1px solid #1C2025; }
html[data-theme="dark"] .mock-line { background: #1F232B; }
html[data-theme="dark"] .mock-rec { background: linear-gradient(135deg, #180F29, #0F1729); color: #A181E3; }
html[data-theme="dark"] .mini-stages i { background: #1F232B; }
html[data-theme="dark"] .benefit { background: #10131C; }
html[data-theme="dark"] .benefit:hover { box-shadow: 0 12px 30px rgba(0,0,0,0.28); }
html[data-theme="dark"] .benefit-ico { background: color-mix(in srgb, var(--accent) 12%, #10131C); }
html[data-theme="dark"] .benefit.featured { background: linear-gradient(180deg, #170D23 0%, #10131C 60%); }
html[data-theme="dark"] .steps-band { background: #10131C; }
html[data-theme="dark"] .rec-card.example { background: #10131C; box-shadow: 0 16px 40px rgba(0,0,0,0.23); }
html[data-theme="dark"] .example-tag { background: #2E2211; color: #EEBB8B; border: 1px solid #4F3E1E; }
html[data-theme="dark"] .terms { background: #10131C; }
html[data-theme="dark"] .pg { background: #10131C; }
html[data-theme="dark"] .sub-status.is-active .pill-status, html[data-theme="dark"] .pill-status.on { background: #172C1F; color: #AFECC0; }
html[data-theme="dark"] .sub-status.is-active { border-color: #284933; background: linear-gradient(180deg, #112619, #10131C 60%); }
html[data-theme="dark"] .big-num { color: #AFECC0; }
html[data-theme="dark"] .ok-text { color: #AFECC0; }
html[data-theme="dark"] .mailing-summary li { border-bottom: 1px dashed #1F232B; }
html[data-theme="dark"] .lock-banner { background: #2A2010; border: 1px solid #4F3E1E; color: #F3CDA9; }
html[data-theme="dark"] .step { background: #10131C; }
html[data-theme="dark"] .choice-box { background: #10131C; }
html[data-theme="dark"] .choice:hover .choice-box { border-color: #263561; }
html[data-theme="dark"] .choice input:checked + .choice-box { background: #0E1525; }
html[data-theme="dark"] .choice-all .choice-box { background: linear-gradient(135deg, #0E1324, #10131C); }
html[data-theme="dark"] .email-ok { background: #172C1F; color: #AFECC0; }
html[data-theme="dark"] .email-ok .btn-text { color: #AFECC0; }
html[data-theme="dark"] .wizard-foot { background: #10131C; box-shadow: 0 10px 30px rgba(0,0,0,0.28); }
html[data-theme="dark"] .slider { background: #2E353E; }
html[data-theme="dark"] .slider::after { background: #10131C; box-shadow: 0 1px 3px rgba(0,0,0,0.54); }
html[data-theme="dark"] .row-request td { background: #261F0F; }
html[data-theme="dark"] .seo-card { background: #10131C; }
html[data-theme="dark"] .snippet { background: #15181F; border: 1px solid #1C2025; }
html[data-theme="dark"] .snippet-url { color: #B4B7BC; }
html[data-theme="dark"] .snippet-title { color: #7A70EB; }
html[data-theme="dark"] .snippet-desc { color: #B4B7BC; }
html[data-theme="dark"] .counter.warn { color: #E7925D; }
html[data-theme="dark"] .parl-tab { background: #10131C; }
html[data-theme="dark"] .parl-tab:hover { border-color: #263561; }
html[data-theme="dark"] .parl-tab.is-sel { box-shadow: 0 0 0 3px rgba(0,0,0,0.60); background: linear-gradient(180deg, #10131C, #111823); }
html[data-theme="dark"] .tag-parl { background: #18271E; color: #AFECC0; }
html[data-theme="dark"] .parl-choice { border-top: 1px solid #1C2025; }
/* --- из redesign.css --- */
html[data-theme="dark"] body { background: #10131C; }
html[data-theme="dark"] .site-header { background: rgba(16,19,28,0.96); }
html[data-theme="dark"] .r-search-row { background: #10131C; }
html[data-theme="dark"] .pill { background: #10131C; }
html[data-theme="dark"] .chip { background: #10131C; }
html[data-theme="dark"] .reg-list { background: #10131C; }
html[data-theme="dark"] .reg-row { background: #10131C; }
html[data-theme="dark"] .rb-warn { background: #2B1015; color: #E48293; }
html[data-theme="dark"] .reg-main .advice-spoiler summary { color: #EEBB8B; }
html[data-theme="dark"] .pg:hover { background: #10131C; }
html[data-theme="dark"] .r-btn-light { background: #10131C; }
html[data-theme="dark"] .r-btn-light:hover { background: #111B2E; }
html[data-theme="dark"] .site-footer { background: #10131C; }
html[data-theme="dark"] .hero, html[data-theme="dark"] .org-hero { background: #10131C; }
html[data-theme="dark"] .region-pick > summary { background: #10131C; }
html[data-theme="dark"] .rp-menu { background: #10131C; box-shadow: 0 16px 40px rgba(0,0,0,0.45); }
html[data-theme="dark"] .org-card { border: 1px solid color-mix(in srgb, var(--org) 22%, #10131C); background: linear-gradient(160deg, color-mix(in srgb, var(--org) 13%, #10131C) 0%, #10131C 62%); }
html[data-theme="dark"] .org-card:hover { border-color: color-mix(in srgb, var(--org) 45%, #10131C); }
html[data-theme="dark"] .org-card-new { background: #10131C; border: 1px solid color-mix(in srgb, var(--org) 35%, #10131C); }
html[data-theme="dark"] .org-card-stats { border-top: 1px dashed color-mix(in srgb, var(--org) 30%, #10131C); }
html[data-theme="dark"] .org-card-laws { background: #10131C; border: 1px solid color-mix(in srgb, var(--org) 30%, #10131C); }
html[data-theme="dark"] .ncard { background: #10131C; }
html[data-theme="dark"] .nc-region, html[data-theme="dark"] .nc-chip, html[data-theme="dark"] .nc-org { background: #10131C; }
html[data-theme="dark"] .nc-org { border-color: color-mix(in srgb, var(--org) 35%, #10131C); }
html[data-theme="dark"] a.nc-org:hover { background: color-mix(in srgb, var(--org) 10%, #10131C); }
html[data-theme="dark"] .imp::after { box-shadow: 0 10px 28px rgba(0,0,0,0.60); }
html[data-theme="dark"] .process { background: #10131C; }
html[data-theme="dark"] .tl-stage.tl-done::before { background: color-mix(in srgb, #1E8A3C 45%, #10131C); }
html[data-theme="dark"] .tl-dot { background: #10131C; }
html[data-theme="dark"] .tl-planned { background: #10131C; }
html[data-theme="dark"] .abtn.danger { color: #EA6E83; border-color: #4E1D26; }
html[data-theme="dark"] .abtn.danger:hover:not(:disabled) { background: #2B1015; }
html[data-theme="dark"] .del-form { border: 1px solid #4E1D26; background: #240E10; }
html[data-theme="dark"] .del-form p { color: #E495A2; }
html[data-theme="dark"] .tg-card.is-linked { box-shadow: inset 4px 0 0 rgba(0,0,0,0.60); }


/* ===== ручные правки компонентов (после сгенерированных — имеют приоритет) ===== */
html[data-theme="dark"] body { background: var(--bg); color: var(--text); }
html[data-theme="dark"] img { opacity: .95; }

/* заливки, которые в светлой теме тёмно-синие (var(--navy)/var(--ink)) */
html[data-theme="dark"] .btn, html[data-theme="dark"] .hero-search button, html[data-theme="dark"] .r-search button,
html[data-theme="dark"] .pill.is-sel, html[data-theme="dark"] .pg.current, html[data-theme="dark"] .tag-bill,
html[data-theme="dark"] .step-num, html[data-theme="dark"] .step-n, html[data-theme="dark"] .choice-ico,
html[data-theme="dark"] .parl-tab.is-sel .parl-ico, html[data-theme="dark"] .choice input:checked + .choice-box::after,
html[data-theme="dark"] .rb-new, html[data-theme="dark"] .tag-new, html[data-theme="dark"] .badge-new {
  background: var(--fill); border-color: var(--fill); color: #fff; }
html[data-theme="dark"] .btn:hover, html[data-theme="dark"] .hero-search button:hover, html[data-theme="dark"] .r-search button:hover {
  background: var(--fill-2); color: #fff; }
html[data-theme="dark"] .org-logo { background: #1D2A4A !important; color: #DCE6FF; }
html[data-theme="dark"] .org-card .org-logo, html[data-theme="dark"] .choice .org-logo { background: var(--org) !important; color: #fff; }

/* большие тёмные блоки */
html[data-theme="dark"] .hero, html[data-theme="dark"] .r-promo, html[data-theme="dark"] .final-cta,
html[data-theme="dark"] .panel-dark { background: var(--deep); color: #fff; border: 1px solid var(--rule-2); }
html[data-theme="dark"] .sub-hero { background: radial-gradient(1200px 500px at 85% -10%, #2C2170 0%, transparent 60%),
  radial-gradient(900px 500px at -10% 110%, #0E2C66 0%, transparent 60%), var(--deep); }
html[data-theme="dark"] .org-hero { background: linear-gradient(135deg, var(--deep) 0%, color-mix(in srgb, var(--org) 40%, var(--deep)) 100%); }
html[data-theme="dark"] .toast { background: #1E2A45; color: #fff; }
html[data-theme="dark"] .r-promo h2, html[data-theme="dark"] .final-cta h2, html[data-theme="dark"] .sub-hero h1 { color: #fff; }

/* формы */
html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]), html[data-theme="dark"] select,
html[data-theme="dark"] textarea { background: #0E1528; color: var(--navy); border-color: var(--rule-2); }
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: #6F7C95; }
html[data-theme="dark"] input:focus, html[data-theme="dark"] select:focus, html[data-theme="dark"] textarea:focus {
  outline-color: #2A3E70; border-color: var(--accent); }

/* шапка, меню региона, логотип */
html[data-theme="dark"] .site-header { background: rgba(11,16,32,.94); border-bottom-color: var(--rule); }
html[data-theme="dark"] .rp-menu { box-shadow: 0 16px 40px rgba(0,0,0,.5); }
html[data-theme="dark"] .admin-strip { background: #0A1330; }

/* важность изменения */
html[data-theme="dark"] .imp { --imp: #7EDB9E; --imp-bg: #13301F; }
html[data-theme="dark"] .imp-medium { --imp: #F2C46A; --imp-bg: #33270D; }
html[data-theme="dark"] .imp-high { --imp: #FF8FA2; --imp-bg: #3A1520; }
html[data-theme="dark"] .imp::after { background: #1E2A45; color: #EEF3FF; box-shadow: 0 10px 28px rgba(0,0,0,.55); }
html[data-theme="dark"] .imp::before { border-top-color: #1E2A45; }

/* карточки типов организаций: тонировка на тёмном */
html[data-theme="dark"] .org-card { background: linear-gradient(160deg, color-mix(in srgb, var(--org) 22%, var(--card)) 0%, var(--card) 65%);
  border-color: color-mix(in srgb, var(--org) 35%, var(--card)); }
html[data-theme="dark"] .org-card::after { background: color-mix(in srgb, var(--org) 16%, transparent); }
html[data-theme="dark"] .org-card-new, html[data-theme="dark"] .org-card-laws { background: var(--card); color: color-mix(in srgb, var(--org) 55%, #fff); }
html[data-theme="dark"] .org-card-go, html[data-theme="dark"] .org-card-sub, html[data-theme="dark"] .org-card:hover h3 { color: color-mix(in srgb, var(--org) 50%, #fff); }
html[data-theme="dark"] .org-card-stats { border-top-color: color-mix(in srgb, var(--org) 30%, var(--card)); }

/* метки типов организаций на карточках новостей */
html[data-theme="dark"] .nc-org { border-color: color-mix(in srgb, var(--org) 45%, var(--card)); color: color-mix(in srgb, var(--org) 45%, #fff); }
html[data-theme="dark"] a.nc-org:hover { background: color-mix(in srgb, var(--org) 18%, var(--card)); color: #fff; }

/* ход рассмотрения */
html[data-theme="dark"] .tl-dot { background: var(--card); }
html[data-theme="dark"] .tl-done .tl-dot { background: #1E8A3C; color: #fff; }
html[data-theme="dark"] .tl-current .tl-dot { background: var(--fill); border-color: var(--fill); }

/* Telegram */
html[data-theme="dark"] .tg-code code { background: var(--alt); }

/* переключатель темы */
.theme-toggle { display: inline-grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 999px;
  border: 1px solid var(--rule-2, #B9C6DD); background: transparent; color: var(--navy, #0D2C6C); cursor: pointer;
  transition: border-color .15s, box-shadow .15s; }
.theme-toggle:hover { border-color: var(--navy, #0D2C6C); box-shadow: 0 0 0 3px var(--accent-soft, #E8EFFC); }
.theme-toggle svg { display: none; }
html[data-theme-choice="light"] .theme-toggle .ti-sun,
html[data-theme-choice="dark"] .theme-toggle .ti-moon,
html[data-theme-choice="auto"] .theme-toggle .ti-auto, html:not([data-theme-choice]) .theme-toggle .ti-auto { display: block; }

