/* v1.5.2 – robust against theme overrides; full lamp colors across all styles */
.kgv-bsa{
  --ok:#18a94b; --warn:#e1b400; --bad:#c7281f;
  --panel:#fff; --border:#e5e9ed;
  --accent:#b30057; --accent-hov:#8f0047;
  --btn-bg:#e9f3ee; --btn-bg-hov:#d7ece3; --btn-tx:#0f2b21; --btn-tx-hov:#0a1e18;
  --tx:#1c1f22; --sub:#4a5860; --cd:#79858b;
  display:flex; gap:1rem; align-items:center; padding:1rem 1.25rem; border-radius:14px; background:var(--panel);
  border:1.5px solid var(--border); box-shadow:0 8px 24px rgba(0,0,0,.10); color:var(--tx);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.kgv-bsa-traffic{width:72px;min-width:72px}
.kgv-bsa-svg{width:100%;height:auto;display:block}
.kgv-bsa-svg .body{fill:#2b353a;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18));}
.kgv-bsa-svg .lamp{fill:#5b5b5b}

/* Universal ON colors – applies to all styles as fallback */
.kgv-bsa--blocked .lamp-top{fill:var(--bad) !important; filter:drop-shadow(0 0 6px rgba(199,40,31,.45));}
.kgv-bsa--yellow  .lamp-mid{fill:var(--warn) !important; filter:drop-shadow(0 0 6px rgba(225,180,0,.45));}
.kgv-bsa--allowed .lamp-bot{fill:var(--ok)  !important; filter:drop-shadow(0 0 6px rgba(24,169,75,.45));}

/* Specific style overrides (keep but non-essential since fallback above works) */
.kgv-bsa--style-classic.kgv-bsa--blocked .lamp-top{fill:url(#kgv-red) !important}
.kgv-bsa--style-classic.kgv-bsa--yellow  .lamp-mid{fill:url(#kgv-yellow) !important}
.kgv-bsa--style-classic.kgv-bsa--allowed .lamp-bot{fill:url(#kgv-green) !important}

/* Others mainly use solid fills via fallback; still present for completeness */
.kgv-bsa--style-flat .body{fill:#222b30}
.kgv-bsa--style-minimal .body{fill:transparent}
.kgv-bsa--style-outline .body{fill:transparent;stroke:#2b353a;stroke-width:4px}
.kgv-bsa--style-outline .lamp{stroke:#2b353a;stroke-width:3px}
.kgv-bsa--style-mono .body{fill:#111}
.kgv-bsa--style-pill .body{rx:20}
.kgv-bsa--style-slim .body{width:46px;x:17}
.kgv-bsa--style-glass .body{fill:rgba(255,255,255,.08);backdrop-filter:blur(4px);stroke:#cfd6db;stroke-width:1px}
.kgv-bsa--style-retro .body{filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}

/* Content */
.kgv-bsa-content{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0}
.kgv-bsa-headline{font-weight:800;font-size:var(--fs-head,1.5rem);line-height:1.2}
.kgv-bsa-subline{color:var(--sub);font-weight:700;font-size:var(--fs-sub,1rem)}
.kgv-bsa-countdown{color:var(--cd);font-size:var(--fs-misc,.95rem)}
.kgv-bsa-actions{display:flex;gap:1rem;margin-top:.2rem;justify-content:flex-end}

/* Robust buttons (beat theme CSS) */
.kgv-bsa .kgv-bsa-btn{
  -webkit-appearance:none; appearance:none;
  border:2px solid transparent; background:var(--btn-bg); color:var(--btn-tx);
  padding:.55rem .95rem; border-radius:12px; font-weight:700; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.kgv-bsa .kgv-bsa-btn:hover{background:var(--btn-bg-hov);color:var(--btn-tx-hov)}
.kgv-bsa .kgv-bsa-link{align-self:flex-end;font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);color:var(--accent)}
.kgv-bsa .kgv-bsa-link:hover{color:var(--accent-hov);border-bottom-color:var(--accent-hov)}

/* Details panel */
.kgv-bsa-details{margin-top:.75rem;padding:.75rem .9rem;border-radius:10px;background:#f7fbf9;border:1px solid #e6ece9}
.kgv-bsa-details .kgv-bsa-details-close{margin-top:.5rem}

/* Hide content when details open (keep traffic light) */
.kgv-bsa.kgv-bsa--details-open .kgv-bsa-headline,
.kgv-bsa.kgv-bsa--details-open .kgv-bsa-subline,
.kgv-bsa.kgv-bsa--details-open .kgv-bsa-countdown,
.kgv-bsa.kgv-bsa--details-open .kgv-bsa-actions{display:none !important}
