*{box-sizing:border-box}body{color:#1f2937;background:#f4f6f8;margin:0;font-family:Inter,Arial,sans-serif}button,input{font:inherit}.page{min-height:100vh;padding:24px}.container{max-width:1180px;margin:0 auto}.hero{margin-bottom:20px}.hero h1{margin:0 0 8px;font-size:36px}.subtitle,.muted{color:#6b7280}.layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:20px;display:grid}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;min-width:0;padding:20px;box-shadow:0 4px 18px #0000000f}.sectionHeader{margin-bottom:14px}.sectionHeader h2,.panel h2{margin:0 0 6px}.controls{gap:14px;min-width:0;margin-bottom:18px;display:grid}.field{gap:6px;min-width:0;display:grid}.fieldRow{grid-template-columns:1fr 1fr;gap:14px;min-width:0;display:grid}label{font-size:14px;font-weight:700}input,input[type=date]{background:#fff;border:1px solid #d1d5db;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:12px 14px;font-size:14px;display:block}input[type=date]{appearance:none}input:focus{border-color:#9ca3af;outline:2px solid #1118271f}.buttonRow{flex-wrap:wrap;gap:10px;display:flex}button{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:12px;padding:11px 15px;font-weight:700}button.secondary{color:#111827;background:#e5e7eb}button:disabled{opacity:.6;cursor:not-allowed}.message{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-weight:600}.message.success{color:#166534;background:#dcfce7}.message.error{color:#991b1b;background:#fee2e2}.slotGrid{gap:14px;display:grid}.slotCard{border:1px solid #e5e7eb;border-radius:16px;gap:14px;padding:16px;display:grid}.slotCard.selected{border-color:#111827;box-shadow:0 0 0 2px #1118270f}.slotTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.slotTime{font-size:22px;font-weight:800}.badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.soldOut{color:#991b1b;background:#fee2e2}.badge.blockedBadge{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.blockedNotice{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:.95rem}.tierRow{flex-wrap:wrap;gap:10px;display:flex}.tierButton{text-align:left;color:#111827;background:#fff;border:1px solid #d1d5db;gap:4px;display:grid}.tierButton.selectedTier{color:#fff;background:#111827;border-color:#111827}.tierPrice{opacity:.85;font-size:13px}.bookingForm{gap:16px;margin-top:18px;display:grid}.summary{border-top:1px solid #e5e7eb;padding-top:8px}.summaryRow{border-bottom:1px solid #eef2f7;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.summaryRow.total{border-bottom:none;font-size:18px}.emptyState{color:#6b7280;background:#fafafa;border:1px dashed #d1d5db;border-radius:14px;padding:18px}code{background:#f3f4f6;border-radius:6px;padding:2px 6px;font-size:.95em}@media (width<=900px){.layout,.fieldRow{grid-template-columns:1fr}.slotTop{flex-direction:column;align-items:flex-start}.page{padding:16px}.hero h1{font-size:30px}.squareWrap{margin-top:8px}.squareWrap iframe{border-radius:12px}}
