:root{--color-primary: #6d28d9;--color-secondary: #a855f7;--color-accent: #f59e0b;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-text: #1f2937;--color-text-light: #6b7280;--color-bg: #ffffff;--color-surface: #f9fafb;--color-header-bg: #ffffff;--color-header-text: #1f2937;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-focus-ring: rgba(109, 40, 217, .3);--font-family: "Inter", sans-serif;--font-family-heading: "Inter", sans-serif;--font-size-base: 16px;--font-size-sm: 14px;--font-size-xs: 12px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--line-height-base: 1.5;--line-height-heading: 1.2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-button: 8px;--radius-card: 12px;--radius-input: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-skip-link: 1000;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}@media(min-width:768px){.container{padding:0 var(--space-6)}}@media(min-width:1024px){.container{padding:0 var(--space-8)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-text-size-adjust:100%}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}ul,ol{list-style:none}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);line-height:var(--line-height-heading)}h1{font-size:var(--font-size-4xl);font-weight:700}h2{font-size:var(--font-size-3xl);font-weight:700}h3{font-size:var(--font-size-2xl);font-weight:600}h4{font-size:var(--font-size-xl);font-weight:600}h5{font-size:var(--font-size-lg);font-weight:600}h6{font-size:var(--font-size-base);font-weight:600}p{margin-bottom:var(--space-4)}small{font-size:var(--font-size-sm)}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:var(--z-skip-link);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-button);text-decoration:none;font-weight:600}.skip-link:focus{top:var(--space-4)}*:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=dark]{--color-bg: #1a1a2e;--color-surface: #16213e;--color-text: #e2e8f0;--color-text-light: #94a3b8;--color-border: #334155;--color-border-hover: #475569;--color-header-bg: #1e293b;--color-header-text: #f1f5f9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 28px;height:52px;border-radius:var(--radius-button);font-weight:600;font-size:15px;letter-spacing:.01em;line-height:1;transition:background var(--transition-base),box-shadow var(--transition-base),transform .12s ease,border-color var(--transition-base),color var(--transition-base);cursor:pointer;white-space:nowrap;border:2px solid transparent;text-decoration:none;flex-shrink:0}.btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 1px 2px #0000001a,0 4px 16px var(--color-focus-ring)}.btn--primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 2px 4px #0000001a,0 8px 28px var(--color-focus-ring);transform:translateY(-1px)}.btn--primary:active:not(:disabled){filter:brightness(.96);transform:translateY(0);box-shadow:0 1px 4px #00000026}.btn--secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border);box-shadow:0 1px 2px #0000000a}.btn--secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-hover);box-shadow:0 2px 6px #00000014}.btn--secondary:active:not(:disabled){background:var(--color-surface);box-shadow:none}.btn--ghost{background:transparent;color:var(--color-text-light);border-color:transparent;padding-left:12px;padding-right:12px;box-shadow:none;font-weight:500}.btn--ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger);box-shadow:0 4px 12px #ef44444d}.btn--danger:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px 18px #ef444466;transform:translateY(-1px)}.btn--danger:active:not(:disabled){filter:brightness(.96);transform:translateY(0)}.btn--sm{height:40px;padding:0 18px;font-size:13px}.btn--lg{height:60px;padding:0 36px;font-size:16px}.input{width:100%;padding:0 18px;border:2px solid var(--color-border);border-radius:12px;font-size:var(--font-size-base);font-family:var(--font-family);background-color:#fff;color:var(--color-text);height:54px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px var(--color-focus-ring)}.input--error{border-color:var(--color-danger);background-color:#fff8f8}.input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px #ef444426}.input::placeholder{color:#c0c7d0}textarea.input{height:auto;padding-top:14px;padding-bottom:14px;resize:vertical;min-height:100px}@media(max-width:767px){.header__mobile-toggle{display:flex!important}.header__auth-label{display:none}}@media(min-width:768px){.header__mobile-menu{display:none!important}}@media(max-width:639px){.cover-banner,.cover-banner img{max-height:200px!important}}.tab-navigation [role=tablist]::-webkit-scrollbar{display:none}@media(max-width:639px){.about-section__grid{grid-template-columns:1fr!important}}.services-layout{display:flex;gap:var(--space-8)}.services-main{flex:1;min-width:0}.services-sidebar{width:260px;flex-shrink:0}@media(max-width:767px){.services-layout{flex-direction:column}.services-sidebar{display:none}}.services-list{display:flex;flex-direction:column;gap:var(--space-8)}.search-input{position:relative;margin-bottom:var(--space-6)}.search-input__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-sm);pointer-events:none}.search-input__field{padding-left:var(--space-10);padding-right:var(--space-10);width:100%}.search-input__clear{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-light);font-size:var(--font-size-sm);padding:var(--space-1);line-height:1}.search-input__clear:hover{color:var(--color-text)}.search-input__clear:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-button)}.category-group{margin-bottom:var(--space-4)}.category-group__header{border-left:4px solid var(--color-primary);padding-left:var(--space-4);margin-bottom:var(--space-4)}.category-group__name{font-family:var(--font-family-heading);font-size:var(--font-size-xl);line-height:var(--line-height-heading);display:flex;align-items:center;gap:var(--space-2)}.category-group__icon{font-size:var(--font-size-lg)}.category-group__description{color:var(--color-text-light);font-size:var(--font-size-sm);margin-top:var(--space-1)}.category-group__services{display:flex;flex-direction:column;gap:var(--space-3)}.service-card{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);background:var(--color-bg);transition:box-shadow var(--transition-base)}.service-card:hover{box-shadow:var(--shadow-md)}.service-card--skeleton{display:flex;align-items:flex-start;gap:var(--space-4)}.service-card--skeleton .service-card__content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.service-card--skeleton .service-card__action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.service-card__main{display:flex;align-items:flex-start;gap:var(--space-4)}.service-card__icon{width:48px;height:48px;border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.service-card__icon-text{font-weight:700;font-size:var(--font-size-lg)}.service-card__content{flex:1;min-width:0}.service-card__name{font-size:var(--font-size-base);font-weight:600;margin:0;line-height:var(--line-height-heading)}.service-card__employees{color:var(--color-text-light);font-size:var(--font-size-xs);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.5px}.service-card__description{color:var(--color-text-light);font-size:var(--font-size-sm);margin-top:var(--space-1)}.service-card__action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.service-card__price{font-weight:600;font-size:var(--font-size-base);white-space:nowrap}.service-card__book-btn{white-space:nowrap;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4)}.service-card__details-toggle{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2) 0;display:flex;align-items:center;gap:var(--space-1)}.service-card__details-toggle:hover{text-decoration:underline}.service-card__details-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-button)}.service-card__details-arrow{transition:transform var(--transition-fast)}.service-detail{border-top:1px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-4)}.service-detail__gallery{display:flex;gap:var(--space-2);overflow-x:auto;margin-bottom:var(--space-4);padding-bottom:var(--space-1);scrollbar-width:thin}.service-detail__gallery::-webkit-scrollbar{height:4px}.service-detail__gallery::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.service-detail__gallery-thumb{height:120px;width:auto;flex-shrink:0;object-fit:cover;border-radius:8px;display:block}.service-detail__description{margin-bottom:var(--space-3);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.service-detail__info{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.service-detail__tiers,.service-detail__employees{font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.service-detail__tiers ul,.service-detail__employees ul{list-style:none;padding:0;margin:var(--space-1) 0 0 0}.service-detail__tiers li,.service-detail__employees li{padding:var(--space-1) 0;color:var(--color-text-light)}.service-detail__cancellation{font-size:var(--font-size-xs);color:var(--color-text-light);margin-bottom:var(--space-3)}.service-detail__book-btn{margin-top:var(--space-2)}.category-filter{position:sticky;top:var(--space-4)}.category-filter__heading{font-family:var(--font-family-heading);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);margin-bottom:var(--space-3)}.category-filter__list{display:flex;flex-direction:column;gap:var(--space-1)}.category-filter__item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:none;border-left:3px solid transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);border-radius:0 var(--radius-button) var(--radius-button) 0;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.category-filter__item:hover{background-color:var(--color-surface)}.category-filter__item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.category-filter__item--active{border-left-color:var(--color-primary);background-color:var(--color-surface);font-weight:600}.category-chips{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-3);margin-bottom:var(--space-4);-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.category-chips__item{flex-shrink:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.category-chips__item:hover{border-color:var(--color-primary)}.category-chips__item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.category-chips__item--active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}@media(max-width:639px){.service-card__main{flex-wrap:wrap}.service-card__action{flex-direction:row;align-items:center;width:100%;justify-content:space-between;margin-top:var(--space-2)}}.booking-flow{padding:var(--space-4);max-width:1200px;margin:0 auto}.booking-flow__content{display:flex;gap:var(--space-8);margin-top:var(--space-6)}.booking-flow__main{flex:1;min-width:0}.booking-flow__sidebar{width:300px;flex-shrink:0}@media(max-width:767px){.booking-flow__content{flex-direction:column}.booking-flow__sidebar{width:100%}}.step-content{max-width:700px}.step-content__title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:700;line-height:var(--line-height-heading);margin-bottom:var(--space-8);color:var(--color-text)}.step-content__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.step-progress{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.step-progress__list{display:flex;align-items:center;list-style:none;padding:0;margin:0}.step-progress__item{display:flex;align-items:center;flex:1}.step-progress__button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);background:none;border:none;cursor:default;padding:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-light);min-width:60px}.step-progress__item--completed .step-progress__button{cursor:pointer;color:var(--color-success)}.step-progress__item--active .step-progress__button{color:var(--color-primary);font-weight:600}.step-progress__indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text-light);transition:all var(--transition-base)}.step-progress__item--completed .step-progress__indicator{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-progress__item--active .step-progress__indicator{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.step-progress__label{white-space:nowrap}.step-progress__connector{flex:1;height:2px;background:var(--color-border);margin:0 var(--space-1);transition:background-color var(--transition-base)}.step-progress__connector--completed{background:var(--color-success)}.step-progress__mobile-label{display:none;text-align:center;font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-2)}@media(max-width:639px){.step-progress__label{display:none}.step-progress__indicator{width:28px;height:28px;font-size:var(--font-size-xs)}.step-progress__mobile-label{display:block}}.booking-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);position:sticky;top:var(--space-4)}.booking-sidebar__title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.booking-sidebar__list{display:grid;gap:var(--space-2)}.booking-sidebar__label{font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.booking-sidebar__value{font-size:var(--font-size-sm);margin:0 0 var(--space-2) 0}.booking-sidebar__value--price{font-weight:600;font-size:var(--font-size-base);color:var(--color-primary)}.service-step__selected{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-primary);border-radius:var(--radius-card);background:var(--color-surface)}.service-step__selected-name{font-size:var(--font-size-lg);font-weight:600}.service-step__selected-details,.service-step__selected-desc{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-1)}.service-step__list{display:flex;flex-direction:column;gap:var(--space-3)}.service-step__card{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.service-step__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.service-step__card:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.service-step__card-icon{width:44px;height:44px;border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0}.service-step__card-content{flex:1;min-width:0}.service-step__card-name{font-weight:600;font-size:var(--font-size-base)}.service-step__card-desc{display:block;font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-1)}.service-step__card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.service-step__card-duration{font-size:var(--font-size-xs);color:var(--color-text-light)}.service-step__card-price{font-weight:600;font-size:var(--font-size-base)}.branch-step__list{display:flex;flex-direction:column;gap:var(--space-4)}.branch-step__card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);transition:all var(--transition-fast)}.branch-step__card:hover{box-shadow:var(--shadow-md)}.branch-step__card--selected{border-color:var(--color-primary);border-width:2px}.branch-step__card-name{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-1) 0}.branch-step__card-address,.branch-step__card-city{font-size:var(--font-size-sm);color:var(--color-text-light);margin:0}.branch-step__card-phone{font-size:var(--font-size-sm);color:var(--color-text-light);display:flex;align-items:center;gap:var(--space-1);margin:var(--space-1) 0 0 0}.branch-step__card-action{flex-shrink:0}@media(max-width:639px){.branch-step__card{flex-direction:column;align-items:stretch}.branch-step__card-action{display:flex;justify-content:flex-end}}.employee-step__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:1023px){.employee-step__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:639px){.employee-step__grid{grid-template-columns:1fr}}.employee-step__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);cursor:pointer;text-align:center;transition:all var(--transition-fast)}.employee-step__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.employee-step__card:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.employee-step__card--selected{border-color:var(--color-primary);border-width:2px;background:var(--color-surface)}.employee-step__avatar{width:64px;height:64px;border-radius:50%;background:var(--color-surface);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--color-border)}.employee-step__avatar--no-pref{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.employee-step__avatar-img{width:100%;height:100%;object-fit:cover}.employee-step__avatar-initials{font-weight:600;font-size:var(--font-size-lg);color:var(--color-text-light)}.employee-step__name{font-weight:600;font-size:var(--font-size-base)}.employee-step__title{font-size:var(--font-size-sm);color:var(--color-text-light)}.datetime-step{display:flex;gap:var(--space-8)}@media(max-width:767px){.datetime-step{flex-direction:column}}.datetime-step__calendar{flex-shrink:0;width:320px}@media(max-width:767px){.datetime-step__calendar{width:100%}}.datetime-step__calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.datetime-step__nav-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-button);padding:var(--space-2);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);min-width:36px;min-height:36px;transition:all var(--transition-fast)}.datetime-step__nav-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.datetime-step__nav-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.datetime-step__month-label{font-weight:600;font-size:var(--font-size-base);text-transform:capitalize}.datetime-step__day-names{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-bottom:var(--space-2)}.datetime-step__day-name{text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-light);text-transform:uppercase;padding:var(--space-1)}.datetime-step__days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.datetime-step__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:50%;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text);min-width:36px;min-height:36px}.datetime-step__day:hover:not(:disabled){background:var(--color-surface)}.datetime-step__day:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.datetime-step__day--disabled,.datetime-step__day--outside{color:var(--color-border);cursor:not-allowed}.datetime-step__day--today{font-weight:700;border:1px solid var(--color-primary)}.datetime-step__day--selected{background:var(--color-primary)!important;color:#fff;font-weight:600}.datetime-step__slots{flex:1;min-width:0}.datetime-step__placeholder,.datetime-step__no-slots{color:var(--color-text-light);font-size:var(--font-size-base);text-align:center;padding:var(--space-8) 0}.slot-group{margin-bottom:var(--space-6)}.slot-group__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-light);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.slot-group__grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.slot-pill{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-bg);cursor:pointer;min-width:80px;transition:all var(--transition-fast)}.slot-pill:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(circle 100px at var(--mouse-x, -300px ) var(--mouse-y, -300px ),var(--color-primary),transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none}.slot-pill:hover{border-color:transparent}.slot-pill:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.slot-pill--selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.slot-pill--selected:before{display:none}.slot-pill--selected:hover{border-color:var(--color-primary)}.slot-pill__time{font-weight:600;font-size:var(--font-size-sm)}.slot-pill__employee{font-size:var(--font-size-xs);opacity:.8}.customer-step__logged-in{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;background:#10b98114;border:1.5px solid rgba(16,185,129,.3);border-radius:12px;margin-bottom:var(--space-6)}.customer-step__logged-in-icon{color:var(--color-success);flex-shrink:0;margin-top:2px}.customer-step__logged-in-name{display:block;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.customer-step__logged-in-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:2px}.customer-step__guest-banner{border:2px dashed var(--color-border);border-radius:16px;padding:var(--space-5);margin-bottom:var(--space-6);background:var(--color-surface)}.customer-step__guest-banner-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-3)}.customer-step__guest-banner-header strong{font-size:var(--font-size-base);font-weight:700;color:var(--color-text)}.customer-step__guest-banner-icon{color:var(--color-primary);flex-shrink:0}.customer-step__guest-banner-perks{list-style:none;padding:0;margin:0 0 var(--space-4) 0;display:flex;flex-direction:column;gap:6px}.customer-step__guest-banner-perks li{display:flex;align-items:center;gap:7px;font-size:var(--font-size-sm);color:var(--color-text-light)}.customer-step__guest-banner-perks li svg{color:var(--color-success);flex-shrink:0}.customer-step__guest-banner-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.customer-step__guest-continue{margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-light);text-align:center}.customer-step__form{display:flex;flex-direction:column;gap:22px;max-width:560px}.customer-step__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:480px){.customer-step__row{grid-template-columns:1fr}}.customer-step__field{display:flex;flex-direction:column;gap:6px}.customer-step__label{font-size:13px;font-weight:600;color:var(--color-text);letter-spacing:.02em;text-transform:uppercase}.customer-step__error{font-size:12px;color:var(--color-danger);font-weight:500;display:flex;align-items:center;gap:4px}.customer-step__terms{padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:12px;border:2px solid var(--color-border)}.customer-step__checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-sm);cursor:pointer;line-height:1.6}.customer-step__checkbox-label input[type=checkbox]{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;border-radius:4px}.customer-step__checkbox-label a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.customer-step__checkbox-label a:hover{opacity:.75}.confirm-step__summary{display:grid;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}.confirm-step__row{display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.confirm-step__row:last-child{border-bottom:none}.confirm-step__row[role=button]{cursor:pointer}.confirm-step__row[role=button]:hover{background:var(--color-surface)}.confirm-step__row dt{font-size:var(--font-size-sm);color:var(--color-text-light)}.confirm-step__row dd{font-size:var(--font-size-sm);font-weight:500;text-align:right;margin:0}.confirm-step__row--highlight dt,.confirm-step__row--highlight dd{font-weight:600;font-size:var(--font-size-base);color:var(--color-text)}.confirm-step__divider{border-bottom:2px solid var(--color-border)}.confirm-step__cancellation{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-4)}.confirm-step__error{padding:var(--space-3) var(--space-4);background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-card);color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-4)}.confirm-step__submit{min-width:200px}.success-step{text-align:center;max-width:600px;margin:0 auto;padding:var(--space-8) 0}.success-step__icon{width:80px;height:80px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6)}.success-step__title{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);color:var(--color-success);margin-bottom:var(--space-2)}.success-step__message{font-size:var(--font-size-base);color:var(--color-text-light);margin-bottom:var(--space-6)}.success-step__booking-number{font-size:var(--font-size-lg);margin-bottom:var(--space-6)}.success-step__booking-number strong{color:var(--color-primary)}.success-step__details{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-6)}.success-step__details dt{font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-2)}.success-step__details dt:first-child{margin-top:0}.success-step__details dd{font-size:var(--font-size-sm);font-weight:500;margin:0 0 var(--space-1) 0}.success-step__email-sent{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--space-6)}.success-step__actions{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6)}.success-step__back{margin-top:var(--space-4)}.avatar{border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar--md{width:48px;height:48px;font-size:var(--font-size-sm)}.avatar--lg{width:80px;height:80px;font-size:var(--font-size-xl)}.avatar--xl{width:120px;height:120px;font-size:var(--font-size-3xl)}.avatar--initials{color:#fff;font-weight:600;-webkit-user-select:none;user-select:none}img.avatar{object-fit:cover}@media(max-width:767px){.avatar--lg{width:64px;height:64px;font-size:var(--font-size-lg)}}.employee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);justify-items:center}@media(max-width:1023px){.employee-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:479px){.employee-grid{grid-template-columns:1fr}}.employee-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);transition:box-shadow var(--transition-base),transform var(--transition-base);width:100%;gap:var(--space-3)}.employee-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.employee-card:hover{transform:none}}.employee-card--skeleton{gap:var(--space-3);pointer-events:none}.employee-card__name{background:none;border:none;font-size:var(--font-size-base);font-weight:600;color:var(--color-text);cursor:pointer;padding:0;line-height:var(--line-height-heading)}.employee-card__name:hover{text-decoration:underline}.employee-card__name:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-button)}.employee-card__branch{font-weight:400;color:var(--color-text-light);font-size:var(--font-size-sm)}.employee-card__book-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:var(--space-1) 0}.employee-card__book-link:hover{text-decoration:underline}.employee-card__book-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-button)}.employees-page__count{font-weight:400;color:var(--color-text-light);font-size:var(--font-size-lg)}.employee-detail{display:flex;flex-direction:column;gap:var(--space-6)}.employee-detail--skeleton{gap:var(--space-6)}.employee-detail__back{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-1) 0;align-self:flex-start}.employee-detail__back:hover{text-decoration:underline}.employee-detail__back:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-button)}.employee-detail__header{display:flex;align-items:flex-start;gap:var(--space-6)}@media(max-width:639px){.employee-detail__header{flex-direction:column;align-items:center;text-align:center}}.employee-detail__info{display:flex;flex-direction:column;gap:var(--space-2)}.employee-detail__name{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);line-height:var(--line-height-heading);margin:0}.employee-detail__title{color:var(--color-text-light);font-size:var(--font-size-base);margin:0}.employee-detail__branches{display:flex;gap:var(--space-2);flex-wrap:wrap}@media(max-width:639px){.employee-detail__branches{justify-content:center}}.employee-detail__branch-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-light)}.employee-detail__section{border-top:1px solid var(--color-border);padding-top:var(--space-6)}.employee-detail__section h3{font-family:var(--font-family-heading);font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.employee-detail__bio{color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);white-space:pre-line;margin:0}.employee-detail__services{display:flex;flex-direction:column;gap:var(--space-3)}.employee-detail__service-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg)}@media(max-width:639px){.employee-detail__service-row{flex-wrap:wrap;gap:var(--space-2)}}.employee-detail__service-name{flex:1;font-weight:500;min-width:0}.employee-detail__service-duration{color:var(--color-text-light);font-size:var(--font-size-sm);white-space:nowrap}.employee-detail__service-price{font-weight:600;white-space:nowrap}.employee-detail__schedule{width:100%;border-collapse:collapse}.employee-detail__schedule td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.employee-detail__schedule-day{font-weight:500;width:120px}.employee-detail__schedule-time{color:var(--color-text-light)}.employee-detail__cta{text-align:center;padding-top:var(--space-4)}.btn--sm{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}.btn--lg{font-size:var(--font-size-lg);padding:var(--space-3) var(--space-8)}.star-rating{display:inline-flex;align-items:center;gap:var(--space-2)}.star-rating__stars{display:inline-flex;align-items:center;gap:2px}.star-rating__star{background:none;border:none;padding:0;cursor:default;display:inline-flex;line-height:1}.star-rating__star--interactive{cursor:pointer;transition:transform var(--transition-fast)}.star-rating__star--interactive:hover{transform:scale(1.15)}.star-rating__star--interactive:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){.star-rating__star--interactive:hover{transform:none}}.star-rating__value{font-weight:600;color:var(--color-text);font-size:var(--font-size-base)}.star-rating__count{color:var(--color-text-light);font-size:var(--font-size-sm)}.reviews-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.reviews-section__title-row{display:inline-flex;align-items:center;gap:var(--space-2)}.reviews-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-8);align-items:flex-start}.reviews-layout__main{min-width:0}.reviews-layout__sidebar{position:sticky;top:120px}@media(max-width:1023px){.reviews-layout{grid-template-columns:1fr 240px;gap:var(--space-6)}}@media(max-width:767px){.reviews-layout{grid-template-columns:1fr}.reviews-layout__sidebar{order:-1;position:static}}.reviews-list{display:flex;flex-direction:column;gap:var(--space-4)}.reviews-empty{color:var(--color-text-light);text-align:center;padding:var(--space-8)}.review-card{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.review-card--skeleton{pointer-events:none}.review-card__header{display:flex;align-items:center;gap:var(--space-3)}.review-card__meta{display:flex;flex-direction:column;flex:1;min-width:0}.review-card__name{font-weight:600;font-size:var(--font-size-base);color:var(--color-text)}.review-card__date{font-size:var(--font-size-xs);color:var(--color-text-light)}.review-card__text{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);white-space:pre-line;margin:0}.review-card__tag{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-light);margin-right:var(--space-1)}.review-card__verified{font-size:var(--font-size-xs)}.review-card__reply{background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-card) var(--radius-card) 0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.review-card__reply-label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.review-card__reply-text{font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-text);margin:0}.review-card__reply-date{font-size:var(--font-size-xs);color:var(--color-text-light)}.rating-summary{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-2)}.rating-summary--skeleton{pointer-events:none}.rating-summary__overall{display:flex;align-items:center;gap:var(--space-3)}.rating-summary__value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.rating-summary__label{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.rating-summary__count{font-size:var(--font-size-sm);color:var(--color-text-light)}.rating-summary__breakdown{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3)}.rating-summary__bar-row{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:var(--space-1) 0;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-button);transition:background-color var(--transition-fast)}.rating-summary__bar-row:hover,.rating-summary__bar-row--active{background-color:var(--color-surface)}.rating-summary__bar-row:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.rating-summary__bar-label{width:80px;font-size:var(--font-size-xs);color:var(--color-text-light);flex-shrink:0}.rating-summary__bar{flex:1;height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.rating-summary__bar-fill{height:100%;background:var(--color-warning);border-radius:var(--radius-full);transition:width var(--transition-base);min-width:2px}.rating-summary__bar-pct{width:36px;text-align:right;font-size:var(--font-size-xs);color:var(--color-text-light);flex-shrink:0}.help-tooltip{position:relative;display:inline-flex;align-items:center}.help-tooltip__trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--color-text-light);background:none;color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:600;cursor:help;line-height:1;padding:0}.help-tooltip__trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.help-tooltip__content{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);font-size:var(--font-size-xs);line-height:var(--line-height-base);white-space:normal;width:280px;max-width:90vw;z-index:var(--z-dropdown);box-shadow:var(--shadow-md)}.reviews-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.reviews-page__controls{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.reviews-page__sort{width:auto;min-width:180px}@media(max-width:767px){.reviews-page__controls{flex-direction:column;align-items:stretch}.reviews-page__sort{width:100%}}.reviews-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.reviews-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-light)}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.modal{background:var(--color-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;z-index:var(--z-modal)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.modal__header h2{margin:0;font-size:var(--font-size-xl);font-family:var(--font-family-heading)}.modal__close{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--color-text-light);padding:0;line-height:1}.modal__close:hover{color:var(--color-text)}.modal__close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}.modal__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.modal__actions{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.write-review__field{display:flex;flex-direction:column;gap:var(--space-2)}.write-review__field label,.write-review__label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.write-review__textarea{resize:vertical;min-height:100px;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base)}.write-review__char-count{font-size:var(--font-size-xs);color:var(--color-text-light);text-align:right}.write-review__error{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.write-review__no-bookings{color:var(--color-text-light);text-align:center;padding:var(--space-4)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100%;padding:var(--space-8) var(--space-4)}.auth-card{width:100%;max-width:440px;background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-8);box-shadow:var(--shadow-md)}.auth-card__logo{text-align:center;margin-bottom:var(--space-4)}.auth-card__logo img{max-height:48px}.auth-card__title{text-align:center;font-size:var(--font-size-2xl);font-family:var(--font-family-heading);font-weight:700;margin-bottom:var(--space-6);color:var(--color-text)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.auth-form__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.auth-form__input-wrapper{position:relative}.auth-form__input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);transition:border-color var(--transition-fast);min-height:44px;box-sizing:border-box}.auth-form__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.auth-form__input--error{border-color:var(--color-danger)}.auth-form__input--error:focus{box-shadow:0 0 0 3px #ef444433}.auth-form__input--with-toggle{padding-right:var(--space-10)}.auth-form__toggle-password{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:var(--space-1);display:flex;align-items:center}.auth-form__toggle-password:hover{color:var(--color-text)}.auth-form__error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.auth-form__row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.auth-form__checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.auth-form__checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.auth-form__link{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;font-weight:500}.auth-form__link:hover{text-decoration:underline}.auth-form__submit{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-button);font-size:var(--font-size-base);font-weight:600;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:opacity var(--transition-fast)}.auth-form__submit:hover:not(:disabled){opacity:.9}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-form__footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-4)}.auth-form__alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);font-size:var(--font-size-sm)}.auth-form__alert--error{background-color:#ef44441a;color:var(--color-danger);border:1px solid rgba(239,68,68,.2)}.auth-form__alert--success{background-color:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);color:var(--color-text-light);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);font-size:var(--font-size-base);font-weight:500;color:var(--color-text);cursor:pointer;min-height:48px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.auth-google-btn:hover:not(:disabled){background-color:var(--color-bg);border-color:var(--color-text-light)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-google-btn__icon{width:20px;height:20px;flex-shrink:0}.password-strength{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.password-strength__bar{flex:1;height:4px;background-color:var(--color-border);border-radius:2px;overflow:hidden}.password-strength__fill{height:100%;border-radius:2px;transition:width var(--transition-base),background-color var(--transition-base)}.password-strength__fill--weak{width:33%;background-color:var(--color-danger)}.password-strength__fill--medium{width:66%;background-color:var(--color-warning)}.password-strength__fill--strong{width:100%;background-color:var(--color-success)}.password-strength__label{font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}.password-strength__label--weak{color:var(--color-danger)}.password-strength__label--medium{color:var(--color-warning)}.password-strength__label--strong{color:var(--color-success)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-form__checkbox-label{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;line-height:1.5}.auth-form__checkbox-label .auth-form__checkbox-input{flex-shrink:0;width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--color-primary)}.legal-page{min-height:100%;padding:var(--space-8) var(--space-4)}.legal-page__container{max-width:760px;margin:0 auto}.legal-page__back{margin-bottom:var(--space-4)}.legal-page__back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-light);text-decoration:none}.legal-page__back-link:hover{color:var(--color-primary)}.legal-page__logo{text-align:center;margin-bottom:var(--space-6)}.legal-page__logo img{max-height:40px}.legal-page__content{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-8);box-shadow:var(--shadow-sm)}.legal-page__content h1{font-size:var(--font-size-2xl);font-weight:700;font-family:var(--font-family-heading);color:var(--color-text);margin-bottom:var(--space-2)}.legal-page__content h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-2)}.legal-page__content h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-top:var(--space-3);margin-bottom:var(--space-1)}.legal-page__content p{font-size:var(--font-size-sm);line-height:1.7;color:var(--color-text-light);margin-bottom:var(--space-3)}.legal-page__content ul{padding-left:var(--space-5);margin-bottom:var(--space-3)}.legal-page__content ul li{font-size:var(--font-size-sm);line-height:1.7;color:var(--color-text-light);margin-bottom:var(--space-1)}.legal-page__content a{color:var(--color-primary);text-decoration:none}.legal-page__content a:hover{text-decoration:underline}.legal-page__content section{margin-bottom:var(--space-4)}.legal-page__updated{font-size:var(--font-size-xs)!important;color:var(--color-text-light);margin-bottom:var(--space-6)!important}.legal-page__footer{display:flex;align-items:center;gap:var(--space-3);justify-content:center;padding:var(--space-6) 0;font-size:var(--font-size-sm)}.legal-page__footer-link{color:var(--color-text-light);text-decoration:none}.legal-page__footer-link:hover{color:var(--color-primary);text-decoration:underline}.legal-page__footer-sep{color:var(--color-border)}.legal-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.legal-table th,.legal-table td{text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border)}.legal-table th{background:var(--color-bg);font-weight:600;color:var(--color-text)}.legal-table td{color:var(--color-text-light)}.account-layout{display:flex;min-height:calc(100vh - 200px);max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4);gap:var(--space-6)}.account-sidebar{width:260px;flex-shrink:0}.account-sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.account-sidebar__avatar{width:48px;height:48px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-lg);flex-shrink:0}.account-sidebar__info{overflow:hidden}.account-sidebar__name{font-weight:600;font-size:var(--font-size-base);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-sidebar__email{font-size:var(--font-size-xs);color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-sidebar__nav{display:flex;flex-direction:column;gap:var(--space-1)}.account-sidebar__link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);color:var(--color-text);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;transition:background-color var(--transition-fast)}.account-sidebar__link:hover{background-color:#0000000a}.account-sidebar__link--active{background-color:#6d28d914;color:var(--color-primary)}.account-sidebar__link svg{flex-shrink:0}.account-sidebar__divider{height:1px;background-color:var(--color-border);margin:var(--space-2) 0}.account-sidebar__logout{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);color:var(--color-text-light);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;background:none;border:none;cursor:pointer;width:100%;text-align:left}.account-sidebar__logout:hover{background-color:#0000000a;color:var(--color-danger)}.account-content{flex:1;min-width:0}.account-section{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.account-section__title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.account-section__subtitle{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.account-section__form{display:flex;flex-direction:column;gap:var(--space-4)}.account-section__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.booking-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-3)}.booking-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.booking-card__number{font-size:var(--font-size-xs);color:var(--color-text-light);font-weight:500}.booking-card__service{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.booking-card__info{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--space-3)}.booking-card__info-row{display:flex;align-items:center;gap:var(--space-2)}.booking-card__info-row svg{flex-shrink:0}.booking-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.booking-card__price{font-weight:600;color:var(--color-text)}.booking-card__actions{display:flex;gap:var(--space-2)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;line-height:1.5}.status-badge--pending{background-color:#3b82f61a;color:#3b82f6}.status-badge--confirmed{background-color:#10b9811a;color:var(--color-success)}.status-badge--completed{background-color:#6b72801a;color:var(--color-text-light)}.status-badge--cancelled{background-color:#ef44441a;color:var(--color-danger)}.status-badge--paid{background-color:#10b9811a;color:var(--color-success)}.status-badge--overdue{background-color:#ef44441a;color:var(--color-danger)}.booking-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.booking-tabs__tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.booking-tabs__tab:hover{border-color:var(--color-primary)}.booking-tabs__tab--active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.booking-detail__back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--space-4)}.booking-detail__back:hover{text-decoration:underline}.booking-detail__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.booking-detail__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.booking-detail__dl{display:grid;grid-template-columns:160px 1fr;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6)}.booking-detail__dl dt{font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:500}.booking-detail__dl dd{font-size:var(--font-size-sm);color:var(--color-text)}.booking-detail__actions{display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.booking-detail__cancel-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-input);font-size:var(--font-size-sm);color:var(--color-warning);margin-bottom:var(--space-4)}.invoice-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--space-2);background:var(--color-bg)}.invoice-row__main{display:flex;flex-direction:column;gap:2px}.invoice-row__number{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.invoice-row__service{font-size:var(--font-size-xs);color:var(--color-text-light)}.invoice-row__details{display:flex;flex-direction:column;gap:2px}.invoice-row__tenant{font-size:var(--font-size-sm);color:var(--color-text)}.invoice-row__date{font-size:var(--font-size-xs);color:var(--color-text-light)}.invoice-row__amount{font-weight:600;font-size:var(--font-size-sm);text-align:right}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.pagination__btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-bg);color:var(--color-text);cursor:pointer;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm)}.pagination__btn:hover:not(:disabled){border-color:var(--color-primary)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination__info{font-size:var(--font-size-sm);color:var(--color-text-light);padding:0 var(--space-2)}.confirm-dialog{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.confirm-dialog__backdrop{position:absolute;inset:0;background-color:#00000080;z-index:var(--z-modal-backdrop)}.confirm-dialog__content{position:relative;z-index:var(--z-modal);background:var(--color-bg);border-radius:var(--radius-card);padding:var(--space-6);max-width:440px;width:90%;box-shadow:var(--shadow-lg)}.confirm-dialog__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-3)}.confirm-dialog__message{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--space-4)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.confirm-dialog__textarea{width:100%;min-height:80px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:var(--font-size-sm);resize:vertical;margin-bottom:var(--space-4);box-sizing:border-box}.toast{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);font-size:var(--font-size-sm);font-weight:500;box-shadow:var(--shadow-lg);animation:toast-in .3s ease}.toast--success{background-color:var(--color-success);color:#fff}.toast--error{background-color:var(--color-danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.account-layout{flex-direction:column}.account-sidebar{width:100%}.account-sidebar__nav{flex-direction:row;flex-wrap:wrap}.account-section__row{grid-template-columns:1fr}.booking-detail__dl{grid-template-columns:120px 1fr}.invoice-row{grid-template-columns:1fr auto;gap:var(--space-2)}.booking-tabs{overflow-x:auto}}.branch-detail{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-4)}.branch-detail__cover{width:100%;aspect-ratio:1200 / 320;border-radius:var(--radius-card);overflow:hidden;margin-bottom:var(--space-6);display:block}.branch-detail__cover img{object-fit:cover}.branch-detail__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap}.branch-detail__info{flex:1}.branch-detail__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.branch-detail__title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);margin:0;line-height:var(--line-height-heading)}.branch-detail__badge{font-size:var(--font-size-sm);font-weight:600;padding:3px 10px;border-radius:50px}.branch-detail__badge--open{background-color:#10b9811f;color:var(--color-success, #065f46)}.branch-detail__badge--closed{background-color:#ef44441f;color:var(--color-danger, #991b1b)}.branch-detail__contacts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.branch-detail__contact-item{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-light)}.branch-detail__contact-item a{color:var(--color-text);text-decoration:none}.branch-detail__contact-item a:hover{text-decoration:underline}.branch-detail__social{margin-top:var(--space-4)}.branch-detail__book-btn{flex-shrink:0}.branch-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.branch-detail__map-wrapper{width:100%;height:220px;background-color:var(--color-surface);border-radius:var(--radius-card);overflow:hidden;margin-bottom:var(--space-3)}.branch-detail__map-wrapper iframe{border:0}.branch-detail__directions{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary);text-decoration:none;font-weight:500;font-size:var(--font-size-sm)}.branch-detail__directions:hover{text-decoration:underline}.branch-detail__hours-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-light);text-transform:uppercase;margin:0 0 var(--space-3)}.branch-detail__hours-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.branch-detail__hours-table td{padding:var(--space-2) 0}.branch-detail__hours-table td:first-child{padding-right:var(--space-2);font-weight:500}.branch-detail__hours-table td:last-child{text-align:right}.branch-detail__hours-table .is-closed{color:var(--color-text-light)}.branch-detail__loading{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-4)}.branch-detail__skeleton-image{height:300px;border-radius:var(--radius-card);background-color:var(--color-surface);margin-bottom:var(--space-6);animation:pulse 1.5s infinite}.branch-detail__skeleton-title{height:32px;width:50%;border-radius:var(--radius-card);background-color:var(--color-surface);margin-bottom:var(--space-4)}.branch-detail__skeleton-text{height:16px;width:80%;border-radius:var(--radius-card);background-color:var(--color-surface)}.branch-detail__error{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-4);text-align:center}.branch-detail__error p{margin-bottom:var(--space-4)}@media(max-width:639px){.branch-detail__cover{aspect-ratio:16 / 9}.branch-detail__hero{flex-direction:column}.branch-detail__book-btn{width:100%}.branch-detail__grid{grid-template-columns:1fr}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
