:root{--primary:#1463ff;--ink:#10213b;--muted:#61708a;--line:#dce5f1;--wash:#f4f7fb;font-family:Inter,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--wash);line-height:1.6}a{text-decoration:none;color:inherit}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}header nav{display:flex;align-items:center;gap:24px}.brand{font-weight:850;font-size:1.2rem}.hero,.section,.dashboard{max-width:1180px;margin:auto;padding:90px 24px}.hero{min-height:640px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:70px}.hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.055em;margin:12px 0 24px}.hero p,.panel p,article p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-weight:800;font-size:.75rem}.button{display:inline-flex;border:0;border-radius:12px;background:var(--primary);color:#fff;padding:14px 22px;font-weight:750;cursor:pointer}.small{padding:9px 15px}.actions{display:flex;align-items:center;gap:24px;margin-top:30px}.hero aside,.panel,.cards article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 18px 50px #19365d14}.hero li{margin:14px 0}.section h2,.cta h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.cta{text-align:center;padding:70px 24px;background:var(--ink);color:#fff}.auth{max-width:460px;margin:80px auto}.auth label{display:grid;gap:7px;margin:18px 0;font-weight:700}.auth input:not([type=checkbox]){padding:13px;border:1px solid var(--line);border-radius:10px;font:inherit}.check{display:flex!important}.error{color:#a51d2d;background:#fff0f2;padding:10px}.heading{display:flex;justify-content:space-between}.dashboard .panel{margin-top:22px}.metric{display:grid;width:260px}.metric strong{font-size:2.5rem}footer{text-align:center;padding:35px;color:var(--muted)}@media(max-width:760px){header nav>a:first-child{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px;gap:30px}.cards{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}.section,.dashboard{padding:60px 20px}}
.booking-shell{max-width:1240px;margin:auto;padding:45px 24px}.booking-progress{margin-bottom:28px}.booking-progress>div{height:8px;background:#dfe7f2;border-radius:20px;overflow:hidden}.booking-progress i{display:block;height:100%;background:var(--primary);transition:.25s}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px}.booking-main,.booking-summary{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}.booking-summary{position:sticky;top:20px;height:max-content}.summary-toggle{border:0;background:none;font:inherit;font-weight:800;padding:0}.booking-step h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px}.secondary{background:#e9eff8;color:var(--ink)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-grid label,.question>label{display:grid;gap:7px}.field-grid input,.field-grid select,.field-grid textarea,.question input,.question textarea{padding:13px;border:1px solid var(--line);border-radius:11px;font:inherit}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.option-card{display:grid!important;grid-template-columns:auto 1fr;gap:4px 10px!important;align-items:start;padding:16px;border:1px solid var(--line);border-radius:14px;cursor:pointer}.option-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px #1463ff33}.option-card span{grid-column:2;color:var(--muted)}#summary-content ul{list-style:none;padding:0}#summary-content li,.summary-total{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-total{font-size:1.2rem;border:0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.inline{display:inline}.wide{max-width:720px}.success{background:#e9f9ef;color:#176b38;padding:12px;border-radius:10px}@media(max-width:800px){.booking-grid{grid-template-columns:1fr}.booking-summary{position:static;grid-row:1}.booking-summary #summary-content{display:none}.booking-summary #summary-content.open{display:block}.field-grid,.option-grid{grid-template-columns:1fr}}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-grid .panel{margin-top:0}.report-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label,.panel label{display:grid;gap:5px}.filters input,.filters select,.panel input,.panel select,.panel textarea,.header-search input{padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:10px 0}.faq-list summary{cursor:pointer;font-weight:750}.link-button{border:0;background:transparent;font:inherit;cursor:pointer}.header-search input{width:140px}hr{border:0;border-top:1px solid var(--line);margin:22px 0}@media(max-width:1000px){header{height:auto;padding:16px 22px}header nav{flex-wrap:wrap;justify-content:flex-end;gap:12px}.report-grid{grid-template-columns:1fr}}@media(max-width:760px){header nav a:not(.button),.header-search{display:none}}
@media print{header,footer,.filters,.heading .actions{display:none}.dashboard{padding:0}.panel,.cards article{box-shadow:none;break-inside:avoid}}
.booking-shell{padding:42px 24px 70px}.booking-progress{background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0;margin:0;padding:24px 30px}.booking-grid{gap:0}.booking-main{border-radius:0 0 0 18px;border-top:0;padding:38px 46px;min-height:620px}.booking-summary{border-radius:0 0 18px 0;border-top:0;background:#f8fafc;padding:28px}.step-help{font-size:1.05rem;margin-top:0;color:var(--muted)}.date-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:stretch;margin:30px 0 26px}.date-options{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));border:1px solid #dbe2ea;border-radius:12px;overflow:hidden;background:#fff}.date-card{border:0;border-right:1px solid #e3e8ef;background:#fff;padding:15px 8px;display:grid;gap:2px;place-items:center;font:inherit;cursor:pointer;min-height:82px}.date-card:last-child{border:0}.date-card span{color:#657186;font-size:.84rem}.date-card:hover,.date-card.selected{background:#e9f5ff;color:#0876c9;box-shadow:inset 0 -3px #1484d5}.date-arrow{border:1px solid #dbe2ea;background:#fff;color:#177cc6;font-size:1.15rem;cursor:pointer}.date-arrow:first-child{border-radius:12px 0 0 12px}.date-arrow:last-child{border-radius:0 12px 12px 0}.date-arrow:disabled{color:#b8c0ca}.slots-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.slots-heading span{color:#788397;font-size:.85rem}.time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.time-card{position:relative;border:1px solid #dbe2ea;border-radius:12px;background:#fff;padding:15px;display:grid;place-items:center;cursor:pointer}.time-card input{position:absolute;opacity:0}.time-card span{font-size:.72rem;color:#8390a2}.time-card:hover,.time-card.selected,.time-card:has(input:checked){border:2px solid #1684d5;background:#eaf6ff;color:#0876c9}.slot-loading,.empty-slots{grid-column:1/-1;text-align:center;padding:32px;background:#fff;border:1px dashed #ccd5df;border-radius:12px;color:#718096}.checkout-fields{margin:25px 0}.terms-check{grid-column:1/-1;background:#f5f8fc;border:1px solid #dce5ef;padding:14px;border-radius:10px}.notice{background:#eff7ff;border:1px solid #cfe6fb;border-radius:12px;padding:16px;margin-top:20px}.public-body{background:#fff}.public-body .hero{position:relative;min-height:660px}.public-body .hero:before{content:"";position:absolute;inset:55px 0 55px 56%;border-radius:30px;background:linear-gradient(145deg,#d9eefc,#f4f9fd);z-index:-1}.public-body .section{padding-top:75px;padding-bottom:75px}.public-body .section:nth-of-type(even){background:#f6f9fc;max-width:none;padding-left:max(24px,calc((100% - 1180px)/2));padding-right:max(24px,calc((100% - 1180px)/2))}@media(max-width:1050px){.date-options{overflow-x:auto;grid-template-columns:repeat(7,92px)}.booking-main{padding:30px}.time-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.booking-main,.booking-summary{border-radius:0}.booking-main{min-height:520px;padding:24px 18px}.date-picker{grid-template-columns:36px minmax(0,1fr) 36px}.date-options{grid-template-columns:repeat(7,78px)}.time-options{grid-template-columns:1fr}.slots-heading{align-items:flex-start;flex-direction:column}.booking-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;z-index:3}.public-body .hero:before{display:none}}
.admin-body{background:#f5f7fb;color:#172033}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;background:#101828;color:#cbd5e1;overflow-y:auto;z-index:30;transition:.25s}.sidebar-brand{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #ffffff14}.sidebar-brand>a{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800;line-height:1.05}.brand-mark{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#1683e7,#0756a0);color:#fff;font-size:.82rem;box-shadow:0 8px 25px #0575d64d}.sidebar-brand button{border:0;background:#ffffff12;color:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer}.sidebar-nav{padding:18px 12px 35px}.sidebar-nav p{margin:23px 12px 8px;text-transform:uppercase;font-size:.66rem;font-weight:800;letter-spacing:.12em;color:#64748b}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;margin:2px 0;font-size:.88rem;color:#b8c2d1;transition:.15s}.sidebar-nav a:hover,.sidebar-nav a.active{background:#1d4ed8;color:#fff}.sidebar-nav i{width:21px;text-align:center;font-style:normal;font-size:1rem}.admin-workspace{min-width:0}.admin-topbar{height:78px;padding:0 30px;background:#fff;border-bottom:1px solid #e7ebf1;display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:20}.admin-search{max-width:560px;flex:1;display:flex;align-items:center;gap:10px;background:#f7f8fb;border:1px solid #e5e9f0;border-radius:10px;padding:0 13px}.admin-search input{width:100%;border:0;background:transparent;padding:11px 0;outline:0}.admin-user{display:flex;align-items:center;gap:10px;margin-left:auto}.admin-user>div{display:grid;line-height:1.2}.admin-user small{color:#7c8798}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f2ff;color:#1267bd;font-weight:800}.icon-button,.menu-toggle{border:0;background:transparent;font-size:1.2rem;cursor:pointer}.admin-content{padding:32px;max-width:1600px;margin:auto}.admin-page,.admin-body .dashboard{max-width:100%;padding:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-size:1.85rem;margin:5px 0 4px;letter-spacing:-.025em}.page-heading p{margin:0;color:#687386}.breadcrumb{color:#2877c9;font-size:.78rem;font-weight:700}.filter-bar{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e5e9ef;border-radius:12px;padding:13px;margin-bottom:16px}.filter-bar input{min-width:250px}.filter-bar input,.filter-bar select,.admin-form input,.admin-form select,.admin-form textarea{border:1px solid #dce2ea;border-radius:9px;padding:10px 12px;font:inherit;background:#fff;width:100%}.filter-bar button{border:0;background:#e9f2fc;color:#1265b4;border-radius:8px;padding:10px 16px;font-weight:700}.table-card{overflow:auto;background:#fff;border:1px solid #e4e9f0;border-radius:13px;box-shadow:0 3px 12px #162b4d08}.table-card table{min-width:850px}.table-card th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#788397;background:#fafbfc}.table-card td strong,.table-card td small{display:block}.table-card td small{color:#8a94a5}.badge{display:inline-flex;padding:4px 9px;border-radius:20px;background:#eef2f7;font-size:.73rem;font-weight:700}.success-badge{background:#e5f8ef;color:#14764c}.muted-badge{color:#7b8492}.row-action{color:#126cc5;font-weight:700}.empty-state{text-align:center;padding:35px;color:#7b8492}.admin-form{display:grid;gap:18px}.form-section{background:#fff;border:1px solid #e4e9f0;border-radius:14px;padding:24px;box-shadow:0 3px 12px #162b4d08}.form-section h2{font-size:1rem;margin:0 0 20px;padding-bottom:13px;border-bottom:1px solid #edf0f4}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:grid;gap:7px;font-size:.82rem;font-weight:700}.span-2{grid-column:span 2}.choice-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.choice-columns fieldset{border:1px solid #e0e5ec;border-radius:10px;padding:14px}.choice-columns legend{font-weight:800}.choice-columns .check{margin:8px 0}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px;font-weight:500!important}.check input{width:auto}.toggle-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px}.price-preview{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;padding:14px;border-radius:10px;background:#f1f7fe;color:#27577e}.toast{position:fixed;top:92px;right:30px;z-index:100;background:#fff;border-left:4px solid #25a36a;padding:13px 18px;border-radius:8px;box-shadow:0 10px 35px #18253b22;transition:.3s}.toast.hide{opacity:0;transform:translateY(-10px);pointer-events:none}.menu-toggle{display:none}.sidebar-collapsed .admin-shell{grid-template-columns:78px 1fr}.sidebar-collapsed .sidebar-nav span,.sidebar-collapsed .sidebar-nav p,.sidebar-collapsed .sidebar-brand a span:last-child{display:none}.sidebar-collapsed .sidebar-nav a{justify-content:center}.site-header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1220px)/2));border-bottom:1px solid #e6ebf1;position:sticky;top:0;z-index:20}.site-header .brand{display:flex;align-items:center;gap:12px;color:#246da9}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav>a:not(.button){padding:31px 0 25px;border-bottom:2px solid transparent}.site-header nav>a.active,.site-header nav>a:hover{border-color:#167ac6}.site-footer{background:#0f1f34;color:#b8c4d3;padding:60px max(24px,calc((100% - 1180px)/2));display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.site-footer>div{display:grid;align-content:start;gap:9px}.site-footer .brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}.site-footer small{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:20px}@media(max-width:900px){.admin-shell{display:block}.admin-sidebar{position:fixed;left:-280px;width:270px}.admin-sidebar.open{left:0;box-shadow:10px 0 40px #0003}.menu-toggle{display:block}.admin-topbar{padding:0 16px}.admin-content{padding:20px}.admin-user>div,.admin-search{display:none}.form-grid,.choice-columns{grid-template-columns:1fr}.span-2{grid-column:auto}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 20px 30px #0002;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header .menu-toggle{display:block}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:auto}}@media(max-width:520px){.admin-content{padding:16px}.page-heading{align-items:flex-start;flex-direction:column}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar input{min-width:0}.form-section{padding:18px}.site-header{height:72px}.site-header nav{top:72px}}
.location-step{text-align:center;padding:28px 0}.location-step h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.28;margin:0 auto 12px;max-width:760px}.location-subtitle{font-size:1.2rem;color:#4e5968;margin:0 0 30px}.address-search{position:relative;max-width:750px;margin:0 auto;text-align:left}.address-search>input{width:100%;height:92px;border:2px solid #69a9d2;border-radius:17px;background:#eaf3ff;padding:0 24px 0 60px;font-size:1.25rem;outline:0}.address-search>input:focus{box-shadow:0 0 0 4px #5aa5d52b}.address-pin{position:absolute;left:24px;top:34px;color:#62a5cf;font-size:1.1rem;z-index:2}.address-suggestions{position:absolute;left:0;right:0;top:96px;background:#fff;border:1px solid #dce2e8;border-radius:14px;box-shadow:0 18px 40px #1720331c;overflow:hidden;z-index:20}.address-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid #edf0f3;background:#fff;padding:18px;text-align:left;font-size:1rem;cursor:pointer}.address-suggestions button:hover{background:#f1f7ff}.address-suggestions button:last-child{border:0}.address-loading{padding:18px;color:#6b7584}.location-step .form-message{min-height:24px;margin:14px 0 0}.location-step .booking-actions{max-width:750px;margin:34px auto 0}
.embed-body{margin:0;background:transparent;overflow-x:hidden}.embed-theme-light{background:#fff}.embed-container{min-height:100vh}.embed-body .booking-shell{max-width:1180px;padding:12px}.embed-body .booking-progress{border-radius:var(--embed-radius) var(--embed-radius) 0 0}.embed-body .booking-main{border-radius:0 0 0 var(--embed-radius)}.embed-body .booking-summary{border-radius:0 0 var(--embed-radius) 0}.embed-powered{text-align:center;padding:8px;color:#7a8493;font-size:.75rem}.embed-compact .booking-shell{padding:0}.embed-compact .booking-progress{padding:15px 20px}.embed-compact .booking-main{padding:25px;min-height:520px}@media(max-width:800px){.embed-body .booking-shell{padding:0}.embed-body .booking-progress,.embed-body .booking-main,.embed-body .booking-summary{border-radius:0}.embed-body .booking-summary{grid-row:auto}.embed-body .booking-main{padding:22px 16px}.embed-body .location-step h1{font-size:2.2rem}.embed-body .address-search>input{height:72px;font-size:1rem}.embed-body .address-pin{top:25px}}@media(max-width:430px){.embed-body .booking-progress{padding:14px}.embed-body .booking-main{padding:18px 12px}.embed-body .booking-step h1{font-size:1.8rem}.embed-body .location-step h1{font-size:2rem}.embed-body .booking-actions .button{padding:12px 16px}}
