/* Темы оформления. Тема «Классика» — без атрибута data-theme, этот файл тогда ничего не меняет. */
html[data-theme="bibi"] {
  --bg: #0d0a24; --panel: #17123a; --surface: #211a4d; --line: #3a2f7a;
  --text: #f4f1ff; --muted: #a9a3d6; --primary: #ffd21f; --on-primary: #1a1033;
  --accent: #22d3ee; --soft: #2b2260; --danger-bg: #4a1530; --danger: #ff8aa8;
  --ok: #4ade80; --glow: 0 0 18px rgba(255, 210, 31, .45);
}
html[data-theme="strict"] {
  --bg: #000; --panel: #111113; --surface: #1c1c1f; --line: #2c2c30;
  --text: #fff; --muted: #9a9aa2; --primary: #fff; --on-primary: #000;
  --accent: #4ade80; --soft: #26262a; --danger-bg: #3a1214; --danger: #ff7b7b;
  --ok: #4ade80; --glow: none;
}
html[data-theme] body { background: var(--bg); color: var(--text); }
html[data-theme] #panel { background: var(--panel); box-shadow: 0 -4px 20px rgba(0,0,0,.5); }
html[data-theme="bibi"] #panel { border-top: 2px solid var(--accent); box-shadow: 0 -6px 24px rgba(34,211,238,.25); }
html[data-theme] .section-head { background: var(--panel); border-bottom-color: var(--line); }
html[data-theme] input { background: var(--surface); color: var(--text); border-color: var(--line); }
html[data-theme] input::placeholder { color: var(--muted); }
html[data-theme] button { background: var(--primary); color: var(--on-primary); box-shadow: var(--glow); }
html[data-theme] button.secondary,
html[data-theme] .city-row button { background: var(--soft); color: var(--text); box-shadow: none; }
html[data-theme] button.danger { background: var(--danger-bg); color: var(--danger); box-shadow: none; }
html[data-theme="strict"] button { border-radius: 8px; font-weight: 700; letter-spacing: .2px; }
html[data-theme="bibi"] button { border-radius: 14px; }
html[data-theme] a { color: var(--accent); }
html[data-theme] .hint, html[data-theme] .city-row,
html[data-theme] small, html[data-theme] .history-item .comment { color: var(--muted); }
html[data-theme] #message { color: var(--danger); }
html[data-theme] .card, html[data-theme] .offer { background: var(--surface); border-color: var(--line); }
html[data-theme] #ride-box { background: var(--soft); border-color: var(--primary); }
html[data-theme] .result, html[data-theme] .history-item, html[data-theme] .doc,
html[data-theme] .ref-item, html[data-theme] .bal-row, html[data-theme] .topup-row,
html[data-theme] .topup-form { border-color: var(--line); }
html[data-theme] .stat { background: var(--surface); border-color: var(--line); }
html[data-theme] .bal-topup { background: var(--surface); }
html[data-theme] #bal-card.low { background: var(--danger-bg); border-color: var(--danger); }
html[data-theme] .ref-code { border-color: var(--primary); }
html[data-theme] .offer .price, html[data-theme] .bal-amount { color: var(--primary); }
html[data-theme="bibi"] .offer .price { text-shadow: 0 0 10px rgba(255,210,31,.5); }
html[data-theme] .pay label { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-theme] .pay label:has(input:checked) { background: var(--soft); border-color: var(--primary); }
html[data-theme] .stars button { background: var(--surface); color: var(--line); box-shadow: none; }
html[data-theme] .stars button.on { color: var(--primary); }
html[data-theme] .doc .ok, html[data-theme] .ref-item small.done,
html[data-theme] .savings, html[data-theme] .bal-row .plus { color: var(--ok); }
html[data-theme] .bal-row .minus { color: var(--danger); }
html[data-theme] .badge.pending { background: #4a3a0a; color: #fde68a; }
html[data-theme] .badge.approved { background: #0f3a22; color: #86efac; }
html[data-theme] .badge.blocked { background: var(--danger-bg); color: var(--danger); }
html[data-theme] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.8); }
html[data-theme="bibi"] .leaflet-tile-pane { filter: invert(1) hue-rotate(200deg) brightness(.8) contrast(.95) saturate(1.3); }
html[data-theme] .leaflet-container { background: var(--bg); }
html[data-theme] .leaflet-control-zoom a,
html[data-theme] .leaflet-control-attribution { background: var(--panel) !important; color: var(--text) !important; }
html[data-theme] .leaflet-control-attribution a { color: var(--accent) !important; }

/* Цвета для элементов, которые рисуются из кода (шторка, меню, окна снизу) */
html[data-theme="bibi"] { --c-sheet: #17123a; --c-page: #0d0a24; --c-text: #f4f1ff; --c-soft: #2b2260;
  --c-muted: #a9a3d6; --c-line: #3a2f7a; --c-head: linear-gradient(135deg, #ffd21f, #ffb020); --c-head-fg: #1a1033; }
html[data-theme="strict"] { --c-sheet: #111113; --c-page: #000; --c-text: #fff; --c-soft: #26262a;
  --c-muted: #9a9aa2; --c-line: #2c2c30; --c-head: #1c1c1f; --c-head-fg: #fff; }
html[data-theme] #dr .dr-item { box-shadow: none; }
html[data-theme="bibi"] #dr { border-right: 2px solid var(--accent); }
