.booking-checking{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:1rem;padding:2rem;display:grid}.loader{border:2px solid var(--line);border-top-color:var(--mint);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-panel{place-self:center;width:min(700px,100%);padding:clamp(2rem,5vw,5.5rem)}.back-link{color:#c7c7c4;margin-bottom:clamp(2rem,5vh,5rem);display:inline-block}.auth-panel h1{letter-spacing:-.07em;margin:0;font-size:clamp(3.2rem,5.4vw,5.7rem);line-height:.95}.auth-panel h1 em{color:var(--mint);font-style:normal}.auth-intro{max-width:570px;color:var(--muted);margin:1.4rem 0 2rem;font-size:1.05rem}.auth-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:1.8rem;display:grid}.auth-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:1rem}.auth-tabs button[aria-selected=true]{color:var(--text);border-color:var(--mint);font-weight:700}.auth-form{gap:1.2rem;display:grid}.auth-form>label,.form-row label{color:#c9c9c6;gap:.55rem;font-size:.92rem;display:grid}.auth-form input:not([type=checkbox]){color:#fff;background:#050505;border:1px solid #555;border-radius:2px;outline:none;width:100%;min-height:58px;padding:.85rem 1rem}.auth-form input:focus{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}.form-row--two{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-options{justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;display:flex}.form-options a{text-decoration:underline}.check-label{color:#c9c9c6;align-items:center;gap:.55rem;display:flex}.check-label input{width:20px;height:20px;accent-color:var(--mint)}.form-error,.form-success{border-left:3px solid var(--danger);color:#ffb3b3;background:#ff6b6b14;padding:.85rem 1rem;font-size:.9rem;line-height:1.45}.form-success{border-color:var(--mint);color:#aaffea;background:#00f2b514}.auth-submit{width:100%;margin-top:.5rem}.auth-visual{align-content:center;min-height:100vh;padding:clamp(3rem,7vw,8rem);display:grid;position:relative;overflow:hidden}.auth-visual:after{content:"";background:linear-gradient(90deg,#090909 0%,#090909a6 35%,#09090926);position:absolute;inset:0}.auth-visual>img{object-fit:cover;filter:grayscale();width:100%;height:100%;position:absolute;inset:0}.auth-visual ol{z-index:1;gap:1.1rem;max-width:390px;margin:0;padding:0;list-style:none;display:grid;position:relative}.auth-visual li{color:#8a8a87;grid-template-columns:52px 1fr;gap:1.1rem;display:grid}.auth-visual li>span{border:1px solid;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.2rem;display:grid}.auth-visual li.active{color:#fff}.auth-visual li.active>span{border-color:var(--mint);color:var(--mint)}.auth-visual li strong{font-size:1.2rem}.auth-visual li p{margin:.5rem 0 0;line-height:1.5}.ui-icon{flex:none;display:block}.customer-app{background:#080808;min-height:100vh}.customer-topbar{z-index:20;background:#080808;border-bottom:1px solid #282828;justify-content:space-between;align-items:center;height:78px;padding:0 3rem;display:flex;position:fixed;inset:0 0 auto}.customer-brand{letter-spacing:.02em;align-items:center;gap:.75rem;font-size:1.2rem;display:flex}.customer-brand img{object-fit:contain;width:29px;height:42px}.customer-topbar>div{align-items:center;gap:2rem;display:flex}.customer-topbar>div>span{color:#ddd}.top-balance{border-left:1px solid #444;min-width:130px;padding-left:2rem}.top-balance small{color:var(--muted);font-size:.72rem;display:block}.top-balance strong{color:var(--mint);margin-top:.15rem;font-size:1.35rem;display:block}.customer-sidebar{z-index:15;background:#080808;border-right:1px solid #2a2a2a;flex-direction:column;justify-content:space-between;width:245px;padding:1.5rem 1.2rem;display:flex;position:fixed;inset:78px auto 0 0}.customer-sidebar nav{gap:.35rem;display:grid}.customer-sidebar a,.customer-sidebar button{color:#ddd;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.customer-sidebar a:hover,.customer-sidebar button:hover{color:#fff;background:#151515}.customer-sidebar a[aria-current=page]{border-left-color:var(--mint);color:#fff;background:#1b1b1b}.customer-sidebar a[aria-current=page] .ui-icon{color:var(--mint)}.customer-mobile-nav{display:none}.customer-main{min-height:100vh;margin-left:245px;padding:106px clamp(1.5rem,3.5vw,4rem) 4rem}.customer-greeting{background:#161616;border:1px solid #292929;justify-content:space-between;align-items:center;gap:2rem;min-height:96px;margin-bottom:1rem;padding:1.2rem 1.5rem;display:flex}.customer-greeting>div{align-items:center;gap:1.2rem;display:flex}.customer-greeting>div>.ui-icon{color:var(--mint)}.customer-greeting h1{letter-spacing:-.03em;margin:0;font-size:1.55rem}.customer-greeting p{color:var(--muted);margin:.25rem 0 0}.customer-greeting>a{justify-items:center;gap:.2rem;font-size:.72rem;text-decoration:underline;display:grid}.customer-greeting>a img{background:#fff;width:54px;height:54px}.booking-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);align-items:start;gap:.9rem;display:grid}.booking-main-panel{min-width:0}.month-calendar,.booking-selection,.appointment-summary{background:#171717;border:1px solid #292929}.month-calendar{padding:1.35rem 1.5rem 1.5rem}.calendar-heading{grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:1rem;display:grid}.calendar-heading h2{text-align:center;text-transform:capitalize;margin:0;font-size:1.12rem}.calendar-heading button{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid}.calendar-heading button:first-child .ui-icon{transform:rotate(180deg)}.calendar-heading button:disabled{opacity:.2;cursor:not-allowed}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekday-row span{color:var(--mint);text-align:center;padding:.55rem 0;font-size:.78rem}.calendar-grid{gap:.25rem}.calendar-grid button{color:#eee;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-self:center;width:42px;min-height:42px;font:600 .88rem/1 inherit}.calendar-grid button:hover:not(:disabled){outline:1px solid #5b5b5b}.calendar-grid button.outside{color:#686868}.calendar-grid button:disabled{color:#3f3f3f;cursor:not-allowed;text-decoration:line-through}.calendar-grid button.selected{background:var(--mint);color:#001a13;outline:none}.calendar-grid button.availability-unavailable{color:#fff;background:#c43b45}.calendar-grid button.availability-low{color:#160b00;background:#df861f}.calendar-grid button.availability-available:not(.selected){box-shadow:inset 0 0 0 1px #464646}.calendar-grid button.selected.availability-unavailable{background:#e44b57;box-shadow:0 0 0 2px #171717,0 0 0 3px #e44b57}.calendar-grid button.selected.availability-low{background:#f29a34;box-shadow:0 0 0 2px #171717,0 0 0 3px #f29a34}.calendar-grid.is-loading button:not(:disabled){opacity:.55}.availability-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.8rem 1.2rem;margin-top:1rem;font-size:.7rem;display:flex}.availability-legend span{align-items:center;gap:.4rem;display:flex}.availability-legend i{border-radius:50%;width:9px;height:9px;display:block;box-shadow:inset 0 0 0 1px #5a5a5a}.availability-legend i.low{box-shadow:none;background:#df861f}.availability-legend i.unavailable{box-shadow:none;background:#c43b45}.booking-selection{margin-top:.9rem;padding:1.3rem 1.5rem 1.5rem}.booking-selection>h2,.times-heading h2{margin:0;font-size:1rem}.section-caption{color:var(--muted);margin:.25rem 0 1rem;font-size:.78rem}.service-rail{grid-template-columns:repeat(4,minmax(150px,1fr));gap:.65rem;padding-bottom:.3rem;display:grid;overflow-x:auto}.service-rail button{color:#fff;text-align:left;cursor:pointer;background:#101010;border:1px solid #5a5a5a;border-radius:3px;grid-template-rows:45px 1fr auto;gap:.45rem;min-width:150px;min-height:132px;padding:.75rem;display:grid;overflow:hidden}.service-rail button.selected{border:2px solid var(--mint);padding:calc(.75rem - 1px)}.service-rail button img{object-fit:cover;filter:grayscale();width:100%;height:45px}.service-rail button span{min-width:0}.service-rail button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.79rem;display:block;overflow:hidden}.service-rail button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.68rem;display:block;overflow:hidden}.service-rail button b{color:var(--mint);font-size:.78rem}.option-skeleton,.product-skeleton{background:#252525;min-height:132px;animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.45}}.times-heading{border-top:1px solid #303030;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.35rem;padding-top:1.25rem;display:flex}.times-heading span{color:var(--muted);text-transform:capitalize;font-size:.76rem}.time-options,.times-skeleton{grid-template-columns:repeat(6,minmax(70px,1fr));gap:.55rem;margin-top:.8rem;display:grid}.time-options button{color:#fff;cursor:pointer;background:#0c0c0c;border:1px solid #696969;border-radius:3px;min-height:42px}.time-options button.selected{border-color:var(--mint);color:var(--mint)}.times-skeleton span{background:#292929;height:42px;animation:1s infinite alternate pulse}.no-availability{border:1px dashed #555;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding:1rem;display:flex}.no-availability>div{grid-template-columns:auto 1fr;align-items:center;gap:.2rem .75rem;display:grid}.no-availability .ui-icon{color:var(--mint);grid-row:1/3}.no-availability span{color:var(--muted);font-size:.76rem}.no-availability button{border:1px solid var(--mint);color:var(--mint);cursor:pointer;background:0 0;flex:none;padding:.75rem 1rem}.no-availability button:disabled{color:#777;cursor:not-allowed;border-color:#555}.appointment-summary{padding:1.5rem;position:sticky;top:94px}.appointment-summary h2{margin:0 0 1.2rem;font-size:1.08rem}.appointment-summary dl{margin:0}.appointment-summary dl>div{border-bottom:1px solid #363636;padding:1rem 0}.appointment-summary dt{margin-bottom:.55rem;font-weight:700}.appointment-summary dd{color:#eee;margin:0;line-height:1.5}.appointment-summary dd em{color:var(--mint);font-style:normal}.payment-methods{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.payment-methods button{color:#fff;min-height:68px;font:inherit;text-align:left;cursor:pointer;background:#0c0c0c;border:1px solid #4b4b4b;align-content:center;gap:.15rem;padding:.65rem;display:grid}.payment-methods button[aria-checked=true]{border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint)}.payment-methods button strong{font-size:.78rem}.payment-methods button span{color:var(--muted);font-size:.66rem}.summary-price{justify-content:space-between;gap:1rem;padding:1.3rem 0;display:flex}.summary-price strong{color:var(--mint)}.appointment-summary .button{width:100%;margin-top:.9rem}.appointment-summary .form-error,.appointment-summary .form-success{margin-top:1rem}.customer-section{max-width:1180px;margin:0 auto}.customer-section>header,.marketplace-products>header{margin-bottom:2.5rem}.customer-section>header h1,.marketplace-products>header h1{letter-spacing:-.065em;margin:0;font-size:clamp(2.7rem,5vw,5rem);line-height:.95}.customer-section>header p,.marketplace-products>header p{color:var(--muted);margin:.8rem 0 0;font-size:1rem}.customer-section>section{margin-top:3rem}.section-title{border-bottom:1px solid #333;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.section-title h2{margin:0;font-size:1.15rem}.section-title span{color:var(--mint)}.reservation-list{display:grid}.reservation-row{border-bottom:1px solid #292929;grid-template-columns:1.1fr 1.8fr 1fr auto;align-items:center;gap:1.5rem;padding:1.2rem 0;display:grid}.reservation-row>div{gap:.25rem;display:grid}.reservation-row span{color:var(--muted);font-size:.75rem}.reservation-row strong{text-transform:capitalize}.reservation-row .payment-state{color:#e6a14d}.reservation-row .payment-state.paid{color:var(--mint)}.reservation-row .payment-state.failed{color:#ff8f8f}.reservation-date strong{color:var(--mint)}.reservation-actions{grid-auto-flow:column;gap:.7rem!important;display:flex!important}.reservation-actions a,.reservation-actions button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #555;padding:.65rem .8rem;font-size:.78rem}.reservation-actions a{border-color:var(--mint);color:var(--mint)}.reservation-actions a.pay-reservation{background:var(--mint);color:#001a13}.reservation-list--past{opacity:.75}.section-empty{color:var(--muted);text-align:center;border:1px dashed #444;padding:2rem}.section-empty a{color:var(--mint);text-decoration:underline}.balance-panel{color:#080808;background:#fff;border:1px solid #333;padding:clamp(2rem,5vw,4rem)}.balance-panel span{font-size:1rem;display:block}.balance-panel strong{letter-spacing:-.07em;margin:.4rem 0;font-size:clamp(4rem,10vw,8rem);line-height:.9;display:block}.balance-panel p{color:#555;max-width:500px;margin:1rem 0 0}.transaction-list article{border-bottom:1px solid #292929;justify-content:space-between;gap:2rem;padding:1.1rem 0;display:flex}.transaction-list article div{gap:.3rem;display:grid}.transaction-list article span{color:var(--muted);font-size:.76rem}.transaction-list article b{color:#ff8f8f}.transaction-list article b.positive{color:var(--mint)}.qr-panel{background:#151515;border:1px solid #333;grid-template-columns:minmax(260px,430px) 1fr;align-items:center;gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,5vw,5rem);display:grid}.qr-image{background:#fff;padding:1.5rem}.qr-image img{width:100%;height:auto;display:block}.qr-panel>div:last-child>.ui-icon{color:var(--mint)}.qr-panel h2{margin:1.2rem 0 .7rem;font-size:2rem}.qr-panel p{max-width:500px;color:var(--muted);line-height:1.6}.qr-panel strong{color:var(--mint);margin-top:1.5rem;display:block}.marketplace-layout{grid-template-columns:minmax(0,1fr) 330px;gap:2rem;max-width:1450px;margin:0 auto;display:grid}.product-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:1rem;display:grid}.product-grid article{border:1px solid #333;min-width:0;padding-bottom:.8rem}.product-image{aspect-ratio:1.18;color:#080808;background:#fff;place-items:center;display:grid;overflow:hidden}.product-image img{object-fit:contain;width:100%;height:100%}.product-grid h2{min-height:2.8em;margin:.8rem .8rem .3rem;font-size:.88rem;line-height:1.35}.product-grid article>strong{color:var(--mint);margin:0 .8rem .8rem;display:block}.product-grid article>button{border:1px solid var(--mint);color:#fff;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.6rem;width:calc(100% - 1.6rem);min-height:42px;margin:0 .8rem;display:flex}.product-grid article>button:hover{background:var(--mint);color:#001a13}.product-skeleton{aspect-ratio:.75}.cart-panel{border-left:1px solid #333;flex-direction:column;min-height:calc(100vh - 130px);padding:1.5rem;display:flex;position:sticky;top:94px}.cart-panel>h2{margin:0 0 1.5rem}.empty-cart,.order-success{text-align:center;color:var(--muted);flex:1;align-content:center;place-items:center;display:grid}.empty-cart h3,.order-success h3{color:#fff;margin:1rem 0 .4rem}.empty-cart p,.order-success p{max-width:250px;line-height:1.5}.order-success>span{background:var(--mint);color:#001a13;border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.6rem;display:grid}.order-success button{color:var(--mint);cursor:pointer;background:0 0;border:0;margin-top:1rem;text-decoration:underline}.cart-lines{gap:1rem;display:grid}.cart-lines>div{border-bottom:1px solid #333;padding-bottom:1rem}.cart-lines>div>div:first-child{justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.quantity-control{align-items:center;gap:.7rem;margin-top:.7rem;display:flex}.quantity-control button{color:#fff;cursor:pointer;background:0 0;border:1px solid #555;width:28px;height:28px}.cart-total{border-top:1px solid #333;justify-content:space-between;gap:1rem;margin-top:auto;padding:1.5rem 0;display:flex}.cart-panel>.button{width:100%}.cart-balance{border-top:1px solid #333;gap:.4rem;margin-top:2rem;padding-top:1.4rem;display:grid}.cart-balance span{color:var(--muted);font-size:.75rem}.cart-balance strong{color:var(--mint);font-size:1.5rem}.cart-balance a{text-align:center;border:1px solid #555;margin-top:.5rem;padding:.65rem}@media (width<=1200px){.booking-dashboard-grid{grid-template-columns:1fr}.appointment-summary{position:static}.service-rail{grid-template-columns:repeat(3,minmax(160px,1fr))}.marketplace-layout{grid-template-columns:1fr}.cart-panel{border:1px solid #333;min-height:420px;position:static}}@media (width<=960px){.customer-topbar{padding:0 1.25rem}.customer-sidebar{display:none}.customer-mobile-nav{z-index:18;background:#080808;border-bottom:1px solid #2a2a2a;display:flex;position:fixed;top:78px;left:0;right:0;overflow-x:auto}.customer-mobile-nav a{color:#aaa;grid-template-columns:18px 1fr;align-items:center;gap:.45rem;min-width:110px;padding:.8rem .9rem;font-size:.75rem;display:grid}.customer-mobile-nav a[aria-current=page]{color:var(--mint);border-bottom:2px solid var(--mint)}.customer-main{margin-left:0;padding-top:156px}.reservation-row{grid-template-columns:1fr 1fr}.reservation-actions{justify-content:flex-start}.product-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=680px){.auth-layout{grid-template-columns:1fr}.auth-panel{padding:2rem 1.25rem 4rem}.auth-panel h1{font-size:clamp(3.1rem,15vw,4.5rem)}.auth-visual{min-height:620px;padding:3rem 1.5rem}.form-row--two{grid-template-columns:1fr}.form-options{flex-direction:column;align-items:flex-start}.customer-topbar>div>span{display:none}.top-balance{min-width:auto;padding-left:1rem}.top-balance small{display:none}.customer-main{padding-left:1rem;padding-right:1rem}.customer-greeting{align-items:flex-start;padding:1rem}.customer-greeting p{font-size:.78rem}.customer-greeting>a img{width:46px;height:46px}.month-calendar,.booking-selection,.appointment-summary{padding:1rem}.calendar-grid button{min-height:38px}.service-rail{grid-template-columns:repeat(6,155px)}.time-options,.times-skeleton{grid-template-columns:repeat(3,1fr)}.times-heading{flex-direction:column;align-items:flex-start}.no-availability{flex-direction:column;align-items:stretch}.payment-methods{grid-template-columns:1fr}.reservation-row{grid-template-columns:1fr;gap:1rem}.reservation-actions{grid-template-columns:1fr 1fr;display:grid!important}.reservation-actions a,.reservation-actions button{text-align:center}.qr-panel{grid-template-columns:1fr;padding:1.25rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.product-grid h2{min-height:3.8em;font-size:.76rem}.product-grid article>button{font-size:.75rem}.marketplace-products>header h1,.customer-section>header h1{font-size:3rem}}
