:root {
  --bep-lc-petrol: #005a7a;
  --bep-lc-petrol-dark: #063b4d;
  --bep-lc-petrol-soft: #eaf6f8;
  --bep-lc-magenta: #b41663;
  --bep-lc-orange: #ef7b2d;
  --bep-lc-line: rgba(0, 90, 122, .2);
}
.bep-lc-admin { display:grid; gap:18px; }
.bep-lc-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.bep-lc-choice { position:relative; display:block; }
.bep-lc-choice input { position:absolute; opacity:0; pointer-events:none; }
.bep-lc-choice span { display:flex; min-height:52px; align-items:center; justify-content:center; padding:10px 14px; border:1px solid var(--bep-lc-line); border-radius:14px; background:#fff; color:var(--bep-lc-petrol-dark); font-weight:700; text-align:center; cursor:pointer; transition:.15s ease; }
.bep-lc-choice input:checked + span { border-color:var(--bep-lc-petrol); box-shadow:0 0 0 3px rgba(0,90,122,.13); background:var(--bep-lc-petrol-soft); color:var(--bep-lc-petrol); }
.bep-lc-choice input:focus-visible + span { outline:3px solid rgba(180,22,99,.3); outline-offset:2px; }
.bep-lc-choice.disabled span, .bep-lc-choice input:disabled + span { opacity:.5; cursor:not-allowed; }
.bep-lc-admin-section { padding:18px; border:1px solid var(--bep-lc-line); border-radius:18px; background:#fff; }
.bep-lc-admin-section[hidden], .bep-lc-source-panel[hidden] { display:none !important; }
.bep-lc-admin-section h3 { margin:0 0 12px; color:var(--bep-lc-petrol-dark); }
.bep-lc-source-panel { margin-top:14px; padding:14px; border-radius:14px; background:#f7fbfc; }
.bep-lc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.bep-lc-fields p { margin:0 0 12px; }
.bep-lc-summary { display:flex; flex-direction:column; gap:4px; }
.bep-lc-geocode-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:8px; }
.bep-lc-geocode-status { color:#536a72; }
.bep-lc-release-preview { margin-top:10px; padding:10px 12px; background:var(--bep-lc-petrol-soft); border-radius:10px; color:var(--bep-lc-petrol-dark); font-weight:600; }
.bep-lc-ticket-prep { border-style:dashed; }
.bep-lc-future-badge, .bep-lc-list-badge { display:inline-flex; align-items:center; width:max-content; padding:3px 8px; border-radius:999px; background:var(--bep-lc-petrol-soft); color:var(--bep-lc-petrol); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.bep-lc-list-badge--online { background:#fbeaf2; color:var(--bep-lc-magenta); }
.bep-lc-list-badge--hybrid { background:#fff1e8; color:#9d470d; }
.bep-lc-list-badge--future { margin-top:5px; border:1px dashed currentColor; background:#fff; }
.bep-lc-legacy-location-field { opacity:.62; }
.bep-lc-legacy-location-field::after { content:'Wird durch „Ort, Online-Teilnahme & Registrierung“ gesteuert.'; display:block; margin-top:5px; color:#667780; font-style:italic; }
.bep-lc-public-card { margin:0 0 28px; padding:22px; border:1px solid var(--bep-lc-line); border-left:6px solid var(--bep-lc-magenta); border-radius:18px; background:linear-gradient(135deg,#fff,#f1fafb); box-shadow:0 12px 32px rgba(6,59,77,.08); }
.bep-lc-public-card__eyebrow { margin-bottom:5px; color:var(--bep-lc-magenta); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.bep-lc-public-card h2 { margin:0 0 16px; color:var(--bep-lc-petrol-dark); }
.bep-lc-online-row { display:flex; gap:12px; align-items:flex-start; }
.bep-lc-online-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:12px; background:var(--bep-lc-petrol); color:#fff; font-size:22px; }
.bep-lc-meeting-slot { margin-top:8px; color:#536a72; }
.bep-lc-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; border-radius:999px; background:var(--bep-lc-magenta); color:#fff !important; text-decoration:none !important; font-weight:800; }
.bep-lc-button:hover, .bep-lc-button:focus { filter:brightness(.94); }
.bep-lc-button--secondary { background:var(--bep-lc-petrol); }
.bep-lc-public-actions { margin:18px 0 0; }
@media (max-width: 782px) {
  .bep-lc-choice-grid, .bep-lc-fields { grid-template-columns:1fr; }
  .bep-lc-choice-grid--sources { grid-template-columns:1fr; }
  .bep-lc-admin-section { padding:14px; }
}
