:root{--color-bg:#fff;--color-bg-subtle:#fafafa;--color-surface:#f4f4f4;--color-surface-hover:#ebebeb;--color-surface-elevated:#fff;--color-border:#e2e2e2;--color-border-strong:#bdbdbd;--color-border-hover:#898989;--color-primary:#171717;--color-primary-hover:#333;--color-primary-active:#000;--color-primary-contrast:#fff;--color-accent:#171717;--color-accent-hover:#333;--color-accent-active:#000;--color-accent-contrast:#fff;--color-text:#171717;--color-text-muted:#595959;--color-text-faint:#737373;--color-success:#1a5a3a;--color-success-bg:#eef6f0;--color-success-border:#b6dcc2;--color-error:#8b2c2c;--color-error-hover:#7a2222;--color-error-bg:#fdf0ec;--color-error-border:#e8b4a8;--color-error-text-strong:#6b2a2a;--color-focus:#171717;--color-focus-ring:#0000002e;--font-display:Arial, Helvetica, sans-serif;--font-sans:Arial, Helvetica, sans-serif;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-hero:clamp(2.2rem, 6vw, 3.75rem);--text-hero-line:1.05;--text-section:clamp(1.75rem, 4vw, 2.5rem);--leading-tight:1.1;--leading-normal:1.5;--leading-relaxed:1.65;--weight-regular:400;--weight-medium:500;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--content-max:72rem;--content-narrow:40rem;--section-padding-y:clamp(2rem, 5vw, 4rem);--section-padding-x:clamp(1rem, 4vw, 2rem);--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-pill:4px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--focus-ring-width:3px;--focus-ring-offset:2px;--duration-fast:.15s;--duration-normal:.22s;--ease-default:cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{display:none}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--color-primary);text-underline-offset:3px}a:hover{color:var(--color-primary-hover)}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);color:var(--color-text);text-wrap:balance;margin:0}p{line-height:var(--leading-relaxed);margin:0}main{min-height:100vh}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:var(--radius-pill);transition:transform var(--duration-fast) var(--ease-default);position:absolute;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 calc(var(--focus-ring-width) + var(--focus-ring-offset)) var(--color-focus-ring)}:focus:not(:focus-visible){box-shadow:none;outline:none}.app-shell{min-width:320px}.vd-button{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-medium);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.vd-button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.vd-button:active:not(:disabled){transform:translateY(1px)}.vd-button--sm{font-size:var(--text-sm);padding:.55rem 1rem}.vd-button--md{font-size:var(--text-sm);letter-spacing:.01em;padding:.72rem 1.35rem}.vd-button--lg{font-size:var(--text-base);padding:.9rem 1.75rem}.vd-button--primary{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.vd-button--primary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-md)}.vd-button--primary:active:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.vd-button--secondary{color:var(--color-primary);border-color:var(--color-border-strong);background:0 0}.vd-button--secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.vd-button--secondary:active:not(:disabled){background:var(--color-surface-hover)}.vd-button--ghost{color:var(--color-primary);background:0 0;border-color:#0000}.vd-button--ghost:hover:not(:disabled){background:var(--color-surface)}.vd-button--danger{background:var(--color-error);color:var(--color-surface-elevated);border-color:var(--color-error)}.vd-button--danger:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}.vd-nav{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-elevated);border:0;border-radius:0;flex-wrap:wrap;display:flex}.vd-nav__brand{align-items:center;gap:var(--space-3);font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;color:var(--color-primary);white-space:nowrap;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.vd-nav__brand:hover{color:var(--color-primary)}.vd-nav__links{align-items:center;gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.vd-nav__menu{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.vd-nav__toggle{display:none}.vd-nav__link{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);align-items:center;padding:.5rem .9rem;text-decoration:none;display:inline-flex}.vd-nav__link:hover{background:var(--color-surface);color:var(--color-primary)}.vd-nav__link--cta{background:var(--color-accent);color:var(--color-accent-contrast);border:1px solid var(--color-accent)}.vd-nav__link--cta:hover{background:var(--color-bg);color:var(--color-primary);border-color:var(--color-primary)}.vd-nav__meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;display:inline-flex}.vd-nav__meta strong{color:var(--color-text);font-weight:var(--weight-medium);overflow-wrap:anywhere}.vd-nav__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.vd-nav{padding:var(--space-3) var(--space-4);gap:0}.vd-nav__brand{gap:var(--space-2);font-size:1.05rem}.vd-nav__brand img{width:2.25rem;height:auto}.vd-nav__toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-elevated);cursor:pointer;width:2.75rem;height:2.75rem;margin-left:auto;padding:.7rem;display:block;position:relative}.vd-nav__toggle span{background:var(--color-text);width:1.25rem;height:2px;position:absolute;top:calc(50% - 1px);left:.7rem}.vd-nav__toggle span:first-child{transform:translateY(-.375rem)}.vd-nav__toggle span:last-child{transform:translateY(.375rem)}.vd-nav__toggle[aria-expanded=true] span{display:none}.vd-nav__toggle[aria-expanded=true]:before{content:"×";font-size:1.75rem;line-height:1}.vd-nav__menu{width:100%;margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);display:none}.vd-nav__menu--open{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.vd-nav__links{flex-direction:column;align-items:stretch;width:100%}.vd-nav__link,.vd-nav__actions .vd-button{width:100%;min-height:2.75rem}.vd-nav__meta{text-align:center;justify-content:center}.vd-nav__actions{width:100%}}@media (width<=360px){.vd-nav__brand{font-size:1rem}}.vd-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface-elevated)}.vd-card--elevated{background:var(--color-surface-elevated);box-shadow:var(--shadow-md);border-color:var(--color-border)}.vd-card--surface{background:var(--color-surface);box-shadow:none;border-color:var(--color-border)}.vd-card--outline{box-shadow:none;border-color:var(--color-border-strong);background:0 0}.vd-card--pad-none{padding:0}.vd-card--pad-sm{padding:var(--space-4)}.vd-card--pad-md{padding:var(--space-6)}.vd-card--pad-lg{padding:clamp(var(--space-6), 4vw, var(--space-8))}@media (width<=480px){.vd-card--pad-lg{padding:var(--space-5)}}.vd-field{gap:var(--space-2);flex-direction:column;display:flex}.vd-field__label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);line-height:1.3}.vd-field__required{color:var(--color-error);font-weight:var(--weight-bold)}.vd-field__hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.vd-field__error{font-size:var(--text-xs);color:var(--color-error);font-weight:var(--weight-medium);line-height:1.4}.vd-input{width:100%;min-width:0;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface-elevated);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);appearance:none;padding:.7rem .9rem;line-height:1.4}.vd-input::placeholder{color:var(--color-text-faint)}.vd-input:hover{border-color:var(--color-border-hover)}.vd-input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.vd-input:disabled{background:var(--color-surface);opacity:.7;cursor:not-allowed}.vd-input--invalid,.vd-input--invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #8b2c2c24}.vd-select{background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.25rem}.vd-textarea{resize:vertical;min-height:6rem}.vd-secret{position:relative}.vd-secret .vd-input{padding-right:2.75rem}.vd-secret__toggle{border-radius:var(--radius-md);width:2.1rem;height:2.1rem;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.vd-secret__toggle:hover{background:var(--color-surface);color:var(--color-primary)}.vd-secret__toggle:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:1px}.vd-field .vd-checkbox-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-regular);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.vd-field input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--color-primary);border-radius:4px}.vd-input[type=file]{cursor:pointer;padding:.55rem .7rem}.vd-input[type=file]::file-selector-button{margin-right:var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:.35rem .85rem}.vd-input[type=file]::file-selector-button:hover{background:var(--color-surface-hover)}.vd-error{padding:var(--space-4) var(--space-5);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error)}.vd-error__message{font-weight:var(--weight-medium);font-size:var(--text-sm);margin:0;line-height:1.5}.vd-error__desc{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-error-text-strong);line-height:1.5}.vd-error__retry{margin-top:var(--space-3)}.vd-alert{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm);border-left-width:4px;margin:0;line-height:1.5}.vd-hero__wrap{gap:var(--space-3);flex-direction:column;display:flex}.vd-hero__eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin:0}.vd-hero{text-transform:uppercase;font-family:var(--font-display);font-size:var(--text-hero);line-height:var(--text-hero-line);letter-spacing:-.035em;color:var(--color-text);text-wrap:balance;margin:0;font-weight:700}.vd-section-heading__wrap{gap:var(--space-2);flex-direction:column;display:flex}.vd-section-heading__eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0}.vd-section-heading{font-family:var(--font-display);font-size:var(--text-section);line-height:var(--leading-tight);letter-spacing:-.035em;color:var(--color-text);text-wrap:balance;margin:0;font-weight:700}.vd-section-heading__desc{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:38rem;margin:0}.vd-page-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--color-text);text-wrap:balance;margin:0;font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:700;line-height:1.1}.vd-page{gap:var(--space-8);flex-direction:column;display:flex}.vd-page--narrow{max-width:var(--content-narrow);width:100%;margin:0 auto}.vd-page__header{gap:var(--space-3);flex-direction:column;display:flex}.vd-divider{background:var(--color-border);border:none;height:1px;margin:0}.vd-form{gap:var(--space-5);flex-direction:column;display:flex}.vd-form__grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (width>=640px){.vd-form__grid--2{grid-template-columns:1fr 1fr}}.vd-form__actions{gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.vd-form__footer{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.vd-form__footer a{font-weight:var(--weight-medium)}body:has(.vd-modal[open]){overflow:hidden}.vd-modal{width:min(100% - var(--space-6), 32rem);overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);max-height:min(90vh,48rem);color:var(--color-text);padding:var(--space-6);overflow-y:auto}.vd-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c}.vd-modal__copy{color:var(--color-text-muted);margin:0}.vd-booking-modal{width:min(100% - var(--space-6), 42rem)}.vd-booking-modal__types,.vd-booking-modal__services,.vd-booking-modal__payment{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.vd-booking-modal__types legend,.vd-booking-modal__payment legend{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.vd-booking-modal__type,.vd-booking-modal__payment label{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:3rem;padding:var(--space-3);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);display:flex}.vd-booking-modal__type:hover,.vd-booking-modal__payment label:hover{border-color:var(--color-border-hover);background:var(--color-bg-subtle)}.vd-booking-modal__type:has(input:checked){border-color:var(--color-primary);background:var(--color-surface)}.vd-booking-modal__payment label:has(input:checked){border-color:var(--color-primary);background:var(--color-surface)}.vd-booking-modal__type-copy{justify-content:space-between;gap:var(--space-4);flex:1;display:flex}.vd-payment-method__icon{flex:none}.vd-booking-modal__service>label{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.vd-booking-modal input[type=radio],.vd-booking-modal input[type=checkbox]{border:1.5px solid var(--color-border-strong);background:var(--color-surface-elevated);appearance:none;cursor:pointer;width:1.2rem;height:1.2rem;transition:border-color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);flex:none;place-content:center;margin:0;display:grid}.vd-booking-modal input[type=radio]{border-radius:50%}.vd-booking-modal input[type=checkbox]{border-radius:var(--radius-sm)}.vd-booking-modal input[type=radio]:before,.vd-booking-modal input[type=checkbox]:before{background:var(--color-primary-contrast);content:"";width:.55rem;height:.55rem;transition:transform var(--duration-fast) var(--ease-default);transform:scale(0)}.vd-booking-modal input[type=radio]:before{border-radius:50%}.vd-booking-modal input[type=checkbox]:before{clip-path:polygon(14% 44%,0 65%,45% 100%,100% 20%,80% 0,43% 62%)}.vd-booking-modal input[type=radio]:checked,.vd-booking-modal input[type=checkbox]:checked{border-color:var(--color-primary);background:var(--color-primary)}.vd-booking-modal input[type=radio]:checked:before,.vd-booking-modal input[type=checkbox]:checked:before{transform:scale(1)}.vd-booking-modal__service{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-border);min-height:2.75rem;padding-block:var(--space-2);display:flex}.vd-booking-modal__service:has(input[type=checkbox]:checked)>label{font-weight:var(--weight-medium)}.vd-booking-price-summary{gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-4);margin:0;display:grid}.vd-booking-price-summary>div{justify-content:space-between;gap:var(--space-4);display:flex}.vd-booking-price-summary dt,.vd-booking-price-summary dd{margin:0}.vd-booking-price-summary__total{padding-top:var(--space-2);border-top:1px solid var(--color-border-strong);font-size:var(--text-lg);font-weight:var(--weight-bold)}.vd-booking-modal__service .vd-input{width:5rem}.vd-profile-modal{width:min(100% - var(--space-6), 38rem)}.vd-profile-details{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(9rem,auto) 1fr;margin:0;display:grid}.vd-profile-details dt{color:var(--color-text-muted)}.vd-profile-details dd{overflow-wrap:anywhere;margin:0}.vd-booking-modal,.vd-profile-modal{--modal-padding:clamp(1.25rem, 4vw, 2rem);max-height:calc(100dvh - var(--space-8));background:var(--color-surface-elevated);border-radius:var(--radius-xl);padding:var(--modal-padding);box-shadow:0 24px 80px #0003}.vd-modal__header{gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);display:grid}.vd-modal__header .vd-section-heading{overflow-wrap:anywhere;font-size:clamp(1.5rem,4vw,2rem)}.vd-booking-modal .vd-modal__copy{width:fit-content;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.vd-booking-modal .vd-form__actions,.vd-profile-modal .vd-form__actions{bottom:calc(-1 * var(--modal-padding));z-index:1;margin:0 calc(-1 * var(--modal-padding)) calc(-1 * var(--modal-padding));padding:var(--space-4) var(--modal-padding);border-top:1px solid var(--color-border);background:var(--color-surface-elevated);justify-content:flex-end;position:sticky}.vd-booking-modal__services{overscroll-behavior:contain;max-height:20rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);overflow-y:auto}.vd-booking-modal__service:last-child{border-bottom:0}.vd-booking-modal__service>label{min-width:0;font-size:var(--text-sm);flex:1}.vd-booking-modal__service-price{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular);display:block}.vd-booking-modal__type-copy strong{white-space:nowrap;font-variant-numeric:tabular-nums}.vd-booking-modal__type:has(input:checked){box-shadow:inset 0 0 0 1px var(--color-primary);background:var(--color-bg-subtle)}.vd-booking-price-summary{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.vd-booking-price-summary__total{margin-top:var(--space-2);padding-top:var(--space-3)}.vd-profile-section{gap:var(--space-4);display:grid}.vd-profile-section h3{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;margin:0}.vd-profile-section+.vd-profile-section{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.vd-profile-modal .vd-profile-details{gap:var(--space-3) var(--space-5);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.vd-profile-modal .vd-profile-details dd{white-space:pre-wrap}@media (width<=480px){.vd-booking-modal__type-copy{gap:var(--space-1);flex-direction:column}.vd-booking-modal .vd-form__actions>button{flex:1}.vd-profile-modal .vd-profile-details{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.vd-profile-modal .vd-profile-details dd:not(:last-child){margin-bottom:var(--space-3)}}.vd-admin-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.vd-admin-filters .vd-field{flex:14rem;min-width:0}.vd-admin-booking-lists{gap:var(--space-12)}.vd-booking-details{margin-top:var(--space-2)}.vd-booking-details summary{cursor:pointer;color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.vd-booking-details dl{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;grid-template-columns:minmax(9rem,auto) 1fr;display:grid}.vd-booking-details dt{color:var(--color-text-muted)}.vd-booking-details dd{overflow-wrap:anywhere;margin:0}.vd-hero-section{gap:var(--space-8);padding:var(--space-8) 0 var(--space-4);display:grid}.vd-hero-section__copy{max-width:38rem;font-size:var(--text-lg);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.vd-hero-section__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.vd-feature-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=720px){.vd-feature-grid{grid-template-columns:repeat(3,1fr)}}.vd-feature-card{gap:var(--space-3);flex-direction:column;display:flex}.vd-feature-card h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.vd-feature-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.vd-stack{gap:var(--space-6);flex-direction:column;display:flex}.vd-stack--lg{gap:var(--space-8)}.vd-inline-meta{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.vd-badge{border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);letter-spacing:.02em;align-items:center;padding:.25rem .65rem;display:inline-flex}.vd-file-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.vd-success{padding:var(--space-3) var(--space-4);background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--text-sm);font-weight:var(--weight-medium)}.vd-user-dashboard__intro{max-width:38rem;color:var(--color-text-muted);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin:0}.vd-user-dashboard__grid,.vd-cleaner-dashboard__grid{gap:var(--space-6);align-items:start;display:grid}.vd-user-dashboard__grid{width:100%}.vd-booking-planner,.vd-booking-summary-grid{gap:var(--space-6);display:grid}@media (width>=880px){.vd-booking-planner{grid-template-columns:minmax(30.25rem,32.75rem) minmax(18rem,1fr);align-items:stretch}.vd-booking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-cleaner-dashboard__grid{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr)}}.vd-booking-calendar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);width:100%;padding:var(--space-3) 0}.vd-booking-calendar__header{text-align:center;margin-bottom:var(--space-3);grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;display:grid}.vd-booking-calendar__header .vd-button{min-width:2.25rem;padding-inline:var(--space-2);justify-self:center}.vd-list-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.vd-list-pagination>div{gap:var(--space-2);display:flex}.vd-booking-calendar__weekdays,.vd-booking-calendar__days{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.vd-booking-calendar__weekdays{margin-bottom:var(--space-1);color:var(--color-text-faint);font-size:var(--text-xs);text-align:center}.vd-booking-calendar__day{aspect-ratio:1;color:var(--color-text-faint);font:inherit;cursor:not-allowed;background:0 0;border:1px solid #0000;border-radius:50%}@media (width>=880px){.vd-booking-calendar__weekdays,.vd-booking-calendar__days{grid-template-columns:repeat(7,3rem);justify-content:space-between}.vd-booking-calendar__day{width:3rem;height:3rem}}.vd-booking-calendar__day:not(:disabled){color:var(--color-primary);background:var(--color-surface);border-color:var(--color-border);cursor:pointer;font-weight:var(--weight-bold)}.vd-booking-calendar__day:not(:disabled):hover,.vd-booking-calendar__day[aria-pressed=true]{color:var(--color-accent-contrast);background:var(--color-accent);border-color:var(--color-accent)}.vd-booking-calendar__day:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.vd-booking-calendar__legend{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.vd-booking-calendar__legend-dot{width:.55rem;height:.55rem;margin-left:var(--space-2);background:var(--color-accent);border-radius:50%}.vd-booking-calendar__legend-dot--muted{background:var(--color-border-strong)}.vd-time-picker__date{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold)}.vd-time-picker{min-block-size:0;flex-direction:column;flex:1;width:100%;display:flex}.vd-time-picker-card{display:flex}.vd-time-picker__slots,.vd-cleaner-slot-list,.vd-booking-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vd-time-picker__slots{overscroll-behavior:contain;min-block-size:0;max-block-size:min(22rem,50vh);padding-right:var(--space-2);flex:1;align-content:start;overflow-y:auto}.vd-time-picker__availability-note{gap:var(--space-3);padding-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin:auto 0 0;display:grid}.vd-time-picker__availability-note:before,.vd-time-picker__availability-note:after{background:var(--color-border);content:"";height:1px}.vd-time-picker__slot,.vd-cleaner-slot,.vd-booking-list li{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:var(--space-3);display:flex}.vd-time-picker__slot>span{font-size:var(--text-lg);font-weight:var(--weight-bold)}.vd-time-picker__slot .vd-button{margin-left:auto}@media (width>=880px){.vd-time-picker{padding-top:var(--space-4)}.vd-time-picker__slots{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.vd-time-picker__slot{flex-direction:column;align-items:flex-start}.vd-time-picker__slot .vd-button{width:100%;margin-left:0}}.vd-booking-list li{gap:var(--space-1);display:grid}.vd-booking-list span,.vd-cleaner-slot__date{color:var(--color-text-muted);font-size:var(--text-sm)}.vd-booking-status{border-radius:var(--radius-pill);background:var(--color-success-bg);width:fit-content;color:var(--color-success);font-weight:var(--weight-medium);padding:.15rem .5rem;font-size:var(--text-xs)!important}.vd-cleaner-slot{grid-template-columns:1fr auto;display:grid}.vd-cleaner-slot__date,.vd-cleaner-slot__time{grid-column:1}.vd-cleaner-slot__time{font-size:var(--text-lg)}.vd-cleaner-slot__status{border-radius:var(--radius-pill);background:var(--color-surface);width:fit-content;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);grid-column:1;padding:.15rem .5rem}.vd-cleaner-slot .vd-button{grid-area:1/2/span 3}.vd-cleaner-slot-toolbar{justify-content:space-between;align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.vd-cleaner-view-toggle,.vd-cleaner-sort-controls{gap:var(--space-2);display:flex}.vd-cleaner-sort-controls .vd-field{min-width:8.5rem}.vd-cleaner-calendar-slot>strong{font-size:var(--text-lg)}@media (width>=880px){.vd-cleaner-dashboard__grid--calendar{grid-template-columns:minmax(0,1fr)}.vd-cleaner-slots-card--calendar{grid-column:1/-1}}.vd-cleaner-dashboard__grid--calendar .vd-cleaner-slots-card--calendar{order:-1}@media (width<=560px){.vd-page,.vd-stack--lg{gap:var(--space-6)}.vd-hero-section{gap:var(--space-6);padding-top:var(--space-4)}.vd-hero-section__actions>*{flex:1}.vd-form__actions{align-items:stretch}.vd-form__actions>.vd-button{flex:100%}.vd-admin-tabs .vd-button,.vd-cleaner-view-toggle .vd-button{flex:1}.vd-admin-tabs,.vd-cleaner-view-toggle{width:100%}.vd-admin-filters .vd-field{flex-basis:100%;width:100%}.vd-modal{width:100%;max-width:none;max-height:calc(100dvh - var(--space-2));border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:auto 0 0}.vd-booking-details dl{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.vd-booking-details dd:not(:last-child){margin-bottom:var(--space-3)}.vd-list-pagination{flex-direction:column;align-items:stretch}.vd-list-pagination>div>.vd-button{flex:1}.vd-cleaner-slot{grid-template-columns:minmax(0,1fr)}.vd-cleaner-slot .vd-button{grid-area:auto/1;width:100%}.vd-cleaner-calendar-slot{flex-wrap:wrap}.vd-cleaner-calendar-slot .vd-button{flex-basis:100%;width:100%;margin-left:0}.vd-cleaner-calendar>.vd-card{background:0 0;border:0;padding:0}.vd-cleaner-sort-controls{width:100%}.vd-cleaner-sort-controls .vd-field{flex:1;min-width:0}}.vd-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);flex-direction:column;max-width:32rem;margin:0 auto;display:flex}.vd-empty__icon{border-radius:var(--radius-pill);background:var(--color-surface);width:3rem;height:3rem;color:var(--color-text-muted);place-items:center;font-size:1.5rem;display:grid}.vd-empty__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);margin:0}.vd-empty__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.vd-empty__action{margin-top:var(--space-2)}.vd-app{flex-direction:column;min-height:100vh;display:flex}.vd-app__header{z-index:10;padding:var(--space-4) var(--section-padding-x);background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.vd-app__header-inner{max-width:var(--content-max);margin:0 auto}.vd-app__main{width:100%;max-width:var(--content-max);padding:var(--section-padding-y) var(--section-padding-x);flex:1;margin:0 auto}.vd-app__footer{padding:var(--space-8) var(--section-padding-x);border-top:1px solid var(--color-border);background:var(--color-surface)}.vd-app__footer-inner{max-width:var(--content-max);justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;margin:0 auto;display:flex}.vd-app__footer-brand{font-family:var(--font-display);color:var(--color-text);font-weight:700}.vd-not-found{gap:var(--space-4);padding:var(--space-12) 0;flex-direction:column;display:flex}@media (width<=640px){.vd-app__header{padding:0}.vd-app__main{padding-top:var(--space-8)}.vd-app__footer-inner{flex-direction:column}}
