.booking-range{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:28px 0}.booking-range .field{flex:1 1 160px;max-width:260px}.booking-range .btn{margin-bottom:0}.booking-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.booking-metric{background:#191d16;border:1px solid #353e28;border-radius:14px;padding:24px}.booking-metric strong{display:block;font-size:clamp(24px,3vw,36px);color:#dcf36b;margin:10px 0}.booking-metric small{color:#b6bea9}.booking-table{overflow:auto;margin-top:20px}.booking-table table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.booking-table td,.booking-table th{padding:12px;border-bottom:1px solid #343a2e;white-space:nowrap}.booking-table th{color:#c5d0b3}.booking-date{max-width:240px;margin-top:16px}.slot-booked{background:#26391b;color:#def6c5}.slot-blocked{background:#3d3020;color:#ffe1a7}.slot-empty{color:#a4aa9e}.booking-table .btn{min-height:34px}.booking-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:20px 0}.booking-bars article{border-left:3px solid #c7ed56;padding:12px}.booking-bars strong{display:block;font-size:22px;margin-top:8px}.booking-bars span{color:#b8c4ac;font-size:14px}#booking-entry .field{margin-top:14px}#booking-message.error{color:#ffb7ad}.booking-day-list{max-height:280px;overflow:auto}.booking-range input:focus,.booking-date input:focus{outline:2px solid #d5ef49}@media(max-width:700px){.booking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-metric{padding:16px}.booking-bars{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-range .field{max-width:none}}

#booking-schedule,[data-public-schedule]{max-height:520px;overflow:auto}#booking-schedule thead,[data-public-schedule] thead{position:sticky;top:0;background:#151911;z-index:1}.booking-table caption{text-align:left;white-space:normal;padding-bottom:12px;color:#bec8b0}
