@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{color-scheme:light;--sand: #fff7dd;--clay: #b7e5cd;--cocoa: #8abeb9;--truffle: #4f6f84;--espresso: #305669;--accent: #8abeb9;--accent-warm: #c1785a;--accent-muted: rgba(138, 190, 185, .22);--stroke: rgba(48, 86, 105, .18);font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(183,229,205,.45),transparent 55%),var(--sand);color:var(--espresso);font-family:var(--font, "Plus Jakarta Sans", sans-serif);letter-spacing:.01em}img{max-width:100%;height:auto}button{font:inherit;border:none;background:transparent;color:inherit;cursor:pointer}.screen-shell{max-width:1100px;margin:0 auto;padding:2.5rem 1rem 4rem}.app-card{background:#ffffff59;border-radius:32px;padding:1px;position:relative;overflow:hidden}.app-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(125deg,#8abeb9d9,#c1785a8c);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.app-card__body{border-radius:inherit;background:#fffdf5e6;padding:2.5rem clamp(1.5rem,5vw,3rem) 2.75rem;position:relative;z-index:1;backdrop-filter:blur(12px)}.app-grid{display:grid;gap:1rem}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-head span{color:var(--truffle);font-size:.95rem}.service-grid,.location-grid,.stylist-grid{display:grid;gap:1rem}.flow-section{transition:opacity .22s ease}.flow-section[data-enabled=false]{opacity:.35;pointer-events:none}.service-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.location-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stylist-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tile{border-radius:20px;padding:1.25rem;background:#ffffffa6;border:1px solid var(--stroke);box-shadow:0 10px 24px #2d3a4b14;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease,outline .22s ease;color:var(--espresso);text-align:left}.tile:focus-visible,.tile:hover{transform:translateY(-2px)}.tile:focus-visible{outline:3px solid rgba(138,190,185,.75);outline-offset:2px;box-shadow:0 16px 30px #2d3a4b26}.service-tile{position:relative;background:linear-gradient(150deg,#fff2eff2,#ffdbb6e6);border-color:#f7a5a580;box-shadow:0 18px 35px #1a2a4f26;padding-bottom:2.5rem}.service-tile:after{content:none}.service-tile h3{color:#1a2a4f}.service-tile p{color:#1a2a4fbf}.service-tile .chip{background:#f7a5a54d;color:#1a2a4f}.service-tile[data-muted=true]{opacity:.4}.service-tile[data-muted=true]:hover,.service-tile[data-muted=true]:focus-visible{opacity:1;border-color:var(--accent);box-shadow:0 12px 28px #2d3a4b1f;transform:translateY(-2px)}.tile[aria-pressed=true]{border-color:var(--accent);background:#fff7ddf2;box-shadow:0 16px 36px #2d3a4b33}.tile h3{margin:0 0 .35rem;font-size:1.15rem;color:var(--espresso)}.tile p{margin:0;color:var(--truffle);font-size:.95rem}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;background:var(--accent-muted);color:var(--truffle);font-size:.85rem}.flow-gap{margin-top:2.5rem}.progress-bar{display:flex;gap:.25rem;margin-bottom:2rem}.progress-step{flex:1;height:6px;border-radius:999px;background:#2d3a4b33;position:relative;overflow:hidden}.progress-step span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#8abeb9e6,#c1785ad9);transform:scaleX(var(--progress, 0));transform-origin:left;transition:transform .26s ease}.calendar-shell{margin-top:1.5rem;padding:1.5rem;border-radius:24px;background:#ffffff80;border:1px solid rgba(45,58,75,.12);display:flex;flex-direction:column;gap:1.5rem}.calendar-month{border-radius:24px;padding:1rem;background:#fff9;border:1px solid rgba(45,58,75,.08)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.calendar-nav{display:inline-flex;gap:.5rem;align-items:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem}.calendar-day{border-radius:18px;padding:.8rem;min-height:82px;background:#ffffffb3;border:1px solid rgba(45,58,75,.16);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;transition:border-color .2s ease,background .2s ease,color .2s ease;cursor:pointer}.calendar-day strong{font-size:1rem;color:var(--espresso)}.calendar-day span{font-size:.8rem;color:var(--truffle)}.calendar-day[data-status=booked]{background:#2d3a4b14;border-color:#2d3a4b33;color:var(--truffle);opacity:.5;cursor:not-allowed}.calendar-day[data-status=limited]{border-color:var(--accent);background:#8abeb940}.calendar-day[data-status=available]:hover,.calendar-day[data-status=available]:focus-visible{border-color:var(--accent)}.calendar-day[data-selected=true]{border-color:var(--accent);background:#fbf3d1cc;color:var(--espresso);box-shadow:0 10px 25px #2d3a4b2e}.calendar-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1rem;color:var(--truffle);font-size:.9rem}.legend-dot{width:14px;height:14px;border-radius:50%;margin-right:.4rem;border:2px solid transparent}.legend-item{display:inline-flex;align-items:center}.legend-item[data-status=available] .legend-dot{border-color:var(--accent)}.legend-item[data-status=limited] .legend-dot{border-color:var(--truffle);background:#8abeb973}.legend-item[data-status=booked] .legend-dot{border-color:#2d3a4b4d;background:#2d3a4b33}.context-panel{margin-top:2rem;padding:1.25rem;border-radius:20px;background:#fbf3d1b3;border:1px dashed rgba(45,58,75,.25);display:grid;gap:.4rem}.context-panel strong{font-size:.95rem;color:var(--truffle)}.context-panel span{color:var(--espresso);font-weight:600}.booking-submit,.booking-history-panel{margin-top:3rem;padding:1.5rem;border-radius:28px;background:#ffffffbf;border:1px solid rgba(48,86,105,.12);box-shadow:0 18px 40px #1a2a4f17}.booking-submit__head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.booking-submit__head h2{margin:0}.booking-submit__head p{margin:.35rem 0 0;color:var(--truffle)}.booking-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-field{display:flex;flex-direction:column;gap:.4rem;font-size:.95rem;color:var(--truffle);font-weight:600}.form-field input,.form-field textarea{border-radius:14px;border:1px solid rgba(48,86,105,.2);padding:.9rem 1rem;font:inherit;color:var(--espresso);background:#ffffffe6}.form-field textarea{min-height:110px;resize:vertical}.form-field--wide{grid-column:1 / -1}.booking-action{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.booking-hint{margin:0;color:var(--truffle);font-size:.85rem}.booking-message{min-height:1.25rem;font-weight:600;color:var(--espresso)}.booking-message[data-variant=success]{color:var(--accent)}.booking-message[data-variant=error]{color:#d7263d}.booking-history{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.85rem}.booking-history li{padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(48,86,105,.15);background:#ffffffe6;display:flex;flex-direction:column;gap:.2rem;font-size:.95rem}.booking-history small{color:var(--truffle);font-size:.8rem}.time-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.time-tile{background:linear-gradient(150deg,#ffdbb64d,#fff2efb3);border-color:#c1785a66}.time-tile h3{margin:0;font-size:1rem;color:#1a2a4f}.time-tile p{margin:.35rem 0 0;color:#1a2a4fbf;font-size:.85rem}.site-footer{margin-top:2.5rem;background:#0c2b4e;color:#f4f4f4;padding:1.5rem;border-radius:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;box-shadow:0 14px 30px #0c2b4e40}.site-footer a{color:#f4f4f4;text-decoration:none;font-weight:600;margin-right:1rem}.site-footer a:hover{text-decoration:underline;color:#1d546c}.hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap}.hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);color:var(--espresso)}.hero-title{margin:0;display:flex;flex-direction:column;gap:.15rem}.hero-title__brand{font-size:clamp(2.4rem,5vw,3.5rem);line-height:1}.hero-title__tagline{font-size:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--truffle)}.hero p{margin:.5rem 0 0;color:var(--truffle);max-width:520px}.hero-cta{display:inline-flex;gap:.75rem;align-items:center;margin-bottom:1rem}.cta-label{padding:.45rem 1rem;border-radius:999px;background:#b7e5cd73;color:var(--espresso);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.cta-button{padding:.55rem 1.3rem;border-radius:999px;border:none;background:var(--truffle);color:#fff;font-weight:600;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 20px #2d3a4b33;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.cta-button:hover,.cta-button:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px #2d3a4b40;background:var(--cocoa);color:var(--espresso)}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid rgba(45,58,75,.2);background:#ffffff73;color:var(--truffle);font-weight:600}.badge--ghost{background:#8abeb926}.step-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.2em;color:var(--truffle);margin-bottom:.5rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;margin-bottom:.5rem;color:var(--truffle);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.calendar-weekdays span{text-align:center}.calendar-placeholder{visibility:hidden}.stylist-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.65rem;color:var(--truffle);font-size:.85rem}.stylist-meta strong{color:var(--espresso)}.stylist-chip-group{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.availability-note{margin-top:1rem;font-size:.9rem;color:var(--truffle)}@media(max-width:768px){.screen-shell{padding:2rem 1rem 3rem}.app-card__body{padding:2rem 1.25rem 2.25rem}.hero{flex-direction:column;align-items:flex-start}.calendar-day{min-height:72px}}.fade-enter-active[data-v-ea260219],.fade-leave-active[data-v-ea260219]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-ea260219]{opacity:0;transform:translateY(10px)}.fade-leave-to[data-v-ea260219]{opacity:0;transform:translateY(-10px)}.fade-move[data-v-ea260219]{transition:transform .3s ease}.service-tile[data-v-ea260219]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.fade-enter-active[data-v-c9d37579],.fade-leave-active[data-v-c9d37579]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-c9d37579]{opacity:0;transform:translateY(10px)}.fade-leave-to[data-v-c9d37579]{opacity:0;transform:translateY(-10px)}.fade-move[data-v-c9d37579]{transition:transform .3s ease}.location-tile[data-v-c9d37579]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.location-tile[data-v-c9d37579]:disabled{opacity:.5;cursor:not-allowed}.fade-enter-active[data-v-91a709a2],.fade-leave-active[data-v-91a709a2]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-91a709a2]{opacity:0;transform:translateY(10px)}.fade-leave-to[data-v-91a709a2]{opacity:0;transform:translateY(-10px)}.fade-move[data-v-91a709a2]{transition:transform .3s ease}.stylist-tile[data-v-91a709a2]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.stylist-tile[data-v-91a709a2]:disabled{opacity:.5;cursor:not-allowed}.calendar-skeleton[data-v-651e6595]{padding:1rem 0}.skeleton-grid[data-v-651e6595]{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.skeleton-day[data-v-651e6595]{aspect-ratio:1;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-loading-651e6595 1.5s infinite;border-radius:4px}@keyframes skeleton-loading-651e6595{0%{background-position:200% 0}to{background-position:-200% 0}}.calendar-day[data-v-651e6595]:focus-visible{outline:2px solid #5D688A;outline-offset:2px;z-index:1}.badge[data-v-651e6595]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.badge[data-v-651e6595]:disabled{opacity:.5;cursor:not-allowed}.calendar-error[data-v-651e6595]{margin-top:1rem;padding:1rem;background:#fff0f0;border:1px solid #ffcccc;border-radius:4px;text-align:center}.calendar-error p[data-v-651e6595]{margin:0 0 .5rem;color:#d32f2f}.retry-button[data-v-651e6595]{padding:.5rem 1rem;background:#5d688a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s ease}.retry-button[data-v-651e6595]:hover{background:#4a5570}.retry-button[data-v-651e6595]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.calendar-month[data-v-651e6595]{animation:fade-in-651e6595 .3s ease}@keyframes fade-in-651e6595{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active[data-v-fab288ae],.fade-leave-active[data-v-fab288ae]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-fab288ae]{opacity:0;transform:translateY(10px)}.fade-leave-to[data-v-fab288ae]{opacity:0;transform:translateY(-10px)}.fade-move[data-v-fab288ae]{transition:transform .3s ease}.time-tile[data-v-fab288ae]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.time-tile[data-v-fab288ae]:disabled{opacity:.5;cursor:not-allowed}.time-tile[aria-checked=true][data-v-fab288ae]:before{content:"✓";position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#5d688a;color:#fff;border-radius:50%;font-size:12px;font-weight:700}.time-tile[data-v-fab288ae]{position:relative}.empty-state[data-v-fab288ae]{padding:2rem;text-align:center;color:#5d688a;background:#f5f5f5;border-radius:8px}.empty-state p[data-v-fab288ae]{margin:0;font-size:1rem}.context-panel[data-v-f06b1768]{position:sticky;top:20px}.context-panel>div[data-selected=true][data-v-f06b1768]{opacity:1}.context-panel>div[data-selected=false][data-v-f06b1768]{opacity:.6}.context-panel>div[data-v-f06b1768]{transition:opacity .3s ease}.context-panel>div[data-selected=true] strong[data-v-f06b1768]:before{content:"✓ ";color:#5d688a;font-weight:700}.field-error[data-v-2bfa9e45]{display:block;margin-top:.25rem;font-size:.875rem;color:#d32f2f}.form-field input[aria-invalid=true][data-v-2bfa9e45],.form-field textarea[aria-invalid=true][data-v-2bfa9e45]{border-color:#d32f2f}.form-field input:focus[aria-invalid=true][data-v-2bfa9e45],.form-field textarea:focus[aria-invalid=true][data-v-2bfa9e45]{outline-color:#d32f2f}abbr[title][data-v-2bfa9e45]{color:#d32f2f;text-decoration:none}.spinner[data-v-2bfa9e45]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-2bfa9e45 .6s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin-2bfa9e45{to{transform:rotate(360deg)}}.cta-button[data-v-2bfa9e45]:disabled{opacity:.6;cursor:not-allowed}.cta-button[data-v-2bfa9e45]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #5d688a4d}.cta-button[data-v-2bfa9e45]:not(:disabled):active{transform:translateY(0)}.cta-button[data-v-2bfa9e45]{transition:all .2s ease}.booking-message[data-variant=success][data-v-2bfa9e45]{color:#2e7d32;background:#e8f5e9;padding:.75rem;border-radius:4px;border-left:3px solid #2e7d32}.booking-message[data-variant=error][data-v-2bfa9e45]{color:#d32f2f;background:#ffebee;padding:.75rem;border-radius:4px;border-left:3px solid #d32f2f}.booking-message[data-variant=info][data-v-2bfa9e45]{color:#1976d2;background:#e3f2fd;padding:.75rem;border-radius:4px;border-left:3px solid #1976d2}@keyframes success-pulse-2bfa9e45{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.booking-message[data-variant=success][data-v-2bfa9e45]{animation:success-pulse-2bfa9e45 .6s ease}.form-field input[data-v-2bfa9e45]:focus-visible,.form-field textarea[data-v-2bfa9e45]:focus-visible{outline:2px solid #5D688A;outline-offset:2px}.booking-flow[data-v-ecdf0cc9]{position:relative}.loading-state[data-v-ecdf0cc9],.error-state[data-v-ecdf0cc9]{padding:3rem 1.5rem;text-align:center;min-height:300px;display:flex;align-items:center;justify-content:center}.loading-state p[data-v-ecdf0cc9]{font-size:1.125rem;color:#5d688a;animation:pulse-ecdf0cc9 2s ease-in-out infinite}.error-state p[data-v-ecdf0cc9]{font-size:1.125rem;color:#d64545;padding:1.5rem;background-color:#fff5f5;border-radius:.5rem;border:1px solid #fecaca}@keyframes pulse-ecdf0cc9{0%,to{opacity:1}50%{opacity:.5}}.progress-step span[data-v-ecdf0cc9]{transition:all .4s cubic-bezier(.4,0,.2,1)}
