.lpb-wrap{ max-width: 760px; padding:16px; border:1px solid rgba(0,0,0,.08); border-radius:14px; background:#fff; }
.lpb-head h3{ margin:0 0 6px; }
.lpb-head p{ margin:0 0 14px; opacity:.8; }
.lpb-form{ display:grid; gap:10px; }
.lpb-form input[type="date"], .lpb-form textarea{ width:100%; padding:10px; border-radius:10px; border:1px solid rgba(0,0,0,.14); }
.lpb-btn{ display:inline-block; padding:10px 12px; border-radius:10px; border:1px solid rgba(0,0,0,.18); background:#f7f7f7; cursor:pointer; }
.lpb-btn:hover{ filter:brightness(.98); }
.lpb-btn--ghost{ background:transparent; }
.lpb-btn--danger{ background:#fff3f3; border-color: rgba(160,0,0,.25); }
.lpb-list__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lpb-item{ padding:12px; border:1px solid rgba(0,0,0,.08); border-radius:12px; margin:10px 0; }
.lpb-item__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lpb-item__note{ margin-top:6px; opacity:.85; }
.lpb-del{ padding:6px 10px; border-radius:10px; border:1px solid rgba(0,0,0,.18); background:#fff3f3; cursor:pointer; }
.lpb-del:hover{ filter:brightness(.98); }
.lpb-pill{ display:inline-block; margin-left:8px; font-size:12px; padding:2px 8px; border-radius:999px; border:1px solid rgba(0,0,0,.12); opacity:.85; }
.lpb-muted{ opacity:.7; }
.lpb-error{ color:#8a0000; }
.lpb-box{ padding:12px; border-radius:12px; border:1px solid rgba(0,0,0,.1); background:#fff; }
.lpb-box--warn{ background:#fff8e8; border-color:rgba(180,120,0,.25); }
.lpb-check{ display:flex; gap:10px; align-items:center; }
.lpb-check input{ width:auto; }
.lpb-calendar{ margin:10px 0 14px; }

/* FullCalendar tweaks */
.lpb-calendar .fc{ font-size:14px; }
.lpb-calendar .fc .fc-toolbar-title{ font-size:16px; }
.lpb-calendar .fc .fc-button{ border-radius:10px; }

/* Background: VOL */
.lpb-bg-full{ background: rgba(239, 68, 68, .18) !important; }

/* Events */
.lpb-ev-yes{ background: rgba(34, 197, 94, .20) !important; border-color: rgba(34, 197, 94, .55) !important; color:#14532d !important; }
.lpb-ev-no{ background: rgba(245, 158, 11, .18) !important; border-color: rgba(245, 158, 11, .55) !important; color:#7c2d12 !important; }
.lpb-capacity{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px 14px;background:#fff;margin:10px 0 14px}
.lpb-capacity__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}
.lpb-capacity__numbers{font-weight:600}
.lpb-capacity__bar{height:10px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden}
.lpb-capacity__fill{height:100%;background:#22c55e;border-radius:999px;transition:width .25s ease}
.lpb-capacity.is-warn .lpb-capacity__fill{background:#f59e0b}
.lpb-capacity.is-danger .lpb-capacity__fill{background:#ef4444}
.lpb-capacity__hint{margin-top:8px;font-size:13px;color:#666}
.lpb-daydot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle}


/* Bedmap */
.lpb-bedmap-wrap{ margin-top:10px; padding:12px; border:1px solid rgba(0,0,0,.10); border-radius:12px; background:#fafafa; }
.lpb-bedmap-head{ display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:10px; }
.lpb-bedmap{ display:grid; gap:10px; }
.lpb-bedrow{ display:grid; grid-template-columns: 180px 1fr; gap:10px; align-items:center; }
.lpb-bedrow__label{ font-size:13px; opacity:.85; }
.lpb-bedrow__beds{ display:grid; grid-template-columns: repeat(10, minmax(44px,1fr)); gap:8px; }
.lpb-bedbtn{ padding:8px 6px; border-radius:10px; border:1px solid rgba(0,0,0,.18); background:#fff; cursor:pointer; font-weight:600; font-size:12px; }
.lpb-bedbtn.is-occ{ background:#ffe5e5; border-color: rgba(180,0,0,.30); color:#7a0000; cursor:not-allowed; }
.lpb-bedbtn.is-free:hover{ filter:brightness(.98); }
.lpb-bedbtn.is-sel{ outline:2px solid rgba(34,197,94,.55); box-shadow:0 0 0 3px rgba(34,197,94,.15); }
.lpb-bedmap-legend{ display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; font-size:12px; opacity:.85; align-items:center; }
.lpb-bed.swatch{ display:inline-block; width:14px; height:14px; border-radius:4px; margin-right:6px; border:1px solid rgba(0,0,0,.12); vertical-align:middle; }
.lpb-bed.swatch.free{ background:#ffffff; }
.lpb-bed.swatch.occ{ background:#ffe5e5; }
.lpb-bed.swatch.sel{ background:rgba(34,197,94,.20); border-color: rgba(34,197,94,.55); }

@media (max-width: 640px){
  .lpb-bedrow{ grid-template-columns: 1fr; }
  .lpb-bedrow__beds{ grid-template-columns: repeat(5, minmax(44px,1fr)); }
}

/* Ensure occupied stays visible even if it is also selected */
.lpb-bedbtn.is-occ.is-sel{ background:#ffe5e5; border-color: rgba(180,0,0,.30); color:#7a0000; outline:none; box-shadow:none; }

/* Kalender event: mix wél/niet (multi-slot) */
.lpb-ev-mix{ border-color: rgba(0,0,0,.25) !important; opacity:.92; }
