button:disabled{cursor:not-allowed;opacity:.45;transform:none!important}.btn:disabled{background:var(--gold)}#booking{max-width:620px}.booking-mini,.slot-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.booking-mini{padding:15px;background:#26241e;margin-bottom:16px;border-radius:5px}.booking-mini>span,.slot-toolbar{font-size:.8rem;color:var(--muted)}.date-strip{display:flex;gap:10px;overflow-x:auto;margin:22px -2px 16px;padding:3px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.date-card{flex:0 0 70px;min-height:100px;background:#242421;border:1px solid #45443a;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:center}.date-card strong{font-size:1.5rem;line-height:1.4}.date-card span,.date-card small{font-size:.75rem}.date-card.selected{background:var(--gold);color:#111;border-color:var(--gold)}.date-card:disabled{opacity:.3}.selected-date{font-size:1rem;margin:14px 0}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px;max-height:240px;overflow:auto;padding:2px}.time-slot{background:#242421;border:1px solid #45443a;border-radius:5px;min-height:48px;font-size:.875rem}.time-slot.selected{border-color:var(--gold);background:#463c27;color:#f3d9a8}.booking-review{padding:18px;border:1px solid #605239;border-radius:6px;margin-bottom:22px}.booking-review strong{font-size:1.2rem}.booking-review p{font-size:.875rem;color:var(--muted);margin-top:7px}.loading-slots,.empty-slots{padding:45px 20px;text-align:center;color:var(--muted)}.confirmation-check{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:2rem;color:var(--gold);margin:5px auto 18px}.confirmation-intro{text-align:center;margin-bottom:20px}.calendar-button{width:100%;margin:25px 0 15px}.calendar-button+.text-button{display:block;margin:0 auto 20px}.booking-actions{position:sticky;bottom:-30px;background:#191917;padding:16px 0;margin-top:8px}.booking-actions .btn{min-width:60%}#booking input{font-size:16px;scroll-margin-bottom:90px}#booking .payment-note{font-size:.8rem}#booking .booking-footnote{margin-top:5px}.admin-shell{max-width:1240px;padding:0 5%;margin:auto}.admin-header{height:100px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.admin-badge{font-size:.7rem;letter-spacing:2px;color:var(--gold)}.admin-header-right{margin-left:auto;display:flex;gap:25px;align-items:center}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:55px 0 25px}.admin-heading h1{font-size:clamp(3rem,5vw,5rem)}.admin-heading>p{max-width:320px;color:var(--muted);font-size:.9rem}.admin-message:empty,.admin-error:empty{display:none}.admin-message,.admin-error{padding:15px 20px;margin-bottom:20px;background:#25261e;border:1px solid #58553b;border-radius:5px;font-size:.9rem}.admin-error{border-color:#914b42;color:#ffc1b6}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.admin-stats>div{border:1px solid var(--line);background:var(--surface);padding:22px 25px;border-radius:6px}.admin-stats span{display:block;font-size:.8rem;color:var(--muted)}.admin-stats strong{font:600 3.5rem var(--heading);display:block;margin-top:10px;color:var(--gold)}.admin-stats .stat-word{font-size:2.3rem;padding-top:10px}.admin-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:30px}.admin-tabs button{background:none;padding:16px 0;font-size:1rem;color:var(--muted)}.admin-tabs button.active{color:var(--gold);border-bottom:2px solid var(--gold)}.admin-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center}.admin-toolbar>div{display:flex;gap:12px}.admin-toolbar .field{margin-bottom:0}.admin-toolbar input{min-width:210px}.btn.outline{background:transparent;color:var(--gold)}.agenda{border:1px solid var(--line);margin:25px 0 40px;border-radius:6px;overflow:hidden}.agenda-title{display:flex;justify-content:space-between;align-items:center;padding:25px;background:var(--surface);gap:20px}.agenda-title h2{font-size:2rem;text-transform:capitalize}.admin-empty{text-align:center;padding:55px 20px}.admin-empty>span{font-size:2rem;color:var(--gold)}.admin-empty h3{font-weight:500;font-size:1.3rem}.admin-empty p{max-width:430px;margin:auto;font-size:.875rem;color:var(--muted)}.agenda-item{display:grid;grid-template-columns:100px 1fr auto;gap:20px;padding:25px;border-top:1px solid var(--line);border-left:3px solid var(--gold)}.agenda-item.blocked{border-left-color:#707a89;background:#1c1e21}.agenda-time strong,.agenda-time span{display:block;font-size:.85rem}.agenda-time span{color:var(--muted);margin-top:4px}.agenda-info h3{margin:0;font-size:1.1rem;font-weight:500}.agenda-info p{font-size:.875rem;color:var(--muted);margin:3px 0}.agenda-info a{color:var(--gold);font-size:.875rem}.agenda-info small{display:block;color:var(--muted);font-size:.7rem;margin-top:9px}.admin-quiet{background:none;color:var(--muted);font-size:.8rem;padding:12px}.upcoming h2,.availability-heading h2{font-size:2.1rem;margin-bottom:20px}.upcoming-item{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%;background:none;text-align:left;padding:20px 0;border-bottom:1px solid var(--line);gap:15px}.upcoming-item span{color:var(--muted);font-size:.8rem}.upcoming-item strong{font-size:.9rem;font-weight:500}.availability-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:30px 0}.availability-heading h2{margin-bottom:10px}.availability-heading p{font-size:.8rem;color:var(--muted);max-width:470px}.hours-row{display:flex;align-items:center;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.day-toggle{display:flex;align-items:center;gap:12px;min-width:145px;font-size:.9rem}.day-toggle input,.pause-booking input{accent-color:var(--gold);width:20px;height:20px}.hours-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;flex:1}.hours-inputs label{font-size:.7rem;color:var(--muted)}.hours-inputs input{width:100%;display:block;background:#242421;color:var(--text);border:1px solid #444439;padding:10px;font:400 1rem var(--body);min-height:46px;border-radius:4px;margin-top:5px}.hours-inputs input:disabled{opacity:.35}.booking-rules{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0}.pause-booking{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:.875rem}.admin-payment{border:1px solid #504731;background:#26231c;padding:20px;margin-bottom:25px;border-radius:4px;font-size:.875rem}.admin-payment p{color:var(--muted);margin-top:8px}.admin-footer{padding:40px 0;margin-top:55px}.admin-modal-backdrop{position:fixed;inset:0;z-index:10;background:#000b;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;overflow:auto}.admin-modal{width:100%;max-width:570px;background:#1b1b18;padding:25px;border:1px solid #645436;border-radius:7px;max-height:95dvh;overflow:auto}.admin-modal h2{font-size:2.5rem}.admin-modal .dialog-top{margin-bottom:25px}
@media(max-width:720px){#booking{padding:22px;max-height:calc(100dvh - 18px);width:calc(100% - 18px)}.time-grid{grid-template-columns:repeat(3,1fr);max-height:250px}.time-slot{min-height:50px}.booking-actions{bottom:-22px;padding-bottom:max(14px,env(safe-area-inset-bottom));gap:15px}.booking-actions .btn{min-width:70%;padding-left:15px;padding-right:15px}.date-card{flex-basis:65px}.booking-mini{font-size:.875rem}.booking-mini>span{font-size:.75rem}.admin-shell{padding:0 5%}.admin-header{height:85px;gap:15px}.admin-badge{display:none}.admin-header-right{gap:15px}.admin-header-right .text-button{font-size:.75rem}.admin-heading{display:block;margin-top:35px}.admin-heading h1{font-size:3.5rem}.admin-heading>p{margin-top:20px}.admin-stats{gap:10px}.admin-stats>div{padding:15px 10px}.admin-stats span{font-size:.7rem;min-height:34px}.admin-stats strong{font-size:2.5rem}.admin-stats .stat-word{font-size:1.5rem}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.admin-toolbar .btn{font-size:.8rem;padding:12px}.agenda-title{padding:20px 15px}.agenda-title h2{font-size:1.7rem}.agenda-item{padding:18px 12px;grid-template-columns:75px 1fr;gap:12px}.agenda-item>div:last-child{grid-column:2}.agenda-time strong,.agenda-time span{font-size:.75rem}.upcoming-item{grid-template-columns:1fr 1fr}.upcoming-item>span:last-child{grid-column:1/-1}.availability-heading{flex-direction:column;align-items:stretch}.hours-row{display:block;padding:20px 0}.day-toggle{margin-bottom:14px}.hours-inputs{grid-template-columns:1fr 1fr;gap:12px}.hours-inputs label{font-size:.75rem}.booking-rules{gap:15px}.booking-rules label{font-size:.8rem}.admin-footer{padding-bottom:30px}.admin-modal{padding:22px}.admin-modal-backdrop{padding:10px}.admin-modal h2{font-size:2.1rem}}@media(prefers-reduced-motion:reduce){.date-strip{scroll-behavior:auto}}

/* Studio extensions preserve the existing dark and gold design. */
.admin-modal{margin:auto;color:var(--text)}.admin-modal::backdrop{background:#000b;backdrop-filter:blur(5px)}.admin-modal .pause-booking{margin:18px 0}.connections-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.connection-card{border:1px solid var(--line);border-radius:6px;padding:28px;background:var(--surface)}.connection-card h2{font-size:2.5rem;margin:14px 0}.connection-card p{font-size:1rem;color:var(--muted);line-height:1.6}.connection-card .btn{margin:24px 0}.connection-card .help{font-size:.875rem;margin-top:16px}.deposit-prices{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:22px 0}.deposit-prices p{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.deposit-prices strong{color:var(--gold);white-space:nowrap}.agenda-controls{display:flex;flex-direction:column;align-items:flex-start;max-width:220px}.payment-badge{display:inline-block;margin-top:10px;padding:5px 8px;border:1px solid var(--line);border-radius:3px;font-size:.875rem;color:var(--gold)}.studio-login{font-size:.875rem;color:var(--muted)}.admin-tabs{gap:24px;overflow-x:auto}.admin-tabs button{white-space:nowrap}.admin-header-right{gap:16px}.admin-modal[open]{display:block}.admin-modal:not([open]){display:none}.admin-header-right .text-button{font-size:.875rem}.admin-shell .help,.admin-shell .hours-inputs label,.admin-stats span{font-size:.875rem}.admin-shell input,.admin-shell select{font-size:1rem}.admin-shell .admin-heading{margin-top:35px}.admin-heading h1{font-size:clamp(2.8rem,4vw,4rem)}#booking .text-button{margin:12px 0}#booking .payment-note,#booking .help{font-size:.875rem}
@media(max-width:720px){.connections-grid{grid-template-columns:1fr}.connection-card{padding:22px}.admin-header-right{gap:10px}.admin-header .brand{font-size:1.8rem}.admin-header-right .text-button{font-size:.875rem}.admin-header-right .text-button:last-child{display:none}.admin-tabs{gap:20px}.admin-tabs button{font-size:.875rem}.connection-card h2{font-size:2.2rem}.studio-login{padding-bottom:10px}}
