/* Driver App premium cabin. Isolated. Theme is not touched. */
:root {
  --bda-space-1: 4px;
  --bda-space-2: 8px;
  --bda-space-3: 12px;
  --bda-space-4: 16px;
  --bda-space-5: 24px;
  --bda-touch: 48px;
  --bda-ico: 20px;
  --bda-dur: .22s;
  --bda-nav: 64px;
  --bda-safe: env(safe-area-inset-bottom, 0px);
  --bda-font: "Manrope", "Segoe UI", system-ui, sans-serif;
  --bda-display: "Outfit", "Manrope", "Segoe UI", sans-serif;
  --bda-r: 18px;
  --bda-r-sm: 12px;
  --bda-ease: cubic-bezier(.22, 1, .36, 1);
  /* Premium ink cabin */
  --bda-bg: #0a1420;
  --bda-navy: #0a1420;
  --bda-navy2: #122033;
  --bda-card: #15263a;
  --bda-elev: #1b3048;
  --bda-line: rgba(210, 196, 150, .14);
  --bda-text: #f4efe4;
  --bda-muted: #9aa8bc;
  --bda-teal: #1a8f86;
  --bda-mint: #3ee0c4;
  --bda-gold: #d4b06a;
  --bda-primary: #7eb6ff;
  --bda-ok: #3ee0c4;
  --bda-warn: #e8b04a;
  --bda-bad: #ff7a86;
  --bda-shadow: 0 18px 40px rgba(0, 8, 20, .45);
  --bda-glow: 0 0 28px rgba(62, 224, 196, .22);
  --bda-top: rgba(10, 20, 32, .92);
  --bda-sheet-bg: rgba(14, 26, 40, .94);
  --bda-res-bg: #1a2d44;
  --bda-input-bg: #101c2c;
  --bda-nav-bg: rgba(10, 18, 30, .94);
  --bda-title-shadow: 0 1px 0 rgba(255,255,255,.16), 0 10px 28px rgba(0,0,0,.35);
  --bda-lift: 0 8px 22px rgba(0, 8, 18, .28);
  --bda-on-mint: #06211b;
  --bda-btn-fg: #06211b;
  --bda-scrim: rgba(3, 8, 16, .58);
}
html { color-scheme: dark; }
html, body.bda-body {
  margin: 0; background: var(--bda-bg); color: var(--bda-text);
  font-family: var(--bda-font); min-height: 100%;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "kern";
}
body[data-bda-theme="light"] { color-scheme: light; }
body.bda-body { overflow: hidden; overscroll-behavior: none; }
button, input, a, select { touch-action: manipulation; font-family: inherit; }
button, input, select, textarea { outline: none; }
:focus-visible { outline: 2px solid var(--bda-mint); outline-offset: 2px; }
.bda-root { height: 100dvh; height: 100svh; display: flex; flex-direction: column; position: relative; overflow: hidden; }
.bda-root::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(212,176,106,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(62,224,196,.05) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(120% 80% at 50% 0%, #000 10%, transparent 78%);
  opacity: .55;
}
.bda-root > * { position: relative; z-index: 1; }
.bda-root > .bda-nav { position: absolute; z-index: 40; }
.bda-root > .bda-more { position: absolute; z-index: 35; }
.bda-root > .bda-ask { position: fixed; inset: 0; z-index: 200; }
.bda-root > .bda-boot { position: fixed; z-index: 90; }
.bda-boot {
  position: fixed; inset: 0; z-index: 90; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 8px;
  padding: 0 24px 8vh;
  background:
    radial-gradient(120% 80% at 70% -10%, #1a4a62 0%, transparent 46%),
    radial-gradient(90% 60% at 20% 110%, rgba(30,200,176,.18), transparent 50%),
    var(--bda-navy);
  perspective: 900px;
  transition: opacity .55s ease, visibility .55s ease, transform .55s ease;
}
.bda-boot::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .35;
}
.bda-boot.is-out { opacity: 0; visibility: hidden; pointer-events: none; transform: scale(1.04); }
.bda-boot-mark {
  width: 108px; height: 78px; border-radius: 22px; margin-bottom: 14px;
  display: grid; place-items: center;
  background: linear-gradient(165deg, rgba(62,224,196,.28), rgba(13,80,154,.2));
  box-shadow: 0 22px 50px rgba(13,138,154,.38), 0 0 0 1px rgba(212,176,106,.28), var(--bda-glow);
  animation: bda-boot-3d 1.8s ease-in-out infinite;
  position: relative;
  transform-style: preserve-3d;
}
.bda-boot-mark svg { width: 86px; height: 58px; filter: drop-shadow(0 10px 16px rgba(0,0,0,.35)); }
.bda-boot-mark::before, .bda-boot-mark::after {
  content: ""; position: absolute; inset: -12px; border-radius: 30px;
  border: 1px solid rgba(122, 240, 200, .4); pointer-events: none;
  animation: bda-ring 2.2s ease-out infinite;
}
.bda-boot-mark::after { inset: -22px; animation-delay: .45s; opacity: .55; }
@keyframes bda-ring { from { transform: scale(.9); opacity: .7; } to { transform: scale(1.18); opacity: 0; } }
@keyframes bda-boot-3d {
  0%, 100% { transform: rotateY(-12deg) rotateX(8deg) translateZ(0); }
  50% { transform: rotateY(12deg) rotateX(-4deg) translateZ(12px); }
}
.bda-boot em { letter-spacing: .22em; text-transform: uppercase; font-size: 11px; color: var(--bda-mint); font-style: normal; font-weight: 800; position: relative; }
.bda-boot strong {
  font-family: var(--bda-display); font-size: 34px; letter-spacing: -.04em; position: relative;
  text-shadow: var(--bda-title-shadow);
}
.bda-boot-bar {
  width: 148px; height: 3px; border-radius: 99px; overflow: hidden;
  background: rgba(255,255,255,.1); margin-top: 18px;
}
.bda-boot-bar i {
  display: block; height: 100%; width: 0;
  background: linear-gradient(90deg, #1ec8b0, #0c7eb8);
  animation: bda-load .9s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes bda-load { to { width: 100%; } }
.bda-spin {
  width: 28px; height: 28px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.15); border-top-color: var(--bda-mint);
  animation: bda-spin .7s linear infinite; margin-top: 12px;
}
@keyframes bda-spin { to { transform: rotate(360deg); } }
@keyframes bda-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes bda-pulse { 50% { transform: scale(1.04); } }
.bda-top {
  display: flex; align-items: center; gap: 8px; flex-wrap: nowrap;
  padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;
  background: var(--bda-top);
  border-bottom: 1px solid var(--bda-line);
  z-index: 30;
  transition: background .25s var(--bda-ease);
}
.bda-brand { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.bda-brand strong { font-size: 16px; letter-spacing: -.03em; font-weight: 800; }
.bda-brand small { color: var(--bda-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bda-idpill {
  appearance: none; border: 0; background: rgba(255,255,255,.06); color: var(--bda-muted);
  font-size: 11px; border-radius: 999px; padding: 8px 11px; max-width: 26vw;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; flex: 0 1 auto;
  box-shadow: var(--bda-lift);
}
.bda-switches { display: flex; gap: 6px; }
.bda-sw {
  appearance: none; border: 1px solid var(--bda-line); background: rgba(13, 28, 44, .9); color: var(--bda-text);
  border-radius: 999px; min-width: 40px; height: 34px; font-size: 11px; font-weight: 800; cursor: pointer;
  transition: transform .15s var(--bda-ease), border-color .2s, background .2s, color .2s;
  position: relative;
  box-shadow: var(--bda-lift);
}
.bda-dot {
  position: absolute; top: -4px; right: -4px; min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 99px; background: var(--bda-bad); color: #fff;
  font-size: 9px; font-weight: 800; font-style: normal; line-height: 16px; text-align: center;
  box-shadow: 0 0 0 2px var(--bda-top);
}
.bda-nav-dot {
  position: absolute; top: 7px; right: calc(50% - 14px); width: 7px; height: 7px;
  border-radius: 50%; background: var(--bda-bad); box-shadow: 0 0 0 2px var(--bda-nav-bg);
}
.bda-sw:active { transform: scale(.94); }
.bda-sw.gps-ok { border-color: var(--bda-ok); color: var(--bda-ok); }
.bda-sw.gps-warn { border-color: var(--bda-warn); color: var(--bda-warn); }
.bda-sw.is-on { background: var(--bda-mint); border-color: var(--bda-mint); color: var(--bda-on-mint); }
.bda-main {
  flex: 1; overflow: auto; padding: 16px 16px calc(var(--bda-nav) + var(--bda-safe) + 36px);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.bda-main::-webkit-scrollbar { width: 0; height: 0; }
.bda-main > .bda-card, .bda-main > .bda-soon { animation: none; }
.bda-nav {
  position: absolute; left: 12px; right: 12px; bottom: calc(10px + var(--bda-safe)); z-index: 40;
  height: var(--bda-nav); display: grid; grid-template-columns: repeat(5, 1fr);
  background: var(--bda-nav-bg); border: 1px solid var(--bda-line);
  border-radius: 22px;
  box-shadow: var(--bda-shadow);
}
.bda-nav button {
  appearance: none; border: 0; background: transparent; color: var(--bda-muted);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  font-size: 10px; font-weight: 700; min-height: 62px; letter-spacing: .01em;
  position: relative;
}
.bda-nav-ico {
  width: 42px; height: 28px; border-radius: 11px;
  display: grid; place-items: center;
  transition: background .2s var(--bda-ease), color .2s;
}
.bda-nav button svg { width: 20px; height: 20px; stroke-linecap: round; stroke-linejoin: round; }
.bda-nav button.is-on { color: var(--bda-mint); font-weight: 800; }
.bda-nav button.is-on .bda-nav-ico {
  background: rgba(30,200,176,.18);
  box-shadow: 0 8px 18px rgba(30,200,176,.2);
}
.bda-nav button.is-on span { font-weight: 800; color: var(--bda-text); }
.bda-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 42%),
    var(--bda-card);
  border: 1px solid var(--bda-line); border-radius: var(--bda-r);
  padding: 16px; margin-bottom: 12px;
  box-shadow: var(--bda-lift), inset 0 1px 0 rgba(255,255,255,.08);
  transform: translateZ(0);
}
.bda-kicker { margin: 0 0 6px; font-size: 11px; font-weight: 800; color: var(--bda-mint); text-transform: uppercase; letter-spacing: .12em; }
h1.bda-h { margin: 0 0 6px; font-size: 28px; letter-spacing: -.045em; font-weight: 800; line-height: 1.12; text-shadow: var(--bda-title-shadow); }
.bda-sub { margin: 0 0 16px; color: var(--bda-muted); font-size: 14px; line-height: 1.5; font-weight: 500; }
.bda-hero { margin-bottom: 4px; }
.bda-id { font-family: ui-monospace, Consolas, monospace; font-size: 18px; letter-spacing: .04em; }
.bda-card.is-link { border-color: rgba(30,200,176,.38); background: linear-gradient(180deg, rgba(30,200,176,.1), var(--bda-card)); }
.bda-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.bda-btn, .bda-file {
  appearance: none; border: 0; border-radius: 14px; padding: 12px 16px; font-weight: 800; font-size: 14px;
  min-height: var(--bda-touch);
  background: var(--bda-mint);
  color: var(--bda-on-mint); cursor: pointer;
  box-shadow: none;
  transition: transform .15s var(--bda-ease), filter .15s, box-shadow .15s;
}
.bda-btn:active, .bda-file:active { transform: scale(.97); filter: brightness(.96); }
.bda-btn.ghost {
  background: rgba(255,255,255,.07); color: var(--bda-text);
  box-shadow: var(--bda-lift);
}
.bda-btn.full { width: 100%; }
.bda-btn.danger { background: rgba(255,107,122,.14); color: #ffb4b4; box-shadow: none; }
.bda-btn[disabled] { opacity: .55; pointer-events: none; }
.bda-input, .bda-select, select.bda-input {
  width: 100%; box-sizing: border-box; background: var(--bda-input-bg); color: var(--bda-text);
  border: 1px solid var(--bda-line); border-radius: 14px; padding: 13px 12px; font-size: 16px;
  transition: border-color .18s, box-shadow .18s;
}
.bda-input:focus, .bda-select:focus, select.bda-input:focus {
  border-color: rgba(42, 212, 188, .55);
  box-shadow: 0 0 0 3px rgba(42, 212, 188, .16);
}
label.bda-lab { display: block; font-size: 12px; color: var(--bda-muted); margin: 0 0 6px; font-weight: 700; }
.bda-stack { display: flex; flex-direction: column; gap: 10px; }
.bda-st-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bda-st {
  appearance: none; border: 1px solid var(--bda-line); background: var(--bda-navy2); color: var(--bda-text);
  border-radius: 16px; padding: 13px 11px; text-align: left; cursor: pointer;
  transition: border-color .2s, transform .15s, background .2s, box-shadow .2s;
  box-shadow: var(--bda-lift);
}
.bda-st:active { transform: scale(.98); }
.bda-st strong { display: block; font-size: 14px; letter-spacing: -.02em; }
.bda-st em { display: block; font-size: 11px; color: var(--bda-muted); font-style: normal; margin-top: 3px; font-weight: 600; }
.bda-st.is-on { border-color: var(--bda-mint); background: rgba(42, 212, 188, .1); box-shadow: inset 0 0 0 1px rgba(42,212,188,.35); }
.bda-st.is-slobodan.is-on { border-color: var(--bda-ok); background: rgba(58,235,176,.1); }
.bda-st.is-na_putu.is-on { border-color: #5aa7ff; background: rgba(90,167,255,.12); }
.bda-st.is-zauzet.is-on { border-color: var(--bda-warn); background: rgba(245,193,74,.1); }
.bda-st.is-offline.is-on { border-color: var(--bda-muted); }
.bda-map-wrap { height: min(46vh, 380px); border-radius: 20px; overflow: hidden; border: 1px solid var(--bda-line); margin-bottom: 10px; }
.bda-map-wrap .leaflet-container { height: 100%; background: #06202a; }
body[data-bda-theme="light"] .bda-map-wrap .leaflet-container { background: #d5e4ea; }
.bda-smart { display: flex; gap: 8px; margin-bottom: 10px; }
.bda-smart input { flex: 1; }
.bda-chips { display: flex; gap: 6px; overflow-x: auto; margin: 0 0 8px; scrollbar-width: none; }
.bda-chips::-webkit-scrollbar { display: none; }
.bda-chip2 {
  appearance: none; border: 1px solid var(--bda-line); background: var(--bda-card); color: var(--bda-text);
  border-radius: 999px; padding: 8px 12px; white-space: nowrap; font-size: 13px; cursor: pointer; font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px;
}
.bda-chip2 i { font-style: normal; font-size: 14px; }
.bda-chip2.is-on { background: var(--bda-mint); color: var(--bda-on-mint); border-color: var(--bda-mint); }
.bda-hits { list-style: none; margin: 0 0 10px; padding: 0; }
.bda-hits li {
  background: var(--bda-card); border: 1px solid var(--bda-line); border-radius: 14px;
  padding: 10px 12px; margin-bottom: 6px; cursor: pointer; font-size: 13px; font-weight: 600;
}
.bda-hits li b { display: block; font-size: 13px; letter-spacing: -.02em; }
.bda-hits small { display: block; color: var(--bda-muted); margin-top: 3px; font-weight: 500; }
.bda-banner {
  background: #1d2a18; border: 1px solid #3d6a2c; color: #d8f5c8; border-radius: 14px;
  padding: 12px; margin-bottom: 10px; font-size: 13px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
.bda-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; touch-action: pan-y; }
.bda-cal b { text-align: center; font-size: 11px; color: var(--bda-muted); font-weight: 800; padding: 4px 0 2px; }
.bda-days .bda-day { min-height: 38px; font-size: 13px; }
.bda-day {
  appearance: none; border: 0; background: var(--bda-navy2); color: var(--bda-text); border-radius: 13px;
  min-height: 42px; font-size: 14px; cursor: pointer; font-weight: 800;
  transition: transform .12s var(--bda-ease), background .15s, box-shadow .15s;
}
.bda-day { transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.bda-day:active { transform: none; }
.bda-day.is-on { background: var(--bda-mint); color: var(--bda-on-mint); box-shadow: none; }
.bda-day.is-today { box-shadow: inset 0 0 0 2px #5aa7ff; }
.bda-day.is-on.is-today { box-shadow: 0 4px 12px rgba(30,200,176,.28), inset 0 0 0 2px #5aa7ff; }
.bda-day.is-plan { background: #f5c14a; color: #2a1e00; }
.bda-day.is-last {
  position: relative; z-index: 1;
  box-shadow: 0 0 0 3px #f5c14a, 0 8px 18px rgba(245,193,74,.28);
}
.bda-day.is-on.is-last:not(.is-plan) { box-shadow: 0 0 0 3px #f5c14a, 0 6px 14px rgba(47,212,181,.25); }
.bda-day.is-pick { box-shadow: 0 0 0 3px rgba(90,167,255,.75); }
.bda-day.is-range { background: rgba(245,193,74,.28); color: var(--bda-text); }
.bda-day.is-other { opacity: .42; }
.bda-day.is-other.is-on, .bda-day.is-on.is-old { opacity: 1; }
.bda-day.is-old { opacity: .5; }
.bda-day.is-flash { box-shadow: inset 0 0 0 2px #5aa7ff; }
.bda-ring b.is-over { color: #ff6b7a; }
.bda-drop, .bda-over { margin: 0 0 8px; font-size: 12px; font-weight: 700; line-height: 1.4; }
.bda-drop { color: var(--bda-muted); }
.bda-over { color: #ffb4b4; }
.bda-day.muted { opacity: .28; pointer-events: none; }
.bda-legal {
  background: linear-gradient(180deg, #2a2210, #1c1810); border: 1px solid rgba(245,193,74,.45);
  color: #f6e2b0; border-radius: 16px; padding: 12px 14px; margin-bottom: 10px;
  font-size: 13px; line-height: 1.45; font-weight: 600;
}
.bda-legal.is-fold { padding: 0; }
.bda-legal.is-fold summary {
  list-style: none; padding: 12px 14px; cursor: pointer; font-weight: 800; font-size: 13px;
}
.bda-legal.is-fold summary::-webkit-details-marker { display: none; }
.bda-legal.is-fold p { margin: 0; padding: 0 14px 12px; font-weight: 600; }
.bda-fold summary {
  list-style: none; cursor: pointer; font-weight: 800; font-size: 13px;
  color: var(--bda-mint); letter-spacing: .08em; text-transform: uppercase;
}
.bda-fold summary::-webkit-details-marker { display: none; }
.bda-fold[open] summary { margin-bottom: 8px; }
.bda-win { margin: 10px 0 8px; font-size: 13px; font-weight: 700; }
.bda-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.bda-fact {
  font-size: 11px; font-weight: 700; line-height: 1.35; padding: 7px 10px; border-radius: 999px;
  background: rgba(255,255,255,.06); border: 1px solid var(--bda-line); color: var(--bda-text);
}
.bda-fact.is-hot { color: #f5c14a; border-color: rgba(245,193,74,.4); background: rgba(245,193,74,.1); }
.bda-fact.is-bad { color: #ffb4b4; border-color: rgba(255,107,122,.35); }
.bda-card .bda-link { display: inline-block; margin: 10px 14px 0 0; }
.bda-zone-chip {
  border-radius: 14px; padding: 10px 12px; background: rgba(255,255,255,.05);
  border: 1px solid var(--bda-line); font-size: 13px; font-weight: 700;
}
.bda-zone-chip.is-in { border-color: rgba(30,200,176,.4); background: rgba(30,200,176,.1); }
.bda-zone-chip small { display: block; margin-top: 4px; color: var(--bda-muted); font-size: 11px; font-weight: 700; }
.bda-range-flag {
  margin: 0 0 8px; padding: 8px 10px; border-radius: 12px; font-size: 12px; font-weight: 800;
  background: rgba(90,167,255,.16); color: #cfe4ff;
}
.bda-cal-legend {
  display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center;
  margin-top: 10px; font-size: 11px; font-weight: 700; color: var(--bda-muted);
}
.bda-cal-legend span {
  width: 12px; height: 12px; border-radius: 4px; display: inline-block; margin-right: 4px;
  vertical-align: -1px; background: #0b1828;
}
.bda-cal-legend span.is-on { background: var(--bda-mint); }
.bda-cal-legend span.is-today { box-shadow: inset 0 0 0 2px #5aa7ff; background: transparent; }
.bda-cal-legend span.is-plan { background: #f5c14a; }
.bda-cal-legend span.is-last { box-shadow: 0 0 0 2px #f5c14a; background: var(--bda-mint); }
.bda-cal-legend span.is-permit { background: #b4a0ff; }
.bda-day.is-permit { background: #b4a0ff; color: #1a1033; }
.bda-paint { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; }
.bda-verdict { font-size: 13px; font-weight: 800; margin: 8px 0; }
.bda-verdict.is-ok { color: var(--bda-mint); }
.bda-verdict.is-bad { color: #ffb4b4; }
.bda-trips { display: flex; flex-direction: column; gap: 6px; }
.bda-trip { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; }
.bda-trip em { color: var(--bda-muted); font-style: normal; }
.bda-faq { margin: 0; padding-left: 18px; color: var(--bda-muted); font-size: 12px; line-height: 1.45; font-weight: 600; }
.bda-faq li { margin-bottom: 6px; }
.bda-day-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.bda-day-pill {
  appearance: none; border: 1px solid var(--bda-line); background: rgba(255,255,255,.06);
  color: inherit; border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 800; cursor: pointer;
}
.bda-day-pill:active { transform: scale(.96); }
.bda-day-pill.is-plan { background: #f5c14a; color: #2a1e00; border-color: transparent; }
.bda-cal-nav {
  min-width: 44px; min-height: 44px; font-size: 22px; line-height: 1;
}
.bda-month-now {
  appearance: none; border: 0; background: transparent; color: var(--bda-text);
  font-weight: 800; font-size: 16px; cursor: pointer; flex: 1; text-align: center;
  text-transform: capitalize; letter-spacing: -.02em;
}
.bda-days-hero { display: none; }
.bda-days-dock {
  background: var(--bda-card);
  border: 1px solid var(--bda-line);
  border-radius: 22px;
  padding: 16px 12px 12px;
  margin-bottom: 12px;
}
.bda-days-dock.is-safe, .bda-days-dock.is-eu {
  border-color: rgba(47,212,181,.55);
  background: linear-gradient(180deg, rgba(47,212,181,.16), var(--bda-card) 42%);
}
.bda-days-dock.is-watch {
  border-color: rgba(47,212,181,.4);
  background: linear-gradient(180deg, rgba(47,212,181,.1), var(--bda-card) 42%);
}
.bda-days-dock.is-warning {
  border-color: rgba(245,193,74,.7);
  background: linear-gradient(180deg, rgba(245,193,74,.2), var(--bda-card) 46%);
}
.bda-days-dock.is-critical {
  border-color: rgba(255,107,122,.75);
  background: linear-gradient(180deg, rgba(255,107,122,.22), var(--bda-card) 48%);
}
.bda-days-hud {
  position: relative; top: auto; z-index: 2;
  margin: 10px 0 0; padding: 8px 4px 0;
  background: none;
}
.bda-days-hud.is-status {
  position: relative; top: 0; z-index: 1;
  margin: 0 0 12px; padding: 10px 12px 8px;
  background: var(--bda-card);
  border: 1px solid var(--bda-line);
  border-radius: 22px;
  box-shadow: var(--bda-lift);
}
.bda-days-count {
  display: flex; flex-direction: column; align-items: stretch; justify-content: center;
  text-align: left; gap: 6px;
  margin: 0; padding: 4px 2px 6px;
}
.bda-days-now {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center; gap: 10px; width: 100%;
}
.bda-days-copy { min-width: 0; }
.bda-days-copy small { margin: 0; }
.bda-days-copy em { display: block; }
.bda-days-copy span { display: block; margin-top: 2px; font-size: 12px; font-weight: 800; color: var(--bda-gold); }
.bda-days-meta { width: 100%; margin-top: 6px; }
.bda-asof, .bda-dayd, .bda-drop-mini {
  margin: 4px 0 0; font-size: 12px; font-weight: 700; line-height: 1.35; color: var(--bda-muted);
}
.bda-dayd { color: var(--bda-text); }
.bda-dayd b { color: #7ec8ff; letter-spacing: .06em; text-transform: uppercase; font-size: 11px; }
.bda-asof-home {
  margin: 0 0 10px; padding: 8px 12px; border-radius: 12px;
  background: rgba(47,212,181,.12); color: #b8ffe8; font-size: 12px; font-weight: 700;
}
.bda-days-count small {
  display: block; font-size: 11px; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase; color: var(--bda-muted);
}
.bda-days-now > b {
  display: block; font-family: var(--bda-display);
  font-size: 36px; line-height: .9; letter-spacing: -.06em;
  font-variant-numeric: tabular-nums; font-weight: 800; color: var(--bda-mint);
  text-shadow: 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(62,224,196,.28);
}
.bda-days-count.is-warning .bda-days-now > b,
.bda-days-dock.is-warning .bda-days-now > b { color: #f5c14a; }
.bda-days-count.is-critical .bda-days-now > b,
.bda-days-dock.is-critical .bda-days-now > b { color: #ff7a86; }
.bda-days-count em {
  font-style: normal; font-size: 13px; font-weight: 800; color: var(--bda-muted);
}
.bda-days-flag {
  display: inline-flex; align-self: flex-start; margin-top: 0; padding: 5px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 800; letter-spacing: .02em;
  background: rgba(47,212,181,.16); color: #b8ffe8;
}
.bda-days-count.is-warning .bda-days-flag,
.bda-days-dock.is-warning .bda-days-flag { background: rgba(245,193,74,.22); color: #ffe7a3; }
.bda-days-count.is-critical .bda-days-flag,
.bda-days-dock.is-critical .bda-days-flag { background: rgba(255,107,122,.22); color: #ffd0d4; }
.bda-last-day {
  text-align: center; border-radius: 16px; padding: 14px 12px; margin: 0 0 12px;
  border: 1px solid rgba(245,193,74,.55);
  background: linear-gradient(180deg, rgba(245,193,74,.18), rgba(255,255,255,.03));
}
.bda-last-day small {
  display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--bda-muted);
}
.bda-last-day b { display: block; font-size: 22px; letter-spacing: -.03em; margin: 4px 0; color: var(--bda-text); }
.bda-last-day em { display: block; font-style: normal; font-size: 12px; font-weight: 700; color: var(--bda-muted); }
.bda-last-day.is-warning { border-color: rgba(245,193,74,.7); }
.bda-last-day.is-critical { border-color: rgba(255,107,122,.7); background: linear-gradient(180deg, rgba(255,107,122,.16), rgba(255,255,255,.03)); }
.bda-rule-btn {
  appearance: none; width: 100%; min-height: 48px; margin: 0 0 12px; border-radius: 14px;
  border: 1px solid var(--bda-line); background: var(--bda-card); color: var(--bda-text);
  font-weight: 800; font-size: 14px; cursor: pointer;
}
.bda-rule-card .bda-row { margin: 0 0 12px; }
.bda-rule-card .bda-btn.full { margin-top: 8px; }
.bda-days-tabs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 14px;
  padding: 4px; border-radius: 16px; background: rgba(0,0,0,.28);
  box-shadow: inset 0 1px 3px rgba(0,0,0,.28);
}
.bda-days-tabs button {
  appearance: none; border: 0; min-height: 44px; border-radius: 13px;
  background: transparent; color: var(--bda-muted); font-weight: 800; font-size: 13px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.bda-days-tabs button i {
  width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .35;
}
.bda-days-tabs button.is-on {
  background: linear-gradient(180deg, rgba(255,255,255,.12), var(--bda-navy2));
  color: var(--bda-text);
  box-shadow: 0 8px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16);
}
.bda-days-tabs button.is-on i { background: var(--bda-mint); opacity: 1; box-shadow: 0 0 10px var(--bda-mint); }
.bda-days-tabs button[data-days-tab="plan"].is-on i { background: var(--bda-gold); box-shadow: 0 0 10px var(--bda-gold); }
.bda-plan-sheet { animation: bda-plan-in .32s var(--bda-ease); }
@keyframes bda-plan-in {
  from { transform: translateY(28px); opacity: 0; }
  to { transform: none; opacity: 1; }
}
.bda-plan-lead { margin: 0 0 10px; font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--bda-text); }
.bda-plan-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.bda-plan-card {
  text-align: center; border-radius: 16px; padding: 14px 12px; margin-bottom: 12px;
  border: 1px solid var(--bda-line); background: rgba(255,255,255,.04);
}
.bda-plan-card small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--bda-muted); }
.bda-plan-card b { display: block; font-size: 48px; line-height: .95; letter-spacing: -.05em; color: #7ec8ff; }
.bda-plan-card em { display: block; font-style: normal; font-size: 12px; font-weight: 800; color: var(--bda-muted); }
.bda-plan-card.is-warning b { color: #f5c14a; }
.bda-plan-card.is-critical b { color: #ff7a86; }
.bda-cal-pick { flex: 1; display: flex; gap: 6px; min-width: 0; }
.bda-cal-sel {
  appearance: none; flex: 1; min-width: 0; min-height: 40px; border-radius: 12px;
  border: 1px solid var(--bda-line); background: var(--bda-navy2); color: var(--bda-text);
  font-weight: 800; font-size: 13px; padding: 0 8px;
}
.bda-jump-today { display: block; margin: 0 0 8px; text-align: center; width: 100%; }
.bda-acc-line { margin: 8px 0 0; font-size: 12px; font-weight: 700; color: var(--bda-muted); }
.bda-toggle.is-hero { align-items: flex-start; padding: 8px 0 10px; }
.bda-toggle-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bda-toggle-copy small { display: block; font-size: 11px; font-weight: 700; color: var(--bda-muted); line-height: 1.35; }
.bda-toggle.is-hero .bda-swi { margin-top: 2px; width: 56px; height: 34px; }
.bda-toggle.is-hero .bda-swi::after { width: 28px; height: 28px; }
.bda-toggle.is-hero .bda-swi.is-on::after { transform: translateX(22px); }
.bda-days-dock .bda-cal { gap: 4px; }
.bda-days-dock .bda-day { min-height: 34px; border-radius: 10px; font-size: 13px; }
.bda-days-dock .bda-cal-legend { margin-top: 8px; }
.bda-days-auto { padding: 4px 4px 8px; margin-bottom: 10px; background: transparent; border: 0; }
.bda-days-auto .bda-toggle { padding: 4px 0 8px; border-bottom: 1px solid var(--bda-line); }
.bda-days-auto .bda-zone-chip { margin: 8px 0 0; }
.bda-days-cal { padding: 12px 12px 10px; }
.bda-days-act { margin-top: 8px; }
.bda-ring-wrap { display: flex; gap: 14px; align-items: center; }
.bda-ring-wrap.is-compact { gap: 12px; align-items: center; }
.bda-ring-wrap.is-compact .bda-ring,
.bda-ring-wrap.is-compact .bda-ring svg { width: 72px; height: 72px; }
.bda-ring-wrap.is-compact .bda-h { font-size: 26px; margin: 0; letter-spacing: -.03em; }
.bda-ring-wrap.is-compact .bda-sub { margin: 4px 0 0; font-size: 12px; line-height: 1.35; }
.bda-ring-wrap.is-compact .bda-kicker { margin-bottom: 2px; }
.bda-ring { width: 88px; height: 88px; position: relative; flex: 0 0 auto; }
.bda-ring svg { width: 88px; height: 88px; transform: rotate(-90deg); }
.bda-ring b {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 800; transform: none;
}
.bda-ring b small { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--bda-muted); font-weight: 800; }
.bda-bars { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.bda-bar { background: #0b1828; border-radius: 14px; padding: 10px; }
.bda-bar .n { font-size: 26px; font-weight: 800; }
.bda-bar .n.safe { color: var(--bda-ok); }
.bda-bar .n.warning { color: var(--bda-warn); }
.bda-bar .n.critical { color: var(--bda-bad); }
.bda-files { display: flex; flex-direction: column; gap: 8px; }
.bda-file-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--bda-navy2); border-radius: 12px; padding: 8px 10px; }
.bda-file-row a { color: var(--bda-mint); font-size: 13px; }
.bda-file { display: inline-flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.bda-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.bda-auth { max-width: 420px; margin: 28px auto; padding: 0 16px 48px; animation: bda-rise .4s ease; }
.bda-err { color: var(--bda-bad); font-size: 13px; margin: 0; }
.bda-toast {
  position: absolute; left: 50%; bottom: calc(var(--bda-nav) + 22px); transform: translateX(-50%) translateY(12px);
  background: #fff; color: #102033; padding: 10px 14px; border-radius: 999px; font-size: 13px; font-weight: 700;
  opacity: 0; transition: .2s; z-index: 80; pointer-events: none; box-shadow: var(--bda-shadow);
}
.bda-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.bda-alert {
  position: absolute; left: 12px; right: 12px;
  top: calc(10px + env(safe-area-inset-top, 0px) + 48px);
  z-index: 70; appearance: none; border: 0; text-align: left; cursor: pointer;
  background: #fff; color: #102033; border-radius: 18px; padding: 12px 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,.38);
  opacity: 0; pointer-events: none; transform: translate3d(0, -10px, 0);
  transition: opacity .28s cubic-bezier(.22,1,.36,1), transform .28s cubic-bezier(.22,1,.36,1);
}
.bda-alert.show { opacity: 1; pointer-events: auto; transform: none; }
.bda-alert.is-crit {
  background: #2a1218; color: #ffd6dc; border: 1px solid rgba(255,107,122,.55);
}
.bda-alert strong { display: block; font-size: 14px; letter-spacing: -.02em; }
.bda-alert span { display: block; font-size: 12px; margin-top: 4px; opacity: .88; font-weight: 600; }
.bda-perm { font-size: 12px; color: var(--bda-muted); margin: 0 0 10px; line-height: 1.4; }
.bda-card > [data-read-all] { margin-bottom: 10px; }
.bda-hint { color: var(--bda-muted); font-size: 12px; margin: 6px 0 0; line-height: 1.4; }
.bda-month { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 10px; gap: 8px; }
.bda-month button { background: #13263a; color: #fff; border: 0; border-radius: 14px; padding: 8px 12px; font-weight: 800; }
.bda-month-mid { text-align: center; flex: 1; }
.bda-month-mid strong { display: block; font-size: 16px; text-transform: capitalize; letter-spacing: -.02em; }
.bda-month-mid .bda-link { font-size: 12px; font-weight: 800; }
.bda-empty { color: var(--bda-muted); font-size: 13px; }
.bda-link { color: var(--bda-mint); background: none; border: 0; font: inherit; cursor: pointer; }
.bda-soon {
  border: 1px solid rgba(30, 200, 176, .32);
  background:
    linear-gradient(135deg, rgba(30,200,176,.12), transparent 42%),
    linear-gradient(180deg, #123038, #102033);
  border-radius: 22px; padding: 16px; margin-bottom: 10px;
}
.bda-soon.is-hero {
  padding: 18px 16px 16px;
  box-shadow: 0 16px 40px rgba(12,126,184,.18);
}
.bda-soon p { margin: 0 0 12px; color: var(--bda-muted); font-size: 13px; line-height: 1.45; }
.bda-badge { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .12em; color: var(--bda-mint); margin-bottom: 8px; text-transform: uppercase; }
.bda-soon strong { display: block; margin-bottom: 6px; font-size: 18px; letter-spacing: -.02em; }
.bda-soon-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.bda-soon-mini {
  text-align: left; appearance: none; cursor: pointer;
  border: 1px solid var(--bda-line); background: #102033; color: inherit;
  border-radius: 18px; padding: 12px 10px; min-height: 118px;
  transition: transform .15s ease, border-color .2s;
}
.bda-soon-mini:active { transform: scale(.98); }
.bda-soon-mini b { display: block; font-size: 13px; margin: 4px 0 4px; }
.bda-soon-mini span { display: block; font-size: 11px; color: var(--bda-muted); line-height: 1.35; }
.bda-metrics { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.bda-metric {
  appearance: none; width: 100%; text-align: left; color: inherit; cursor: pointer;
  background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 55%), var(--bda-card);
  border: 1px solid var(--bda-line); border-radius: 18px; padding: 12px 10px;
  box-shadow: var(--bda-lift);
}
.bda-metric:active { transform: none; }
.bda-metric b { display: block; font-size: 22px; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.bda-metric small { color: var(--bda-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bda-metric em { display: block; margin-top: 4px; color: var(--bda-muted); font-size: 11px; font-style: normal; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bda-metric.is-warning b { color: var(--bda-warn); }
.bda-metric.is-critical b, .bda-metric.is-overstay b { color: var(--bda-bad); }
.bda-metric.is-safe b { color: var(--bda-ok); }
.bda-rest-clock {
  font-size: 34px; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums;
  margin: 4px 0 10px;
}
.bda-inbox { display: flex; flex-direction: column; gap: 8px; }
.bda-note {
  appearance: none; border: 1px solid transparent; width: 100%; text-align: left;
  background: var(--bda-navy2); color: var(--bda-text); border-radius: 16px; padding: 10px 12px; font-size: 13px;
  cursor: pointer; display: flex; gap: 10px; align-items: flex-start;
}
.bda-note-av {
  width: 36px; height: 36px; border-radius: 12px; flex: 0 0 auto;
  display: grid; place-items: center; font-weight: 800; font-style: normal; font-size: 14px;
  background: rgba(30,200,176,.18); color: var(--bda-mint);
}
.bda-ask {
  position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center;
  padding: 16px; opacity: 0; pointer-events: none; transition: opacity .22s var(--bda-ease);
}
.bda-ask.is-on { opacity: 1; pointer-events: auto; }
.bda-ask-scrim { position: absolute; inset: 0; z-index: 0; border: 0; background: var(--bda-scrim); }
.bda-ask-card {
  position: relative; z-index: 2; width: min(100%, 400px);
  margin: 0;
  background: var(--bda-card); border: 1px solid var(--bda-line); border-radius: 20px;
  padding: 18px 16px 14px; box-shadow: var(--bda-shadow);
  transform: translateY(10px); transition: transform .22s var(--bda-ease);
  pointer-events: auto;
}
.bda-ask-card .bda-btn { min-height: 48px; flex: 1; pointer-events: auto; }
.bda-ask.is-on .bda-ask-card { transform: none; }
.bda-ask-card strong { display: block; font-size: 17px; letter-spacing: -.02em; margin-bottom: 6px; }
.bda-ask-card p {
  margin: 0 0 14px; color: var(--bda-muted); font-size: 13px; font-weight: 600; line-height: 1.45;
  max-height: min(46vh, 360px); overflow: auto; -webkit-overflow-scrolling: touch;
}
.bda-note.is-new { border-color: rgba(30,200,176,.5); box-shadow: inset 3px 0 0 var(--bda-mint); }
.bda-note.is-crit { border-color: rgba(255,107,122,.45); }
.bda-note time { display: block; color: var(--bda-muted); font-size: 11px; margin-top: 4px; }
.bda-check {
  display: flex; gap: 10px; align-items: flex-start; color: var(--bda-muted);
  font-size: 13px; font-weight: 700; line-height: 1.4; margin: 4px 0 10px;
}
.bda-check input {
  width: 20px; height: 20px; margin-top: 1px; flex: none; accent-color: var(--bda-mint);
}
body[data-bda-theme="light"] {
  --bda-bg: #f3efe6;
  --bda-navy: #f3efe6; --bda-navy2: #ece6d8; --bda-card: #fffcf6; --bda-line: rgba(48,36,16,.12);
  --bda-text: #1a140c; --bda-muted: #5c5346;
  --bda-mint: #0b7c6e; --bda-teal: #0b7c6e; --bda-primary: #1d5fd0;
  --bda-gold: #b8862a;
  --bda-ok: #0b7c6e;
  --bda-top: rgba(255,252,246,.94);
  --bda-sheet-bg: #fffcf6;
  --bda-res-bg: #f6f0e4;
  --bda-input-bg: #ffffff;
  --bda-nav-bg: rgba(255,252,246,.94);
  --bda-title-shadow: 0 1px 0 rgba(255,255,255,.8);
  --bda-shadow: 0 16px 32px rgba(48,32,8,.1);
  --bda-lift: 0 10px 22px rgba(48,32,8,.08);
  --bda-glow: 0 0 22px rgba(11,124,110,.16);
  --bda-on-mint: #ffffff;
  --bda-btn-fg: #ffffff;
}
body[data-bda-theme="light"] .bda-sw { background: #ffffff; color: #0c1a27; border-color: #b6c7d4; }
body[data-bda-theme="light"] .bda-idpill { background: #e4edf3; color: #2f4a5c; }
body[data-bda-theme="light"] .bda-st { background: #fff; }
body[data-bda-theme="light"] .bda-btn.ghost { background: #e4edf3; color: #0c1a27; }
body[data-bda-theme="light"] .bda-btn.danger { background: #fde8ea; color: #9b1c2a; }
body[data-bda-theme="light"] .bda-chip2 { border-color: #b6c7d4; }
body[data-bda-theme="light"] .bda-card { box-shadow: 0 8px 20px rgba(16,32,51,.08); }
body[data-bda-theme="light"] .bda-metric,
body[data-bda-theme="light"] .bda-soon,
body[data-bda-theme="light"] .bda-soon-mini,
body[data-bda-theme="light"] .bda-bar,
body[data-bda-theme="light"] .bda-day,
body[data-bda-theme="light"] .bda-month button {
  background: #fff; color: #0c1a27;
}
body[data-bda-theme="light"] .bda-day.is-on { background: var(--bda-mint); color: var(--bda-on-mint); }
body[data-bda-theme="light"] .bda-day.is-plan { background: #f5c14a; color: #2a1e00; }
body[data-bda-theme="light"] .bda-soon {
  background: linear-gradient(135deg, rgba(12,126,184,.1), #fff 46%);
  border-color: #b6c7d4;
}
body[data-bda-theme="light"] .bda-banner { background: #e8f6e0; border-color: #8fbf78; color: #1a3a16; }
body[data-bda-theme="light"] .bda-legal {
  background: #fff6df; border-color: #e0b84a; color: #3a2c08;
}
body[data-bda-theme="light"] .bda-fact {
  background: #fff; color: #0c1a27; border-color: #c5d3de;
}
body[data-bda-theme="light"] .bda-fact.is-hot {
  background: #fff6df; color: #6a4a00; border-color: #e0b84a;
}
body[data-bda-theme="light"] .bda-day.is-other { opacity: .5; }
body[data-bda-theme="light"] .bda-zone-chip { background: #fff; }
body[data-bda-theme="light"] .bda-day-pill { background: #fff; }
body[data-bda-theme="light"] .bda-over { color: #9b1c2a; }
body[data-bda-theme="light"] .bda-range-flag { background: #e8f1ff; color: #163a66; }
body[data-bda-theme="light"] .bda-cal-sel { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-days-tabs { background: rgba(16,32,51,.06); }
body[data-bda-theme="light"] .bda-days-tabs button.is-on { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-plan-card { background: #fff; }
body[data-bda-theme="light"] .bda-days-dock.is-safe,
body[data-bda-theme="light"] .bda-days-dock.is-eu {
  background: linear-gradient(180deg, #e4f7f2, #fff 48%);
  border-color: rgba(12,110,99,.4);
}
body[data-bda-theme="light"] .bda-days-dock.is-warning {
  background: linear-gradient(180deg, #fff4d6, #fff 48%);
}
body[data-bda-theme="light"] .bda-days-dock.is-critical {
  background: linear-gradient(180deg, #ffe4e6, #fff 48%);
}
body[data-bda-theme="light"] .bda-days-now > b { color: #0c6e63; }
body[data-bda-theme="light"] .bda-days-count.is-warning .bda-days-now > b { color: #8a5a00; }
body[data-bda-theme="light"] .bda-days-count.is-critical .bda-days-now > b { color: #9b1c2a; }
body[data-bda-theme="light"] .bda-days-flag { background: rgba(12,110,99,.14); color: #0a3d34; }
body[data-bda-theme="light"] .bda-days-count.is-warning .bda-days-flag,
body[data-bda-theme="light"] .bda-days-dock.is-warning .bda-days-flag { background: rgba(245,193,74,.32); color: #5c4300; }
body[data-bda-theme="light"] .bda-days-count.is-critical .bda-days-flag,
body[data-bda-theme="light"] .bda-days-dock.is-critical .bda-days-flag { background: rgba(255,107,122,.22); color: #7a1220; }
body[data-bda-theme="light"] .bda-asof { color: #3a4a58; }
body[data-bda-theme="light"] .bda-rule-btn { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-last-day { background: #fff8e6; color: #102033; }
body[data-bda-theme="light"] .bda-range-flag { color: #163a66; background: #e8f1ff; }
body[data-bda-theme="light"] .bda-more-days b { color: #0c6e63; }
body[data-bda-theme="light"] .bda-more-days.is-warning b { color: #8a5a00; }
body[data-bda-theme="light"] .bda-more-days.is-critical b { color: #9b1c2a; }
body[data-bda-theme="light"] .bda-now-days b { color: #0c6e63; }
body[data-bda-theme="light"] .bda-now-days.is-warning b { color: #8a5a00; }
body[data-bda-theme="light"] .bda-now-days.is-critical b { color: #9b1c2a; }
body[data-bda-theme="light"] .bda-now-days span { color: #0a3d34; }
body[data-bda-theme="light"] .bda-muted, body[data-bda-theme="light"] .bda-kicker { color: #4a5a68; }
body[data-bda-theme="light"] .bda-plan-lead { color: #102033; }
body[data-bda-theme="light"] .bda-asof-home { background: rgba(12,110,99,.12); color: #0a3d34; }
body[data-bda-theme="light"] .bda-filter-ico { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-kind-tile { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-spot-nav { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-hud-search .bda-input { color: #102033; }
body[data-bda-theme="light"] .bda-days-count small,
body[data-bda-theme="light"] .bda-days-count em { color: #4a5a68; }
body[data-bda-theme="light"] .bda-toast { background: #0c1a27; color: #f7fbff; }
body[data-bda-theme="light"] .bda-alert { background: #fff; color: #0c1a27; }
body[data-bda-theme="light"] .bda-map-fade {
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 22%);
}
@media (prefers-reduced-motion: reduce) {
  .bda-main, .bda-auth, .bda-spin, .bda-boot { animation: none; transition: none; }
}
@media (min-width: 720px) {
  .bda-root {
    max-width: 430px; margin: 16px auto; width: 100%;
    height: calc(100dvh - 32px); height: calc(100svh - 32px);
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 30px 80px rgba(0,0,0,.5);
  }
  html.bda-apk .bda-root {
    max-width: none; margin: 0; box-shadow: none; border: 0; border-radius: 0;
    height: 100dvh; height: 100svh;
  }
  .bda-main, .bda-top { max-width: none; }
  .bda-nav { max-width: none; left: 12px; right: 12px; transform: none; width: auto; }
}
.bda-busy { position: relative; }
.bda-busy::after {
  content: ""; position: absolute; inset: 0; background: rgba(7,17,31,.35);
  border-radius: inherit; pointer-events: none;
}

.bda-main.is-map { padding: 0; overflow: hidden; }
.bda-map-stage { position: relative; height: 100%; min-height: 100%; isolation: isolate; }
.bda-map-full { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.bda-map-full .leaflet-container {
  width: 100% !important; height: 100% !important; background: #d9e4ea; z-index: 1;
}
.bda-map-full .leaflet-tile-pane { filter: none; }
.bda-map-stage.is-night .leaflet-container { background: #06202a; }
.bda-map-stage.is-night .leaflet-tile-pane {
  filter: invert(1) hue-rotate(180deg) brightness(.95) contrast(.92) saturate(.65);
}
.bda-map-stage.is-sat .leaflet-container { background: #0e1a14; }
body[data-bda-theme="light"] .bda-map-full .leaflet-container { background: #d5e4ea; }
.bda-map-fade { display: none; }
.bda-panel, .bda-glass {
  background: var(--bda-sheet-bg);
  border: 1px solid var(--bda-line);
  box-shadow: var(--bda-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bda-map-hud {
  position: absolute; top: calc(10px + env(safe-area-inset-top, 0px)); left: 10px; right: 10px; z-index: 20;
  display: flex; flex-direction: column; gap: 8px;
  pointer-events: none;
}
.bda-map-hud > * { pointer-events: auto; }
.bda-hud-search {
  display: flex; align-items: center; gap: 8px;
  padding: 6px; border-radius: 16px;
}
.bda-hud-search .bda-input {
  flex: 1; min-width: 0; min-height: 44px; border: 0;
  font-size: 15px; font-weight: 700; padding: 0 8px;
  color: var(--bda-text);
}
.bda-filter-ico {
  appearance: none; flex: 0 0 auto; min-height: 40px; padding: 0 12px; border-radius: 12px;
  border: 1px solid var(--bda-line); background: var(--bda-navy2); color: var(--bda-text);
  font-size: 13px; font-weight: 800; cursor: pointer;
}
.bda-filter-ico.is-open { background: var(--bda-mint); color: var(--bda-on-mint); border-color: var(--bda-mint); }
.bda-map-hud .bda-smart {
  margin: 0; padding: 6px 6px 6px 12px; border-radius: 999px;
  display: flex; flex-direction: column; gap: 0; align-items: stretch;
}
.bda-smart-row { display: flex; gap: 4px; align-items: center; }
.bda-smart-row .bda-input {
  flex: 1; min-width: 0; padding: 10px 8px; min-height: 40px;
  border: 0; background: transparent; font-size: 15px;
}
.bda-kind-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px;
}
.bda-kind-tile {
  appearance: none; border: 1px solid var(--bda-line);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-height: 64px; padding: 8px 6px; border-radius: 14px;
  background: var(--bda-navy2); color: var(--bda-text);
  font-size: 12px; font-weight: 800; cursor: pointer;
}
.bda-kind-tile i { font-style: normal; font-size: 18px; }
.bda-kind-tile.is-on { background: var(--bda-mint); color: var(--bda-on-mint); border-color: var(--bda-mint); }
.bda-map-styles { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.bda-map-styles .bda-chip2 { width: 100%; justify-content: center; }
.bda-kind-pills {
  display: flex; gap: 6px; overflow-x: auto; padding: 2px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.bda-kind-pills::-webkit-scrollbar { display: none; }
.bda-kind-pill {
  flex: 0 0 auto; appearance: none; border: 1px solid var(--bda-line);
  display: flex; align-items: center; gap: 6px;
  min-height: 38px; padding: 0 12px 0 10px; border-radius: 999px;
  background: var(--bda-sheet-bg); color: var(--bda-text);
  font-size: 13px; font-weight: 800; cursor: pointer;
  box-shadow: var(--bda-shadow);
}
.bda-kind-pill i { font-style: normal; font-size: 14px; }
.bda-kind-pill.is-on { background: var(--bda-mint); color: var(--bda-on-mint); border-color: var(--bda-mint); }
.bda-map-lab {
  margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--bda-muted);
}
.bda-kind-row {
  display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.bda-kind-row::-webkit-scrollbar { display: none; }
.bda-kind-row .bda-chip2 { flex: 0 0 auto; }
.bda-icon-btn {
  appearance: none; border: 0; background: transparent; color: var(--bda-muted);
  width: 36px; height: 36px; border-radius: 12px; font-size: 18px; font-weight: 700; cursor: pointer;
}
.bda-icon-btn[hidden] { display: none; }
.bda-here {
  appearance: none; border: 0; align-self: center;
  padding: 9px 16px; border-radius: 999px; font-weight: 800; font-size: 13px;
  color: var(--bda-text); cursor: pointer;
}
.bda-here[hidden] { display: none; }
.bda-map-tools {
  position: absolute; right: 12px; z-index: 22;
  display: flex; flex-direction: column;
  bottom: calc(var(--bda-nav) + var(--bda-safe) + 148px);
  overflow: hidden; border-radius: 14px;
  border: 1px solid var(--bda-line);
  background: var(--bda-sheet-bg);
  box-shadow: var(--bda-shadow);
}
.bda-tool {
  appearance: none; border: 0; width: 46px; height: 46px; border-radius: 0;
  background: transparent; color: var(--bda-text);
  font-size: 20px; font-weight: 800; line-height: 1; cursor: pointer;
}
.bda-tool.is-loc { font-size: 16px; background: var(--bda-mint); color: var(--bda-on-mint); }
.bda-empty-box {
  text-align: center; padding: 18px 12px 8px; color: var(--bda-muted);
}
.bda-empty-box b { display: block; color: var(--bda-text); font-size: 14px; margin-bottom: 6px; }
.bda-empty-box span { font-size: 12px; font-weight: 600; }
.bda-hud-row { display: flex; gap: 8px; align-items: stretch; }
.bda-filter-btn {
  flex: 0 0 auto; appearance: none; border: 1px solid var(--bda-line); border-radius: 14px; padding: 7px 10px;
  display: flex; align-items: center; gap: 8px; min-width: 118px; cursor: pointer;
  color: var(--bda-text); background: var(--bda-card);
}
.bda-filter-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #7af0c8; box-shadow: 0 0 0 4px rgba(122,240,200,.28);
  flex: 0 0 auto;
}
.bda-filter-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.bda-filter-copy em {
  font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.78);
}
.bda-filter-copy strong { font-size: 14px; letter-spacing: -.02em; }
.bda-filter-chev { margin-left: auto; font-size: 12px; opacity: .85; transition: transform .22s ease; }
.bda-filter-btn.is-open { background: var(--bda-mint); color: var(--bda-on-mint); }
.bda-filter-btn.is-open .bda-filter-chev { transform: rotate(180deg); }
.bda-filter-btn:active { transform: none; }
.bda-rad {
  display: flex; align-items: center; gap: 10px;
  padding: 4px 2px 2px;
}
.bda-rad span { flex: 0 0 auto; min-width: 44px; font-size: 12px; font-weight: 800; color: var(--bda-mint); }
.bda-rad input[type="range"] {
  flex: 1; min-width: 0; accent-color: #1ec8b0; height: 28px; margin: 0;
}
.bda-rad.is-plan { flex-direction: column; align-items: stretch; gap: 6px; margin-bottom: 10px; }
.bda-rad.is-plan span { min-width: 0; color: var(--bda-text); font-size: 13px; }
.bda-filters {
  display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 18px;
  max-height: min(62vh, 420px); overflow-y: auto; -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.bda-filters .bda-chip2 { width: auto; justify-content: center; padding: 9px 12px; }
.bda-filters[hidden] { display: none !important; animation: none; }
@keyframes bda-drop {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
.bda-map-hud .bda-input {
  background: var(--bda-input-bg); border-color: var(--bda-line);
}
.bda-map-hud .bda-hits {
  max-height: min(42vh, 280px); overflow: auto; margin: 0; padding: 6px;
  border-radius: 16px;
}
.bda-map-hud .bda-hits[hidden] { display: none !important; }
.bda-map-hud .bda-hits li {
  background: var(--bda-sheet-bg); min-height: 56px;
  display: flex; flex-direction: column; justify-content: center;
}
.bda-sheet {
  position: absolute; left: 10px; right: 10px;
  bottom: calc(var(--bda-nav) + 10px + var(--bda-safe)); z-index: 21;
  display: flex; flex-direction: column;
  height: auto; min-height: 0; max-height: none;
  overflow: visible; border-radius: 18px; padding: 10px 10px 10px;
  background: var(--bda-sheet-bg);
  border: 1px solid var(--bda-line);
  box-shadow: var(--bda-shadow);
  pointer-events: auto;
}
.bda-sheet.is-card, .bda-sheet.is-closed, .bda-sheet.is-open, .bda-sheet.is-peek, .bda-sheet.is-mid, .bda-sheet.is-tall {
  height: auto; max-height: none; min-height: 0;
}
.bda-spot {
  display: grid; grid-template-columns: 36px 36px minmax(0, 1fr) auto 36px;
  gap: 8px; align-items: center;
}
.bda-spot.is-empty, .bda-spot.is-load { grid-template-columns: 1fr auto; min-height: 56px; }
.bda-spot-copy { min-width: 0; }
.bda-spot-copy small {
  display: block; font-size: 10px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--bda-muted);
}
.bda-spot-copy b { display: block; font-size: 15px; letter-spacing: -.02em; }
.bda-spot-copy em {
  display: block; font-style: normal; font-size: 12px; font-weight: 600;
  color: var(--bda-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bda-spot-nav {
  appearance: none; border: 1px solid var(--bda-line); background: var(--bda-navy2);
  color: var(--bda-text); width: 36px; height: 36px; border-radius: 12px;
  font-size: 20px; font-weight: 700; cursor: pointer;
}
.bda-spot-nav:disabled { opacity: .35; }
.bda-spot .go {
  appearance: none; border: 0; background: var(--bda-mint); color: var(--bda-on-mint);
  min-height: 36px; padding: 0 12px; border-radius: 12px; font-weight: 800; font-size: 13px; cursor: pointer;
}
.bda-sheet-tools {
  flex: 0 0 auto; display: flex; flex-direction: column; gap: 4px;
  padding: 0 2px 4px;
}
.bda-sheet.is-closed .bda-sheet-list { display: none; }
.bda-sheet.is-drag { transition: none; }
.bda-sheet-list {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  touch-action: pan-y; padding-bottom: 4px;
}
.bda-sheet::-webkit-scrollbar, .bda-sheet-list::-webkit-scrollbar { width: 0; height: 0; }
.bda-sheet.is-ready { animation: none; transform: none; opacity: 1; }
.bda-sheet.is-ready .bda-res { animation: none; }
@keyframes bda-sheet {
  to { transform: translate3d(0,0,0); opacity: 1; }
}
.bda-sheet-handle {
  appearance: none; border: 0; display: block; width: 100%; height: 22px;
  margin: 0; padding: 0; cursor: grab; touch-action: none; background: transparent;
  flex: 0 0 auto;
}
.bda-sheet-handle::after {
  content: ""; display: block; width: 42px; height: 5px; border-radius: 99px;
  margin: 6px auto 0; background: rgba(255,255,255,.4);
}
body[data-bda-theme="light"] .bda-sheet-handle::after { background: rgba(12, 36, 48, .22); }
.bda-sheet-head {
  appearance: none; border: 0; width: 100%; text-align: left;
  background: transparent; color: inherit; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 2px 4px; flex: 0 0 auto; gap: 10px;
}
.bda-sheet-head strong { display: block; font-size: 16px; letter-spacing: -.02em; }
.bda-sheet-head em {
  display: block; font-style: normal; font-size: 12px; font-weight: 700;
  color: var(--bda-muted); margin-top: 2px;
}
.bda-sheet-head small {
  min-width: 26px; height: 22px; padding: 0 8px; border-radius: 99px;
  display: grid; place-items: center; font-weight: 800; font-size: 12px;
  background: rgba(12,126,184,.18); color: var(--bda-mint);
}
.bda-res {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; align-items: center;
  padding: 8px; border-radius: 12px; margin-bottom: 6px;
  background: var(--bda-res-bg);
  border: 1px solid var(--bda-line);
  cursor: pointer;
  color: var(--bda-text);
  animation: none;
}
.bda-res-txt { min-width: 0; }
.bda-res-act {
  display: flex; flex-direction: column; align-items: flex-end; gap: 4px;
}
.bda-res-meta { display: none; }
.bda-sheet-km {
  flex: 0 0 auto; font-size: 12px; font-weight: 800;
  padding: 4px 8px; border-radius: 999px;
  background: var(--bda-mint); color: var(--bda-on-mint);
}
.bda-poi-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.bda-poi-chips span {
  font-size: 10px; font-weight: 800; letter-spacing: .01em;
  padding: 3px 7px; border-radius: 999px; line-height: 1.2;
  background: rgba(122,240,200,.14); color: var(--bda-mint);
  border: 1px solid rgba(122,240,200,.28);
}
.bda-call {
  font-size: 11px; font-weight: 800; color: var(--bda-mint);
  text-decoration: none; padding: 3px 2px; letter-spacing: .02em;
}
.bda-phone { font-size: 12px; font-weight: 700; margin-top: 5px; opacity: .92; }
.bda-km {
  font-size: 12px; font-weight: 800; color: var(--bda-on-mint);
  background: var(--bda-mint);
  border-radius: 999px; padding: 4px 8px; letter-spacing: -.02em;
}
.bda-res-kind {
  display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--bda-muted); margin-bottom: 2px;
}
.bda-res.is-cam { border-color: rgba(255,80,70,.45); }
.bda-res:active { transform: scale(.985); }
@keyframes bda-card {
  from { opacity: 0; transform: translate3d(0, 16px, 0); }
  to { opacity: 1; transform: none; }
}
.bda-res.is-on {
  border-color: var(--bda-mint);
  background: var(--bda-res-bg);
}
.bda-ico {
  width: 40px; height: 40px; border-radius: 12px; flex: 0 0 auto;
  display: grid; place-items: center; font-size: 18px; font-weight: 800; color: #04241e;
}
.bda-ico.fuel { background: linear-gradient(160deg, #7af0c8, #0c7eb8); }
.bda-ico.parking { background: linear-gradient(160deg, #9ecbff, #3a6dff); }
.bda-ico.service { background: linear-gradient(160deg, #ffd27a, #e0892a); }
.bda-ico.food { background: linear-gradient(160deg, #ffb4a2, #e25555); }
.bda-ico.cafe { background: linear-gradient(160deg, #e7c6a0, #9a6b3a); }
.bda-ico.border { background: linear-gradient(160deg, #d4c4ff, #6b5cff); }
.bda-ico.wash { background: linear-gradient(160deg, #b4f0ff, #2a9ad6); }
.bda-ico.weigh { background: linear-gradient(160deg, #e8e8e8, #8a8a8a); }
.bda-ico.camera { background: linear-gradient(160deg, #ff6b6b, #c41e3a); color: #fff; }
.bda-ico.camera b { font-size: 13px; letter-spacing: -.03em; }
.bda-pin-wrap { background: transparent !important; border: 0 !important; }
.bda-pin {
  width: 32px; height: 32px; border-radius: 12px; display: grid; place-items: center;
  font-size: 13px; font-weight: 800; color: #04241e;
  box-shadow: 0 6px 16px rgba(0,0,0,.35); border: 2px solid #fff;
}
.bda-pin.camera { background: #e11d2e; color: #fff; border-radius: 10px; font-size: 11px; }
.bda-pin.is-on { transform: scale(1.12); box-shadow: 0 0 0 3px rgba(30,200,176,.45); }
.bda-pin.fuel { background: linear-gradient(160deg, #7af0c8, #0d8a9a); }
.bda-pin.parking { background: linear-gradient(160deg, #9ecbff, #3a6dff); }
.bda-pin.service { background: #ffd27a; }
.bda-pin.food { background: #ffb4a2; }
.bda-pin.cafe { background: #e7c6a0; }
.bda-pin.border { background: #d4c4ff; }
.bda-pin.wash { background: #b4f0ff; }
.bda-pin.weigh { background: #ddd; }
.bda-res b { display: block; font-size: 15px; letter-spacing: -.02em; }
.bda-res em { display: block; font-size: 12px; color: var(--bda-muted); font-style: normal; margin-top: 3px; font-weight: 600; line-height: 1.35; word-break: break-word; }
.bda-res .go {
  border: 0; border-radius: 999px; padding: 7px 12px;
  background: var(--bda-teal); color: #fff; font-weight: 800; font-size: 12px;
}
.bda-toggle {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 0; border-bottom: 1px solid var(--bda-line); gap: 12px;
}
.bda-toggle:last-child { border-bottom: 0; }
.bda-swi {
  width: 48px; height: 30px; border-radius: 99px; border: 0; background: #243040;
  position: relative; flex: 0 0 auto; cursor: pointer;
}
.bda-swi::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px;
  border-radius: 50%; background: #fff; transition: transform .22s cubic-bezier(.22,1,.36,1);
}
.bda-swi.is-on { background: var(--bda-mint); }
.bda-swi.is-on::after { transform: translateX(18px); }
@media (prefers-reduced-motion: reduce) {
  .bda-sheet, .bda-res, .bda-boot-mark, .bda-boot-bar i, .bda-main > .bda-card { animation: none; }
  .bda-boot-bar i { width: 100%; }
}
.bda-root.is-map-tab .bda-top { display: none; }
.bda-root.is-map-tab .bda-main { padding-top: 0; }
body[data-bda-theme="light"] .bda-sheet-handle::after { background: rgba(16,32,51,.28); }
body[data-bda-theme="light"] .bda-map-hud .bda-input { background: #fff; color: #121820; }
body[data-bda-theme="light"] .bda-tool { background: rgba(255,255,255,.92); color: #102033; }
body[data-bda-theme="light"] .bda-tool.is-loc { background: var(--bda-mint); color: var(--bda-on-mint); }
body[data-bda-theme="light"] .bda-res.is-on {
  background: linear-gradient(105deg, rgba(12,126,184,.12), rgba(30,200,176,.08));
}
body[data-bda-theme="light"] .bda-poi-chips span {
  background: rgba(12,126,184,.1); color: #0a5a6e; border-color: rgba(12,126,184,.22);
}
body[data-bda-theme="light"] .bda-call { color: #0a5a6e; }
.bda-root.is-map-tab .bda-main { padding: 0; }
.bda-hits[hidden] { display: none !important; }
.bda-fab {
  position: absolute; right: 14px; z-index: 22;
  bottom: calc(var(--bda-nav) + var(--bda-safe) + 132px);
  width: 46px; height: 46px; border-radius: 50%; border: 0;
  background: rgba(255,255,255,.92); color: #07111f; font-weight: 800; font-size: 16px;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}
.bda-skel {
  height: 56px; border-radius: 18px; margin-bottom: 6px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.12), rgba(255,255,255,.04));
  background-size: 200% 100%;
  animation: bda-shimmer 1.1s ease infinite;
}
@keyframes bda-shimmer { to { background-position: -200% 0; } }
.bda-nav button { position: relative; transition: color .2s ease; }
.bda-chip2 { transition: transform .15s ease, background .2s, border-color .2s; }
.bda-chip2:active { transform: scale(.96); }
html.bda-apk .bda-glass, html.bda-apk .bda-nav {
  backdrop-filter: blur(18px) saturate(1.25);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
}
#bda-map-hold { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.bda-main.is-in:not(.is-map) { animation: bda-slide .34s cubic-bezier(.22,1,.36,1); }
@keyframes bda-slide {
  from { opacity: 0; transform: translate3d(0, 12px, 0); }
  to { opacity: 1; transform: none; }
}
.bda-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bda-seg .bda-chip2 { width: 100%; justify-content: center; text-align: center; }
.bda-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body[data-bda-theme="light"] .bda-chip2 { background: #fff; color: #102033; }
body[data-bda-theme="light"] .bda-file-row { background: #eef4f8; }
body[data-bda-theme="light"] .bda-sw { background: #fff; }
@media (prefers-reduced-motion: reduce) {
  .bda-filter-btn, .bda-main.is-in, .bda-filters, .bda-more-panel, .bda-more-scrim, .bda-plan-sheet { animation: none; transition: none; }
}
.bda-more {
  position: absolute;
  top: calc(8px + env(safe-area-inset-top, 0px));
  left: 10px; right: 10px;
  bottom: calc(var(--bda-nav) + var(--bda-safe) + 12px);
  z-index: 35;
  pointer-events: none;
  visibility: hidden;
}
.bda-more.is-on, .bda-more.is-out { pointer-events: auto; visibility: visible; }
.bda-more.is-out { pointer-events: none; }
.bda-more.is-out .bda-more-scrim { opacity: 0; }
.bda-more.is-out .bda-more-panel { transform: translate3d(28px, 10px, 0) scale(.96); opacity: 0; }
.bda-more-scrim {
  appearance: none; border: 0; padding: 0; margin: 0;
  position: absolute; inset: -12px;
  background: rgba(2, 8, 16, .52);
  opacity: 0;
  border-radius: 18px;
  transition: opacity .32s ease;
}
.bda-more.is-on .bda-more-scrim { opacity: 1; }
.bda-more-panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(380px, 100%);
  display: flex; flex-direction: column;
  background:
    linear-gradient(180deg, rgba(62,224,196,.1), transparent 18%),
    var(--bda-navy2);
  border: 1px solid var(--bda-line);
  border-radius: 22px;
  box-shadow: var(--bda-shadow), var(--bda-glow);
  transform: translate3d(28px, 12px, 0) scale(.96);
  opacity: 0;
  transition: transform .42s cubic-bezier(.22, 1, .36, 1), opacity .32s ease;
}
.bda-more.is-on .bda-more-panel { transform: none; opacity: 1; }
.bda-more-bar {
  display: grid; grid-template-columns: 56px 1fr 56px;
  align-items: center; gap: 8px;
  padding: 10px 8px;
  border-bottom: 1px solid var(--bda-line);
  flex: 0 0 auto;
}
.bda-more-bar strong {
  text-align: center; font-size: 16px; letter-spacing: -.02em;
}
.bda-more-nav {
  appearance: none; border: 0; background: transparent;
  color: var(--bda-mint); font-weight: 800; font-size: 13px;
  min-height: 36px; text-align: left; padding: 0 4px;
}
.bda-more-nav.is-x {
  color: var(--bda-muted); font-size: 16px; text-align: right; padding-right: 8px;
}
.bda-more-nav[hidden] { visibility: hidden; }
.bda-more-body {
  flex: 1; overflow: auto; -webkit-overflow-scrolling: touch;
  padding: 12px 12px 20px;
}
.bda-more-group {
  background: var(--bda-card);
  border: 1px solid var(--bda-line);
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 12px;
}
.bda-more-row {
  appearance: none; border: 0; width: 100%;
  display: flex; align-items: center; gap: 12px;
  background: transparent; color: inherit;
  text-align: left; padding: 13px 12px;
  min-height: 58px; cursor: pointer;
  border-bottom: 1px solid var(--bda-line);
}
.bda-more-row:last-child { border-bottom: 0; }
.bda-more-row:active { background: rgba(255,255,255,.04); }
.bda-more-row.is-on { background: rgba(30,200,176,.1); }
.bda-more-row.is-danger { color: #ffb4b4; }
.bda-more-ico {
  width: 36px; height: 36px; border-radius: 12px; flex: 0 0 auto;
  display: grid; place-items: center;
  background: rgba(30,200,176,.12); color: var(--bda-mint);
}
.bda-more-ico svg { width: 18px; height: 18px; }
.bda-more-copy { flex: 1; min-width: 0; }
.bda-more-copy b { display: block; font-size: 15px; letter-spacing: -.02em; }
.bda-more-copy small {
  display: block; margin-top: 2px; color: var(--bda-muted);
  font-size: 12px; font-weight: 600; line-height: 1.35;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bda-more-chev { color: var(--bda-muted); font-size: 22px; font-weight: 500; line-height: 1; }
.bda-more-badge {
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px;
  background: var(--bda-bad); color: #fff; font-size: 11px; font-style: normal;
  font-weight: 800; line-height: 20px; text-align: center;
}
.bda-more-code {
  width: 36px; height: 36px; border-radius: 12px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.06); font-size: 11px; font-weight: 800;
}
.bda-more-tick { color: var(--bda-mint); font-weight: 800; }
.bda-more-foot {
  margin: 8px 4px 0; text-align: center;
  color: var(--bda-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em;
}
.bda-more-toggles .bda-toggle { padding: 14px 14px; }
.bda-more-body .bda-soon { margin-bottom: 10px; }
.bda-more-body .bda-soon.is-hero { padding: 14px; }
.bda-more-body .bda-soon-mini { min-height: 108px; }
.bda-more-body .bda-perm { margin: 0 2px 12px; }
.bda-more-body > .bda-btn { margin-bottom: 10px; }
body[data-bda-theme="light"] .bda-more-scrim { background: rgba(12, 26, 39, .28); }
body[data-bda-theme="light"] .bda-more-panel {
  background: linear-gradient(180deg, #f4f8fb, #eaf0f4);
  box-shadow: -20px 0 40px rgba(16,32,51,.16);
}
body[data-bda-theme="light"] .bda-more-row:active { background: rgba(12,126,184,.06); }
body[data-bda-theme="light"] .bda-more-code { background: #e4edf3; }
body[data-bda-theme="light"] .bda-more-row.is-danger { color: #9b1c2a; }
body[data-bda-theme="light"] {
  --bda-bg: #f4f7fb;
  --bda-navy: #e8eef6;
  --bda-navy2: #ffffff;
  --bda-card: #ffffff;
  --bda-elev: #ffffff;
  --bda-line: rgba(20, 36, 59, .1);
  --bda-text: #14243b;
  --bda-muted: #64748b;
  --bda-teal: #1769e0;
  --bda-mint: #138a75;
  --bda-primary: #1769e0;
  --bda-ok: #138a75;
  --bda-warn: #b97713;
  --bda-bad: #c63d4f;
  --bda-shadow: 0 14px 32px rgba(20, 36, 59, .1);
  --bda-top: rgba(244, 247, 251, .94);
  --bda-sheet-bg: rgba(255, 255, 255, .97);
  --bda-res-bg: #ffffff;
  --bda-input-bg: #ffffff;
  --bda-nav-bg: rgba(255, 255, 255, .94);
  --bda-lift: inset 0 1px 0 rgba(255,255,255,.9);
  --bda-btn-fg: #ffffff;
  --bda-scrim: rgba(20, 36, 59, .32);
  background: var(--bda-bg);
}
body[data-bda-theme="light"].bda-body { background: var(--bda-bg); }
body[data-bda-theme="light"] .bda-btn,
body[data-bda-theme="light"] .bda-file {
  background: linear-gradient(180deg, #2f7ef0, var(--bda-primary));
  color: #fff;
  box-shadow: 0 8px 18px rgba(23, 105, 224, .28), inset 0 1px 0 rgba(255,255,255,.25);
}
body[data-bda-theme="light"] .bda-btn.ghost {
  background: #eef3f9; color: var(--bda-text);
}
body[data-bda-theme="light"] .bda-nav button.is-on { color: var(--bda-primary); }
body[data-bda-theme="light"] .bda-nav button.is-on .bda-nav-ico {
  background: rgba(23, 105, 224, .12);
  box-shadow: none;
}
body[data-bda-theme="light"] .bda-kicker { color: var(--bda-primary); }
body[data-bda-theme="light"] .bda-input,
body[data-bda-theme="light"] .bda-select,
body[data-bda-theme="light"] select.bda-input {
  background: #fff; color: #14243b; border-color: rgba(20,36,59,.14);
}
body[data-bda-theme="light"] .bda-glass {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,247,251,.88));
}
.bda-month button {
  background: var(--bda-navy2); color: var(--bda-text); border: 1px solid var(--bda-line);
  box-shadow: var(--bda-lift);
}
.bda-toast {
  backdrop-filter: blur(16px);
  letter-spacing: -.01em;
}
.bda-glass {
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(8,20,34,.45));
}
.leaflet-control-zoom a {
  width: 36px !important; height: 36px !important; line-height: 36px !important;
  background: var(--bda-nav-bg) !important; color: var(--bda-text) !important;
  border: 0 !important; font-weight: 800 !important;
}
.leaflet-control-zoom {
  border: 1px solid var(--bda-line) !important; border-radius: 14px !important;
  overflow: hidden; box-shadow: var(--bda-shadow) !important;
}
.leaflet-control-attribution {
  background: rgba(7,17,31,.45) !important; color: var(--bda-muted) !important;
  font-size: 9px !important; max-width: 46vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.leaflet-control-attribution a { color: var(--bda-mint) !important; }
.bda-chip2.is-on { box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.bda-id { font-variant-numeric: tabular-nums; letter-spacing: .08em; }
::selection { background: rgba(42, 212, 188, .28); color: var(--bda-text); }
.bda-more-panel { backdrop-filter: blur(28px) saturate(1.2); -webkit-backdrop-filter: blur(28px) saturate(1.2); }
.bda-bar { background: var(--bda-navy2); box-shadow: var(--bda-lift); }
.bda-swi { background: #1c2c3c; box-shadow: inset 0 1px 3px rgba(0,0,0,.35); }
.bda-auth {
  background:
    radial-gradient(80% 50% at 80% -10%, rgba(42,212,188,.12), transparent 50%),
    radial-gradient(70% 40% at 10% 110%, rgba(13,134,194,.16), transparent 46%);
  border-radius: 24px;
  padding: 8px 16px 48px;
}
.bda-main.is-days, .bda-main.is-acc {
  padding-bottom: calc(var(--bda-nav) + var(--bda-safe) + 88px);
}
.bda-acc-hero {
  display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px;
}
.bda-acc-hero .bda-h { font-size: 24px; margin-bottom: 2px; }
.bda-acc-hero .bda-sub { margin-bottom: 8px; }
.bda-acc-hero small { color: var(--bda-muted); font-size: 11px; font-weight: 700; }
.bda-avatar {
  position: relative; width: 72px; height: 72px; border-radius: 24px; flex: 0 0 auto;
  overflow: hidden; display: grid; place-items: center;
  background: linear-gradient(160deg, #7af0c8, #0c7eb8); color: #04241e;
  font-size: 22px; font-weight: 800; cursor: pointer;
  box-shadow: 0 12px 28px rgba(12,126,184,.32);
}
.bda-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bda-avatar input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.bda-acc-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.bda-acc-meta .bda-id { font-size: 15px; }
.bda-acc-meta .bda-btn { padding: 8px 12px; font-size: 12px; }
.bda-acc-bar {
  height: 6px; border-radius: 99px; background: rgba(255,255,255,.08); overflow: hidden; margin: 8px 0 4px;
}
.bda-acc-bar i {
  display: block; height: 100%; border-radius: 99px;
  background: linear-gradient(90deg, #1ec8b0, #0c7eb8);
}
.bda-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.bda-doc {
  position: relative; border-radius: 16px; border: 1px solid var(--bda-line);
  background: var(--bda-navy2); min-height: 88px; padding: 12px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 8px;
}
.bda-doc.is-on { border-color: rgba(42,212,188,.4); background: rgba(42,212,188,.08); }
.bda-doc-up { display: block; cursor: pointer; min-width: 0; }
.bda-doc-up input { position: absolute; width: 0; height: 0; opacity: 0; }
.bda-doc-up b { display: block; font-size: 14px; letter-spacing: -.02em; }
.bda-doc-up small {
  display: block; margin-top: 4px; color: var(--bda-muted); font-size: 11px; font-weight: 700;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bda-doc-act { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bda-doc-x {
  appearance: none; border: 0; background: rgba(255,107,122,.14); color: #ffb4b4;
  width: 28px; height: 28px; border-radius: 9px; font-weight: 800; cursor: pointer;
}
.bda-savebar { margin: 4px 0 14px; }
.bda-card .bda-toggle { padding: 12px 0 0; }
body[data-bda-theme="light"] .bda-doc { background: #fff; }
body[data-bda-theme="light"] .bda-acc-bar { background: #d7e3ec; }
body[data-bda-theme="light"] .bda-tool.is-loc { background: var(--bda-mint); color: var(--bda-on-mint); }

.bda-now { display: grid; grid-template-columns: 1fr 1.1fr; gap: 8px; margin-bottom: 12px; }
.bda-now-days {
  appearance: none; border: 1px solid var(--bda-line); border-radius: 18px;
  background: var(--bda-card); color: inherit; text-align: center; padding: 12px 10px; cursor: pointer;
}
.bda-now-days small { display: block; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--bda-muted); }
.bda-now-days b { display: block; font-size: 42px; line-height: .9; letter-spacing: -.06em; color: var(--bda-mint); }
.bda-now-days em { display: block; font-style: normal; font-size: 12px; font-weight: 800; color: var(--bda-muted); margin-top: 4px; }
.bda-now-days span { display: block; margin-top: 6px; font-size: 11px; font-weight: 800; color: #cfe4ff; }
.bda-now-days.is-warning b { color: #f5c14a; }
.bda-now-days.is-critical b { color: #ff7a86; }
.bda-lane.is-now { margin: 0; min-height: 0; display: flex; flex-direction: column; align-items: flex-start; }
.bda-lane.is-now .bda-btn { margin-top: auto; }
.bda-firm-strip {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; text-align: left; cursor: pointer; color: inherit;
}
.bda-firm-strip strong { display: block; font-size: 15px; }
.bda-firm-strip em { display: block; font-style: normal; color: var(--bda-muted); font-size: 12px; font-weight: 700; margin-top: 2px; }
.bda-firm-strip span { color: var(--bda-muted); font-size: 22px; }
.bda-dispo strong { display: block; font-size: 18px; margin: 2px 0 4px; }
.bda-dispo em { display: block; font-style: normal; color: var(--bda-muted); font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.bda-dispo.is-on { border-color: rgba(47,212,181,.45); }
.bda-dispo.is-off { border-color: rgba(245,193,74,.35); }
.bda-more-hero {
  padding: 4px 4px 14px;
}
.bda-more-hero strong { display: block; font-size: 20px; letter-spacing: -.03em; }
.bda-more-hero small { display: block; margin-top: 2px; color: var(--bda-muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.bda-more-hero em { display: block; margin-top: 8px; font-style: normal; font-size: 13px; font-weight: 800; color: var(--bda-muted); }
.bda-more-hero em.is-on { color: var(--bda-mint); }
.bda-more-days {
  appearance: none; width: 100%; border: 1px solid var(--bda-line); border-radius: 16px;
  background: var(--bda-card); color: inherit; display: flex; align-items: baseline; gap: 10px;
  padding: 12px 14px; margin-bottom: 14px; cursor: pointer; text-align: left;
}
.bda-more-days span { font-size: 12px; font-weight: 800; color: var(--bda-muted); text-transform: uppercase; letter-spacing: .08em; }
.bda-more-days b { font-size: 28px; color: var(--bda-mint); letter-spacing: -.04em; }
.bda-more-days small { margin-left: auto; font-size: 12px; font-weight: 800; color: var(--bda-text); }
.bda-more-days.is-warning b { color: #f5c14a; }
.bda-more-days.is-critical b { color: #ff7a86; }
.bda-more-lab {
  margin: 0 6px 6px; font-size: 11px; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: var(--bda-muted);
}
.bda-hero.is-cockpit { margin: 2px 0 14px; }
.bda-hero-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.bda-hero-row .bda-h { font-size: 26px; }
.bda-h.is-sm { font-size: 22px; margin: 0; }
.bda-boardhead {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 12px;
  margin: 2px 0 12px;
}
.bda-livepill {
  flex: 0 0 auto; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  border-radius: 999px; padding: 7px 10px; border: 1px solid var(--bda-line);
  background: rgba(255,255,255,.06);
}
.bda-livepill.is-slobodan { color: #04241e; background: var(--bda-ok); border-color: transparent; }
.bda-livepill.is-na_putu { color: #042028; background: #7ec8ff; border-color: transparent; }
.bda-livepill.is-zauzet { color: #2a1e00; background: var(--bda-warn); border-color: transparent; }
.bda-livepill.is-offline { color: var(--bda-muted); }
.bda-card.is-now { padding-bottom: 14px; }
.bda-card.is-compact { padding: 14px; }
.bda-idrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bda-idrow .bda-id { font-size: 16px; }
.bda-locline { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.02em; }
.bda-soon.is-slim {
  display: flex; flex-direction: column; gap: 4px; text-align: left;
  appearance: none; width: 100%; color: inherit; cursor: pointer;
  padding: 14px; margin-bottom: 8px;
}
.bda-soon.is-slim strong { margin: 0; font-size: 15px; }
.bda-soon.is-slim span:last-child { color: var(--bda-muted); font-size: 12px; font-weight: 600; line-height: 1.4; }
.bda-auth-mark {
  width: 56px; height: 56px; border-radius: 18px; margin: 28px 0 14px;
  background: linear-gradient(160deg, #7af0c8, #0d8a9a);
  box-shadow: 0 16px 32px rgba(13,138,154,.32);
}
.bda-main:not(.is-map) {
  background:
    radial-gradient(90% 40% at 100% -8%, rgba(30,200,176,.1), transparent 50%),
    transparent;
}
.bda-st.is-slobodan.is-on { box-shadow: inset 3px 0 0 var(--bda-ok); }
.bda-st.is-na_putu.is-on { box-shadow: inset 3px 0 0 #5aa7ff; }
.bda-st.is-zauzet.is-on { box-shadow: inset 3px 0 0 var(--bda-warn); }
body[data-bda-theme="light"] .bda-soon {
  background: linear-gradient(135deg, rgba(23,105,224,.08), #fff);
}
body[data-bda-theme="light"] .bda-soon-mini { background: #fff; }
body[data-bda-theme="light"] .bda-livepill.is-offline { background: #e8eef3; }
body[data-bda-theme="light"] .bda-chip2.is-on { color: var(--bda-on-mint); background: var(--bda-mint); border-color: var(--bda-mint); }
.bda-st { min-height: var(--bda-touch); }
.bda-status-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.bda-lane {
  background: var(--bda-card); border: 1px solid var(--bda-line); border-radius: var(--bda-r);
  padding: 14px; min-height: 92px; margin-bottom: 12px;
}
.bda-card.is-locked { opacity: .92; }
.bda-lane small { display: block; color: var(--bda-muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.bda-lane strong { display: block; font-size: 18px; letter-spacing: -.03em; }
.bda-lane em { display: block; margin-top: 4px; font-style: normal; color: var(--bda-muted); font-size: 12px; font-weight: 600; line-height: 1.35; }
.bda-lane.is-ok strong { color: var(--bda-ok); }
.bda-lane.is-warn strong { color: var(--bda-warn); }
.bda-lane.is-bad strong { color: var(--bda-bad); }
.bda-attn { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.bda-attn button {
  appearance: none; border: 1px solid var(--bda-line); background: var(--bda-card); color: inherit;
  border-radius: 14px; min-height: 48px; padding: 10px 12px; text-align: left; font-weight: 700;
}
.bda-attn button.is-hot { border-color: rgba(255,120,133,.45); }
.bda-task {
  appearance: none; width: 100%; border: 1px solid var(--bda-line); background: var(--bda-card);
  border-radius: var(--bda-r); padding: 14px; text-align: left; color: inherit; margin-bottom: 8px;
}
.bda-task b { display: block; font-size: 16px; }
.bda-task em { display: block; color: var(--bda-muted); font-style: normal; margin-top: 4px; font-size: 13px; }
.bda-shortcuts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.bda-shortcuts button {
  appearance: none; min-height: 48px; border-radius: 14px; border: 1px solid var(--bda-line);
  background: var(--bda-card); color: inherit; font-weight: 800; font-size: 12px;
}
.bda-fav {
  appearance: none; border: 0; background: transparent; color: var(--bda-muted);
  font-size: 18px; min-width: 40px; min-height: 40px; cursor: pointer;
}
.bda-fav.is-on { color: var(--bda-warn); }
.bda-src-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-left: 2px; background: var(--bda-muted); }
.bda-src-dot.is-gps { background: var(--bda-ok); }
.bda-src-dot.is-plan { background: var(--bda-primary); }
#bda-quick { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 420px) {
  .bda-map-hud { gap: 4px; left: 6px; right: 6px; }
  .bda-filter-copy em { display: none; }
  .bda-filter-btn { min-width: 72px; padding: 8px 8px; }
  .bda-radius { padding: 6px 8px; }
  .bda-radius span { display: none; }
  .bda-days-now > b { font-size: 32px; }
  .bda-plan-card b { font-size: 40px; }
  .bda-days-dock .bda-day { min-height: 32px; }
  .bda-sheet.is-closed, .bda-sheet.is-peek, .bda-sheet.is-open, .bda-sheet.is-mid, .bda-sheet.is-card { min-height: 0; height: auto; max-height: none; }
  .bda-hud-row { gap: 6px; }
  .bda-rads button { min-width: 0; min-height: 32px; font-size: 11px; }
  h1.bda-h { font-size: 24px; }
}
.bda-rads { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.bda-rads button {
  appearance: none; min-width: 0; min-height: 36px; border-radius: 999px; width: 100%;
  border: 1px solid var(--bda-line); background: var(--bda-card); color: inherit; font-weight: 800; font-size: 12px;
}
.bda-rads button.is-on { background: var(--bda-mint); color: var(--bda-btn-fg); border-color: transparent; }
body[data-bda-theme="light"] .bda-rads button.is-on { background: var(--bda-mint); color: var(--bda-on-mint); }
.bda-chat { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.bda-bubble { max-width: 92%; padding: 10px 12px; border-radius: 16px; font-size: 14px; line-height: 1.4; font-weight: 600; }
.bda-bubble.is-me { align-self: flex-end; background: var(--bda-mint); color: var(--bda-btn-fg); }
body[data-bda-theme="light"] .bda-bubble.is-me { background: var(--bda-primary); color: #fff; }
.bda-bubble.is-bot { align-self: flex-start; background: var(--bda-navy2); border: 1px solid var(--bda-line); }
.bda-sugs { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.bda-sugs button {
  appearance: none; border: 1px solid var(--bda-line); background: var(--bda-card); color: inherit;
  border-radius: 999px; padding: 8px 12px; min-height: 40px; font-weight: 700; font-size: 12px;
}
.bda-theme-seg { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; margin-bottom: 12px; }
.bda-net-off { padding: 8px 12px; margin: 0 0 10px; border-radius: 12px; background: rgba(242,188,101,.16); color: var(--bda-warn); font-size: 12px; font-weight: 800; }
.bda-ask-card { background: var(--bda-elev); color: var(--bda-text); }
body[data-bda-theme="light"] .bda-ask-card { background: #fff; }
@media (min-width: 412px) {
  h1.bda-h { font-size: 30px; }
}

/* Map header + side rail + camera chip */
.bda-map-head {
  position: absolute; top: calc(8px + env(safe-area-inset-top, 0px));
  left: 10px; right: 10px; z-index: 23;
  display: flex; flex-direction: column; gap: 8px;
  pointer-events: none;
}
.bda-map-head > * { pointer-events: auto; }
.bda-map-stage.is-rail .bda-map-head { right: min(52vw, 280px); }
.bda-map-head .bda-filters { animation: bda-drop .28s var(--bda-ease); }
.bda-here {
  position: absolute; left: 50%; bottom: calc(var(--bda-nav) + var(--bda-safe) + 18px);
  transform: translateX(-50%); z-index: 22;
}
.bda-map-stage.is-rail .bda-here { left: 24%; }
.bda-cam-chip {
  position: absolute; left: 12px;
  bottom: calc(var(--bda-nav) + var(--bda-safe) + 72px);
  z-index: 22; min-width: 0; max-width: min(44vw, 210px); padding: 10px 12px; border-radius: 16px;
  display: flex; flex-direction: column; gap: 2px;
  box-shadow: var(--bda-shadow), 0 0 24px rgba(255,122,134,.18);
}
.bda-cam-chip[hidden] { display: none !important; }
.bda-cam-chip b { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.bda-cam-chip em { font-style: normal; font-size: 13px; font-weight: 800; color: var(--bda-gold); line-height: 1.25; }
.bda-map-stage.is-rail .bda-cam-chip { left: 12px; max-width: min(40vw, 180px); }
#bda-sheet.bda-rail, .bda-rail {
  position: absolute;
  top: calc(8px + env(safe-area-inset-top, 0px));
  right: 0; left: auto;
  bottom: calc(var(--bda-nav) + var(--bda-safe) + 10px);
  width: min(52vw, 280px);
  z-index: 24;
  display: flex; flex-direction: column;
  height: auto; min-height: 0; max-height: none;
  overflow: hidden;
  padding: 10px 10px 12px;
  background: var(--bda-sheet-bg);
  border: 1px solid var(--bda-line);
  border-right: 0;
  border-radius: 20px 0 0 20px;
  box-shadow: -18px 0 40px rgba(0,0,0,.38), 0 0 36px rgba(62,224,196,.08);
  transform: translate3d(110%, 0, 0);
  opacity: 0;
  pointer-events: none;
  transition: transform .42s var(--bda-ease), opacity .28s ease;
}
#bda-sheet.bda-rail.is-on, .bda-rail.is-on {
  transform: none; opacity: 1; pointer-events: auto;
}
.bda-rail-x {
  appearance: none; position: absolute; top: 10px; left: 8px;
  width: 32px; height: 32px; border: 0; border-radius: 10px;
  background: rgba(255,255,255,.06); color: var(--bda-text);
  font-size: 18px; font-weight: 800; cursor: pointer;
}
.bda-rail-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 8px; padding: 4px 4px 10px 36px;
}
.bda-rail-head strong { font-size: 15px; letter-spacing: -.02em; }
.bda-rail-head em { font-style: normal; font-size: 12px; font-weight: 800; color: var(--bda-mint); }
.bda-rail-list {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  padding-bottom: 8px;
}
.bda-rail-list::-webkit-scrollbar { width: 0; }
.bda-rail-row {
  appearance: none; width: 100%; border: 1px solid transparent;
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 8px; align-items: center;
  text-align: left; color: inherit;
  background: var(--bda-res-bg); border-radius: 14px;
  padding: 8px; margin-bottom: 6px; cursor: pointer;
}
.bda-rail-row span { min-width: 0; }
.bda-rail-row b { display: block; font-size: 13px; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bda-rail-row em { display: block; font-style: normal; font-size: 11px; font-weight: 600; color: var(--bda-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bda-rail-row strong { font-size: 11px; color: var(--bda-mint); }
.bda-rail-row.is-on {
  border-color: rgba(62,224,196,.55);
  box-shadow: 0 0 0 1px rgba(62,224,196,.2), var(--bda-glow);
  background: linear-gradient(105deg, rgba(62,224,196,.14), var(--bda-res-bg));
}
.bda-rail-empty { padding: 18px 8px; text-align: center; color: var(--bda-muted); }
.bda-rail-empty b { display: block; color: var(--bda-text); margin-bottom: 6px; }
.bda-rail .bda-btn.full { margin-top: 4px; flex: 0 0 auto; }
.bda-rail .bda-ico {
  width: 32px; height: 32px; border-radius: 10px;
  display: grid; place-items: center; font-style: normal; font-size: 14px;
  background: rgba(255,255,255,.08);
}
.leaflet-control-scale {
  margin-left: 12px !important;
  margin-bottom: 8px !important;
  background: var(--bda-sheet-bg);
  border: 1px solid var(--bda-line) !important;
  border-radius: 8px; overflow: hidden;
  box-shadow: var(--bda-lift);
}
.leaflet-control-scale-line {
  border-color: var(--bda-muted) !important;
  color: var(--bda-text) !important;
  background: transparent !important;
  font-weight: 800;
}
.bda-nav button.is-on .bda-nav-ico {
  background: rgba(62,224,196,.16);
  box-shadow: 0 0 16px rgba(62,224,196,.25);
}
.bda-btn {
  box-shadow: var(--bda-lift);
}
.bda-btn:not(.ghost):not(.danger) { box-shadow: var(--bda-glow), var(--bda-lift); }
.bda-days-now .bda-swi { width: 48px; height: 30px; }
body[data-bda-theme="light"] .bda-rail,
body[data-bda-theme="light"] #bda-sheet.bda-rail { background: rgba(255,255,255,.96); }
body[data-bda-theme="light"] .bda-rail-row { background: #f4f7fa; }
body[data-bda-theme="light"] .bda-days-copy span { color: #8a5a00; }
body[data-bda-theme="light"] .bda-boot-mark { background: #fff; }
@media (prefers-reduced-motion: reduce) {
  .bda-boot-mark, .bda-rail, .bda-more-panel { animation: none; transition: none; }
}
.bda-theme-sw {
  appearance: none; width: 62px; height: 34px; padding: 0 6px; border-radius: 99px;
  border: 1px solid var(--bda-line); cursor: pointer;
  display: grid; grid-template-columns: 1fr 1fr; align-items: center;
  background: #0c1826; color: var(--bda-muted);
  position: relative; box-shadow: inset 0 1px 3px rgba(0,0,0,.4), var(--bda-lift);
}
.bda-theme-sw span { position: relative; z-index: 1; font-size: 13px; text-align: center; }
.bda-theme-sw::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 26px; height: 26px;
  border-radius: 50%; background: var(--bda-mint);
  box-shadow: 0 0 16px rgba(62,224,196,.45);
  transition: transform .28s cubic-bezier(.22,1,.36,1), background .2s;
}
.bda-theme-sw.is-light { background: #efe6d2; color: #5c5346; }
.bda-theme-sw.is-light::after {
  transform: translateX(28px); background: #f5c14a;
  box-shadow: 0 0 16px rgba(245,193,74,.55);
}
.bda-auth {
  min-height: 100%; display: flex; align-items: center; justify-content: center;
  padding: calc(24px + env(safe-area-inset-top, 0px)) 16px 40px;
}
.bda-auth-card {
  width: min(420px, 100%);
  padding: 22px 18px 20px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 36%),
    var(--bda-card);
  border: 1px solid var(--bda-line);
  box-shadow: var(--bda-shadow), inset 0 1px 0 rgba(255,255,255,.1);
}
.bda-auth-mark {
  width: 92px; height: 68px; border-radius: 20px; margin: 0 auto 12px;
  display: grid; place-items: center;
  background: linear-gradient(165deg, rgba(62,224,196,.28), rgba(13,80,154,.2));
  box-shadow: var(--bda-glow), var(--bda-lift);
}
.bda-auth-mark svg { width: 78px; height: 50px; }
.bda-auth-card .bda-h, .bda-auth-card .bda-kicker, .bda-auth-card .bda-sub { text-align: center; }
.bda-auth-tabs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
  padding: 4px; margin: 0 0 16px; border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.bda-auth-tabs button {
  appearance: none; border: 0; min-height: 44px; border-radius: 12px;
  background: transparent; color: var(--bda-muted); font-weight: 800; cursor: pointer;
}
.bda-auth-tabs button.is-on {
  background: var(--bda-mint); color: var(--bda-on-mint);
  box-shadow: var(--bda-glow);
}
.bda-pass { position: relative; }
.bda-peek {
  appearance: none; position: absolute; right: 8px; bottom: 8px;
  width: 36px; height: 36px; border: 0; background: transparent;
  color: var(--bda-muted); font-size: 16px; cursor: pointer;
}
.bda-auth-langs { justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.bda-keep {
  margin: 0 0 12px; padding: 12px 14px; border-radius: 16px;
  font-size: 12px; font-weight: 700; line-height: 1.45; color: var(--bda-muted);
  background: rgba(255,255,255,.04); border: 1px solid var(--bda-line);
}
.bda-cal, .bda-day { touch-action: pan-y; }
.bda-days-flag { display: none !important; }
.bda-dispo-stat { margin-bottom: 10px; }
.bda-dispo .bda-lab { display: block; margin-top: 10px; }
.bda-rule-btn {
  box-shadow: var(--bda-lift), inset 0 1px 0 rgba(255,255,255,.08);
}
body[data-bda-theme="light"] .bda-theme-sw { background: #efe6d2; }
body[data-bda-theme="light"] .bda-auth-card { background: #fffcf6; }
body[data-bda-theme="light"] .bda-keep { background: #fff; color: #4a4034; }
body[data-bda-theme="light"] .bda-auth-tabs { background: rgba(48,36,16,.08); }
body[data-bda-theme="light"] .bda-card {
  background: linear-gradient(180deg, #fff, #fffcf6);
}
.bda-auth-legal {
  display: flex; justify-content: center; align-items: center; gap: 8px;
  margin: 12px 0 4px; font-size: 12px; font-weight: 800;
}
.bda-auth-legal span { opacity: .4; }
.bda-age {
  text-align: center; font-size: 11px; font-weight: 700; color: var(--bda-muted); margin: 8px 0 0;
}
.bda-legal-doc { padding: 4px 2px 28px; animation: bda-slide .34s var(--bda-ease); }
.bda-legal-doc h2 {
  font-family: var(--bda-display); font-size: 16px; margin: 18px 0 8px;
  letter-spacing: -.02em; text-shadow: var(--bda-title-shadow);
}
.bda-legal-doc p { margin: 0 0 10px; font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--bda-muted); }
.bda-legal-doc .bda-btn { margin-top: 18px; }
.bda-ask.is-on .bda-ask-card { animation: bda-ask-in .32s var(--bda-ease); }
@keyframes bda-ask-in {
  from { transform: translateY(16px) scale(.96); opacity: 0; }
  to { transform: none; opacity: 1; }
}
.bda-auth-card {
  animation: bda-auth-in .5s var(--bda-ease);
  transform-style: preserve-3d;
}
@keyframes bda-auth-in {
  from { opacity: 0; transform: translateY(18px) rotateX(8deg); }
  to { opacity: 1; transform: none; }
}
.bda-btn, .bda-more-row, .bda-chip2 {
  transition: transform .16s var(--bda-ease), box-shadow .2s, background .2s, color .2s, border-color .2s;
}
.bda-btn:active, .bda-more-row:active { transform: scale(.98) translateY(1px); }
.bda-nav button.is-on::after {
  content: ""; position: absolute; left: 22%; right: 22%; bottom: 7px; height: 3px; border-radius: 99px;
  background: var(--bda-mint); box-shadow: 0 0 12px rgba(62,224,196,.55);
}
body[data-bda-theme="light"] .bda-legal-doc h2 { text-shadow: none; color: #1a2430; }
body[data-bda-theme="light"] .bda-legal-doc p, body[data-bda-theme="light"] .bda-age { color: #4a4034; }
@media (prefers-reduced-motion: reduce) {
  .bda-legal-doc, .bda-auth-card, .bda-ask.is-on .bda-ask-card { animation: none; }
}
