/* Booking and management additions retain the original studio layout. */
.booking-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}.booking-availability{grid-column:1;grid-row:1 / span 2;position:sticky;top:20px}.booking-layout #bookingDetailsForm{grid-column:2;grid-row:1}.booking-layout>aside{grid-column:2;grid-row:2;order:initial}.booking-summary>img{display:none}.booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.booking-weekdays,.booking-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.booking-weekdays{text-align:center;color:var(--muted);font-size:12px;margin-bottom:8px}.booking-month-grid button{min-height:48px;border:1px solid transparent;border-radius:9px;background:#f6f6f2;color:var(--ink);font-size:14px;position:relative}.booking-month-grid button i{position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;bottom:5px;left:calc(50% - 2px)}.booking-month-grid button[aria-pressed=true]{background:var(--ink);color:white}.booking-month-grid button:disabled{opacity:.35;cursor:default}.booking-day-title{font-size:15px;font-weight:700;margin:24px 0 12px}.booking-slot-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:10px 0}.booking-time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-time-slots button{display:grid;gap:5px;min-height:64px;padding:10px 4px;background:white;border:1px solid #90a9a1;border-radius:9px;color:var(--ink)}.booking-time-slots button span{font-size:12px}.booking-time-slots button:disabled{border-color:var(--line);color:#676b68;background:repeating-linear-gradient(135deg,#f3f3f0,#f3f3f0 4px,#eaece8 4px,#eaece8 5px)}.booking-time-slots button.is-selected{background:#dceadf;border-color:#326048;color:#244f3e;box-shadow:inset 0 0 0 1px #326048}.booking-availability .field-help{font-size:13px}.booking-availability .plain-button{margin-top:8px;min-height:44px}.admin-login{max-width:430px;margin:30px auto 70px}.admin-login h1{font-size:30px;margin:8px 0 14px}.admin-login form{margin-top:24px}.admin-login label{display:block;margin:18px 0;font-size:14px}.admin-session-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px;font-size:13px;flex-wrap:wrap}.admin-session-bar>div{display:flex;gap:8px}.admin-session-bar .plain-button{min-height:44px}.equipment-info{margin:30px 0}.equipment-info h2{margin-bottom:16px}.equipment-camera-note{padding:15px 18px;background:#fff8df;border-left:3px solid #edba28;font-size:14px;line-height:1.8;margin:16px 0}.equipment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.equipment-card{border:1px solid var(--line);padding:20px;border-radius:12px;background:white}.equipment-card h3{font-size:17px;margin:7px 0}.equipment-card p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.equipment-card .equipment-model{color:var(--muted);font-size:13px}.equipment-card .plain-button{min-height:44px;margin:10px 8px 0 0}#equipmentForm{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}#equipmentForm .message-buttons{margin-top:20px}#adminEquipmentList{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}#storageStatus[data-error=true]{color:#a33925}.storage-busy{cursor:progress}#toast{z-index:20000}#adminWorkspace[hidden],#adminLogin[hidden],#equipmentForm[hidden]{display:none!important}
@media(max-width:800px){.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-availability,.booking-layout #bookingDetailsForm,.booking-layout>aside{grid-column:auto;grid-row:auto;position:static;order:initial}.booking-availability{padding:20px 14px}.booking-month-grid{gap:3px}.booking-month-grid button{min-height:44px}.booking-layout .booking-summary{margin-top:0}.equipment-list{grid-template-columns:1fr}.admin-login{margin:15px auto 40px}.admin-session-bar{align-items:flex-start}.booking-time-slots button{min-height:62px}.admin-tabs{overflow-x:auto}.admin-tabs button{flex-shrink:0}}

.archive-record{border-bottom:1px solid var(--line);padding:15px 0}.archive-record summary{min-height:44px;cursor:pointer;font-size:14px}.archive-record small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.archive-record pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f5f5f1;padding:14px;font-size:13px;line-height:1.8}.archive-record p{font-size:14px;line-height:1.8}

.booking-time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-time-slots button{min-height:58px}#booking .eyebrow,#booking .summary-line,#booking .summary-line>span{font-size:12px}.booking-calendar-nav .icon-button{min-width:44px;min-height:44px;width:44px;height:44px}
@media(max-width:400px){#booking{padding-left:12px;padding-right:12px}#bookingAvailability{padding-left:8px;padding-right:8px}#bookingCalendar,.booking-weekdays{margin-left:-8px;margin-right:-8px;gap:0}#bookingCalendar button{border-radius:6px;min-height:44px}}
@media(max-width:1000px){#booking .booking-layout{grid-template-columns:minmax(0,1fr)}#booking .booking-availability,#booking .booking-layout #bookingDetailsForm,#booking .booking-layout>aside{grid-column:auto;grid-row:auto;position:static;order:initial}}
@media(max-width:400px){#booking{padding-left:10px;padding-right:10px}#booking #bookingAvailability{padding:20px 8px}}
