:root{--ink:#2f2937;--muted:#776e80;--purple:#665078;--line:#e6e0eb;--pale:#f5f2f8;--radius:12px;--width:860px}
*{box-sizing:border-box}body{margin:0;background:#fcfbfd;color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{background:white;border:1px solid var(--line);border-radius:8px;padding:9px 14px;font-size:14px;line-height:1.4}button:hover{border-color:#a995ba;background:var(--pale)}button:disabled{cursor:not-allowed;color:#a69cae;background:#f6f4f7;border-color:#ece7f0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,article:focus-visible{outline:3px solid #9b81b4;outline-offset:3px}a{color:var(--purple);text-underline-offset:3px}p{margin:8px 0}h1,h2,h3{line-height:1.25}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:30px}h2{font-size:24px}small,.muted,.meta{color:var(--muted)}.muted{font-size:14px}.primary{background:var(--purple);border-color:var(--purple);color:white;font-weight:500}.primary:hover{background:#503b63;color:white}.wide{width:100%}.text-button{border:0;background:none;padding:6px 0;color:var(--purple);font-size:13px}.text-button:hover{background:none;text-decoration:underline}.support-link{font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:var(--width);width:calc(100% - 40px);margin:auto;min-height:68px;display:flex;align-items:center;gap:26px}.logo{display:inline-flex;text-decoration:none;flex-shrink:0}.brand-wordmark{font:700 italic 34px/1.15 Georgia,serif;letter-spacing:-1.5px;color:#453252}.brand-period{color:#967da7}header nav{display:flex;gap:24px;align-items:center;margin-left:auto}header nav button{position:relative;border:0;background:none;border-radius:0;color:var(--muted);padding:23px 0;font-size:14px;white-space:nowrap}header nav button.active{color:#493254}header nav button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--purple)}.business{border:0;background:none;color:#51405f;white-space:nowrap;padding:8px 0;font-size:13px}main{max-width:calc(var(--width) + 40px);padding:16px 20px 28px;margin:auto}#browse{width:100%}.toolbar{display:grid;grid-template-columns:minmax(185px,1fr) minmax(210px,1fr) auto;gap:12px;align-items:center;min-height:60px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.location{display:flex;align-items:center;gap:8px;border:0;padding:0;margin:0;background:none}.location>span{font-size:23px;color:var(--purple)}.location input{width:70px;min-width:0;font-size:15px;padding:7px 0;border:0;background:none;margin:0}.location button{border:0;background:none;color:var(--purple);padding:7px;font-size:13px}.days{display:flex;gap:4px}.toolbar .days{padding:0 12px;border-left:1px solid var(--line)}.days button{flex:1;border:0;background:none;padding:9px 13px;color:var(--muted)}.days button.active{background:#eee7f4;color:#57396c}.toolbar .primary{min-height:40px;padding:10px 16px;white-space:nowrap}.discovery-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:7px 0 2px}.discovery-meta #location-status{margin:0 auto 0 0;font-size:12px;color:var(--muted)}.sort{margin:0}.sort select{width:140px;border:0;background:none;padding:5px 0;font-size:13px}.discovery-meta button{border:0;padding:7px 0;background:none;color:var(--purple);font-size:13px}#categories{display:flex;gap:22px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--line);margin-bottom:12px}#categories button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:9px 0;color:var(--muted);white-space:nowrap;font-size:14px}#categories button.active{color:#503760;border-bottom-color:var(--purple);font-weight:600}.preview-note{font-size:12px;color:#8b7b97;margin:0 0 9px}.results{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}#cards{display:grid;gap:10px;min-width:0}.card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.thumb{position:relative;overflow:hidden;width:120px;height:124px;border-radius:8px;background:#eee9f2}.thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb span{position:absolute;bottom:6px;left:6px;font-size:11px;background:#fffffff0;color:#64566f;padding:2px 6px;border-radius:4px}.cardinfo{display:grid;grid-template-columns:minmax(0,1fr) 204px;grid-template-rows:auto auto auto 1fr;gap:0 20px;min-width:0}.card-title{display:flex;align-items:center;gap:7px;grid-column:1;grid-row:1;min-width:0}.card h2{font-size:23px;margin:0;letter-spacing:-.4px}.info-tip{position:relative;padding:2px 3px;border:0;background:none;color:#8c7b98;font-size:15px}.info-tip span{display:none;position:absolute;z-index:10;top:28px;left:-150px;width:260px;padding:13px;border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:0 8px 24px #30204018;text-align:left;font:14px/1.5 system-ui;color:var(--ink)}.info-tip:hover span,.info-tip:focus span{display:block}.card .meta{grid-column:1;font-size:13px;line-height:1.45;margin:5px 0 0}.cardinfo>.meta:nth-child(2){grid-row:2}.cardinfo>.meta:nth-child(3){grid-row:3;font-size:12px;margin-top:3px}.landmark-link{border:0;background:none;padding:0;text-align:left;color:var(--purple);font:inherit}.landmark-link:hover{background:none;text-decoration:underline}.service-description{grid-column:1;grid-row:4;font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;align-self:start}.price-line{grid-column:2;grid-row:1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-left:18px;border-left:1px solid var(--line);white-space:nowrap}.price-line strong{font-size:22px;font-weight:600;letter-spacing:-.5px}.price-line del{font-size:12px;color:#948a9d;margin-left:4px}.saving{font-size:12px;color:#846e94}.availability{grid-column:2;grid-row:2/5;padding:9px 0 0 18px;border-left:1px solid var(--line);min-width:0}.next-slot{display:flex;align-items:center;justify-content:space-between;gap:9px}.next-time{display:flex;flex-direction:column;gap:1px}.next-time>span{font-size:12px;color:var(--muted)}.next-time strong{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.book-next{padding:9px 12px;background:var(--purple);border-color:var(--purple);color:#fff;white-space:nowrap}.book-next:hover{background:#503b63;color:#fff}.book-next span{margin-left:4px}.other-times{margin-top:7px}.other-times summary{font-size:13px;color:var(--purple);padding:5px 0;width:fit-content}.other-times summary>span{font-size:12px;margin-left:5px;color:#998ba3}.time-options{display:grid;border-top:1px solid var(--line);margin-top:3px}.time-options button{display:flex;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;font-size:14px;padding:9px 0;min-height:40px;color:var(--purple);font-variant-numeric:tabular-nums}.time-options small{font-size:12px}.time-options .sold,.time-options .sold small{color:#a69aad;background:none}.sold-label{font-size:13px;color:var(--muted);margin:0}.sold-out .thumb{opacity:.65}.card.map-focused,.card.is-selected{border-color:#ab95bc;background:#fcfaff}
.view-switch,#selection,#map-legend{display:none!important}#area-map-panel{display:none;grid-row:1;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;min-width:0}#browse.show-area-map #area-map-panel{display:block}.area-map-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 15px}.area-map-heading h2{font-size:20px;margin:0}.area-map-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}#area-map{width:100%;height:300px;background:#f1f2f0;isolation:isolate}#area-map .leaflet-tile-pane{filter:saturate(.35) brightness(1.05)}#area-map .leaflet-control-attribution{font-size:10px}#map-status{padding:10px 15px;margin:0;font-size:12px;color:var(--muted)}#landmark-picker-map{height:300px;border:1px solid var(--line);border-radius:8px;margin:12px 0;isolation:isolate}#landmark-search-results{max-height:170px;overflow:auto}#landmark-search-results button{display:block;width:100%;text-align:left;margin-top:6px}.landmark-setting{padding:14px;border:1px solid var(--line);border-radius:8px;margin:14px 0}
.load-state,.empty-state{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center}.load-state h2,.empty-state h2{font-size:23px;margin:0 0 10px}.load-state p,.empty-state p{font-size:14px;color:var(--muted)}.load-state button{margin-top:10px}.site-footer{max-width:var(--width);width:calc(100% - 40px);margin:0 auto 28px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;font-size:13px;color:var(--muted)}.site-footer>span{margin-right:auto;font:italic 20px Georgia,serif}.site-footer a{text-decoration:none}.site-footer .text-button{font-size:13px}.notice{background:var(--pale);padding:14px 16px;border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.6}
dialog{width:calc(100% - 32px);max-width:500px;max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);padding:28px;box-shadow:0 20px 80px #24142f30}dialog::backdrop{background:#241b3260}.close{position:absolute;right:8px;top:6px;padding:2px 10px;border:0;background:none;font-size:26px}dialog .close.primary,dialog .match-back{position:static;font-size:14px;padding:10px 14px}dialog h2{font-size:28px;letter-spacing:-.4px;margin:10px 0}dialog p{font-size:14px;line-height:1.6}.eyebrow{font-size:11px!important;letter-spacing:1px;color:var(--purple)}.match-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-block:1px solid var(--line);margin:14px 0}.match-summary strong{font-size:26px;color:var(--purple)}.match-summary span{font-size:14px;text-align:right}.quick-book{padding:0;border:0;margin:14px 0 8px}.quick-book .muted{font-size:12px}#another-match{display:block;margin:10px auto 0}.steps{padding-left:22px}.steps li{padding:6px 0}.steps p{color:var(--muted)}#toast{display:none;position:fixed;z-index:2000;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);border-radius:10px;background:#493456;color:white;padding:12px 18px;font-size:14px;box-shadow:0 8px 30px #30204024}#toast.show{display:block}
form{padding:0}label{display:block;margin:14px 0;font-size:14px}input,textarea,form select{display:block;width:100%;background:#fff;border:1px solid #dcd3e5;border-radius:8px;padding:11px 12px;margin-top:6px;font-size:16px}textarea{resize:vertical;min-height:120px}input[type=hidden]{display:none}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.portal-head h1{font-size:28px;margin:6px 0}.portal-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:16px 0}.portal-grid>.panel{margin:0}.panel h2{font-size:23px;margin:0 0 12px}.panel summary{font-size:16px}.badge{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.7px;background:var(--pale);color:var(--purple);border-radius:20px;padding:5px 10px}.hour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.hour-grid button{padding:12px 4px;font-size:23px;border-radius:9px;background:#f7f5f9}.hour-grid small{display:block;font-size:11px;margin-top:4px}.hour-grid .available{background:var(--purple);color:#fff;border-color:var(--purple)}.hour-grid .available small{color:#fff}.hour-grid button:disabled{opacity:.5}.code-input{font:28px ui-monospace,monospace;letter-spacing:8px;text-align:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stats>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;font-size:14px;color:var(--muted)}.stats strong{display:block;color:var(--ink);font-size:28px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.5}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-weight:500}td button{padding:6px 9px;margin:3px;font-size:12px}.invite-code{font:22px ui-monospace,monospace;word-break:break-all}.email-link{overflow-wrap:anywhere}.ticket{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.ticket h2{font-size:24px}.ticket p{font-size:14px}.booking-code{font:32px ui-monospace,monospace;letter-spacing:5px;color:var(--purple)}.qr{width:160px;height:160px}.ticket .support-link{display:block;margin-bottom:12px}dialog .ticket{flex-direction:column;align-items:flex-start;padding:16px}dialog .qr{align-self:center}
@media(max-width:780px){.header-inner{flex-wrap:wrap;gap:0 16px;padding-top:12px}.brand-wordmark{font-size:32px}.business{margin-left:auto}header nav{order:3;width:100%;margin:0;justify-content:center;gap:24px}header nav button{padding:10px 0 12px;font-size:13px}.toolbar{grid-template-columns:1fr 1fr;gap:6px 8px}.toolbar .primary{grid-column:1/-1;width:100%}.toolbar .days{padding:0 0 0 8px}.discovery-meta{gap:2px 16px}.discovery-meta #location-status{width:100%}.discovery-meta .sort{margin-right:auto}.card{grid-template-columns:100px minmax(0,1fr);gap:14px;padding:13px}.thumb{width:100px;height:110px}.cardinfo{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;gap:0}.card h2{font-size:22px}.price-line{grid-column:1;grid-row:5;border:0;padding:0;margin-top:9px;justify-content:flex-start;gap:10px}.availability{grid-column:1;grid-row:6;border:0;padding:0;margin-top:9px}.next-time{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:7px}.service-description{font-size:13px;margin-top:6px}.portal-grid{grid-template-columns:1fr}.ticket{flex-direction:column;align-items:flex-start}.ticket .qr{align-self:center}.site-footer{gap:14px;flex-wrap:wrap}.site-footer>span{flex-basis:100%}}
@media(max-width:420px){main{padding:12px 14px 24px}.header-inner,.site-footer{width:calc(100% - 28px)}header nav{gap:18px}.business{font-size:12px}.location{gap:4px}.location input{width:60px}.location button{padding:6px}.toolbar{padding:7px}.days button{padding:8px 9px;font-size:13px}#categories{gap:20px}.card{grid-template-columns:76px minmax(0,1fr);gap:11px;padding:11px}.thumb{width:76px;height:96px}.card h2{font-size:20px}.thumb span{font-size:10px;left:3px;bottom:4px;padding:2px 4px}.next-time{flex-direction:column;gap:0}.next-time strong{font-size:16px}.two{grid-template-columns:1fr}.stats{gap:6px}.stats>div{padding:10px;font-size:12px}.panel{padding:17px}dialog{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.service-setting{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid #e4e2e8}.service-setting p{margin:.35rem 0}.service-setting button{flex-shrink:0}textarea{font:inherit;min-height:90px;padding:.75rem;border:1px solid #d9d5e0;border-radius:8px;width:100%;box-sizing:border-box}@media(max-width:600px){.service-setting{align-items:flex-start;flex-direction:column}}

.other-times{position:relative}.other-times[open]{z-index:30}.card:has(.other-times[open]){position:relative;z-index:30}.other-times .time-options{position:absolute;top:100%;right:0;width:230px;max-width:calc(100vw - 48px);max-height:260px;max-height:min(260px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #30204024}.other-times .time-options button{text-align:left}.other-times .time-options button:last-child{border-bottom:0}.other-times .time-options button:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}

.toolbar{grid-template-columns:minmax(220px,1fr) auto auto;gap:14px}.toolbar .days{border-left:1px solid var(--line);padding-left:14px}.unified-location{position:relative;min-width:0}.unified-location form{display:flex;align-items:center;gap:10px;margin:0}.unified-location label{margin:0;font-size:14px;font-weight:600}.unified-location #location-query{border:0;background:transparent;margin:0;padding:10px 0;width:100%;min-width:0;font-size:15px}.unified-location form>span{color:var(--purple)}.unified-location:focus-within{z-index:50}.location-options{position:absolute;top:calc(100% + 10px);left:-10px;z-index:50;width:320px;max-width:calc(100vw - 50px);padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #30204024}.location-options[hidden]{display:none}.location-options button{width:100%;text-align:left;border:0;background:none;font-size:14px;padding:12px;border-radius:6px}.location-options button:hover,.location-options button:focus-visible{background:#f1eaf7}.location-options #locate{color:var(--purple);font-weight:600}.location-options p{font-size:13px;color:var(--muted);padding:8px 12px;margin:0}#location-suggestions{border-top:1px solid var(--line);max-height:250px;overflow:auto}#location-suggestions button{display:flex;justify-content:space-between;gap:12px}#location-suggestions button span{color:var(--muted)}@media(max-width:620px){.toolbar{grid-template-columns:1fr auto;gap:10px}.unified-location{grid-column:1/-1;padding:0 3px 6px;border-bottom:1px solid var(--line)}.toolbar .days{border:0;padding:0}.toolbar #quick-match{grid-column:auto}.location-options{left:0}}

/* Keep the mouse path into the location menu continuous. */
.unified-location:has(.location-options:not([hidden])){z-index:50}.location-options:before{content:'';position:absolute;left:0;right:0;top:-11px;height:11px}

.booking-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.booking-tabs button{font-size:14px;border:1px solid var(--line);border-radius:30px;padding:10px 16px}.booking-tabs button.active{background:var(--purple);color:white}.booking-tabs span{margin-left:6px;opacity:.8}#bookings{max-width:840px;margin:0 auto}.business-preview-name{font-size:20px;margin:6px 0 12px}.notice button{margin:4px 8px 4px 0}.portal-head>div:last-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}

#scan-video{display:block;width:100%;max-height:48dvh;aspect-ratio:4/3;object-fit:cover;background:#191722;border-radius:12px;margin:16px 0}#scan-status{min-height:3em}#check-result:not(:empty){border-top:1px solid var(--line);margin-top:16px;padding-top:16px}

.merchant-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding:20px 24px;margin:16px 0 24px;background:#f4f0f8;border:1px solid var(--line);border-radius:12px}.merchant-welcome p{font-size:14px;line-height:1.6;margin:6px 0 0}.merchant-welcome>button{align-self:center}.merchant-guide{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.merchant-guide summary{cursor:pointer;font-size:14px;font-weight:600}.merchant-guide ol,.entry-instructions{padding-left:22px;font-size:14px;line-height:1.65}.merchant-guide li,.entry-instructions li{margin:12px 0}.merchant-guide li strong{display:block}.save-status{font-size:14px;color:var(--purple);min-height:1.5em}@media(max-width:600px){.merchant-welcome{grid-template-columns:1fr;padding:18px}.merchant-welcome>button{justify-self:start}}

.checkin-home{max-width:580px;margin:20px auto}.checkin-home>h1{font-size:30px;margin:8px 0}.checkin-home>.panel{padding:28px;margin:24px 0 16px}.checkin-home #scan-customer{width:100%;padding:20px;font-size:20px}.checkin-home #check-form{display:flex;gap:10px;align-items:center}.checkin-home #check-form input{min-width:0;flex:1;margin:0}.checkin-links{display:flex;gap:8px;flex-wrap:wrap}.checkin-home>.muted{font-size:14px;line-height:1.6}.checkin-home .notice{font-size:14px}@media(max-width:480px){.checkin-home>.panel{padding:20px}.checkin-home #check-form{flex-direction:column;align-items:stretch}.checkin-home>h1{font-size:26px}}

/* Compact marketplace introduction and browse refinements. */
.browse-intro{text-align:center;padding:16px 12px 22px}
.browse-intro h1{font:500 clamp(1.55rem,3.3vw,2rem)/1.25 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.035em;margin:0;color:var(--ink)}
.browse-intro h1 span{color:var(--purple)}
.browse-intro p{font-size:1rem;line-height:1.5;color:#6a6073;margin:10px 0 0}
#browse .toolbar{padding:10px 14px;border-color:#ded5e6;box-shadow:0 3px 14px #45325206;border-radius:14px}
#browse .discovery-meta{margin:10px 2px 4px}
#browse #categories{gap:24px;margin-bottom:14px}
#browse #categories button{padding:10px 0}
#browse .card{border-color:#e6e0eb;box-shadow:0 2px 8px #30204003;transition:border-color .16s ease,box-shadow .16s ease}
#browse .card:hover{border-color:#bcabc9;box-shadow:0 4px 16px #30204009}
#browse .thumb span{font-size:12px}
#browse .service-description{font-size:14px;color:#6a6073}
.brand-wordmark{color:#493458}
@media(max-width:620px){.browse-intro{padding:12px 0 18px}.browse-intro h1{font-size:1.5rem;letter-spacing:-.025em}.browse-intro p{font-size:.875rem;margin-top:8px}#browse .toolbar{padding:9px 11px}#browse #categories{gap:20px}#browse .service-description{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){#browse .card{transition:none}}

.results-controls{display:flex;align-items:center;gap:12px;margin:10px 0 4px;flex-wrap:wrap}.results-controls .sort{display:flex;align-items:center;gap:8px;font-size:14px;margin:0}.results-controls .sort>span{font-weight:600}.results-controls .sort select{width:auto;min-width:155px;margin:0;padding:9px 30px 9px 12px;border:1px solid #ded5e6;border-radius:8px;background:white;font-size:14px}.results-controls #toggle-area{font-size:14px;padding:9px 12px}#map-retry{margin:0 14px 12px}.discovery-meta:empty{display:none}

/* A shared, equal-height list/map workspace; only the list scrolls. */
@media(min-width:761px){
 #browse.show-area-map .results{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:clamp(360px,calc(100dvh - 330px),660px);align-items:stretch;gap:14px}
 #browse.show-area-map #cards{grid-column:1;grid-row:1;overflow-y:auto;overflow-x:hidden;min-height:0;align-content:start;padding:2px 5px 12px 2px;scrollbar-gutter:stable;scrollbar-width:thin;overscroll-behavior-y:contain}
 #browse.show-area-map #area-map-panel{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-height:0;height:100%}
 #browse.show-area-map #area-map{flex:1;min-height:0;height:auto}
 #browse.show-area-map .area-map-heading{padding:12px}
 #browse.show-area-map #map-status{padding:10px 12px}
 #browse.show-area-map .card{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:12px}
 #browse.show-area-map .thumb{width:80px;height:96px}
 #browse.show-area-map .thumb span{font-size:12px;left:3px;padding:2px 3px}
 #browse.show-area-map .cardinfo{display:flex;flex-direction:column;gap:0;min-width:0}
 #browse.show-area-map .card h2{font-size:21px}
 #browse.show-area-map .price-line{border:0;padding:0;margin-top:10px;justify-content:flex-start;gap:12px;flex-wrap:wrap}
 #browse.show-area-map .availability{border:0;padding:8px 0 0}
 #browse.show-area-map .next-slot{gap:12px}
 #browse.show-area-map .next-time{flex-direction:row;align-items:baseline;gap:7px}
 #browse.show-area-map .info-tip span{left:auto;right:0;width:min(250px,55vw)}
}
@media(max-width:760px){#browse.show-area-map .results{grid-template-columns:minmax(0,1fr)}#cards{overflow:visible}#area-map-panel{grid-column:1;grid-row:1}#area-map{height:340px}}

/* Compact header and search framing keep the marketplace above the fold. */
.header-inner{min-height:56px;gap:20px}
.brand-wordmark{font-size:29px}
header nav{gap:20px}
header nav button{padding:16px 0;font-size:14px}
.business{font-size:14px}
main{padding-top:10px}
.browse-intro{padding:4px 0 12px}
.browse-intro h1{font-size:1.375rem;line-height:1.35;letter-spacing:-.025em}
.browse-intro p{font-size:.875rem;line-height:1.4;margin:4px 0 0}
#browse .toolbar{min-height:48px;padding:5px 10px;gap:10px;border-radius:10px;box-shadow:none}
.unified-location #location-query{padding:7px 0;font-size:14px}
.toolbar .days button{padding:7px 11px}
.toolbar .primary{min-height:36px;padding:7px 12px;font-size:14px}
#browse .discovery-meta{margin:5px 0 0;gap:8px}
#browse .results-controls{margin:6px 0 0;gap:10px}
.results-controls .sort select{padding:6px 26px 6px 10px;min-width:148px}
.results-controls #toggle-area{padding:6px 10px}
#browse #categories{gap:20px;margin-bottom:8px}
#browse #categories button{padding:7px 0}
.preview-note{margin-bottom:6px;line-height:1.4}
@media(min-width:761px){#browse.show-area-map .results{height:clamp(440px,calc(100dvh - 250px),780px)}}
@media(max-width:760px){.header-inner{gap:12px}.browse-intro{padding:4px 0 10px}.browse-intro h1{font-size:1.125rem}.browse-intro h1 span{display:inline}.browse-intro p{font-size:.875rem}.brand-wordmark{font-size:27px}header nav{gap:12px}header nav button{padding:13px 0}#browse .toolbar{padding:6px 9px}.toolbar .days{padding-left:0}}

/* Dense category navigation; descriptions are available from the help button. */
#browse #categories{gap:14px;margin-bottom:7px}
#browse #categories button{padding:6px 0;font-size:14px}
#browse .info-tip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid #d8cedf;border-radius:50%;font:600 14px/1 system-ui;color:var(--purple);background:#faf8fc}
#browse .info-tip span{font-weight:400;line-height:1.5}
#browse .cardinfo{grid-template-rows:auto auto auto}
#browse .availability{grid-row:2/4}
@media(max-width:760px){#browse #categories{gap:12px}#browse .info-tip{width:32px;height:32px}}

/* Short appointment rows with directly selectable times. */
#browse .compact-times{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#browse .compact-times .time-chip{padding:6px 9px;min-height:34px;font-size:14px;line-height:1.4;border:1px solid #d9cee3;border-radius:7px;background:#f8f4fc;color:#583c6e;white-space:nowrap}
#browse .compact-times .time-chip:hover{background:#eee5f6;border-color:#a78aba}
#browse .compact-times .time-chip.sold{color:#8d8494;background:#f5f3f6;border-color:#e6e0eb}
#browse .compact-times .other-times{margin:0}
#browse .compact-times summary{padding:7px 3px;font-size:14px}
#browse .compact-times .time-options{max-height:180px;overflow-y:auto;gap:5px;padding:8px}
#browse #cards{gap:8px}
#browse .card h2{font-size:19px;line-height:1.25}
#browse .card .meta{margin-top:3px;line-height:1.35}
@media(min-width:761px){#browse.show-area-map .card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px}#browse.show-area-map .thumb{width:64px;height:76px}#browse.show-area-map .thumb span{font-size:12px;left:0;right:0;text-align:center;padding:1px 0}#browse.show-area-map .card h2{font-size:19px}#browse.show-area-map .price-line{margin-top:5px;gap:8px}#browse.show-area-map .price-line strong{font-size:20px}#browse.show-area-map .availability{padding-top:6px}}

/* Duration belongs with the service name; appointment times follow the price. */
#browse .service-duration{font-family:inherit;font-size:.85em;font-weight:400;color:var(--purple);white-space:nowrap}

/* Full-width appointment row, with the same serif family as service names. */
#browse .service-duration{font:inherit;color:inherit;white-space:nowrap}
#browse .card>.compact-times,#browse.show-area-map .card>.compact-times{grid-column:1/-1;grid-row:auto;width:100%;padding:0;margin:0;border:0;gap:6px;align-items:stretch}
#browse .compact-times>.time-chip{flex:1 1 68px;min-width:0;text-align:center;font-family:Georgia,serif;font-size:16px;font-weight:400}
#browse .compact-times>.other-times{flex:1 1 68px;min-width:0}
#browse .compact-times>.other-times>summary{width:100%;height:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border:1px solid #d9cee3;border-radius:7px;font:400 16px/1.4 Georgia,serif;list-style:none}
#browse .compact-times>.other-times>summary::-webkit-details-marker{display:none}
#browse .compact-times .time-options .time-chip{font-family:Georgia,serif;font-size:16px;text-align:center;justify-content:center;width:100%}
#browse .compact-times summary span{font:inherit;margin:0}

/* Fit as many natural-width times as the row permits; put only overflow in More. */
#browse .card>.compact-times{flex-wrap:nowrap;align-items:flex-start;gap:6px;min-width:0}
#browse .compact-times>.time-chip{flex:0 0 auto;min-width:0;padding:6px 9px}
#browse .compact-times>.other-times{flex:0 0 auto;min-width:0}
#browse .compact-times>.other-times>summary{width:auto;min-height:36px;padding:6px 9px}

@media(max-width:680px){
 body{font-size:16px;overflow-x:hidden}
 button{min-height:40px}
 main{width:100%;max-width:none}
 dialog{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:88dvh;margin:0;border-radius:18px 18px 0 0;padding:24px 18px calc(22px + env(safe-area-inset-bottom));border-inline:0;border-bottom:0}
 dialog h2{font-size:24px;margin-top:6px}
 dialog .close{right:8px;top:4px;min-height:38px}
 .match-summary{align-items:flex-start;gap:10px;padding:12px 0}
 .match-summary strong{font-size:24px}
 .match-summary span{text-align:left;font-size:13px}
 .quick-book label{margin-top:10px}
 .quick-book .primary,.wide{width:100%;min-height:46px}
 #toast{bottom:calc(16px + env(safe-area-inset-bottom));border-radius:12px}
 #bookings{max-width:none}
 #bookings>h1{font-size:25px;margin:10px 0}
 .booking-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}
 .booking-tabs button{min-height:42px;padding:8px 10px}
 .ticket{border-radius:12px;padding:15px;gap:12px;margin:12px 0}
 .ticket h2{font-size:23px;margin:8px 0}
 .booking-code{font-size:28px}
 .qr{width:140px;height:140px}
 .portal-head{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 14px}
 .portal-head h1{font-size:25px;margin:3px 0}
 .portal-head>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .portal-head>div:last-child .badge{grid-column:1/-1;justify-self:start}
 .portal-head>div:last-child button{width:100%}
 .merchant-welcome{margin:12px 0 14px;padding:15px;border-radius:10px}
 .merchant-guide ol,.entry-instructions{padding-left:18px}
 .portal-grid{grid-template-columns:1fr;gap:12px}
 .panel{padding:15px;margin:12px 0;border-radius:10px}
 .panel h2{font-size:22px}
 .hour-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .hour-grid button{font-size:20px;min-height:64px;padding:8px 2px}
 .service-setting{gap:10px;padding:14px 0}
 .service-setting button{width:100%}
 .stats{grid-template-columns:1fr;gap:8px}
 .stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
 .stats strong{font-size:24px}
 .table-wrap{margin-inline:-15px;padding-inline:15px;overflow-x:auto;-webkit-overflow-scrolling:touch}
 table{min-width:620px}
 th,td{padding:10px 8px}
 .two{grid-template-columns:1fr}
 .location-options{position:fixed;left:12px;right:12px;top:132px;width:auto;max-width:none}
 .site-footer{width:calc(100% - 24px);margin-bottom:20px;gap:10px}
 .site-footer>span{flex-basis:auto;margin-right:8px}
}

@media(max-width:430px){
 .portal-head>div:last-child{grid-template-columns:1fr}
 .hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .booking-tabs{grid-template-columns:1fr}
 .ticket{padding:14px}
 .qr{width:128px;height:128px}
}

.review-box{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf8fc}.review-box p{margin:0 0 8px}.rating-buttons{display:flex;gap:8px;flex-wrap:wrap}.rating-buttons button{width:38px;height:38px;padding:0;border-radius:999px;font-weight:600}.rating-buttons button.active{background:var(--purple);border-color:var(--purple);color:#fff}


/* Unified Niceturn palette refresh: deep ocean, coral action, warm mist surfaces. */
:root{--ink:#14233a;--muted:#647086;--purple:#0f5f8f;--line:#dbe5ee;--pale:#eef7fb;--radius:16px;--width:1040px;--accent:#ff5a5f;--surface:#ffffff;--mist:#f6fafc}
body,body.marketplace-browse{background:linear-gradient(180deg,#f5fbff 0,#fbfdff 34%,#f7fafc 100%);color:var(--ink)}
.site-header,.marketplace-browse .site-header{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line)}
.header-inner,.marketplace-browse .header-inner{max-width:1180px}.brand-wordmark,.marketplace-browse .brand-wordmark{color:#0b4167}.brand-period,.marketplace-browse .brand-period{color:var(--accent)}
header nav button,.marketplace-browse header nav button,.business,.marketplace-browse .business{color:#52627a}header nav button.active,.marketplace-browse header nav button.active{color:#0b4167}header nav button.active:after,.marketplace-browse header nav button.active:after{background:var(--accent)}
button{border-color:var(--line);border-radius:12px}button:hover{border-color:#8ec4de;background:#edf7fb}.primary,.book-next,#browse .toolbar .primary{background:linear-gradient(135deg,#ff6268,#ef4c53);border-color:#ef4c53;color:#fff;box-shadow:0 10px 22px rgba(239,76,83,.18)}.primary:hover,.book-next:hover,#browse .toolbar .primary:hover{background:#dd4249;color:#fff}.text-button,a{color:#0f5f8f}
.panel,.ticket,.card,#browse .card,#browse.show-area-map .card,.load-state,.empty-state,#area-map-panel,dialog,.toolbar,#browse .toolbar,.stats>div{background:rgba(255,255,255,.96);border-color:var(--line);box-shadow:0 12px 32px rgba(19,50,78,.07)}
.notice,.badge,.review-box{background:#edf7fb;border-color:#d6e8f1;color:#173855}.eyebrow{color:#0f72a5}.invite-result-card{margin-top:16px;padding:16px;border:1px solid #cfe5f0;border-radius:16px;background:linear-gradient(180deg,#f4fbff,#fff);box-shadow:0 10px 24px rgba(19,50,78,.08)}.invite-result-card .invite-code{display:block;margin:8px 0 12px;color:#0b4167}.invite-result-card .primary{margin-top:8px}
.how-popover{position:fixed;z-index:1800;width:min(380px,calc(100vw - 32px));padding:18px 20px;border:1px solid #cfe0ea;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 22px 70px rgba(17,45,73,.22)}.how-popover[hidden]{display:none}.how-popover h2{font-size:24px;margin:5px 0 10px}.how-popover .steps{margin:8px 0 0;padding-left:20px}.how-popover .steps li{padding:4px 0}.how-popover p{font-size:14px}.how-popover:before{content:'';position:absolute;top:-8px;left:50%;width:14px;height:14px;background:#fff;border-left:1px solid #cfe0ea;border-top:1px solid #cfe0ea;transform:translateX(-50%) rotate(45deg)}
#browse .toolbar{border-radius:28px}#browse .toolbar .days button.active{background:#0f5f8f;color:#fff}#browse #categories button.active{color:#0b4167;border-bottom-color:#ff5a5f}#browse .discount-badge{background:linear-gradient(135deg,#ff6268,#ef4c53)}#browse .card.map-focused,#browse .card.is-selected{border-color:#73b7d7;box-shadow:0 0 0 3px rgba(115,183,215,.25)}.match-summary strong,.booking-code{color:#0f5f8f}#toast{background:#123b5a}.hour-grid .available{background:#0f5f8f;border-color:#0f5f8f}.rating-buttons button.active{background:#0f5f8f;border-color:#0f5f8f}


/* Final unified premium palette: deep sea, warm porcelain, soft coral. */
:root,body.marketplace-browse{--ink:#13263a;--muted:#657386;--purple:#0e5f86;--line:#dbe7ef;--pale:#edf7fb;--accent:#e95a5f;--surface:#fffdfa;--mist:#f6fafc}
body,body.marketplace-browse{background:linear-gradient(180deg,#f4fbff 0%,#fffdfa 42%,#f7fafc 100%);color:var(--ink)}
.site-header,.marketplace-browse .site-header{background:rgba(255,253,250,.94);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(14px)}
.brand-wordmark,.marketplace-browse .brand-wordmark{color:#0b4167}.business,.marketplace-browse .business,header nav button,.marketplace-browse header nav button{color:#53677a}header nav button.active,.marketplace-browse header nav button.active{color:#0b4167}header nav button.active:after,.marketplace-browse header nav button.active:after{background:var(--accent)}
.panel,.ticket,.stats>div,dialog,.load-state,.empty-state,#area-map-panel,#browse .card,#browse.show-area-map .card,#browse .toolbar,#browse .results-controls select,#browse .results-controls #toggle-area,.location-options{background:rgba(255,253,250,.97);border-color:var(--line);box-shadow:0 14px 36px rgba(19,50,78,.07)}
button{border-color:var(--line)}button:hover{border-color:#9cc9dc;background:#eef8fb}.primary,.book-next,#browse .toolbar .primary{background:linear-gradient(135deg,#ef666b,#df4b53);border-color:#df4b53;color:#fff;box-shadow:0 10px 22px rgba(223,75,83,.18)}.primary:hover,.book-next:hover,#browse .toolbar .primary:hover{background:#cc3f47;color:#fff}.text-button,a,.landmark-link,#browse .landmark-link{color:#0e6d96}
#browse .browse-intro h1,#browse .card h2,#browse.show-area-map .card h2,#browse .area-map-heading h2{color:#13263a}#browse .browse-intro p,#browse .card .meta,#browse .service-description,#browse .area-map-heading p,#browse #map-status{color:var(--muted)}
#browse .toolbar{border-radius:28px;background:rgba(255,253,250,.97)}#browse .toolbar .days button.active,#browse .compact-times .time-chip:hover,#browse .compact-times summary:hover,.booking-tabs button.active,.hour-grid .available{background:#0e5f86;border-color:#0e5f86;color:#fff}#browse #categories button.active{color:#0b4167;border-bottom-color:var(--accent)}#browse .discount-badge{background:linear-gradient(135deg,#ff7075,#e95a5f)}#browse .price-line strong,#browse.show-area-map .price-line strong{color:#d84c53}#browse .price-line,#browse.show-area-map .price-line,#browse .compact-times .time-chip,#browse .compact-times>.other-times>summary{border-color:#dbe7ef;color:#13263a;background:#fffdfa}#browse .card:hover{border-color:#9cc9dc;box-shadow:0 12px 30px rgba(19,50,78,.10)}#browse .card.map-focused,#browse .card.is-selected{border-color:#69b2cf;box-shadow:0 0 0 3px rgba(105,178,207,.24)}
.notice,.badge,.review-box,.merchant-welcome{background:#edf7fb;border-color:#d6e8f1;color:#173855}.eyebrow{color:#0e6d96}.match-summary strong,.booking-code{color:#0e5f86}#toast{background:#123b5a}.how-popover,.how-popover:before{background:#fffdfa}.how-popover{border-color:#dbe7ef}
.check-choice{display:flex;align-items:flex-start;gap:10px;margin:12px 0;line-height:1.45}.check-choice input{width:auto;margin:3px 0 0;flex:0 0 auto}.check-choice span{display:block}fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:14px 0;background:#fbfdff}legend{padding:0 6px;color:#0b4167;font-weight:650}#entry-pin-wrap input{max-width:140px;letter-spacing:.35em;text-align:center;font-weight:700}

.merchant-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.merchant-actions button{white-space:nowrap}@media(max-width:600px){.merchant-actions{align-items:stretch}.merchant-actions button{width:100%}}

.save-home-button:hover{background:#dff1f7;border-color:#9cc9dc}.browse-intro @media(max-width:680px){.browse-intro }

.jenny-button{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;border-radius:999px;background:linear-gradient(135deg,#0e5f86,#1496b8);color:white;padding:13px 18px;box-shadow:0 16px 40px rgba(10,65,103,.28)}.jenny-button span{font-weight:700;font-size:15px}.jenny-button small{font-size:12px;color:#eaf8fb}.jenny-button:hover{background:linear-gradient(135deg,#0b4167,#0e86a8);color:white}.save-home-button{font-size:13px;padding:8px 12px;background:#edf7fa;border-color:#cfe7ef;color:#0b5d79}@media(max-width:640px){.jenny-button{right:14px;bottom:14px;padding:12px 15px}.site-footer{padding-bottom:82px}}
.chat-shell{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#f7fbfd;padding:12px;margin:14px 0}.chat-log{display:grid;gap:10px}.chat-row{max-width:82%;border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:white}.chat-row p{margin:4px 0;white-space:pre-wrap}.chat-row small{font-size:11px;color:var(--muted)}.from-customer{justify-self:end;background:#e8f6fb;border-color:#cbe9f3}.from-jenny{justify-self:start;background:#fff}.chat-list{display:grid;gap:8px}.chat-list button{text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;border-radius:14px}.chat-list button small{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list span{background:#e95a5f;color:#fff;border-radius:999px;padding:2px 8px;font-size:12px}
.bulk-hours{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.bulk-hours summary{font-weight:600;color:#0b4167}.bulk-hours fieldset{border:0;padding:0;margin:12px 0}.bulk-hours legend{font-size:14px;color:var(--muted);margin-bottom:8px}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hours-choice{grid-template-columns:repeat(4,minmax(0,1fr))}.check-choice{display:flex;align-items:center;gap:8px;margin:0}.check-choice input{width:auto;margin:0}@media(max-width:520px){.check-grid,.hours-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}
.business-today{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;background:linear-gradient(135deg,#ffffff,#eef8fb)}.business-today h2{margin:4px 0}.business-today-stats{display:flex;gap:10px}.business-today-stats span{display:block;min-width:92px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;text-align:center;color:var(--muted);font-size:12px}.business-today-stats strong{display:block;color:#0b4167;font-size:24px}.business-today-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.booking-next-steps{border:1px solid var(--line);border-radius:14px;background:#f7fbfd;padding:12px 14px;margin:12px 0}.booking-next-steps strong{color:#0b4167}.booking-next-steps ol{margin:8px 0 0;padding-left:22px}.booking-next-steps li{padding:2px 0;color:var(--muted);font-size:14px}@media(max-width:780px){.business-today{grid-template-columns:1fr}.business-today-stats,.business-today-actions{justify-content:flex-start}}

/* Shared sign-in surfaces */
.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:960px;margin:36px auto 60px;border:1px solid #dce5e7;border-radius:24px;overflow:hidden;background:#fffdfa;box-shadow:0 22px 64px #193b4a0a}
.auth-story{background:#eaf1ef;color:#173d49;padding:44px 38px;display:flex;flex-direction:column;justify-content:space-between;gap:60px;min-width:0}
.auth-wordmark{font:italic 700 32px Georgia,serif;letter-spacing:-1.5px;text-decoration:none;color:#173d49}.auth-story h1{font:400 42px/1.13 Georgia,serif;letter-spacing:-1.3px;margin:18px 0 22px}.auth-story p:not(.auth-kicker){font-size:16px;line-height:1.8;color:#55716f;max-width:300px}.auth-story-foot{font-size:12px;color:#55716f;line-height:1.7}
.auth-kicker{font:650 10px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:1.8px;color:#5b7779;margin:0 0 14px}.auth-card{padding:52px 40px;min-width:0}.auth-card h2{font-size:34px;letter-spacing:-.8px;color:#173d49;margin:0 0 12px}.auth-description{color:#718084;font-size:14px;line-height:1.7;margin-bottom:30px}.auth-card form,.auth-dialog form{display:grid;gap:19px}.auth-card label,.auth-dialog label{display:grid;gap:8px;margin:0;color:#304d58;font-size:13px;font-weight:550}.auth-card input:not([type=checkbox]),.auth-dialog input:not([type=checkbox]){width:100%;min-width:0;min-height:50px;padding:12px 14px;margin:0;border:1px solid #d6e0e1;border-radius:9px;background:#fff;color:#203d49;font-size:16px;box-shadow:none}.auth-card input::placeholder,.auth-dialog input::placeholder{color:#98a4a7}.auth-card input:focus-visible,.auth-dialog input:focus-visible{outline:2px solid #7bafa9;outline-offset:2px}.auth-card .check-choice,.auth-dialog .check-choice{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;font-weight:400;color:#718084}.auth-card .check-choice input,.auth-dialog .check-choice input{width:16px;height:16px;margin:2px 0 0;flex:0 0 16px;accent-color:#21566a}.auth-card .primary,.auth-dialog .primary{width:100%;min-height:50px;border-radius:9px;background:#174b60;border-color:#174b60;color:white;font-size:15px;font-weight:600;box-shadow:none}.auth-card .primary:hover,.auth-dialog .primary:hover{background:#103c4d;border-color:#103c4d}.auth-footnote{font-size:11px;color:#809095;line-height:1.7;margin:22px 0 0}.auth-back{display:inline-block;margin-top:26px;font-size:13px;color:#476b74;text-decoration:none}.auth-activation{border-top:1px solid #e2e9e8;margin-top:26px;padding-top:23px}.auth-activation summary{list-style:none;font-size:13px;font-weight:550;color:#315964;display:flex;justify-content:space-between;gap:12px}.auth-activation summary::-webkit-details-marker{display:none}.auth-activation[open] summary{margin-bottom:16px}.auth-activation[open] summary span{transform:rotate(45deg)}.auth-activation form{margin:20px 0}.auth-activation .muted{font-size:12px;line-height:1.7}
dialog.auth-dialog{width:460px;max-width:calc(100vw - 32px);border:1px solid #dce5e7;border-radius:22px;padding:42px 36px;background:#fffdfa;box-shadow:0 28px 90px #12333f33}dialog.auth-dialog::backdrop{background:#142f3d66;backdrop-filter:blur(5px)}.auth-dialog h2{font-size:32px;letter-spacing:-.7px;line-height:1.2;color:#173d49;margin:0 0 14px}.auth-dialog h2+p{color:#718084;font-size:14px;line-height:1.7;margin:0 0 27px}.auth-dialog #detailbody>.text-button{display:block;margin:22px auto 0;font-size:13px;color:#315964}.auth-dialog .muted{font-size:12px;line-height:1.6;margin:0}.auth-dialog input[name=code]{text-align:center;letter-spacing:.4em;font-size:24px}.auth-dialog .notice{font-size:12px;line-height:1.6;background:#edf3f1;border:0;border-radius:8px;margin:16px 0;padding:12px}.auth-dialog>.close{top:10px;right:12px;color:#78908f}.auth-dialog .auth-kicker{margin-bottom:12px}
@media(max-width:680px){.auth-layout{grid-template-columns:1fr;margin:12px auto 28px;border-radius:18px}.auth-story{padding:24px;gap:24px}.auth-wordmark{font-size:26px}.auth-story h1{font-size:30px;margin:9px 0 0}.auth-story h1 br{display:none}.auth-story .auth-kicker{font-size:9px;margin-bottom:0}.auth-story p:not(.auth-kicker),.auth-story-foot{display:none}.auth-card{padding:30px 24px}.auth-card h2{font-size:30px}dialog.auth-dialog{margin:auto;padding:38px 24px 28px;max-height:calc(100dvh - 32px);border-radius:20px}.auth-dialog h2{font-size:29px}}

.booking-signin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:440px;margin:28px auto 4px}.booking-signin-actions button{width:100%;min-height:48px;min-width:0;margin:0;padding:12px 16px;border-radius:9px;font-size:14px;line-height:1.5;font-weight:600}.booking-signin-actions .save-device-button{background:transparent;color:#315964;border:1px solid #cbdcde;font-weight:500}.booking-signin-actions .save-device-button:hover{background:#edf3f1;border-color:#7caaa9}dialog .install-done{margin-top:24px}dialog .install-done .close{position:static;display:inline-block;padding:10px 24px;font-size:14px}@media(max-width:480px){.booking-signin-actions{grid-template-columns:1fr;gap:14px;max-width:300px}.booking-signin-actions button{width:100%}}

.customer-auth-links{margin-top:18px;text-align:center}.customer-auth-links>button{font-size:12px}.customer-auth-links p{margin-top:22px;padding-top:20px;border-top:1px solid #e2e9e8;color:#718084;font-size:13px}.customer-auth-links p button{margin-left:6px;font-weight:600;font-size:13px}.customer-auth-links .text-button{min-height:36px;color:#315964}

.business-auth-help{text-align:right;margin-top:12px}.business-auth-help .text-button{min-height:36px;font-size:13px;color:#315964}

#service-form{display:grid;gap:18px}#service-form label{margin:0;display:grid;gap:7px;font-size:14px}#service-form input,#service-form select,#service-form textarea{width:100%;min-width:0;margin:0;padding:12px;border:1px solid #d6e0e1;border-radius:9px;background:#fff;font:inherit;color:#203d49}#service-form textarea{resize:vertical;line-height:1.6}.service-setup{padding:18px;background:#eef4f2;border-radius:12px;display:grid;gap:16px}.service-presets{padding:0;border:0;margin:0;background:transparent}.service-presets legend{padding:0;margin:0 0 10px;font-size:14px;color:#304d58}#service-template-options{display:flex;flex-wrap:wrap;gap:8px}#service-template-options button{font-size:13px;padding:10px 12px;border-radius:8px;text-align:left;color:#315964}.service-editor-actions{display:flex;gap:14px;align-items:center}dialog .service-editor-actions .close{position:static;font-size:14px;padding:10px 16px}#service-template-status button{margin:8px 8px 0 0}@media(max-width:480px){.service-setup{padding:14px}#service-template-options{display:grid;grid-template-columns:1fr 1fr}.service-editor-actions{align-items:stretch;flex-direction:column}}

#service-form .variant-durations{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;border:0;background:transparent}#service-form .variant-durations legend{font-size:14px;margin-bottom:12px}#service-form .variant-durations .check-choice{display:flex;align-items:center;padding:12px 16px;background:#fff;border:1px solid #cbdcde;border-radius:9px;gap:10px}#service-form .variant-durations input{width:18px;height:18px;accent-color:#174b60}.variant-durations p{flex-basis:100%}#variant-prices{display:grid;gap:12px}#variant-prices fieldset{margin:0;background:#f6f9f8}.service-booking-link{display:inline-block;font-size:13px;margin-top:8px}

#service-form .variant-durations [data-duration-choice]{flex:1;min-width:120px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 8px;text-align:left;padding:18px;border:2px solid #d2dfdf;border-radius:12px;background:#fff;color:#315964}#service-form .variant-durations [data-duration-choice] strong{font-size:28px;font-weight:650;line-height:1.1}#service-form .variant-durations [data-duration-choice] span{font-size:14px}#service-form .variant-durations [data-duration-choice] small{grid-column:1/-1;font-size:12px;margin-top:7px}#service-form .variant-durations [aria-pressed=true]{background:#174b60;border-color:#174b60;color:#fff}#service-form .variant-durations [aria-pressed=true] small{color:#dcefed}.variant-preview-item{display:block;background:#fff;padding:10px 12px;border:1px solid #d6e3df;border-radius:8px;margin-top:8px;font-weight:600;color:#174b60}#service-name-preview>strong{font-size:12px;font-weight:500}

.onboarding-steps{display:flex;gap:12px;list-style:none;padding:0;margin:24px 0;flex-wrap:wrap}.onboarding-steps li{padding:12px 20px;border-radius:24px;background:var(--wash,#f1edf5);color:var(--ink,#302438)}.onboarding-steps .current{font-weight:700}.onboarding-status{max-width:900px}.onboarding-submit{display:grid;gap:8px}.onboarding-submit button{justify-self:start}.review-service{padding:14px 0;border-bottom:1px solid #e5e1e8}.auth-activation input{width:100%;box-sizing:border-box}
.merchant-simple-note{margin:16px 0;padding:14px 16px;border-radius:14px;background:#f7f2fa;color:#3d3150}.capacity-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.capacity-time{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;transition:transform .16s ease}.capacity-time:hover:not(.is-past){transform:translateY(-2px)}.capacity-main{position:relative;color:#302938;background:#f2edf4;border:2px solid #ddd3e3;border-radius:18px;width:100%;min-height:150px;padding:18px 20px;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-areas:"time count" "hint count";gap:8px 14px;overflow:hidden;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.capacity-main:hover:not(:disabled){border-color:#725491;box-shadow:0 12px 26px #4f39552b}.capacity-time.available .capacity-main{color:#fff;border-color:#725491;background:linear-gradient(145deg,#896aa0,#674b74);box-shadow:0 12px 25px #4f39552e}.capacity-hour{grid-area:time;align-self:end;font-size:25px;font-weight:750}.capacity-count-wrap{grid-area:count;align-self:center;justify-self:end;display:grid;text-align:center;min-width:74px}.capacity-count-wrap b{font-size:68px;line-height:.82;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.capacity-count-wrap small{margin-top:9px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.capacity-hint{grid-area:hint;color:#746d7c;font-size:12px;font-weight:650}.capacity-time.available .capacity-hint{color:#f4edf7}.capacity-clear{align-self:stretch;color:#5a3f61;background:#fff;border:2px solid #725491;border-radius:18px;min-width:96px;min-height:150px;padding:12px 8px;font-size:17px;font-weight:800}.capacity-clear:hover:not(:disabled){color:#fff;background:#4f3955}.capacity-clear:disabled{color:#aaa3ab;background:#f3f1f3;border-color:#ddd9de;opacity:1}.capacity-booked{grid-column:1/-1;color:#6c6173;font-size:11px;margin:-4px 4px 0}.capacity-time.is-saving .capacity-main{box-shadow:0 0 0 4px #72549122}.capacity-time.is-past{transform:none}.capacity-time.is-past .capacity-main{color:#9b969d;background:#e9e7ea;border-color:#d9d5da;box-shadow:none}.capacity-time.is-past .capacity-hint{color:#9b969d}.capacity-main:focus-visible,.capacity-clear:focus-visible{outline:3px solid #72549155;outline-offset:2px}@media(max-width:520px){.capacity-grid{grid-template-columns:1fr}.capacity-time{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.capacity-main{min-height:132px;padding:16px}.capacity-clear{min-width:88px;min-height:132px;font-size:16px}.capacity-hour{font-size:22px}.capacity-count-wrap b{font-size:60px}}
.capacity-main,.capacity-clear{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media(max-width:760px){input,select,textarea{font-size:16px}}
