:root{
  --blue:#0d3d50;--blue2:#123f52;--yellow:#ffb623;--bg:#f5f7f8;--text:#153746;
  --free:#1d9b5f;--pending:#e8a317;--booked:#b94141;--border:#dce5e9;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.hero{background:var(--blue);color:white;text-align:center;padding:28px 18px 34px}
.hero img{width:min(520px,90%);border-radius:20px;display:block;margin:0 auto 14px}
.store{color:var(--yellow);font-weight:800;letter-spacing:.08em}
h1{font-size:clamp(34px,9vw,60px);margin:18px 0 6px;line-height:1}
.subtitle{max-width:750px;margin:16px auto;font-size:18px;line-height:1.45}
.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.badges span{background:white;color:var(--blue);padding:8px 12px;border-radius:999px;font-weight:700}
main{max-width:900px;margin:-16px auto 40px;padding:0 14px}
.card{background:white;border:1px solid var(--border);border-radius:22px;padding:20px;margin:16px 0;box-shadow:0 6px 22px rgba(13,61,80,.07)}
.notice{border-top:5px solid var(--yellow)}
h2{margin-top:0}
.muted,.small{color:#607882}.small{font-size:13px}
.calendar-controls{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:10px;text-align:center;margin:14px 0}
.day{border:1px solid var(--border);border-radius:16px;margin:10px 0;overflow:hidden}
.dayhead{background:#eef4f6;padding:10px 12px;font-weight:800}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}
.slot{border-radius:12px;padding:10px 7px;text-align:center;font-weight:750;border:0}
.slot.free{background:#e5f5ed;color:#176e47}
.slot.pending{background:#fff3d4;color:#8b6204}
.slot.booked{background:#f8e6e6;color:#922f2f}
.slot.free{cursor:pointer}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;margin-top:12px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.dot.free{background:var(--free)}.dot.pending{background:var(--pending)}.dot.booked{background:var(--booked)}
form label{display:block;font-weight:700;margin:10px 0}
input,select,textarea{width:100%;padding:12px;border:1px solid #c9d8de;border-radius:12px;font:inherit;margin-top:5px;background:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checks label{font-weight:500;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.checks input{width:auto;margin-top:3px}
button,.buttonlink{background:var(--yellow);color:#173845;border:0;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-block}
button.secondary,.buttonlink.secondary{background:#e9f0f3;color:#173845}
form>button{width:100%;margin-top:10px}
.result{padding:15px;border-radius:14px;margin-top:14px;background:#eef6f8}.hidden{display:none!important}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.rules li{margin:8px 0}
details summary{font-weight:850;cursor:pointer;font-size:20px}
.admin-tools{display:flex;gap:8px;margin:12px 0}
.booking-row{border:1px solid var(--border);border-radius:14px;padding:12px;margin:10px 0}
.booking-row .meta{font-size:13px;color:#607882}.booking-row .btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.booking-row .btns button{padding:8px 10px;font-size:12px}
.status{font-weight:850}.status.pending{color:#9c6c00}.status.booked{color:#24754e}.status.rejected,.status.cancelled{color:#9a3c3c}
footer{text-align:center;background:var(--blue);color:white;padding:28px 16px;line-height:1.7}
footer strong{color:var(--yellow)}
@media(max-width:650px){.grid2{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.card{padding:16px}.hero{padding-top:18px}}
