/* LUBO — soft glass app interface */
:root{--ink:#24232c;--green:#34323f;--muted:#74717e;--line:#d9d5e455;--bg:#f5f1f6;--lime:#d8c6f0;--glass:rgba(255,255,255,.62);--shadow:0 12px 40px rgba(62,42,83,.055);font-synthesis:none;color-scheme:light}
html{min-height:100%;background:#f5f1f6;scroll-padding-top:100px}body,body.search-home{min-height:100svh;background:radial-gradient(ellipse at 0% 4%,#d5e9eb88,transparent 43%),radial-gradient(ellipse at 100% 25%,#e9d7f3aa,transparent 52%),linear-gradient(160deg,#f3f1e8,#f7edf9 70%,#e9e4f1);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.25px}body{padding-top:0}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:background .18s,box-shadow .18s,transform .18s}button:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8866ac;outline-offset:4px}button:disabled{opacity:.5}h1,h2,h3{font-weight:550;letter-spacing:-1.1px}h1{font-size:clamp(32px,4vw,44px);line-height:1.13;margin:12px 0 14px}h2{font-size:24px}h3{font-size:21px}.sub{line-height:1.6;color:var(--muted)}.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:500;letter-spacing:2.8px;color:#82788c}
header,body.search-home header{position:sticky;top:0;z-index:6;height:80px;border-bottom:1px solid #ffffff66;background:#f7f4f870;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:0 max(26px,calc((100vw - 1160px)/2));gap:20px}.brand{font-size:30px;color:#514b59;letter-spacing:-1.8px;font-weight:750}.brand span{color:#b496d0}.account-menu .secondary{background:#ffffff88;padding:10px 15px;border:1px solid #ffffffaa;font-size:12px;border-radius:30px;min-height:40px}.account-title{color:#81798b;font-size:12px}.nav{gap:6px}.nav button{display:flex;align-items:center;gap:7px;padding:11px 14px;border-radius:24px;font-size:13px;min-height:44px}.nav button.active{border:0;background:#e7dcf0;color:#3d304b}.nav button:hover{background:#eee7f3}.nav-icon{width:20px;height:20px;display:block;flex-shrink:0}.demo{max-width:1160px;margin:12px auto 0;padding:6px 20px;background:transparent;color:#827b8c;font-size:11px;line-height:1.5;opacity:.85}main{max-width:1160px;padding:32px 26px 70px}.panel,.card,.sidebar,.booking,.stat,.empty,.urgent-card{background:var(--glass);border:1px solid #ffffffc9;border-radius:25px;box-shadow:var(--shadow)}.panel,.card{padding:26px}.card:hover{box-shadow:0 16px 42px #6d4c8a10;border-color:#dbc8ec}.card{gap:26px;margin-bottom:18px}.company-top{gap:15px}.logo{background:linear-gradient(145deg,#d3e6ed,#e2d2ee);color:#51415e;border:1px solid #ffffffa8;border-radius:19px;font-size:22px;letter-spacing:-1px}.tag{background:#e8dff15e;border:1px solid #ffffff77;color:#706080;padding:6px 10px;border-radius:9px}.desc,.meta{line-height:1.65}.favorite{width:40px;height:40px;background:#ffffff70;border:1px solid #ffffffbb;border-radius:50%;color:#94869f;flex-shrink:0}.favorite.saved{color:#9263b1;background:#e9dcf5}.availability{border-color:#ddd3e8}.availability .label{font-weight:500}.primary,.request-submit{background:linear-gradient(130deg,#43404a,#28242f);color:#fff;border:1px solid #ffffff22;border-radius:24px;padding:13px 22px;min-height:46px;font-weight:550;box-shadow:0 5px 12px #2e223b12}.primary:hover,.request-submit:hover{background:#52465e;box-shadow:0 7px 19px #503b6b22}.secondary,.pill{border:1px solid #ffffffdc;background:#ffffff85;color:#64596e;border-radius:24px;min-height:44px}.secondary:hover,.pill:hover{background:#f2e8fa}.pill.on{border-color:#d9c5e9;background:#e0cdee;color:#4e355e}.link,.back{color:#79608d;font-weight:550}.back{min-height:40px;margin-bottom:18px}.slot{border:1px solid #e1d4ec;background:#f1e8f8;color:#675275;border-radius:12px;min-height:42px}.slot:hover,.slot.selected,.day.selected{color:#fff;background:#655070;border-color:#655070}.day{background:#ffffffa8;border:1px solid #ffffff;border-radius:16px;min-height:66px}.field input,.field select,.field textarea,.hours-row input{background:#fffc;border:1px solid #e4ddea;border-radius:14px;padding:14px;min-height:48px;box-shadow:inset 0 1px 3px #52425c03}.field label,.label{font-size:13px;font-weight:550;color:#645c6e}.field{margin:18px 0}.field textarea{min-height:104px}.searchbar{border:1px solid #ffffff;border-radius:23px;background:#ffffffa3;box-shadow:var(--shadow);padding:7px}.searchbar input{background:transparent;color:var(--ink);border-radius:18px}.searchbar .primary{border-radius:18px}.results-head select{background:#ffffff99;border-color:#ffffff;border-radius:15px;color:#706476;min-height:40px}.categories{gap:8px;margin:20px 0 26px}.facts small{color:#91839b}.stats{gap:14px}.stat{padding:22px}.stat strong{font-weight:500;font-size:35px;letter-spacing:-1.7px;color:#645071}.stat:first-child{background:linear-gradient(140deg,#e3d8f3d9,#ffffff99)}.stat:nth-child(2){background:linear-gradient(140deg,#d9ecebd9,#ffffff99)}.stat:nth-child(3){background:linear-gradient(140deg,#f3ded2d9,#ffffff99)}.status{border-radius:20px;padding:6px 10px;background:#e0ece7;color:#48675c}.status.pending{background:#f5e6d7;color:#846247}.status.done{background:#e8dff3;color:#71548a}.status.cancel{background:#f4e0e5;color:#9a6171}.empty{padding:45px 26px}.empty h3{font-size:24px}.empty p{max-width:500px;margin:12px auto 22px}.note{color:#91849c;font-size:12px;line-height:1.6}.booking{padding:24px}.booking h3{font-weight:600}.hours-row{gap:12px}.success-mark{background:linear-gradient(130deg,#d9eaea,#e9d6ee);color:#6c537e}dialog{padding:30px;background:#faf7fbee;border:1px solid #ffffff;border-radius:30px;box-shadow:0 30px 120px #4f366c38;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}dialog::backdrop{background:#40334944;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.toast{background:#39323fe8;backdrop-filter:blur(20px);border:1px solid #ffffff33;border-radius:22px;box-shadow:0 8px 40px #37264425}footer{border:0;color:#9c90a5;font-size:10px;letter-spacing:1.5px;padding:25px 20px 35px}.urgent-banner{border-color:#f0ded1;background:#fff3e8b8;border-radius:18px}.urgent-type button,.urgent-route{border-radius:21px;border-color:#ffffff;background:#ffffff80}.urgent-type button[aria-pressed=true]{border-color:#c8b2da;background:#e7d8f1}.urgent-steps li.done{border-color:#ae8dbe;color:#7c568b}
/* Onboarding and the single-purpose search screen */
.welcome{max-width:820px;margin:50px auto 15px}.welcome-intro{max-width:600px;margin-bottom:36px}.welcome-intro h1{font-size:clamp(34px,5vw,49px);font-weight:500}.welcome-intro .sub{margin-top:22px}.role-grid{gap:22px}.role-card{border:1px solid #ffffffdc;border-radius:30px;padding:30px;background:linear-gradient(145deg,#ffffffbb,#ebe0f2aa);box-shadow:var(--shadow);gap:16px}.role-card:nth-child(2){background:linear-gradient(145deg,#ffffffbb,#d9e9e9a8)}.role-card:hover{border-color:#cdb7df;box-shadow:0 15px 40px #6e508a12;transform:translateY(-3px)}.role-card h2{font-size:28px;font-weight:550}.role-card p{font-size:15px;line-height:1.65}.role-card .primary{margin-top:14px;font-size:14px}.role-icon{border:1px solid #ffffffb8;background:#ffffff7d;width:56px;height:56px;border-radius:18px;color:#79618c}.role-icon svg{width:26px;height:26px}.onboarding-form{max-width:540px}.onboarding-form .panel{padding:28px;border-radius:28px}.form-pair{gap:16px}body.search-home main{max-width:760px;min-height:calc(100svh - 80px);padding:34px 26px 50px}.request-home{max-width:570px}.request-home .eyebrow{color:#887a92;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:3px;font-size:10px}.request-home h1{font-size:clamp(33px,5vw,46px);font-weight:500;letter-spacing:-1.7px;margin:20px 0 14px}.request-home .sub{font-size:16px;margin:0 0 32px}.request-icon{width:43px;height:43px;background:#ffffff80;border:1px solid #ffffffc9;border-radius:50%;margin-bottom:17px;color:#8a729c}.request-icon svg{width:21px;height:21px}.request-home label{font-size:13px;font-weight:550;color:#6b6074;margin-bottom:10px}.request-home textarea{background:linear-gradient(135deg,#e4d8f4bb,#e7dff2a8);border:1px solid #ffffffd4;border-radius:25px;padding:24px;font-size:26px;font-weight:500;letter-spacing:-.6px;min-height:164px;box-shadow:var(--shadow);color:#45384f}.request-home textarea::placeholder{color:#9b87ab;font-weight:400}.request-city{margin-top:24px}.request-city select{background:#ffffff94;border:1px solid #ffffffd9;border-radius:18px;box-shadow:var(--shadow);min-height:54px;padding:15px 17px;color:#594b65}.request-submit{margin:28px auto 0;padding:15px 48px;border-radius:30px;font-size:17px;min-height:54px;min-width:190px}.request-home .note{font-size:10px;color:#a295ab;margin-top:23px}body.onboarding .demo,body.onboarding footer,body.onboarding .mobile-nav{display:none}
@media(min-width:601px) and (max-width:850px){.nav button{padding:10px;font-size:12px}.account-title{display:none}header{gap:8px}}
@media(max-width:600px){header,body.search-home header{height:68px;padding:0 22px}.brand{font-size:29px}.account-menu button.secondary{padding:9px 13px;font-size:11px;min-height:36px}.account-title{display:none}.demo{font-size:10px;padding:4px 22px;margin-top:10px;line-height:1.4}main{padding:27px 20px 115px}.nav{display:none}.mobile-nav{position:fixed;display:flex;left:20px;right:20px;bottom:calc(12px + env(safe-area-inset-bottom));padding:7px;gap:4px;border:1px solid #ffffffdc;background:#ffffffbf;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:28px;box-shadow:0 10px 40px #56416e18;z-index:8}.mobile-nav:empty{display:none}.mobile-nav button{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:7px 3px;font-size:10px;border-radius:21px;color:#90859b}.mobile-nav button.active{background:#e9ddf4;color:#674a7f;font-weight:600}.mobile-nav .nav-icon{width:21px;height:21px}h1{font-size:34px;letter-spacing:-1.3px}.card{padding:21px;border-radius:26px;gap:18px}.company-top h3{font-size:20px}.logo{width:53px;height:53px;border-radius:17px;font-size:20px}.availability{padding-top:17px}.availability .slots{gap:9px}.panel{padding:23px;border-radius:25px}.profile-top .company-top{align-items:flex-start}.profile-top .logo{width:61px;height:61px;font-size:23px}.profile-top h1{font-size:28px}.facts{gap:18px}.searchbar{gap:8px;padding:9px}.searchbar input{font-size:16px;min-height:44px;padding:9px 12px}.searchbar .primary{width:100%;font-size:14px;min-height:44px;border-radius:17px}.pill{padding:10px 15px;font-size:13px}.categories{margin:17px 0 24px;gap:7px}.results-head{flex-wrap:wrap;gap:10px}.results-head .actions{justify-content:space-between;width:100%;align-items:center}.results-head p{font-size:12px}.results-head select{font-size:12px;max-width:165px}.stat{padding:16px 12px;border-radius:20px}.stat span{font-size:11px}.stat strong{font-size:29px;margin-top:12px}.stats{gap:9px}.booking{padding:22px;border-radius:24px}.booking .actions{width:100%}.booking .actions button{flex:1;font-size:13px}.form-pair{gap:0}.field input,.field textarea,.field select{font-size:16px}.hours-row{grid-template-columns:75px 1fr 1fr;gap:7px;font-size:12px}.hours-row input{padding:10px 6px;font-size:14px}.welcome{margin:28px auto 15px}.welcome-intro{margin-bottom:30px}.welcome-intro h1{font-size:38px;letter-spacing:-1.6px}.role-grid{gap:16px}.role-card{padding:24px;gap:10px;border-radius:27px}.role-card h2{font-size:26px}.role-icon{width:47px;height:47px;border-radius:16px}.role-card p{font-size:14px}.role-card .primary{margin-top:10px}.welcome-bottom{font-size:11px}.onboarding-form .panel{padding:23px}.onboarding-form h1{font-size:36px}body.onboarding main{padding-bottom:40px}body.search-home main{min-height:calc(100svh - 68px);padding:30px 24px 38px}.request-home .eyebrow{font-size:9px;letter-spacing:2.2px}.request-home h1{font-size:35px;letter-spacing:-1.5px;margin-top:22px}.request-home .sub{font-size:15px;margin-bottom:30px}.request-home textarea{min-height:155px;font-size:25px;padding:22px;border-radius:24px}.request-city{margin-top:22px}.request-home .note{font-size:10px}.toast{bottom:calc(100px + env(safe-area-inset-bottom));width:calc(100% - 40px);font-size:13px}.empty{padding:35px 22px}footer{padding-bottom:125px}.urgent-type{gap:10px}.urgent-type button{font-size:14px}.urgent-type small{font-size:12px}.urgent-grid .panel{padding:21px}}
@media(prefers-reduced-motion:no-preference){#app>section,#app>.profile-grid,#app>.work,#app>.layout-two{animation:appear .28s ease-out}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Circle-only return control with a separate label. */
.search-return{display:flex;align-items:center;gap:12px;min-height:46px;margin:0 0 28px;padding:0;border:0;background:transparent;box-shadow:none;color:#63417e;font-size:15px;font-weight:550}
.return-control{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #fff;border-radius:50%;background:#ffffffb3;color:#674a7f;box-shadow:0 3px 12px #72528b0b}
.return-control:hover{background:#fff;box-shadow:0 4px 14px #72528b14}
.return-arrow{font-size:24px;font-weight:400;line-height:1}
@media(max-width:600px){.search-return{font-size:14px;margin-bottom:27px;justify-content:flex-start}}


/* Light gray provider actions, coordinated with the lavender palette. */
.secondary.provider-action{background:linear-gradient(180deg,#ededed 0%,#e6e6e6 48%,#d8d8dc 100%);border:1px solid #cfcdd3;color:#514958;box-shadow:inset 0 1px 0 #ffffffb3,0 3px 8px #51415e12;font-weight:600}
.secondary.provider-action:hover{background:linear-gradient(180deg,#e6e6e8,#d0cdd5);border-color:#bfbac7}
.secondary.provider-action:active{background:linear-gradient(180deg,#d3d0d8,#e1dfe5);box-shadow:inset 0 1px 3px #51415e18}
.secondary.provider-action:focus-visible{outline:3px solid #9779b1;outline-offset:3px}

/* Keep the main navigation available on the initial service search. */
@media(max-width:600px){body.search-home main{padding-bottom:calc(115px + env(safe-area-inset-bottom))}}
/* Keep Safari/browser autofill consistent with the form surface. */
.field input,.field textarea{background-color:#fdfcfe}
.field input:-webkit-autofill,
.field input:-webkit-autofill:hover,
.field input:-webkit-autofill:focus,
.field input:-webkit-autofill:active,
.field textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fdfcfe inset!important;
  box-shadow:0 0 0 1000px #fdfcfe inset!important;
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--ink);
}
.field input:autofill,.field textarea:autofill{
  box-shadow:0 0 0 1000px #fdfcfe inset!important;
  -webkit-text-fill-color:var(--ink)!important;
  caret-color:var(--ink);
}
/* Shared gradient selection for user and provider navigation. */
.nav button:is([data-view="buscar"],[data-view="citas"],[data-view="favoritos"],[data-view="solicitudes"],[data-view="agenda"],[data-view="negocio"]),
.mobile-nav button:is([data-view="buscar"],[data-view="citas"],[data-view="favoritos"],[data-view="solicitudes"],[data-view="agenda"],[data-view="negocio"]){color:#90859b}
.nav button:is([data-view="buscar"],[data-view="citas"],[data-view="favoritos"],[data-view="solicitudes"],[data-view="agenda"],[data-view="negocio"]):hover{background:linear-gradient(145deg,#d3e6ed99,#e2d2ee99)}
.nav button:is([data-view="buscar"],[data-view="citas"],[data-view="favoritos"],[data-view="solicitudes"],[data-view="agenda"],[data-view="negocio"]).active,
.mobile-nav button:is([data-view="buscar"],[data-view="citas"],[data-view="favoritos"],[data-view="solicitudes"],[data-view="agenda"],[data-view="negocio"]).active{
  background:linear-gradient(145deg,#d3e6ed,#e2d2ee);
  color:#51415e;
  box-shadow:inset 0 1px 0 #ffffffe6,inset 0 0 0 1px #ffffff70,inset 0 -1px 0 #ae98c238,0 3px 10px #56416e14;
  backdrop-filter:blur(18px) saturate(115%);
  -webkit-backdrop-filter:blur(18px) saturate(115%);
}
/* One city suggestion surface, including mobile browsers. */
.city-picker{width:100%;min-width:0;position:relative}.city-entry{position:relative}.city-entry .city-input{width:100%;padding-right:46px}.city-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1}.city-options{position:relative;width:100%;max-height:230px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:#faf7fc;box-shadow:0 8px 20px #28282812;margin-top:6px}.city-options[hidden]{display:none}.city-options button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:13px 14px;background:transparent;color:var(--ink);text-align:left;font-size:16px;line-height:1.4}.city-options button:last-child{border-bottom:0}.city-options button:hover,.city-options button[aria-selected=true]{background:#eadef2}.request-city .city-picker{flex:1;min-width:200px}

.service-request-entry{position:relative;width:100%}.request-home .service-request-entry textarea{display:block;width:100%;padding-right:58px}.service-request-clear{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#aaa7ae;font-size:28px;line-height:1;display:grid;place-items:center}.service-request-clear:hover{background:#ffffff50;color:#8d8993}

.request-field-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.request-field-heading .request-icon{flex-shrink:0;margin:0}.request-home .request-field-heading label{margin:0;flex:1;min-width:0;line-height:1.4}

/* Clear controls: blend their previous gray equally with white. */
.city-clear{color:color-mix(in srgb,var(--muted) 50%,white)}.service-request-clear,.service-request-clear:hover{color:#9b87ab}

.booking{flex-wrap:wrap}.booking-proposal{background:#e9dff180;border:1px solid #d9cce4;border-radius:16px;padding:16px;margin:16px 0;width:100%}.proposal-action{width:100%;display:flex;justify-content:center;margin-top:12px}.proposal-action button{min-width:180px}#proposal-form .actions{display:flex;flex-wrap:wrap;gap:10px}

.booking .secondary.request-secondary{font-size:14px;font-weight:600;background:linear-gradient(145deg,rgba(255,255,255,.667),rgba(226,222,232,.667))}.booking .secondary.request-secondary:hover{background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(226,222,232,.8))}@media(max-width:700px){.booking .secondary.request-secondary{font-size:13px}}

#proposal-form,#proposal-form .field{width:100%;min-width:0;max-width:100%}#proposal-form .field input,#proposal-form .field select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-inline:0}#proposal-form input[type=date],#proposal-form input[type=time]{-webkit-appearance:none;appearance:none;min-inline-size:0}#proposal-form input::-webkit-date-and-time-value{text-align:center;min-width:0}#proposal-title:focus{outline:none}

#hours-form .hours-row{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:10px}#hours-form .hours-row input[type=time]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;-webkit-appearance:none;appearance:none;padding:10px 5px;font-size:14px}#hours-form input[type=time]::-webkit-date-and-time-value{min-width:0;text-align:center}@media(max-width:700px){#hours-form .hours-row{grid-template-columns:78px minmax(0,1fr) minmax(0,1fr);gap:8px}#hours-form .hours-row label{font-size:12px;gap:4px}#hours-form .hours-row input[type=time]{font-size:13px;padding:10px 3px}}

#hours-form .hours-row input[type=time]{color:#5f5c65;-webkit-text-fill-color:#5f5c65}#hours-form input[type=time]::-webkit-date-and-time-value{color:#5f5c65;-webkit-text-fill-color:#5f5c65}#hours-form input[type=time]::-webkit-datetime-edit{color:#5f5c65;-webkit-text-fill-color:#5f5c65}

.cancellation-notices{margin:0 auto 24px;max-width:760px}.cancellation-notice{padding:20px;margin-bottom:12px;border:1px solid #d6bdc5;border-radius:20px;background:linear-gradient(135deg,#f7e9ed,#ffffffd9)}.cancellation-notice h3{font-size:18px;color:#694853}.cancellation-notice p{font-size:14px;margin:10px 0}.cancellation-notice .actions{align-items:center;gap:16px}

.nav button[data-view],.mobile-nav button[data-view]{position:relative}.nav-notice-badge{position:absolute;top:2px;right:8px;min-width:19px;height:19px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#9b526a;color:#fff;font-size:11px;font-weight:700;line-height:1;border:2px solid #faf6fc;box-sizing:content-box;pointer-events:none}.mobile-nav .nav-notice-badge{top:3px;right:10px}

.nav button[data-view=solicitudes],.mobile-nav button[data-view=solicitudes]{position:relative}

.booking .booking-inline-notice{width:100%;max-width:none;margin:16px 0 0}.booking-inline-notice .link{display:block;margin-top:10px}

/* Half the spacing between labeled booking details in both roles. */
.booking p.booking-detail{margin-top:3.5px;margin-bottom:3.5px}

/* Keep the search screen free of city helper copy. */
#request-search #request-city-help{display:none}

#request-search .save-default-city{font-size:9.8px;color:rgb(121 96 141 / 40%)}

body.appointments-page .demo{display:none}

body.favorites-page .demo{display:none}

#reg-user-city-help{display:none}

body.supplier-profile-page .demo{display:none}

body.results-page .demo{display:none}

#request-search .default-city-status{margin:12px 0 0;padding:12px 16px;border:1px solid #d8cde3;border-radius:16px;background:rgba(239,232,245,.8);color:#62516f;font-size:14px;line-height:1.5}

body.account-profile-page .demo{display:none}

.caps-example{margin-top:12px;padding:12px 14px;border-radius:16px;background:rgba(239,232,245,.5)}
.caps-example>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.caps-example .tag{margin:0;white-space:normal;overflow-wrap:anywhere}

body.provider-main-page .demo{display:none}

.save-confirmation{margin:12px 0 0;padding:12px 16px;border:1px solid #d8cde3;border-radius:16px;background:rgba(239,232,245,.8);color:#62516f;font-size:14px;line-height:1.5}

.inbox-status-select{width:auto;min-width:180px;max-width:100%;border-radius:15px;background:#ffffff99;color:#706476;padding:14px 42px 14px 20px;font:inherit;border:1px solid #ffffff;cursor:pointer}
/* Shared Liquid Glass palette for selected filters. */
.categories .pill[data-category].on,#appointment-filter-toggle[aria-expanded="true"],#appointment-filter-toggle:hover,#appointment-filter-toggle:active{-webkit-backdrop-filter:blur(16px) saturate(115%);backdrop-filter:blur(16px) saturate(115%);background:linear-gradient(135deg,rgba(218,222,228,.92),rgba(190,219,205,.88) 48%,rgba(210,185,232,.9));color:#51415e;border-color:#ffffffdc;box-shadow:inset 0 1px 1px #ffffffe6,inset 0 -1px 1px #9984ad30,0 4px 12px #62506e18}
.provider-calendar-action{margin:0 0 24px}#provider-calendar{width:min(600px,calc(100vw - 28px));max-width:600px;max-height:85dvh;box-sizing:border-box;padding:26px;border-radius:28px;border:1px solid #ffffffdc;background:linear-gradient(145deg,#faf8fcf5,#f1f4f5f5);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 90px #41314e40}#provider-calendar::backdrop{background:#30263745;backdrop-filter:blur(8px)}.calendar-heading,.calendar-month-nav,.calendar-tools,.calendar-service-top,.calendar-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h2{font-size:23px;margin:8px 0 0}.calendar-close{border:1px solid #fff;background:#ffffff99;border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:25px;color:#706476}.calendar-month-nav{margin:24px 0 10px}.calendar-month-nav h3{text-transform:capitalize;font-size:21px;margin:0;text-align:center}.calendar-month-nav button{min-width:42px;padding:5px 12px;font-size:28px}.calendar-tools{margin-bottom:18px;flex-wrap:wrap}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week span{text-align:center;font-size:12px;color:#8d8196;padding-bottom:9px}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:52px;border:1px solid transparent;border-radius:16px;background:transparent;color:#514b59;font-size:16px;padding:6px 2px}.calendar-day:hover{background:#ffffffa0}.calendar-day.is-today{border-color:#b4a0c7;font-weight:700}.calendar-day.is-selected{background:linear-gradient(135deg,#dce5e1,#ddcce9);color:#493653;border-color:#fff}.calendar-dots{display:flex;gap:3px;height:5px}.calendar-dots i,.calendar-legend i{display:inline-block;width:5px;height:5px;border-radius:50%}.accepted-dot{background:#769d8b}.completed-dot{background:#a08ab7}.calendar-legend{display:flex;gap:18px;justify-content:center;margin:16px 0 22px;font-size:12px;color:#807289}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-services{border-top:1px solid #ded6e5;padding-top:18px}.calendar-list-heading h3{font-size:17px;margin:0}.calendar-list-heading .link{font-size:12px}.calendar-service{margin-top:12px;padding:16px;border:1px solid #fff;border-radius:18px;background:#ffffff99;overflow-wrap:anywhere}.calendar-service-top{margin-bottom:10px}.calendar-service p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.calendar-service .status{font-size:11px}.calendar-empty{padding:20px 0;color:var(--muted);font-size:14px}@media(max-width:600px){#provider-calendar{padding:20px 14px}.calendar-heading h2{font-size:21px}.calendar-day{min-height:46px}.calendar-month-nav h3{font-size:19px}}

/* Keep the alternate date field inside the panel, including Safari's native date control. */
.alternate-booking-date{min-width:0;max-width:100%}
#booking-date{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;margin-inline:auto;-webkit-appearance:none;appearance:none}
#booking-date::-webkit-date-and-time-value{min-width:0;text-align:center}

.alternate-booking-date~.slots>.note{grid-column:1/-1}

.alternate-booking-date>summary{cursor:pointer;color:#665d70;font-size:14px;font-weight:500;padding:8px 0}
.alternate-booking-date[open]>summary{margin-bottom:8px}
.alternate-booking-date>summary:focus-visible{outline:3px solid #8866ac;outline-offset:4px;border-radius:8px}

#catalog-modal{box-sizing:border-box;width:min(980px,calc(100vw - 24px));max-width:980px;height:88dvh;max-height:calc(100dvh - 24px);padding:0;border:1px solid #ffffffdc;border-radius:24px;background:#f7f4f9;overflow:hidden;box-shadow:0 24px 90px #41314e40}
#catalog-modal[open]{display:flex;flex-direction:column}
#catalog-modal::backdrop{background:#30263766;backdrop-filter:blur(8px)}
.catalog-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;flex-shrink:0}
.catalog-modal-header>div{min-width:0}
.catalog-modal-header h2{font-size:21px;margin:0 0 4px}
.catalog-modal-header p{font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.catalog-close{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid #fff;background:#ffffffaa;color:#665573;font-size:28px;cursor:pointer}
.catalog-viewer{display:block;width:100%;min-height:0;flex:1;border:0;background:#e6e3e9}
@media(max-width:600px){.catalog-modal-header{padding:14px}.catalog-modal-header h2{font-size:18px}}

/* Account prototype: the same frosted controls in both roles. */
.access-preview{max-width:640px;margin:32px auto}.access-preview h1{font-size:clamp(32px,5vw,48px)}.access-switch{text-align:center;margin:24px 0 16px}.access-switch a{color:#715982;font-weight:600}.account-settings{position:relative}.account-settings summary{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #ffffffbb;border-radius:50%;background:#ffffff80;color:#65596f;cursor:pointer;list-style:none}.account-settings summary::-webkit-details-marker{display:none}.account-settings summary:focus-visible{outline:3px solid #9175aa;outline-offset:3px}.settings-popover{position:absolute;right:0;top:58px;width:215px;padding:12px;border:1px solid #fff;border-radius:22px;background:rgba(249,247,251,.97);box-shadow:0 12px 32px #41334e26;backdrop-filter:blur(20px);z-index:100}.settings-popover strong{display:block;padding:8px 12px;color:#65596f}.settings-popover a,.settings-popover button{display:block;width:100%;box-sizing:border-box;border:0;border-radius:12px;background:transparent;text-align:left;padding:13px 12px;color:#514b59;font:inherit;text-decoration:none;cursor:pointer}.settings-popover a:hover,.settings-popover button:hover{background:#e7dfef}.access-preview .panel{margin-top:24px}body.onboarding .demo{display:none}#identity-status{color:#65596f} @media(max-width:600px){.access-preview{margin-top:16px}.settings-popover{right:-70px}}

#identity-status[hidden]{display:none}

/* Compact provider cards, using the shared gray action style. */
.provider-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card.provider-card{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:stretch;gap:20px;margin:0;padding:16px;border-radius:26px}
.provider-photo.logo{width:100%;height:auto;aspect-ratio:1;overflow:hidden;border-radius:20px;font-size:clamp(28px,4vw,50px);letter-spacing:-2px}
.provider-photo.logo img{display:block;object-fit:contain;padding:0}
.provider-card>.provider-photo{position:relative;align-self:stretch;aspect-ratio:auto;min-height:200px}
.provider-card>.provider-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.provider-card-body{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.provider-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.provider-card-heading h3{font-size:23px;line-height:1.2;letter-spacing:-.6px;overflow-wrap:anywhere;margin:6px 0}
.provider-card .favorite{background:transparent;border-color:transparent;width:40px;height:40px;font-size:28px;line-height:1;padding:0;margin:-2px -5px 0 0}
.provider-card .favorite:hover,.provider-card .favorite.saved{background:#e9dcf580}
.provider-card .provider-service{font-size:15px;line-height:1.4;margin:3px 0 9px;overflow-wrap:anywhere}
.provider-location{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;margin:8px 0;color:#645c6e;overflow-wrap:anywhere}
.provider-location-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin:8px 0}
.provider-location-row .provider-location{margin:0;min-width:0}
.provider-rating-compact{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap;color:var(--ink);font-size:14px;line-height:1.5}
.provider-rating-compact[hidden]{display:none}
.provider-rating-compact .rating-symbol{color:#765c45;font-size:20px;line-height:1}
.provider-rating-compact strong{font-weight:650;letter-spacing:-.3px}
.provider-location svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.provider-card .desc{font-size:14px;line-height:1.5;margin:6px 0 12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-height:3em;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;white-space:normal;flex-shrink:0}
.provider-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}
.secondary.provider-view{margin:0;font-size:14px;font-weight:600;padding:10px 24px;min-height:44px;min-width:124px}

/* Provider profile: the image spans the name, service, location and rating. */
.profile-top .provider-profile-header{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);align-items:stretch;gap:20px}
.profile-top .provider-profile-photo{position:relative;width:100%;height:auto;align-self:stretch;overflow:hidden;border-radius:20px}
.provider-profile-photo img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;padding:0}
.provider-profile-identity{min-width:0}
.profile-top .provider-profile-identity h1{margin:0 0 8px;overflow-wrap:anywhere}
.profile-top .provider-profile-service{margin:0 0 7px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.provider-profile-identity>.meta{overflow-wrap:anywhere}

/* Keep every appointment detail and action, grouped below the provider image. */
.appointments-page #appointment-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.appointments-page #appointment-results>.empty{grid-column:1/-1}
.booking.customer-booking{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:20px;min-width:0}
.booking-provider{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;gap:18px;min-width:0}
.booking-provider>.provider-photo{position:relative;align-self:stretch;aspect-ratio:auto}
.booking-provider>.provider-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.booking-provider-heading{min-width:0}
.customer-booking .status{display:inline-block;font-size:11px;line-height:1.4}
.customer-booking h3{margin:10px 0 4px;font-size:23px;line-height:1.2;overflow-wrap:anywhere}
.customer-booking .provider-service{font-size:14px;margin:0 0 7px}
.customer-booking .booking-when,.customer-booking .booking-mode{font-size:13px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}
.customer-booking .booking-mode:last-child{margin-bottom:0}
.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid #ddd3e880}
.booking-details>div{min-width:0}
.booking-details dt{font-size:11px;color:#84788e;margin-bottom:4px;line-height:1.5}
.booking-details dd{margin:0;font-size:13px;color:#5f5669;line-height:1.5;overflow-wrap:anywhere}
.customer-booking .booking-actions{margin-top:20px;gap:10px}
.customer-booking .booking-actions .secondary{flex:1;min-height:44px;padding:11px 14px;font-size:13px}
.customer-booking .booking-inline-notice,.customer-booking .booking-proposal{box-sizing:border-box;margin:18px 0 0}
@media(max-width:1000px){
 .provider-card-grid{grid-template-columns:1fr}
 .card.provider-card{grid-template-columns:220px minmax(0,1fr)}
 .appointments-page #appointment-results{grid-template-columns:1fr}
 .booking-provider{grid-template-columns:132px minmax(0,1fr)}
}
@media(max-width:600px){
 .profile-top .provider-profile-header{gap:14px}
 .profile-top .provider-profile-photo{border-radius:16px}
 .profile-top .provider-profile-service{font-size:14px}
 .provider-card-grid{gap:14px}
 .card.provider-card{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:14px;padding:14px;border-radius:24px}
 .provider-card>.provider-photo{min-height:180px}
 .provider-photo.logo{border-radius:16px;font-size:32px}
 .provider-card-heading h3{font-size:19px;margin:5px 0}
 .provider-card .favorite{width:36px;height:40px;font-size:26px;margin-top:-4px}
 .provider-card .provider-service{font-size:13px;margin:2px 0 7px}
 .provider-location{font-size:12px;gap:5px;margin:6px 0}
 .provider-location svg{width:16px;height:16px}
 .provider-card .desc{font-size:12px;margin:6px 0 10px}
 .secondary.provider-view{font-size:13px;padding:10px 19px;min-width:110px}
 .booking.customer-booking{padding:16px}
 .booking-provider{grid-template-columns:92px minmax(0,1fr);gap:14px}
 .customer-booking h3{font-size:21px}
 .booking-details{gap:13px 14px;margin-top:17px;padding-top:16px}
}
@media(max-width:420px){
 .provider-card-actions{gap:4px}
 .provider-card-actions .provider-view{min-width:0;padding:10px 6px;font-size:12px}
 .provider-card-actions .provider-rating-compact{font-size:12px;gap:4px}
 .provider-card-actions .rating-symbol{font-size:18px}
}
@media(max-width:370px){
 .profile-top .provider-profile-header{gap:12px}
 .profile-top .provider-profile-identity h1{font-size:24px}
 .card.provider-card{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:10px;padding:12px}
 .provider-card-heading h3{font-size:17px}
 .provider-card .favorite{width:32px;margin-right:-4px}
 .booking-provider{grid-template-columns:72px minmax(0,1fr);gap:12px}
 .booking-details{grid-template-columns:1fr}
}

.forgot-password{text-align:center;margin:16px 0 0}.forgot-password a{color:#715982;font-size:14px;font-weight:500;text-decoration:none}.forgot-password a:hover{text-decoration:underline}#recovery-status[hidden]{display:none}.access-preview>a.back{display:inline-block;margin-bottom:24px;text-decoration:none}
