@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
*{box-sizing:border-box}:root{--ink:#101c2b;--ink-soft:#263c4c;--muted:#627985;--muted-light:#82959e;--surface:#e4f7f7;--surface-soft:#edf7f7;--surface-strong:#d9eef0;--card:#f8fcfc;--white:#fff;--accent:#cc561b;--accent-hover:#b94b17;--danger:#b52e2e;--line:#101c2b17;--line-strong:#101c2b29;--radius:16px;--radius-lg:24px}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}button,input,textarea{font:inherit}button{appearance:none}a{color:inherit}.eyebrow{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:12px;font-weight:850}.booking-page,.booking-entry{min-height:100vh}.booking-entry{padding:48px 6% 80px}.booking-entry-inner{width:100%;max-width:1080px;margin:0 auto}.booking-entry-copy{max-width:820px;margin-bottom:32px}.booking-entry-copy .eyebrow{margin-bottom:18px}.booking-entry-copy h1{letter-spacing:-.065em;max-width:760px;margin:0;font-size:clamp(50px,6vw,78px);font-weight:820;line-height:.94}.booking-entry-lead{max-width:680px;color:var(--muted);margin:22px 0 0;font-size:clamp(16px,1.7vw,19px);line-height:1.55}.booking-top-info{max-width:760px;margin-top:26px}.booking-info{width:100%;color:var(--ink)}.booking-info-full{margin-top:0}.booking-info-compact{background:var(--surface-soft);padding:4px var(--pad)}.booking-info-price{flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:15px 0 13px;display:flex}.booking-top-info .booking-info-price{border-top:1px solid var(--line)}.booking-info-price>span{color:var(--muted);font-size:11px;font-weight:800}.booking-info-price strong{letter-spacing:-.03em;font-size:20px}.booking-info-price small{color:var(--muted);font-size:11px}.booking-info-details{border-block:1px solid var(--line)}.booking-info-details summary{min-height:46px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;font-size:12px;font-weight:750;list-style:none;display:flex}.booking-info-details summary::-webkit-details-marker{display:none}.booking-info-plus{border:1px solid var(--line-strong);border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;transition:transform .2s;display:flex}.booking-info-details[open] .booking-info-plus{transform:rotate(45deg)}.booking-info-content{max-width:700px;color:var(--muted);padding:4px 0 20px}.booking-info-content>div+div{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.booking-info-content h3{color:var(--ink);margin:0 0 8px;font-size:15px}.booking-info-content p{margin:6px 0;font-size:13px;line-height:1.65}.booking-info-emergency{flex-wrap:wrap;align-items:center;gap:8px 18px;padding:13px 0 0;display:flex}.booking-info-emergency span,.booking-info-emergency a{font-size:11px}.booking-info-emergency span{color:var(--muted)}.booking-info-emergency a{font-weight:850;text-decoration:none}.booking-info-emergency a:hover{color:var(--accent)}.booking-form-card{--pad:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.booking-calendar-header{padding:40px var(--pad) 18px}.booking-calendar-header .eyebrow{margin-bottom:12px}.booking-calendar-header h2{letter-spacing:-.05em;margin:0;font-size:clamp(34px,4vw,50px);line-height:1}.booking-calendar-header>p:last-child{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.5}.booking-date-section{padding:14px var(--pad) 30px}.booking-date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.booking-date-button{min-height:105px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#ffffff9e;padding:18px 12px;transition:background-color .18s,border-color .18s,transform .18s}.booking-date-button:hover:not(:disabled){background:var(--white);border-color:var(--line-strong);transform:translateY(-1px)}.booking-date-button span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.booking-date-button strong{margin-top:8px;font-size:17px;display:block}.booking-date-button.is-selected{color:var(--white);background:var(--ink);border-color:var(--ink)}.booking-date-button.is-selected span,.booking-date-button.is-selected .booking-date-status{color:#b8dce8}.booking-date-button:disabled,.booking-date-button.is-unavailable{color:#101c2b61;cursor:not-allowed;background:#ffffff40;border-color:#101c2b0f;transform:none}.booking-date-button:disabled span,.booking-date-button:disabled strong,.booking-date-button.is-unavailable span,.booking-date-button.is-unavailable strong,.booking-date-button.is-unavailable .booking-date-status{color:#101c2b61}.booking-date-status{letter-spacing:0;text-transform:none;margin-top:7px;font-size:9px;font-weight:750;display:block}.booking-date-button.is-low-availability .booking-date-status{color:var(--accent)}.booking-date-navigation{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.booking-date-nav-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:13px;font-weight:800}.booking-date-nav-button:hover:not(:disabled){color:var(--accent)}.booking-date-nav-next{margin-left:auto}.booking-date-nav-button:disabled{cursor:default;opacity:.35}.booking-time-section{padding:34px var(--pad);border-top:1px solid var(--line)}.booking-time-heading{margin-bottom:20px}.booking-time-heading h3{letter-spacing:-.04em;margin:0;font-size:26px}.booking-time-heading p{color:var(--muted);margin:7px 0 0;font-size:13px}.booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.booking-time-button{min-height:98px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#ffffffa3;justify-content:space-between;align-items:center;padding:20px 24px;transition:background-color .18s,border-color .18s,transform .18s;display:flex}.booking-time-button:hover:not(:disabled){background:var(--white);border-color:var(--line-strong);transform:translateY(-1px)}.booking-time-button strong{letter-spacing:-.035em;font-size:29px}.booking-time-button span{color:var(--muted);font-size:11px;font-weight:750}.booking-time-button.is-selected{color:var(--white);background:var(--ink);border-color:var(--ink)}.booking-time-button.is-selected span{color:#b8dce8}.booking-time-button:disabled,.booking-time-button.is-unavailable{color:#101c2b66;cursor:not-allowed;opacity:1;background:#ffffff47;border-color:#101c2b0f;transform:none}.booking-time-button:disabled strong,.booking-time-button:disabled span,.booking-time-button.is-unavailable strong,.booking-time-button.is-unavailable span{color:#101c2b66}.booking-selected-banner{padding:18px var(--pad);background:var(--surface-strong);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;display:grid}.booking-selected-check{width:36px;height:36px;color:var(--white);background:var(--accent);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:flex}.booking-selected-copy{min-width:0}.booking-selected-copy small{color:var(--muted);letter-spacing:.14em;margin-bottom:3px;font-size:9px;font-weight:850;display:block}.booking-selected-copy strong{font-size:15px;line-height:1.35;display:block}.booking-selected-banner button{color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:#ffffff7a;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:750}.booking-selected-banner button:hover:not(:disabled){background:#fffc}.booking-field-section{background:var(--card);border:1px solid var(--line);border-radius:18px;margin:16px 24px;padding:32px}.booking-section-heading{gap:7px;margin-bottom:25px;display:grid}.booking-step-number{color:var(--accent);letter-spacing:.13em;font-size:10px;font-weight:850}.booking-section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(24px,2.7vw,34px);line-height:1.05}.booking-section-heading p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.55}.booking-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.booking-field-full{grid-column:1/-1}.booking-field label{margin-bottom:9px;font-size:14px;font-weight:800;display:block}.booking-field label span{color:var(--accent);margin-left:3px}.booking-field input,.booking-field textarea{width:100%;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:12px;outline:none;padding:15px 16px;transition:border-color .18s,box-shadow .18s}.booking-field input{min-height:54px}.booking-field textarea{resize:vertical;min-height:150px;line-height:1.55}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#8799a1}.booking-field input:hover,.booking-field textarea:hover{border-color:var(--line-strong)}.booking-field input:focus,.booking-field textarea:focus{border-color:#cc561b8c;box-shadow:0 0 0 3px #cc561b14}.booking-field .booking-readonly-input{color:var(--muted);cursor:default;background:#101c2b09}.booking-field .booking-readonly-input:focus{border-color:var(--line);box-shadow:none}.booking-field-meta{color:var(--muted);justify-content:space-between;gap:20px;margin-top:8px;font-size:12px;display:flex}.booking-address-note{background:var(--surface-soft);border-radius:12px;align-items:flex-start;gap:13px;margin-top:22px;padding:16px;display:flex}.booking-address-note>span{border:1px solid var(--line-strong);border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:850;display:flex}.booking-address-note p{color:var(--muted);margin:1px 0 0;font-size:13px;line-height:1.55}.booking-upload{text-align:center;background:var(--white);border-radius:var(--radius);cursor:pointer;border:1.5px dashed #101c2b29;flex-direction:column;justify-content:center;align-items:center;min-height:155px;padding:24px;transition:background-color .18s,border-color .18s;display:flex}.booking-upload:hover{background:#fbfefe;border-color:#cc561b80}.booking-upload input{display:none}.booking-upload-icon{width:42px;height:42px;color:var(--white);background:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:23px;display:flex}.booking-upload strong{font-size:16px}.booking-upload small,.booking-upload-count,.booking-upload-status{color:var(--muted);font-size:11px}.booking-upload small{margin-top:7px}.booking-upload-count{margin:11px 0 0;font-size:12px}.booking-upload-status{margin-top:4px;font-size:12px}.booking-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.booking-image-preview{aspect-ratio:1;border-radius:12px;position:relative;overflow:hidden}.booking-image-preview img{object-fit:cover;width:100%;height:100%}.booking-image-preview button{width:30px;height:30px;color:var(--white);cursor:pointer;background:#101c2be0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:7px;right:7px}.booking-submit-section{padding:28px var(--pad) 30px;background:var(--surface-soft);margin-top:20px}.booking-submit-section>div{flex-direction:column;gap:5px;margin-bottom:17px;display:flex}.booking-submit-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:850}.booking-submit-section strong{font-size:17px}.booking-primary-button{width:100%;min-height:52px;color:var(--white);background:var(--accent);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:24px;padding:15px 25px;font-size:16px;font-weight:800;transition:background-color .18s,transform .18s;display:flex}.booking-primary-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.booking-primary-button:disabled{cursor:wait;opacity:.65;transform:none}.booking-privacy-note{padding:0 var(--pad) 28px;color:var(--muted);background:var(--surface-soft);margin:0;font-size:11px;line-height:1.55}.booking-error{color:var(--danger);margin:8px 0 0;font-size:12px;font-weight:750}.booking-info-box{color:var(--muted);border:1px solid var(--line);background:#101c2b09;border-radius:12px;padding:18px}.booking-submit-error{margin:26px var(--pad) 0;color:#8f2929;background:#b52e2e0e;border:1px solid #b52e2e29;border-radius:12px;padding:16px 18px}.booking-submit-error strong{font-size:13px;display:block}.booking-submit-error p{margin:5px 0 0;font-size:13px;line-height:1.5}.booking-success{color:var(--ink);text-align:center;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff6b;padding:58px}.booking-success-icon{width:60px;height:60px;color:var(--white);background:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 28px;font-size:27px;font-weight:800;display:flex}.booking-success h2{letter-spacing:-.05em;margin:12px auto 20px;font-size:clamp(34px,5vw,54px)}.booking-success>p:not(.eyebrow),.booking-reference{color:var(--muted)}.booking-reference{font-size:13px}.booking-reference strong{color:var(--ink)}.booking-demo-warning{background:#cc561b0e;border:1px solid #cc561b24;border-radius:12px;max-width:620px;margin:28px auto;padding:17px}.booking-date-button:focus-visible,.booking-time-button:focus-visible,.booking-primary-button:focus-visible,.booking-selected-banner button:focus-visible,.booking-date-nav-button:focus-visible,.booking-upload:focus-within,.admin-booking-link:focus-visible,.admin-back-link:focus-visible,.admin-logout-button:focus-visible,.admin-image-actions a:focus-visible{outline-offset:3px;outline:3px solid #cc561b38}.admin-login-page{justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.admin-login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:42px}.admin-login-card h1{letter-spacing:-.05em;margin:12px 0;font-size:42px}.admin-login-lead{color:var(--muted);margin:0 0 28px;line-height:1.5}.admin-login-form{gap:20px;display:grid}.admin-login-form label{margin-bottom:8px;font-size:13px;font-weight:800;display:block}.admin-login-form input{background:var(--white);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;min-height:52px;padding:12px 14px}.admin-login-form input:focus{border-color:#cc561b8c;box-shadow:0 0 0 3px #cc561b14}.admin-login-error{color:var(--danger);background:#b52e2e0f;border:1px solid #b52e2e29;border-radius:10px;margin-bottom:22px;padding:12px 14px;font-size:13px}.admin-page{width:100%;max-width:1300px;min-height:100vh;margin:0 auto;padding:50px 5%}.admin-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;display:flex}.admin-header h1{letter-spacing:-.055em;margin:8px 0 0;font-size:clamp(42px,6vw,70px)}.admin-logout-button{color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:10px;padding:11px 16px;font-weight:750}.admin-logout-button:hover{background:#ffffff73}.admin-empty{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px}.admin-empty h2{margin-top:0}.admin-period-list,.admin-day-list{display:grid}.admin-period-list{gap:52px}.admin-day-list{gap:28px}.admin-period-header,.admin-day-header{justify-content:space-between;align-items:flex-end;display:flex}.admin-period-header{margin-bottom:18px}.admin-period-header h2{letter-spacing:-.045em;margin:2px 0 0;font-size:clamp(30px,4vw,42px)}.admin-period-header>span,.admin-day-header>span{color:var(--muted);font-size:11px}.admin-period-kicker{color:var(--accent);letter-spacing:.14em;margin:0;font-size:9px;font-weight:850}.admin-period-empty{border:1px solid var(--line);color:var(--muted);background:#ffffff52;border-radius:16px;padding:24px;font-size:13px}.admin-day-header{margin-bottom:10px;padding:0 3px}.admin-day-header h3{letter-spacing:-.02em;margin:0;font-size:16px}.admin-day-bookings{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.admin-booking-row{color:var(--ink);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:26px;min-height:124px;padding:21px 25px;text-decoration:none;transition:background-color .16s;display:grid}.admin-booking-row+.admin-booking-row{border-top:1px solid var(--line)}.admin-booking-row:hover{background:#ffffff7a}.admin-row-time{letter-spacing:-.045em;align-self:start;padding-top:3px;font-size:27px;font-weight:850;line-height:1}.admin-row-main{min-width:0}.admin-row-name{flex-wrap:wrap;align-items:baseline;gap:7px 12px;display:flex}.admin-row-name strong{letter-spacing:-.025em;font-size:18px}.admin-row-name span{color:var(--muted);font-size:9px;font-weight:800}.admin-row-address{color:var(--ink-soft);margin:6px 0 0;font-size:13px;font-weight:700}.admin-row-problem{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.45}.admin-row-contact{flex-wrap:wrap;gap:5px 18px;margin-top:10px;display:flex}.admin-row-contact span{color:var(--muted);font-size:10px}.admin-row-side{flex-direction:column;align-items:flex-end;gap:18px;display:flex}.admin-image-badge{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.admin-row-arrow{color:var(--accent);font-size:20px;font-weight:850}.admin-history{border-top:1px solid var(--line);padding-top:26px}.admin-history summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.admin-history summary::-webkit-details-marker{display:none}.admin-history summary strong{margin-top:3px;font-size:18px;display:block}.admin-history summary>span{color:var(--muted);font-size:11px}.admin-history-content{margin-top:25px}.admin-day-group.is-past{opacity:.72}@media (max-width:750px){.admin-period-list{gap:40px}.admin-period-header{flex-direction:column;align-items:flex-start;gap:5px}.admin-day-header{align-items:baseline}.admin-booking-row{grid-template-columns:62px minmax(0,1fr) auto;gap:14px 17px;min-height:0;padding:20px}.admin-row-time{font-size:21px}.admin-row-name strong{font-size:16px}.admin-row-contact{flex-direction:column;gap:2px}}@media (max-width:520px){.admin-booking-row{grid-template-columns:56px minmax(0,1fr);align-items:start}.admin-row-side{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center}.admin-row-contact span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:210px;overflow:hidden}}.admin-detail-page{max-width:1200px}.admin-detail-topbar{margin-bottom:32px}.admin-back-link{color:var(--muted);font-size:13px;font-weight:750;text-decoration:none}.admin-back-link:hover{color:var(--accent)}.admin-detail-hero{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px;padding:8px 2px 10px;display:flex}.admin-detail-heading{min-width:0}.admin-detail-heading-top{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:15px;display:flex}.admin-detail-heading-top .eyebrow{margin:0}.admin-detail-booking-id{color:var(--muted);letter-spacing:.06em;font-size:11px;font-weight:800}.admin-detail-time{color:var(--ink);letter-spacing:-.065em;font-size:clamp(52px,7vw,82px);font-weight:820;line-height:.9}.admin-detail-hero h1{color:var(--muted);letter-spacing:-.02em;margin:16px 0 0;font-size:clamp(18px,2vw,24px);font-weight:650;line-height:1.3}.admin-detail-slot{text-align:right;flex-direction:column;align-items:flex-end;gap:5px;padding-bottom:4px;display:flex}.admin-detail-slot span{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:850}.admin-detail-slot strong{color:var(--ink);font-size:13px}.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-detail-card{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-top:16px;padding:30px}.admin-detail-label{color:var(--accent);letter-spacing:.14em;margin:0 0 9px;font-size:10px;font-weight:850}.admin-detail-card h2{letter-spacing:-.035em;margin:0;font-size:25px}.admin-detail-muted{color:var(--muted);margin:8px 0 0;line-height:1.55}.admin-detail-contact{flex-direction:column;gap:7px;margin-top:18px;display:flex}.admin-detail-contact a{color:var(--ink-soft);font-size:14px;font-weight:650;text-decoration:none}.admin-detail-contact a:hover{color:var(--accent)}.admin-detail-problem>p:last-child{color:var(--ink-soft);white-space:pre-wrap;margin:18px 0 0;font-size:15px;line-height:1.7}.admin-detail-section-header{justify-content:space-between;align-items:center;display:flex}.admin-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.admin-image-card{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}.admin-image-preview{background:var(--surface-soft);display:block;overflow:hidden}.admin-image-preview img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform .2s;display:block}.admin-image-preview:hover img{transform:scale(1.02)}.admin-image-info{padding:14px}.admin-image-info>div:first-child{flex-direction:column;gap:3px;display:flex}.admin-image-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-image-info span{color:var(--muted);font-size:10px}.admin-image-actions{gap:8px;margin-top:13px;display:flex}.admin-image-actions a{color:var(--ink);border:1px solid var(--line-strong);text-align:center;border-radius:8px;flex:1;padding:8px 10px;font-size:11px;font-weight:750;text-decoration:none}.admin-image-actions a:hover{background:var(--surface-soft)}.admin-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px;display:grid}.admin-detail-meta-grid div{flex-direction:column;gap:5px;display:flex}.admin-detail-meta-grid span{color:var(--muted);font-size:11px}.admin-detail-meta-grid strong{font-size:14px}@media (min-width:1050px){.booking-entry{padding:56px 5% 90px}.booking-entry-inner{grid-template-columns:minmax(340px,.75fr) minmax(620px,1.25fr);align-items:start;gap:clamp(55px,6vw,105px);max-width:1500px;display:grid}.booking-entry-copy{max-width:500px;margin:0;position:sticky;top:48px}.booking-entry-copy h1{max-width:500px;font-size:clamp(58px,5vw,82px);line-height:.91}.booking-entry-lead{max-width:470px;font-size:17px}.booking-top-info{max-width:470px;margin-top:28px}.booking-top-info .booking-info-price strong{font-size:21px}.booking-form-card{width:100%;min-width:0}.booking-calendar-header{padding-top:38px}.booking-calendar-header h2{font-size:clamp(40px,3.4vw,52px)}}@media (max-width:800px){.booking-entry{padding:40px 5% 65px}.booking-form-card{--pad:30px}.booking-field-section{margin-inline:18px;padding:28px}}@media (max-width:750px){.admin-page{padding:34px 4%}.admin-header{align-items:center;gap:20px}.admin-header h1{font-size:44px}.admin-logout-button{padding:10px 14px}.admin-booking-card{grid-template-columns:1fr}.admin-booking-date{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:12px;padding:17px 20px}.admin-booking-date strong{margin:0;font-size:19px}.admin-booking-main{padding:21px 20px}.admin-booking-action{border-top:1px solid var(--line);padding:0 20px 20px}.admin-booking-link{width:100%}.admin-detail-hero{flex-direction:column;align-items:flex-start;gap:20px}.admin-detail-time{font-size:clamp(54px,16vw,72px)}.admin-detail-slot{border-top:1px solid var(--line);text-align:left;align-items:flex-start;width:100%;padding-top:16px}.admin-detail-grid,.admin-detail-meta-grid,.admin-image-grid{grid-template-columns:1fr}.admin-detail-card{padding:23px 20px}}@media (max-width:600px){.booking-entry{padding:34px 4% 55px}.booking-entry-copy{margin-bottom:24px;padding:0 2%}.booking-entry-copy h1{font-size:clamp(46px,13vw,60px)}.booking-entry-lead{margin-top:18px;font-size:16px}.booking-top-info{margin-top:20px}.booking-top-info .booking-info-price{padding:12px 0 10px}.booking-top-info .booking-info-price strong{font-size:18px}.booking-top-info .booking-info-details summary{min-height:42px}.booking-top-info .booking-info-emergency{padding-top:10px}.booking-form-card{--pad:22px;border-radius:20px}.booking-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-date-button{min-height:88px}.booking-time-grid{grid-template-columns:1fr}.booking-time-button{min-height:88px}.booking-selected-banner{grid-template-columns:auto 1fr;gap:11px}.booking-selected-banner button{grid-column:2;justify-self:start}.booking-selected-copy strong{font-size:14px}.booking-field-section{margin:12px;padding:24px 20px}.booking-input-grid{grid-template-columns:1fr}.booking-field-full{grid-column:auto}.booking-field-meta{flex-direction:column;align-items:flex-start;gap:4px}.booking-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-upload{min-height:145px}.booking-success{padding:42px 24px}}.admin-danger-zone{justify-content:space-between;align-items:center;gap:30px;display:flex}.admin-danger-zone>div:first-child{max-width:620px}.admin-danger-zone>div:first-child>p:last-child{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.55}.admin-cancel-area{flex:none}.admin-cancel-button{color:var(--danger);cursor:pointer;background:0 0;border:1px solid #b52e2e4d;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:800}.admin-cancel-button:hover{background:#b52e2e0f}.admin-cancel-button:disabled{cursor:wait;opacity:.55}.admin-cancel-error{color:var(--danger);max-width:250px;margin:8px 0 0;font-size:11px}@media (max-width:750px){.admin-danger-zone{flex-direction:column;align-items:stretch}.admin-cancel-button{width:100%}}.admin-sms-section{background:#f8fcfc;border:1px solid #101c2b1f;border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-top:16px;padding:30px;display:flex}.admin-sms-section h2{color:#101c2b;letter-spacing:-.035em;margin:0;font-size:24px}.admin-sms-status{color:#627985;margin:9px 0 0;font-size:13px}.admin-sms-status.is-sent{color:#101c2b;font-weight:700}.admin-sms-area{flex:none}.admin-sms-button{appearance:none;color:#fff;cursor:pointer;background:#101c2b;border:0;border-radius:10px;padding:13px 18px;font-family:inherit;font-size:13px;font-weight:800;transition:opacity .15s,transform .15s}.admin-sms-button:hover:not(:disabled){opacity:.9}.admin-sms-button:active:not(:disabled){transform:translateY(1px)}.admin-sms-button:disabled{cursor:default;opacity:.45}.admin-sms-message{color:#627985;max-width:230px;margin:8px 0 0;font-size:11px}.admin-reschedule-section{justify-content:space-between;align-items:center;gap:30px;display:flex}.admin-reschedule-section h2{color:#101c2b;letter-spacing:-.035em;margin:0;font-size:24px}.admin-reschedule-section p{color:#627985;margin:8px 0 0;font-size:13px;line-height:1.6}.admin-rescheduled-status{font-weight:700}.admin-reschedule-button,.admin-reschedule-save{appearance:none;color:#fff;cursor:pointer;background:#101c2b;border:0;border-radius:10px;padding:13px 18px;font-family:inherit;font-size:13px;font-weight:800;transition:opacity .15s,transform .15s}.admin-reschedule-button:hover:not(:disabled),.admin-reschedule-save:hover:not(:disabled){opacity:.9}.admin-reschedule-button:active:not(:disabled),.admin-reschedule-save:active:not(:disabled){transform:translateY(1px)}.admin-reschedule-form{min-width:310px}.admin-reschedule-fields{grid-template-columns:1fr 110px;gap:12px;display:grid}.admin-reschedule-fields label{flex-direction:column;gap:6px;display:flex}.admin-reschedule-fields label span{color:#627985;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.admin-reschedule-fields input,.admin-reschedule-fields select{appearance:none;color:#101c2b;font:inherit;background:#fff;border:1px solid #101c2b26;border-radius:10px;padding:12px}.admin-reschedule-actions{gap:8px;margin-top:12px;display:flex}.admin-reschedule-cancel{appearance:none;color:#101c2b;cursor:pointer;background:0 0;border:1px solid #101c2b26;border-radius:10px;padding:12px 15px;font-family:inherit;font-size:12px;font-weight:700}.admin-reschedule-button:disabled,.admin-reschedule-save:disabled,.admin-reschedule-cancel:disabled{cursor:default;opacity:.5}.admin-reschedule-message{font-weight:700;margin-top:10px!important;font-size:11px!important}.admin-reschedule-message.is-error{color:#a23a2a}.admin-reschedule-message.is-success{color:#101c2b}@media (max-width:750px){.admin-sms-section,.admin-reschedule-section{flex-direction:column;align-items:stretch}.admin-sms-section{padding:23px 20px}.admin-reschedule-form{width:100%;min-width:0}.admin-reschedule-fields{grid-template-columns:1fr}.admin-sms-button,.admin-reschedule-button,.admin-reschedule-save{width:100%}}.admin-block-manager{background:#f8fcfc;border:1px solid #101c2b1f;border-radius:22px;margin-top:48px;margin-bottom:32px;padding:30px}.admin-block-manager-heading{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.admin-block-manager-heading h2{color:#101c2b;letter-spacing:-.04em;margin:0;font-size:28px}.admin-block-manager-heading p{color:#627985;margin:8px 0 0;font-size:13px;line-height:1.6}.admin-block-date{flex-direction:column;flex:none;gap:7px;display:flex}.admin-block-date span{color:#627985;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.admin-block-date input{color:#101c2b;font:inherit;background:#fff;border:1px solid #101c2b26;border-radius:10px;padding:11px 13px}.admin-block-slots{gap:12px;margin-top:26px;display:grid}.admin-block-slot{background:#fff;border:1px solid #101c2b1a;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.admin-block-slot.is-blocked{background:#cc561b0a;border-color:#cc561b38}.admin-block-slot-info{flex-wrap:wrap;align-items:baseline;gap:10px 18px;display:flex}.admin-block-slot-info strong{color:#101c2b;font-size:22px}.admin-block-slot-info>span{color:#627985;font-size:12px}.admin-block-status{font-weight:700}.admin-block-status.is-blocked{color:#cc561b}.admin-block-button{appearance:none;color:#fff;cursor:pointer;background:#101c2b;border:1px solid #101c2b;border-radius:10px;flex:none;padding:12px 16px;font-family:inherit;font-size:12px;font-weight:800}.admin-block-button.is-open{color:#101c2b;background:0 0;border-color:#101c2b2e}.admin-block-button:disabled{cursor:default;opacity:.5}.admin-block-loading,.admin-block-message{color:#627985;margin:20px 0 0;font-size:12px}@media (max-width:750px){.admin-block-manager{padding:23px 20px}.admin-block-manager-heading{flex-direction:column;align-items:stretch}.admin-block-date input{width:100%}.admin-block-slot{flex-direction:column;align-items:stretch}.admin-block-button{width:100%}}.admin-delay-section{justify-content:space-between;align-items:center;gap:30px;display:flex}.admin-delay-section h2{color:#101c2b;letter-spacing:-.035em;margin:0;font-size:24px}.admin-delay-section p{color:#627985;margin:8px 0 0;font-size:13px;line-height:1.6}.admin-delay-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-delay-actions button{appearance:none;color:#fff;cursor:pointer;background:#101c2b;border:0;border-radius:10px;min-width:130px;padding:13px 18px;font-family:inherit;font-size:13px;font-weight:800;transition:opacity .15s,transform .15s}.admin-delay-actions button:hover:not(:disabled){opacity:.9}.admin-delay-actions button:active:not(:disabled){transform:translateY(1px)}.admin-delay-actions button:disabled{cursor:default;opacity:.5}.admin-delay-actions p{flex-basis:100%;margin:2px 0 0;font-size:11px;font-weight:700}@media (max-width:750px){.admin-delay-section{flex-direction:column;align-items:stretch}.admin-delay-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.admin-delay-actions button{width:100%;min-width:0}}.admin-cancel-message{max-width:280px;margin:9px 0 0;font-size:11px;font-weight:700;line-height:1.5}.admin-cancel-message.is-success{color:#101c2b}.admin-cancel-message.is-warning{color:#a66a13}.admin-cancel-message.is-error{color:#a23a2a}.admin-booking-tools{gap:18px;margin-bottom:42px;display:grid}.admin-booking-tabs{flex-wrap:wrap;gap:8px;display:flex}.admin-booking-tab{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff59;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:800;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.admin-booking-tab:hover{color:var(--ink);background:#ffffffa6}.admin-booking-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.admin-booking-tab span{background:#101c2b14;border-radius:999px;justify-content:center;align-items:center;min-width:24px;padding:4px 7px;font-size:9px;display:inline-flex}.admin-booking-tab.is-active span{background:#ffffff24}.admin-booking-search{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.admin-booking-search>label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:850;display:block}.admin-booking-search-row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.admin-booking-search input{border:1px solid var(--line-strong);color:var(--ink);font:inherit;background:#fff;border-radius:11px;outline:none;width:100%;min-width:0;padding:12px 14px}.admin-booking-search input:focus{border-color:#cc561b8c;box-shadow:0 0 0 3px #cc561b14}.admin-booking-search button,.admin-search-clear{border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.admin-booking-search button{background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer}.admin-search-clear{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.admin-status-badge{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850}.admin-status-badge.is-active{color:var(--ink);background:#101c2b12}.admin-status-badge.is-past{color:var(--muted);background:#6279851a}.admin-booking-row.is-cancelled{opacity:1;background:#b52e2e09;border-left:4px solid #b52e2e80}.admin-booking-row.is-cancelled:hover{background:#b52e2e12}.admin-booking-row.is-cancelled .admin-row-time{color:var(--danger)}.admin-booking-row.is-cancelled .admin-row-name strong{color:var(--ink-soft)}.admin-booking-row.is-cancelled .admin-row-address,.admin-booking-row.is-cancelled .admin-row-problem,.admin-booking-row.is-cancelled .admin-row-contact span{color:var(--muted)}.admin-booking-row.is-cancelled .admin-row-arrow{color:#b52e2ea6}.admin-status-badge.is-cancelled{color:var(--danger);background:#b52e2e14;border:1px solid #b52e2e2e}@media (max-width:750px){.admin-booking-tools{margin-bottom:34px}.admin-booking-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-booking-tab{justify-content:space-between}.admin-booking-search{padding:15px}.admin-booking-search-row{grid-template-columns:1fr auto}.admin-search-clear{grid-column:1/-1}}@media (max-width:520px){.admin-booking-tabs,.admin-booking-search-row{grid-template-columns:1fr}.admin-booking-search button,.admin-search-clear{width:100%}}.brand-header{border-bottom:1px solid #101c2b14;width:100%}.brand-header-inner{align-items:center;width:100%;min-height:86px;padding:12px 5%;display:flex}.brand-header-logo{align-items:center;text-decoration:none;display:inline-flex}.brand-header-logo img{object-fit:contain;width:auto;max-width:250px;height:auto;max-height:58px;display:block}@media (max-width:600px){.brand-header-inner{min-height:72px;padding:10px 4%}.brand-header-logo img{max-width:205px;max-height:46px}}.admin-push-control{justify-content:flex-end;align-items:center;gap:10px;width:100%;max-width:1300px;margin:0 auto;padding:18px 5% 0;display:flex}.admin-push-control button{appearance:none;color:#fff;cursor:pointer;background:#101c2b;border:1px solid #101c2b;border-radius:999px;min-height:42px;padding:10px 18px;font-family:inherit;font-size:12px;font-weight:800;transition:opacity .16s,transform .16s}.admin-push-control button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.admin-push-control button:disabled{cursor:default;opacity:.55}.admin-push-control>span{color:#101c2b;background:#ffffff52;border:1px solid #101c2b1f;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:11px;font-weight:750;display:inline-flex}.admin-push-control>span:before{content:"";background:#cc561b;border-radius:50%;width:7px;height:7px;display:block}.admin-push-control small{color:#a23a2a;font-size:10px;font-weight:700}@media (max-width:750px){.admin-push-control{padding:14px 4% 0}.admin-push-control button,.admin-push-control>span{justify-content:center;width:100%}}
