:root{--spacing-xs: 2px;--spacing-sm: 6px;--spacing-md: 10px;--spacing-lg: 14px;--spacing-xl: 20px;--spacing-2xl: 28px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-xs: 10px;--font-sm: 12px;--font-base: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 22px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--line-tight: 1.2;--line-normal: 1.4;--line-relaxed: 1.6;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--header-height: 40px;--tabbar-height: 56px;--sidebar-width: 200px;--content-max-width: 500px;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}:root,[data-theme=light]{--color-bg-primary: var(--tg-theme-bg-color, #ffffff);--color-bg-secondary: var(--tg-theme-secondary-bg-color, #f5f5f5);--color-bg-tertiary: #ebebeb;--color-bg-elevated: var(--tg-theme-bg-color, #ffffff);--color-text-primary: var(--tg-theme-text-color, #1a1a1a);--color-text-secondary: var(--tg-theme-hint-color, #666666);--color-text-tertiary: var(--tg-theme-hint-color, #999999);--color-text-inverse: #ffffff;--color-accent: #6c5ce7;--color-accent-hover: #5b4cdb;--color-accent-light: rgba(108, 92, 231, .1);--color-accent-text: #ffffff;--color-success: #00c853;--color-success-light: rgba(0, 200, 83, .1);--color-error: #ff3b30;--color-error-light: rgba(255, 59, 48, .1);--color-warning: #ff9500;--color-warning-light: rgba(255, 149, 0, .1);--color-info: #007aff;--color-info-light: rgba(0, 122, 255, .1);--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .15);--color-divider: rgba(0, 0, 0, .06);--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);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--color-hover: rgba(0, 0, 0, .04);--color-active: rgba(0, 0, 0, .08);--color-disabled: rgba(0, 0, 0, .26);--color-skeleton: #e8e8e8;--color-skeleton-shine: #f5f5f5}[data-theme=dark]{--color-bg-primary: var(--tg-theme-bg-color, #0f172a);--color-bg-secondary: var(--tg-theme-secondary-bg-color, #1e293b);--color-bg-tertiary: #334155;--color-bg-elevated: var(--tg-theme-bg-color, #1e293b);--color-text-primary: var(--tg-theme-text-color, #f1f5f9);--color-text-secondary: var(--tg-theme-hint-color, #94a3b8);--color-text-tertiary: var(--tg-theme-hint-color, #64748b);--color-text-inverse: #0f172a;--color-accent: #8b5cf6;--color-accent-hover: #a78bfa;--color-accent-light: rgba(139, 92, 246, .15);--color-accent-text: #ffffff;--color-success: #22c55e;--color-success-light: rgba(34, 197, 94, .15);--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .15);--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .15);--color-info: #3b82f6;--color-info-light: rgba(59, 130, 246, .15);--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .15);--color-divider: rgba(255, 255, 255, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--color-hover: rgba(255, 255, 255, .04);--color-active: rgba(255, 255, 255, .08);--color-disabled: rgba(255, 255, 255, .26);--color-skeleton: #334155;--color-skeleton-shine: #475569}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-base);line-height:var(--line-normal);color:var(--tg-theme-text-color, var(--color-text-primary));background-color:var(--tg-theme-bg-color, var(--color-bg-primary));min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:none;outline:none}input::placeholder,textarea::placeholder{color:var(--tg-theme-hint-color, var(--color-text-tertiary))}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.no-select{user-select:none;-webkit-user-select:none}body,.theme-transition{transition:background-color var(--transition-normal),color var(--transition-normal)}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f1f1f1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;padding-bottom:100px}.header{position:sticky;top:0;background:var(--tg-theme-bg-color);padding:var(--spacing-md);border-bottom:1px solid var(--tg-theme-secondary-bg-color);z-index:100}.header-content{display:flex;align-items:center;gap:var(--spacing-md)}.back-button{width:36px;height:36px;border:none;background:var(--tg-theme-secondary-bg-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--tg-theme-text-color)}.header h1{font-size:18px;font-weight:600}.steps{display:flex;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color)}.step{width:8px;height:8px;border-radius:50%;background:var(--tg-theme-hint-color);opacity:.3;transition:all .3s ease}.step.active{width:24px;border-radius:4px;background:var(--tg-theme-button-color);opacity:1}.step.completed{background:var(--tg-theme-button-color);opacity:.6}.section{padding:var(--spacing-md)}.section-title{font-size:14px;font-weight:600;color:var(--tg-theme-hint-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-md)}.services-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.service-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s ease;border:2px solid transparent}.service-card:hover{transform:translateY(-2px)}.service-card.selected{border-color:var(--tg-theme-button-color);background:#2481cc1a}.service-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.service-name{font-size:16px;font-weight:600}.service-price{font-size:16px;font-weight:700;color:var(--tg-theme-button-color);white-space:nowrap}.service-description{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-sm)}.service-duration{font-size:13px;color:var(--tg-theme-hint-color);display:flex;align-items:center;gap:var(--spacing-xs)}.categories{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md);-webkit-overflow-scrolling:touch}.categories::-webkit-scrollbar{display:none}.category-chip{padding:var(--spacing-sm) var(--spacing-md);background:var(--tg-theme-secondary-bg-color);border-radius:20px;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease;border:none;color:var(--tg-theme-text-color)}.category-chip.active{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.masters-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.master-card{display:flex;gap:var(--spacing-md);background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s ease;border:2px solid transparent}.master-card.selected{border-color:var(--tg-theme-button-color);background:#2481cc1a}.master-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:600;flex-shrink:0}.master-info{flex:1;min-width:0}.master-name{font-size:16px;font-weight:600;margin-bottom:var(--spacing-xs)}.master-specialization{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-sm)}.master-rating{display:flex;align-items:center;gap:var(--spacing-xs);font-size:14px}.star{color:#ffc107}.reviews-count{color:var(--tg-theme-hint-color)}.date-picker{margin-bottom:var(--spacing-lg)}.dates-scroll{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm);-webkit-overflow-scrolling:touch}.dates-scroll::-webkit-scrollbar{display:none}.date-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);cursor:pointer;min-width:60px;transition:all .2s ease;border:2px solid transparent}.date-item.selected{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.date-item.today{border-color:var(--tg-theme-button-color)}.date-weekday{font-size:12px;opacity:.7;margin-bottom:2px}.date-day{font-size:18px;font-weight:600}.date-month{font-size:11px;opacity:.7}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.time-slot{padding:var(--spacing-sm) var(--spacing-md);background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-sm);text-align:center;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.time-slot.available:hover{background:#2481cc1a}.time-slot.selected{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.time-slot.unavailable{opacity:.3;cursor:not-allowed;text-decoration:line-through}.confirmation{padding:var(--spacing-md)}.booking-summary{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.summary-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(0,0,0,.05)}.summary-item:last-child{border-bottom:none;padding-top:var(--spacing-md);margin-top:var(--spacing-sm);font-weight:600;font-size:18px}.summary-label{color:var(--tg-theme-hint-color)}.summary-value{font-weight:500;text-align:right}.main-button-area{position:fixed;bottom:0;left:0;right:0;padding:var(--spacing-md);background:var(--tg-theme-bg-color);border-top:1px solid var(--tg-theme-secondary-bg-color);z-index:100}.main-button{width:100%;padding:var(--spacing-md);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.main-button:disabled{opacity:.5;cursor:not-allowed}.main-button:not(:disabled):hover{opacity:.9}.selected-info{background:#2481cc1a;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:14px;display:flex;align-items:center;gap:var(--spacing-sm)}.selected-info-icon{font-size:16px}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;min-height:70vh}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#00c853,#00e676);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin-bottom:var(--spacing-lg);animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-title{font-size:24px;font-weight:700;margin-bottom:var(--spacing-sm)}.success-message{font-size:16px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-lg)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--tg-theme-hint-color)}.empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.profile-header{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg) var(--spacing-md);text-align:center}.profile-avatar-container{margin-bottom:var(--spacing-md)}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:600}.profile-avatar-initials{font-size:28px}.profile-greeting{font-size:24px;font-weight:700;color:var(--tg-theme-text-color)}.subscription-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-md);margin:0 var(--spacing-md)}.subscription-card.active{background:linear-gradient(135deg,#00c8531a,#00e6761a);border:1px solid rgba(0,200,83,.3)}.subscription-card.inactive{background:var(--tg-theme-secondary-bg-color)}.subscription-card-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.subscription-card-icon{color:var(--tg-theme-button-color)}.subscription-card-title{font-weight:600;flex:1}.subscription-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:12px}.status-active{background:#00c85333;color:#00c853}.status-inactive{background:#ff980033;color:#ff9800}.status-coming-soon{background:#9e9e9e33;color:#9e9e9e}.subscription-coming-soon-text{font-size:13px;color:var(--tg-theme-hint-color);font-style:italic}.subscription-card-body{margin-bottom:var(--spacing-md)}.subscription-card-body p{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-xs)}.subscription-card-body strong{color:var(--tg-theme-text-color)}.subscription-promo{font-size:14px}.subscription-price{font-size:14px;margin-top:var(--spacing-xs)}.subscription-card-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.subscription-card-button:disabled{opacity:.5}.subscription-card-button:hover:not(:disabled){opacity:.9}.promo-carousel{margin:0 var(--spacing-md);position:relative}.promo-carousel-container{overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y pinch-zoom}.promo-carousel-track{display:flex}.promo-slide{flex:0 0 100%;width:100%}.promo-slide-image{width:100%;height:160px;background-size:cover;background-position:center;border-radius:var(--radius-lg);position:relative;overflow:hidden}.promo-slide-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md);background:linear-gradient(transparent,#000000b3);color:#fff}.promo-slide-title{font-size:16px;font-weight:600;margin-bottom:4px}.promo-slide-description{font-size:13px;opacity:.9}.promo-carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:var(--spacing-sm)}.promo-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--tg-theme-hint-color);opacity:.3;cursor:pointer;padding:0;transition:all .3s}.promo-dot.active{opacity:1;background:var(--tg-theme-button-color);width:20px;border-radius:4px}.promo-slide{cursor:pointer}.promo-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease-out}.promo-modal{background:var(--tg-theme-bg-color, #fff);border-radius:var(--radius-xl, 16px);max-width:400px;width:100%;max-height:90vh;overflow:hidden;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.promo-modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px;border-radius:50%;background:#00000080;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;color:#fff;transition:background .2s}.promo-modal-close:hover{background:#000000b3}.promo-modal-image{width:100%;height:300px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#f5f5f5}.promo-modal-content{padding:var(--spacing-lg)}.promo-modal-title{font-size:var(--font-xl, 20px);font-weight:var(--font-bold, 700);color:var(--tg-theme-text-color, #000);margin:0 0 var(--spacing-sm)}.promo-modal-description{font-size:var(--font-md, 16px);color:var(--tg-theme-hint-color, #666);margin:0 0 var(--spacing-lg);line-height:1.5;white-space:pre-line}.promo-modal-button{width:100%;padding:14px 20px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s ease,transform .1s ease;box-shadow:0 4px 12px #8b5cf64d}.promo-modal-button:active{transform:scale(.98);opacity:.9}.profile-menu{display:flex;flex-direction:column;background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);margin:0 var(--spacing-md);overflow:hidden}.profile-menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;text-align:left;color:var(--tg-theme-text-color);transition:background .2s;width:100%}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:#00000008}.profile-menu-item.disabled{opacity:.5;cursor:not-allowed}.menu-item-icon{width:24px;height:24px;color:var(--tg-theme-button-color)}.menu-item-label{flex:1;font-size:15px;font-weight:500}.menu-item-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.menu-item-arrow{color:var(--tg-theme-hint-color);opacity:.5}.profile-actions{padding:0 var(--spacing-md)}.profile-actions-group{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-md)}.profile-action-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;text-align:left;color:var(--tg-theme-text-color);width:100%;font-size:15px;transition:background .2s}.profile-action-item:last-child{border-bottom:none}.profile-action-item:hover{background:#00000008}.profile-action-item svg{color:var(--tg-theme-hint-color)}.profile-actions-contact{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);overflow:hidden}.profile-contact-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;cursor:pointer;text-align:left;color:var(--tg-theme-button-color);width:100%;font-size:15px;font-weight:500}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-container{background:var(--tg-theme-bg-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-full-height{max-height:90vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--tg-theme-secondary-bg-color);flex-shrink:0}.modal-title{font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;border:none;background:var(--tg-theme-secondary-bg-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color)}.modal-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.subscription-modal-status{text-align:center;padding:var(--spacing-lg);background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.subscription-modal-status.active{background:linear-gradient(135deg,#00c8531a,#00e6761a)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:#00c853;color:#fff;font-weight:600;border-radius:20px;margin-bottom:var(--spacing-sm)}.status-dates{font-size:14px;color:var(--tg-theme-hint-color)}.subscription-modal-hero{text-align:center;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--tg-theme-button-color) 0%,#764ba2 100%);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.hero-price{font-size:32px;font-weight:700}.price-amount{font-size:48px}.price-currency{font-size:24px}.price-period{font-size:16px;opacity:.8}.hero-discount{margin-top:var(--spacing-sm);font-size:16px}.subscription-modal-benefits h3,.subscription-modal-current h3,.subscription-modal-features h3{font-size:16px;margin-bottom:var(--spacing-md)}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.benefit-card{background:var(--tg-theme-secondary-bg-color);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center}.benefit-icon{font-size:24px;margin-bottom:var(--spacing-xs)}.benefit-title{font-size:14px;font-weight:600;margin-bottom:4px}.benefit-description{font-size:12px;color:var(--tg-theme-hint-color)}.benefits-list,.features-list{list-style:none}.benefit-item,.feature-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;font-size:14px}.benefit-item svg,.feature-item svg{color:#00c853;flex-shrink:0}.subscription-purchase-btn{width:100%;margin-top:var(--spacing-lg)}.subscription-modal-note{font-size:12px;color:var(--tg-theme-hint-color);text-align:center;margin-top:var(--spacing-md)}.subscription-coming-soon-banner{text-align:center;padding:var(--spacing-lg);background:linear-gradient(135deg,#9e9e9e1a,#bdbdbd1a);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);border:1px dashed rgba(158,158,158,.4)}.coming-soon-icon{color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-sm)}.subscription-coming-soon-banner h3{font-size:18px;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--tg-theme-text-color)}.subscription-coming-soon-banner p{font-size:14px;color:var(--tg-theme-hint-color)}.subscription-modal-hero.coming-soon{opacity:.7;background:linear-gradient(135deg,#9e9e9e,#757575)}.subscription-card-button.disabled{background:var(--tg-theme-hint-color);opacity:.6}.subscription-modal-cancel-confirm{background:#f443361a;padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center}.subscription-modal-cancel-confirm p{margin-bottom:var(--spacing-md)}.cancel-buttons{display:flex;gap:var(--spacing-sm)}.cancel-buttons .btn{flex:1}.services-discount-banner,.services-promo-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:14px}.services-discount-banner{background:linear-gradient(135deg,#00c8531a,#00e6761a);color:#00c853}.services-promo-banner{background:linear-gradient(135deg,#2481cc1a,#764ba21a);color:var(--tg-theme-button-color)}.services-promo-banner.coming-soon{background:linear-gradient(135deg,#9e9e9e1a,#bdbdbd1a);color:var(--tg-theme-hint-color)}.services-promo-banner.coming-soon em{font-style:italic;opacity:.8}.discount-icon,.promo-icon{font-size:20px}.services-category{margin-bottom:var(--spacing-sm)}.category-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color);border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--tg-theme-text-color)}.category-header.expanded{border-radius:var(--radius-md) var(--radius-md) 0 0}.category-name{flex:1;font-weight:600}.category-count{font-size:12px;color:var(--tg-theme-hint-color);background:#0000001a;padding:2px 8px;border-radius:10px}.category-arrow{color:var(--tg-theme-hint-color);transition:transform .3s}.category-header.expanded .category-arrow{transform:rotate(180deg)}.category-services{background:var(--tg-theme-secondary-bg-color);border-radius:0 0 var(--radius-md) var(--radius-md);padding:0 var(--spacing-md) var(--spacing-md)}.service-item{display:flex;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid rgba(0,0,0,.05)}.service-item:last-child{border-bottom:none}.service-info{flex:1;min-width:0}.service-name{font-size:15px;font-weight:500;margin-bottom:4px}.service-description{font-size:13px;color:var(--tg-theme-hint-color);margin-bottom:4px}.service-duration{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--tg-theme-hint-color)}.service-prices{text-align:right;white-space:nowrap}.price-discounted{display:block;font-size:15px;font-weight:600;color:#00c853}.price-original{display:block;font-size:13px;color:var(--tg-theme-hint-color);text-decoration:line-through}.price-regular{font-size:15px;font-weight:600;color:var(--tg-theme-text-color)}.history-empty{text-align:center;padding:var(--spacing-xl)}.history-empty-icon{color:var(--tg-theme-hint-color);opacity:.5;margin-bottom:var(--spacing-md)}.history-empty h3{font-size:18px;margin-bottom:var(--spacing-sm)}.history-empty p{font-size:14px;color:var(--tg-theme-hint-color)}.history-item{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:var(--spacing-md)}.history-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.history-date{font-size:13px;color:var(--tg-theme-hint-color)}.history-status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.status-completed{background:#00c85333;color:#00c853}.status-cancelled{background:#f4433633;color:#f44336}.history-item-body{margin-bottom:var(--spacing-sm)}.history-service-name{font-size:15px;font-weight:600;margin-bottom:4px}.history-master,.history-time{font-size:13px;color:var(--tg-theme-hint-color)}.history-item-footer{text-align:right}.history-price{font-size:15px;font-weight:600;color:var(--tg-theme-button-color)}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.btn-secondary{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color)}.btn-danger{background:#f44336;color:#fff}.btn-text{background:transparent;color:var(--tg-theme-hint-color)}.btn-large{padding:var(--spacing-md) var(--spacing-lg);font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){opacity:.9}.profile-section-footer{margin-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background:var(--tg-theme-bg-color)}.app-loading-spinner{width:40px;height:40px;border:3px solid var(--tg-theme-secondary-bg-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin .8s linear infinite}.app-loading p{font-size:14px;color:var(--tg-theme-hint-color)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md)}.loading-spinner{width:32px;height:32px;border:3px solid var(--tg-theme-secondary-bg-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{font-size:14px;color:var(--tg-theme-hint-color)}.api-fallback-notice{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:#ff98001a;color:#ff9800;font-size:12px;border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.api-fallback-notice:before{content:"⚠️";font-size:12px}.search-input-wrapper{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);border:1px solid transparent;transition:all var(--transition-fast)}.search-input-wrapper.focused{border-color:var(--tg-theme-button-color);background:var(--tg-theme-bg-color)}.search-input-icon{color:var(--tg-theme-hint-color);flex-shrink:0;transition:color var(--transition-fast)}.search-input-wrapper.focused .search-input-icon{color:var(--tg-theme-button-color)}.search-input{flex:1;background:transparent;border:none;outline:none;font-size:13px;color:var(--tg-theme-text-color);padding:2px 0}.search-input::placeholder{color:var(--tg-theme-hint-color)}.search-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tg-theme-hint-color);color:var(--tg-theme-bg-color);opacity:.6;transition:opacity var(--transition-fast);flex-shrink:0}.search-clear-btn:hover{opacity:1}.empty-state-btn{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:opacity var(--transition-fast)}.empty-state-btn:hover{opacity:.9}.empty-state-icon{color:var(--tg-theme-hint-color);opacity:.5;margin-bottom:var(--spacing-md)}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-around;height:calc(var(--tabbar-height) + var(--safe-area-bottom) + 16px);background-color:var(--tg-theme-bg-color, var(--color-bg-primary));border-top:1px solid var(--color-border);z-index:var(--z-sticky);padding-top:6px;padding-bottom:calc(var(--safe-area-bottom) + 16px)}.tabbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;padding:2px var(--spacing-xs);color:var(--color-text-tertiary);transition:color var(--transition-fast);cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar-item:active{opacity:.7}.tabbar-item.active{color:var(--color-accent)}.tabbar-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:2px}.tabbar-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;background-color:var(--color-error);color:#fff;font-size:10px;font-weight:var(--font-bold);line-height:16px;text-align:center;border-radius:var(--radius-full)}.tabbar-label{font-size:var(--font-xs);font-weight:var(--font-medium);line-height:1}@media(min-width:1024px){.tabbar{display:none}}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--tg-theme-bg-color, var(--color-bg-primary))}.app-content{flex:1;overflow-y:auto;padding-bottom:calc(var(--tabbar-height) + var(--safe-area-bottom) + 16px)}@media(min-width:1024px){.app-layout{flex-direction:row}.app-content{padding-bottom:0;margin-left:var(--sidebar-width)}}.salon-card-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:flex-end;animation:fadeIn .2s ease}.salon-card-content{width:100%;max-height:85vh;background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease}.salon-card-header{display:flex;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);position:relative}.salon-card-handle{position:absolute;top:var(--spacing-sm);left:50%;transform:translate(-50%);width:32px;height:4px;background:var(--color-border);border-radius:var(--radius-full)}.salon-card-title{flex:1;font-size:var(--font-md);font-weight:var(--font-semibold);text-align:center;padding-top:var(--spacing-sm);color:var(--color-text-primary)}.salon-card-close{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.salon-card-body{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.salon-info-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm);color:var(--color-accent);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast)}.salon-info-item:active{background:var(--color-bg-secondary)}.salon-info-item div{flex:1}.salon-info-item h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:2px}.salon-info-item p{font-size:var(--font-sm);color:var(--color-text-secondary)}.salon-info-arrow{color:var(--color-text-tertiary);align-self:center}.salon-card-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.salon-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary);transition:all var(--transition-fast)}.salon-action-btn:active{transform:scale(.98)}.salon-action-btn.telegram{background:#08c;border-color:#08c;color:#fff}.salon-action-btn.map{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.salon-feedback-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-top:var(--spacing-md);transition:all var(--transition-fast)}.salon-feedback-btn:active{background:var(--color-bg-secondary)}.salon-feedback-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.salon-feedback-form h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.salon-feedback-form textarea{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);resize:none;font-family:inherit}.salon-feedback-form textarea:focus{outline:none;border-color:var(--color-accent)}.feedback-cancel-btn{flex:1;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.feedback-send-btn{flex:1;padding:var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold);color:#fff}.feedback-send-btn:disabled{opacity:.5}.mini-calendar{background:var(--tg-theme-bg-color, #fff);border-radius:12px;padding:12px}.mini-calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mini-calendar__title{font-size:16px;font-weight:600;color:var(--tg-theme-text-color, #000)}.mini-calendar__nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:50%;color:var(--tg-theme-text-color, #000);cursor:pointer;transition:all .15s ease}.mini-calendar__nav:disabled{opacity:.3;cursor:not-allowed}.mini-calendar__nav:not(:disabled):active{transform:scale(.95);background:var(--tg-theme-hint-color, #ccc)}.mini-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.mini-calendar__weekday{text-align:center;font-size:12px;font-weight:500;color:var(--tg-theme-hint-color, #888);padding:4px 0}.mini-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--tg-theme-text-color, #000);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .15s ease;position:relative}.mini-calendar__day:not(.mini-calendar__day--disabled):not(.mini-calendar__day--other):active{transform:scale(.9)}.mini-calendar__day--other{color:var(--tg-theme-hint-color, #ccc);opacity:.4}.mini-calendar__day--today{color:#8b5cf6;font-weight:700}.mini-calendar__day--today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#8b5cf6}.mini-calendar__day--selected{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff!important;font-weight:600}.mini-calendar__day--selected:after{display:none}.mini-calendar__day--disabled{opacity:.3;cursor:not-allowed}@media(hover:hover){.mini-calendar__nav:not(:disabled):hover{background:var(--tg-theme-hint-color, #e0e0e0)}.mini-calendar__day:not(.mini-calendar__day--disabled):not(.mini-calendar__day--other):not(.mini-calendar__day--selected):hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.location-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.location-modal{width:100%;max-height:90vh;background:var(--tg-theme-bg-color, var(--color-bg-primary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden;animation:slideUp .3s ease-out}.location-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.location-modal-header h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0}.location-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--tg-theme-hint-color, var(--color-text-secondary));cursor:pointer;border-radius:var(--radius-full)}.location-modal-close:active{background:var(--color-bg-tertiary)}.location-options{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.location-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:none;border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background-color .15s ease}.location-option:active{background:var(--color-bg-tertiary)}.location-option:disabled{opacity:.6;cursor:not-allowed}.location-option-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#6c5ce71a;border-radius:var(--radius-md);color:var(--color-accent);flex-shrink:0}.location-option-content{flex:1;display:flex;flex-direction:column;gap:2px}.location-option-title{font-size:var(--font-base);font-weight:var(--font-medium);color:var(--tg-theme-text-color, var(--color-text-primary))}.location-option-subtitle{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.location-option>.icon{color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.location-error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#ff4d4f1a;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-sm)}.location-current{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);margin-top:var(--spacing-sm);background:#6c5ce71a;border-radius:var(--radius-lg)}.location-current-info{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-accent);font-size:var(--font-sm);font-weight:var(--font-medium)}.location-current-clear{background:transparent;border:none;color:var(--color-danger);font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm)}.location-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.address-search-screen{display:flex;flex-direction:column;height:70vh;max-height:70vh}.address-search-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.address-search-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--tg-theme-text-color, var(--color-text-primary));cursor:pointer;border-radius:var(--radius-full)}.address-search-back:active{background:var(--color-bg-tertiary)}.address-search-header h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0}.address-search-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border-radius:var(--radius-lg);color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.address-search-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--font-base);color:var(--tg-theme-text-color, var(--color-text-primary))}.address-search-input::placeholder{color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.address-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-full);color:var(--tg-theme-hint-color, var(--color-text-secondary));cursor:pointer}.address-search-results{flex:1;overflow-y:auto;padding:0 var(--spacing-md) var(--spacing-md)}.address-search-loading,.address-search-empty,.address-search-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--tg-theme-hint-color, var(--color-text-secondary));text-align:center}.address-search-loading{flex-direction:row}.address-search-empty p{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-tertiary));margin:0}.address-search-hint{flex-direction:row;font-size:var(--font-sm)}.address-results-list{display:flex;flex-direction:column}.address-result-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;width:100%}.address-result-item:last-child{border-bottom:none}.address-result-item:active{background:var(--color-bg-tertiary)}.address-result-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-accent);flex-shrink:0}.address-result-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.address-result-main{font-size:var(--font-base);color:var(--tg-theme-text-color, var(--color-text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-result-secondary{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.map-picker-screen{display:flex;flex-direction:column;height:80vh;max-height:80vh}.map-picker-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.map-picker-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--tg-theme-text-color, var(--color-text-primary));cursor:pointer;border-radius:var(--radius-full)}.map-picker-back:active{background:var(--color-bg-tertiary)}.map-picker-header h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0}.map-picker-container{position:relative;flex:1}.map-picker-map{width:100%;height:100%}.map-picker-locate{position:absolute;bottom:var(--spacing-md);right:var(--spacing-md);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--tg-theme-bg-color, var(--color-bg-primary));border:none;border-radius:var(--radius-full);box-shadow:0 2px 8px #00000026;color:var(--color-accent);cursor:pointer;z-index:1000}.map-picker-locate:active{background:var(--color-bg-tertiary)}.map-picker-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--tg-theme-bg-color, var(--color-bg-primary))}.map-picker-address{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:var(--font-sm);color:var(--tg-theme-text-color, var(--color-text-primary))}.map-picker-address-loading{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.map-picker-confirm{width:100%;padding:var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:opacity .15s ease}.map-picker-confirm:active{opacity:.8}.map-picker-confirm:disabled{opacity:.5;cursor:not-allowed}.leaflet-container{background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary, #f2f2f7))}.leaflet-control-attribution{background:#fffc!important;color:#00000080!important;font-size:10px!important}.leaflet-control-attribution a{color:#0009!important}.location-modal{padding-bottom:env(safe-area-inset-bottom,0)}.service-autocomplete{position:relative;z-index:100}.service-autocomplete__input-wrap{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--tg-theme-bg-color, #fff);border:2px solid transparent;transition:border-color .2s ease,background .2s ease}.service-autocomplete__input-wrap--focused{border-color:var(--tg-theme-button-color, #007AFF)}.service-autocomplete__icon{color:var(--tg-theme-hint-color, #888);flex-shrink:0}.service-autocomplete__input{flex:1;border:none;background:transparent;font-size:16px;font-weight:500;color:var(--tg-theme-text-color, #000);outline:none;min-width:0}.service-autocomplete__input::placeholder{color:var(--tg-theme-hint-color, #888);font-weight:400}.service-autocomplete__selected{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.service-autocomplete__selected-name{font-size:16px;font-weight:500;color:var(--tg-theme-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-autocomplete__clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--tg-theme-secondary-bg-color, #f5f5f5);color:var(--tg-theme-hint-color, #888);flex-shrink:0;transition:background .15s ease;border:none;cursor:pointer}.service-autocomplete__clear:active{background:var(--tg-theme-hint-color, #ccc)}.service-autocomplete__dropdown{position:absolute;top:100%;left:0;right:0;background:var(--tg-theme-bg-color, #fff);border-radius:0 0 12px 12px;box-shadow:0 4px 20px #00000026;max-height:300px;overflow-y:auto;z-index:1000;border:1px solid var(--tg-theme-secondary-bg-color, #e5e5e5);border-top:none}.service-autocomplete__loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--tg-theme-hint-color, #888);font-size:14px}.service-autocomplete__loading svg{opacity:.5}.service-autocomplete__no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--tg-theme-hint-color, #888);font-size:14px}.service-autocomplete__no-results svg{opacity:.4}.service-autocomplete__results{padding:8px 0}.service-autocomplete__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .15s ease}.service-autocomplete__item:active{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.service-autocomplete__item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.service-autocomplete__item-name{font-size:15px;font-weight:500;color:var(--tg-theme-text-color, #000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-autocomplete__item-category{font-size:12px;color:var(--tg-theme-hint-color, #888)}.service-autocomplete__item-duration{font-size:13px;color:var(--tg-theme-hint-color, #888);flex-shrink:0;background:var(--tg-theme-secondary-bg-color, #f5f5f5);padding:4px 8px;border-radius:12px}.service-autocomplete__popular{padding:16px}.service-autocomplete__popular-label{font-size:12px;font-weight:600;color:var(--tg-theme-hint-color, #888);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:12px}.service-autocomplete__chips{display:flex;flex-wrap:wrap;gap:8px}.service-autocomplete__chip{padding:8px 14px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border:1px solid var(--tg-theme-secondary-bg-color, #e5e5e5);border-radius:20px;font-size:13px;font-weight:500;color:var(--tg-theme-text-color, #333);cursor:pointer;transition:all .15s ease;white-space:nowrap}.service-autocomplete__chip:active{background:var(--tg-theme-button-color, #007AFF);border-color:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff)}@media(hover:hover){.service-autocomplete__item:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.service-autocomplete__chip:hover{background:var(--tg-theme-button-color, #007AFF);border-color:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff)}.service-autocomplete__clear:hover{background:var(--tg-theme-hint-color, #ccc)}}.booking-search{padding:var(--spacing-md);padding-top:var(--spacing-lg)}.booking-search__title{font-size:22px;font-weight:700;color:var(--tg-theme-text-color, #000);margin:0 0 var(--spacing-md) 0;text-align:center}.booking-search__card{background:linear-gradient(135deg,#d4af37,gold,#b8860b);border-radius:16px;padding:3px}.booking-search__card-inner{background:var(--tg-theme-bg-color, #fff);border-radius:14px;overflow:visible}.booking-search__row{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .15s ease}.booking-search__row:active{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.booking-search__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color, #888);flex-shrink:0}.booking-search__content{flex:1;margin-left:12px;min-width:0}.booking-search__label{font-size:12px;font-weight:500;color:var(--tg-theme-hint-color, #888);display:block;margin-bottom:2px}.booking-search__value{font-size:16px;font-weight:500;color:var(--tg-theme-text-color, #000);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-search__value--placeholder{color:var(--tg-theme-hint-color, #888)}.booking-search__arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color, #888);flex-shrink:0;margin-left:8px}.booking-search__divider{height:1px;background:var(--tg-theme-secondary-bg-color, #e5e5e5);margin:0 20px}.booking-search__button{width:100%;margin-top:16px;padding:16px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s ease,transform .1s ease;box-shadow:0 4px 12px #8b5cf659}.booking-search__button:disabled{opacity:.5;cursor:not-allowed}.booking-search__button:not(:disabled):active{transform:scale(.98);opacity:.9}@media(hover:hover){.booking-search__row:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.booking-search__button:not(:disabled):hover{opacity:.95}}.salon-card{display:flex;gap:12px;background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary, #f5f5f5));border-radius:16px;padding:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.salon-card:active{transform:scale(.98)}@media(hover:hover){.salon-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}}.salon-card__photo-container{position:relative;width:120px;min-width:120px;height:140px;border-radius:12px;overflow:hidden;background:var(--color-bg-tertiary, #ebebeb)}.salon-card__photo{width:100%;height:100%;object-fit:cover}.salon-card__photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(transparent,#000000d9);display:flex;flex-direction:column;gap:4px}.salon-card__price{font-size:16px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.salon-card__rating{display:flex;align-items:center;gap:4px}.salon-card__stars{display:flex;gap:1px}.salon-card__star{font-size:12px;line-height:1}.salon-card__star--full{color:gold}.salon-card__star--half{color:gold;opacity:.6}.salon-card__star--empty{color:#fff6}.salon-card__rating-value{font-size:13px;font-weight:600;color:#fff;margin-left:2px}.salon-card__content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.salon-card__name{font-size:16px;font-weight:600;color:var(--tg-theme-text-color, var(--color-text-primary, #1a1a1a));margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salon-card__service-tag{display:inline-block;width:fit-content;padding:4px 10px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-size:12px;font-weight:600;border-radius:6px;margin:2px 0}.salon-card__nearest-slot{font-size:14px;font-weight:500;color:var(--tg-theme-text-color, var(--color-text-primary, #1a1a1a));margin:2px 0}.salon-card__location{display:flex;align-items:flex-start;gap:4px;font-size:13px;color:var(--tg-theme-hint-color, #999);margin:2px 0}.salon-card__location-icon{font-size:12px;flex-shrink:0;margin-top:1px}.salon-card__address{line-height:1.3}.salon-card__buttons{display:flex;gap:8px;margin-top:auto;padding-top:8px}.salon-card__btn{flex:1;padding:10px 12px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.salon-card__btn:active{transform:scale(.95)}.salon-card__btn--primary{background:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff)}.salon-card__btn--primary:active{opacity:.8}.salon-card__btn--secondary{background:transparent;color:var(--tg-theme-text-color, var(--color-text-primary, #1a1a1a));border:1px solid var(--color-border, rgba(0, 0, 0, .15))}.salon-card__btn--secondary:active{background:#0000000f}@media(hover:hover){.salon-card__btn--primary:hover{opacity:.9}.salon-card__btn--secondary:hover{background:#0000000f}}@media(max-width:360px){.salon-card__photo-container{width:100px;min-width:100px;height:120px}.salon-card__price,.salon-card__name{font-size:14px}.salon-card__btn{padding:8px 10px;font-size:12px}.salon-card__buttons{flex-direction:column}}.filter-bottom-sheet__backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.filter-bottom-sheet{position:fixed;bottom:0;left:0;right:0;max-height:85vh;background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.32,.72,0,1);transition:transform .1s ease-out;padding-bottom:env(safe-area-inset-bottom,0)}.filter-bottom-sheet--dragging{transition:none}.filter-bottom-sheet__handle{display:flex;justify-content:center;padding:12px 0 8px;cursor:grab}.filter-bottom-sheet__handle:active{cursor:grabbing}.filter-bottom-sheet__handle-bar{width:36px;height:4px;background:var(--color-border);border-radius:2px}.filter-bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-border)}.filter-bottom-sheet__title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.filter-bottom-sheet__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-bottom-sheet__close:active{transform:scale(.92);background:var(--color-bg-tertiary)}.filter-bottom-sheet__content{flex:1;overflow-y:auto;padding:var(--spacing-md);-webkit-overflow-scrolling:touch}.filter-section{margin-bottom:var(--spacing-lg)}.filter-section:last-child{margin-bottom:0}.filter-section__title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-sm)}.filter-price-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.filter-price-chip{padding:10px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.filter-price-chip:active{transform:scale(.96)}.filter-price-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-masters{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-master-option{display:flex;cursor:pointer}.filter-master-option input{display:none}.filter-master-option__content{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast)}.filter-master-option input:checked+.filter-master-option__content{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb, 0, 122, 255),.08)}.filter-master-option__icon{color:var(--color-text-secondary)}.filter-master-option__avatar{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover}.filter-master-option__avatar-placeholder{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.filter-master-option__info{display:flex;flex-direction:column;gap:2px}.filter-master-option__name{font-size:var(--font-base);font-weight:var(--font-medium);color:var(--color-text-primary)}.filter-master-option__rating{display:flex;align-items:center;gap:4px;font-size:var(--font-xs);color:var(--color-text-secondary)}.filter-master-option__rating .icon{color:#ffb800}.filter-time-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xs)}.filter-time-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--spacing-sm) var(--spacing-xs);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.filter-time-chip:active{transform:scale(.96)}.filter-time-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-time-chip__label{font-size:var(--font-sm);font-weight:var(--font-medium)}.filter-time-chip__range{font-size:var(--font-xs);opacity:.7}.filter-sort-options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-sort-option{display:flex;cursor:pointer}.filter-sort-option input{display:none}.filter-sort-option__content{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--font-base);color:var(--color-text-primary);transition:all var(--transition-fast)}.filter-sort-option input:checked+.filter-sort-option__content{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb, 0, 122, 255),.08)}.filter-sort-option__content .icon{color:var(--color-text-secondary)}.filter-sort-option input:checked+.filter-sort-option__content .icon{color:var(--color-accent)}.filter-bottom-sheet__footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-primary)}.filter-bottom-sheet__reset{flex:1;padding:14px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.filter-bottom-sheet__reset:disabled{opacity:.5;cursor:not-allowed}.filter-bottom-sheet__reset:not(:disabled):active{transform:scale(.98);background:var(--color-bg-tertiary)}.filter-bottom-sheet__apply{flex:2;padding:14px;background:var(--color-accent);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:var(--font-semibold);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.filter-bottom-sheet__apply:active{transform:scale(.98);background:var(--color-accent-hover)}@supports (padding-bottom: env(safe-area-inset-bottom)){.filter-bottom-sheet__footer{padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom))}}.map-results{position:fixed;inset:0;z-index:var(--z-modal, 300);background:var(--tg-theme-bg-color, #fff);display:flex;flex-direction:column}.map-results__header{position:absolute;top:0;left:0;right:0;padding:12px 16px;z-index:1000;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.map-results__back-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--tg-theme-bg-color, #fff);border-radius:20px;box-shadow:0 2px 12px #00000026;border:none;font-size:14px;font-weight:500;color:var(--tg-theme-text-color, #000);cursor:pointer;pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease}.map-results__back-btn:active{transform:scale(.95);box-shadow:0 1px 6px #0000001a}.map-results__count{padding:8px 14px;background:var(--tg-theme-bg-color, #fff);border-radius:16px;box-shadow:0 2px 12px #00000026;font-size:13px;color:var(--tg-theme-hint-color, #888);pointer-events:auto}.map-results__map{flex:1;width:100%;height:100%}.salon-map-marker{background:none;border:none}.salon-map-marker__pin{width:32px;height:32px;background:var(--tg-theme-button-color, #007AFF);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0000004d;border:3px solid #fff}.salon-map-marker__pin:after{content:"";width:10px;height:10px;background:#fff;border-radius:50%;transform:rotate(45deg)}.user-map-marker{background:none;border:none}.user-map-marker__dot{width:20px;height:20px;background:#4285f4;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px #4285f480;animation:userPulse 2s ease-in-out infinite}@keyframes userPulse{0%,to{box-shadow:0 0 #4285f466}50%{box-shadow:0 0 0 10px #4285f400}}.map-results__popup .leaflet-popup-content-wrapper{padding:0;border-radius:12px;box-shadow:0 4px 20px #00000026}.map-results__popup .leaflet-popup-content{margin:0;width:220px!important}.map-results__popup .leaflet-popup-tip{background:var(--tg-theme-bg-color, #fff)}.map-popup{padding:12px;background:var(--tg-theme-bg-color, #fff);border-radius:12px}.map-popup--user{padding:8px 12px;font-size:13px;color:var(--tg-theme-hint-color, #888);text-align:center}.map-popup__header{margin-bottom:8px}.map-popup__name{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--tg-theme-text-color, #000);line-height:1.3}.map-popup__meta{display:flex;align-items:center;gap:8px;font-size:12px}.map-popup__rating{color:var(--tg-theme-text-color, #000)}.map-popup__distance{color:var(--tg-theme-hint-color, #888)}.map-popup__price{font-size:13px;color:var(--tg-theme-hint-color, #888);margin-bottom:10px}.map-popup__slots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.map-popup__slot{padding:6px 10px;background:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.map-popup__slot:active{opacity:.8}.map-popup__more{padding:6px 8px;font-size:12px;color:var(--tg-theme-hint-color, #888)}.map-popup__details-btn{width:100%;padding:10px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--tg-theme-link-color, #007AFF);cursor:pointer;transition:background .15s ease}.map-popup__details-btn:active{background:var(--tg-theme-hint-color, #e0e0e0)}.map-results__no-coords{position:absolute;bottom:80px;left:50%;transform:translate(-50%);padding:12px 20px;background:var(--tg-theme-bg-color, #fff);border-radius:12px;box-shadow:0 2px 12px #00000026;font-size:13px;color:var(--tg-theme-hint-color, #888);z-index:1000}.map-results .leaflet-control-zoom{border:none;box-shadow:0 2px 12px #00000026}.map-results .leaflet-control-zoom a{background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #000);border:none}.map-results .leaflet-control-zoom a:first-child{border-radius:8px 8px 0 0}.map-results .leaflet-control-zoom a:last-child{border-radius:0 0 8px 8px}.search-results{display:flex;flex-direction:column;min-height:100%}.search-results__header{padding:var(--spacing-md) var(--spacing-lg);background:var(--tg-theme-bg-color);position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--tg-theme-secondary-bg-color)}.search-results__back{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--tg-theme-link-color);font-size:var(--font-sm);cursor:pointer;padding:0;margin-bottom:var(--spacing-sm)}.search-results__title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color);margin:0}.search-results__subtitle{font-size:var(--font-sm);color:var(--tg-theme-hint-color);margin-top:var(--spacing-xs)}.search-results__selection-card{margin:var(--spacing-sm) 0;background:linear-gradient(135deg,#d4af37,gold,#b8860b);border-radius:12px;padding:2px}.search-results__selection-inner{background:var(--tg-theme-bg-color, #fff);border-radius:10px;padding:12px 16px;text-align:center}.search-results__selection-text{font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #000)}.search-results__actions{display:flex;gap:8px;margin:var(--spacing-sm) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.search-results__actions::-webkit-scrollbar{display:none}.search-results__action-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border:none;color:var(--tg-theme-text-color, #000);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s ease}.search-results__action-btn:active{background:var(--tg-theme-hint-color, #ccc);opacity:.8}.search-results__action-btn--active{background:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff)}.search-results__filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;background:var(--tg-theme-button-text-color, #fff);color:var(--tg-theme-button-color, #007AFF);border-radius:9px;font-size:11px;font-weight:600}.search-results__reset-btn{margin-top:var(--spacing-md);padding:12px 24px;background:var(--tg-theme-button-color, #007AFF);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity .15s ease}.search-results__reset-btn:active{opacity:.8}@media(hover:hover){.search-results__action-btn:hover{background:var(--tg-theme-secondary-bg-color, #e8e8e8);opacity:.9}}.search-results__count{font-size:13px;color:var(--tg-theme-hint-color, #888);margin:var(--spacing-xs) 0 0 0}.search-results__sort{padding:var(--spacing-sm) var(--spacing-lg);background:var(--tg-theme-secondary-bg-color);display:flex;align-items:center;gap:var(--spacing-sm)}.search-results__sort-label{font-size:var(--font-sm);color:var(--tg-theme-hint-color)}.search-results__sort-value{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--tg-theme-link-color);display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;background:none;border:none;padding:0}.search-results__list{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.salon-result-card{display:flex;flex-direction:column;background:var(--tg-theme-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:0 2px 8px #00000014;border:1px solid var(--tg-theme-secondary-bg-color);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.salon-result-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.salon-result-card:active{transform:scale(.98)}.salon-result-card__header{display:flex;gap:var(--spacing-sm);align-items:flex-start}.salon-result-card__photo{width:56px;height:56px;min-width:56px;border-radius:var(--radius-md);overflow:hidden;background:var(--tg-theme-secondary-bg-color)}.salon-result-card__photo img{width:100%;height:100%;object-fit:cover}.salon-result-card__photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color)}.salon-result-card__info{flex:1;min-width:0}.salon-result-card__name{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--tg-theme-text-color);margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salon-result-card__rating{display:flex;align-items:center;gap:4px;font-size:var(--font-xs);color:var(--tg-theme-text-color)}.salon-result-card__rating-star{color:gold}.salon-result-card__reviews{color:var(--tg-theme-hint-color)}.salon-result-card__distance{display:flex;align-items:center;gap:4px;font-size:var(--font-xs);color:var(--tg-theme-hint-color);margin-top:2px}.salon-result-card__slots-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--tg-theme-secondary-bg-color)}.salon-result-card__slots-label{font-size:10px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.salon-result-card__slots{display:flex;flex-wrap:wrap;gap:6px}.slot-chip{padding:8px 14px;border-radius:var(--radius-md);background:var(--tg-theme-button-color);border:none;color:var(--tg-theme-button-text-color);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.slot-chip:active{opacity:.8;transform:scale(.95)}.slot-chip--more{background:transparent;border:1px dashed var(--tg-theme-hint-color);color:var(--tg-theme-hint-color)}.salon-result-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--tg-theme-secondary-bg-color);gap:var(--spacing-sm)}.salon-result-card__price{font-size:var(--font-xs);color:var(--tg-theme-hint-color);white-space:nowrap}.salon-result-card__book-btn{padding:8px 16px;border-radius:var(--radius-md);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.salon-result-card__book-btn:active{transform:scale(.95)}.search-results__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.search-results__empty-icon{font-size:48px;margin-bottom:var(--spacing-lg)}.search-results__empty-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color);margin:0 0 var(--spacing-sm) 0}.search-results__empty-text{font-size:var(--font-sm);color:var(--tg-theme-hint-color);margin:0}.sort-dropdown{position:fixed;bottom:0;left:0;right:0;background:var(--tg-theme-bg-color);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--spacing-lg);z-index:var(--z-modal);animation:slideUp .2s ease-out}.sort-dropdown__overlay{position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-modal) - 1);animation:fadeIn .2s ease-out}.sort-dropdown__title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color);margin:0 0 var(--spacing-lg) 0;text-align:center}.sort-dropdown__options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sort-dropdown__option{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--tg-theme-secondary-bg-color);border:none;font-size:var(--font-md);color:var(--tg-theme-text-color);text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.sort-dropdown__option--active{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.sort-dropdown__option-check{font-size:var(--font-lg)}.search-results__skeleton{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-card__line{height:14px;background:var(--tg-theme-hint-color);opacity:.3;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.skeleton-card__line--short{width:60%}.skeleton-card__line--medium{width:80%}.skeleton-card__slots{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.skeleton-card__slot{width:60px;height:32px;background:var(--tg-theme-hint-color);opacity:.2;border-radius:var(--radius-md)}.salon-page{display:flex;flex-direction:column;min-height:100%;background-color:var(--tg-theme-bg-color, var(--color-bg-primary))}.salon-page__photo{position:relative;width:100%;height:200px;background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-tertiary));display:flex;align-items:center;justify-content:center;overflow:hidden}.salon-page__photo img{width:100%;height:100%;object-fit:cover}.salon-page__photo-placeholder{color:var(--tg-theme-hint-color, var(--color-text-tertiary));display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm)}.salon-page__photo-overlay{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);z-index:2}.salon-page__back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0006;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:background var(--transition-fast)}.salon-page__back-btn:active{background:#0009}.salon-page__favorite-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0006;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.salon-page__favorite-btn:active{transform:scale(.9)}.salon-page__favorite-btn.active{color:#ff4757}.salon-page__header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.salon-page__title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0}.salon-page__info{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.salon-page__rating{display:flex;align-items:center;gap:4px;margin-bottom:var(--spacing-xs);color:#ffb800}.salon-page__rating-value{font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-page__reviews-count{color:var(--tg-theme-hint-color, var(--color-text-secondary));font-size:var(--font-sm)}.salon-page__address{display:flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary));margin-bottom:var(--spacing-md)}.salon-page__distance{color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.salon-page__working-hours{display:flex;align-items:center;gap:4px;font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary));margin-bottom:var(--spacing-md)}.salon-page__map-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--tg-theme-text-color, var(--color-text-primary));font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.salon-page__map-btn:active{background:var(--color-bg-tertiary)}.salon-page__section{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.salon-page__section:last-of-type{border-bottom:none}.salon-page__section-title{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0 0 var(--spacing-md)}.salon-page__date-chips{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md);-webkit-overflow-scrolling:touch}.salon-page__date-chips::-webkit-scrollbar{display:none}.salon-page__date-chip{flex-shrink:0;padding:var(--spacing-xs) var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-sm);color:var(--tg-theme-text-color, var(--color-text-primary));cursor:pointer;transition:all var(--transition-fast)}.salon-page__date-chip.active{background:var(--tg-theme-button-color, var(--color-accent));border-color:var(--tg-theme-button-color, var(--color-accent));color:var(--tg-theme-button-text-color, #fff)}.salon-page__date-chip:active:not(.active){background:var(--color-bg-tertiary)}.salon-page__slots{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.salon-page__slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xs);background:#007aff1a;border:1px solid rgba(0,122,255,.3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.salon-page__slot:active{background:#007aff33;transform:scale(.98)}.salon-page__slot-time{font-size:var(--font-base);font-weight:var(--font-semibold);color:#007aff}.salon-page__slot-date{font-size:var(--font-xs);color:var(--tg-theme-hint-color, var(--color-text-secondary));margin-top:2px}.salon-page__slots-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.salon-page__no-slots{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);color:var(--tg-theme-hint-color, var(--color-text-secondary));text-align:center}.salon-page__no-slots p{margin:var(--spacing-sm) 0 0;font-size:var(--font-sm)}.salon-page__services{display:flex;flex-direction:column}.salon-page__services-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.salon-page__service{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.salon-page__service.selected{border-color:var(--tg-theme-button-color, var(--color-accent));background:#007aff0d}.salon-page__service:last-child{margin-bottom:0}.salon-page__service-info{display:flex;flex-direction:column;gap:2px}.salon-page__service-name{font-size:var(--font-base);font-weight:var(--font-medium);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-page__service-duration{font-size:var(--font-xs);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.salon-page__service-action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.salon-page__service-price{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-page__service-select-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--tg-theme-button-color, var(--color-accent));color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--transition-fast)}.salon-page__service-select-btn:active{opacity:.8}.salon-page__service--highlighted{border-color:var(--tg-theme-button-color, var(--color-accent));background:#007aff0d;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.salon-page__slots-panel{padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:1px solid var(--tg-theme-button-color, var(--color-accent));border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);margin-bottom:var(--spacing-md)}.salon-page__show-all-services-btn{width:100%;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--tg-theme-link-color, var(--color-accent));cursor:pointer;transition:background var(--transition-fast)}.salon-page__show-all-services-btn:active{background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary))}.salon-page__section--map{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.salon-page__reviews-summary{margin-bottom:var(--spacing-md)}.salon-page__reviews-rating{display:flex;align-items:center;gap:var(--spacing-sm)}.salon-page__reviews-rating-value{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-page__reviews-total{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.salon-page__reviews-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.salon-page__reviews{display:flex;flex-direction:column;gap:var(--spacing-md)}.salon-page__review-card{padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border-radius:var(--radius-md)}.salon-page__review-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.star-rating{display:inline-flex;gap:2px}.salon-page__review-author{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-page__review-date{font-size:var(--font-xs);color:var(--tg-theme-hint-color, var(--color-text-tertiary));margin-left:auto}.salon-page__review-text{font-size:var(--font-sm);color:var(--tg-theme-text-color, var(--color-text-secondary));line-height:1.4;margin:0}.salon-page__review-service{display:inline-block;margin-top:var(--spacing-xs);padding:2px var(--spacing-xs);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.salon-page__show-more-btn{width:100%;margin-top:var(--spacing-md);padding:var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--tg-theme-link-color, var(--color-accent));cursor:pointer;transition:background var(--transition-fast)}.salon-page__show-more-btn:active{background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary))}.salon-page__no-data{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary));text-align:center;margin:0;padding:var(--spacing-lg) 0}.salon-page__error-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--spacing-md) 0}.salon-page__retry-btn{font-size:var(--font-sm);color:var(--tg-theme-button-color, var(--color-primary));background:none;border:none;cursor:pointer;padding:4px 8px;text-decoration:underline}.salon-page__loading,.salon-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-lg);color:var(--tg-theme-hint-color, var(--color-text-secondary));text-align:center}.salon-page__error p{margin:0 0 var(--spacing-md)}.ad-banner{background:transparent;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ad-banner:active{transform:scale(.98)}.ad-banner__image-wrapper{position:relative;width:100%;height:140px;overflow:hidden;background:transparent}.ad-banner__image{width:100%;height:100%;object-fit:cover}.ad-banner__badge{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:4px;background:#0009;color:#fff;font-size:11px;font-weight:500;padding:4px 8px;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ad-banner__content{padding:12px 14px}.ad-banner__title{font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #000);margin:0 0 4px;line-height:1.3}.ad-banner__subtitle{font-size:13px;color:var(--tg-theme-hint-color, #888);margin:0 0 8px;line-height:1.4}.ad-banner__footer{display:flex;align-items:center;justify-content:space-between}.ad-banner__advertiser{font-size:12px;color:var(--tg-theme-hint-color, #888);font-weight:500}.ad-banner__arrow{color:var(--tg-theme-hint-color, #888);opacity:.6}@media(hover:hover){.ad-banner:hover{box-shadow:0 4px 12px #0000001a}.ad-banner:hover .ad-banner__arrow{opacity:1;color:var(--tg-theme-link-color, #2481cc)}}.ad-banner-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.ad-banner-modal__overlay{position:absolute;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ad-banner-modal__content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:var(--tg-theme-bg-color, #ffffff);animation:slideUp .3s ease-out}.ad-banner-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0)}.ad-banner-modal__title{font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #000000);margin:0;flex:1;padding-right:16px}.ad-banner-modal__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:50%;cursor:pointer;transition:background-color .2s;color:var(--tg-theme-text-color, #000000)}.ad-banner-modal__close:active{background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.ad-banner-modal__image-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--tg-theme-secondary-bg-color, #f5f5f5);position:relative}.ad-banner-modal__image{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ad-banner-modal__subtitle{padding:12px 16px;margin:0;font-size:14px;color:var(--tg-theme-hint-color, #999999);line-height:1.4;text-align:center}.ad-banner-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:16px;border-top:1px solid var(--tg-theme-hint-color, #e0e0e0)}.ad-banner-modal__advertiser{font-size:12px;color:var(--tg-theme-hint-color, #999999)}.ad-banner-modal__action-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.ad-banner-modal__action-btn:active{transform:scale(.95)}.ad-explore-grid{display:grid;grid-template-columns:1fr auto;gap:4px;border-radius:12px;overflow:hidden;height:220px}.ad-explore-grid__horizontal{position:relative;overflow:hidden;cursor:pointer;border-radius:12px 0 0 12px;height:calc(220px * 3 / 5);align-self:start;background:transparent}.ad-explore-grid__vertical{position:relative;overflow:hidden;cursor:pointer;border-radius:0 12px 12px 0;height:220px;width:123.75px;background:transparent}.ad-explore-grid__image{width:100%;height:100%;object-fit:cover;display:block}.ad-explore-grid__badge{position:absolute;top:6px;left:6px;background:#00000080;color:#fff;font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ad-explore-grid__horizontal:active,.ad-explore-grid__vertical:active{opacity:.9;transform:scale(.98);transition:all .1s ease}.global-viewer{position:fixed;inset:0;z-index:1000;background:var(--tg-theme-bg-color, var(--color-bg-primary, #ffffff));animation:gv-fadein .2s ease}@keyframes gv-fadein{0%{opacity:0}to{opacity:1}}.global-viewer__content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.global-viewer__progress{position:absolute;top:8px;left:8px;right:8px;z-index:10;display:flex;gap:4px}.global-viewer__progress-bar{flex:1;height:2px;background:var(--color-border, rgba(0, 0, 0, .12));border-radius:1px;overflow:hidden}.global-viewer__progress-fill{width:0%;height:100%;background:var(--tg-theme-button-color, var(--color-accent, #6c5ce7));border-radius:1px}.global-viewer__progress-fill--done{width:100%}.global-viewer__progress-fill--active{width:100%;animation:gv-progress 5s linear forwards}@keyframes gv-progress{0%{width:0%}to{width:100%}}.global-viewer__close{position:absolute;top:20px;right:12px;z-index:10;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-tertiary, rgba(0, 0, 0, .08));color:var(--tg-theme-text-color, var(--color-text-primary, #1a1a1a));display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.global-viewer__close:active{background:var(--color-border, rgba(0, 0, 0, .15))}.global-viewer__image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.global-viewer__image{width:100%;height:100%;object-fit:cover}.global-viewer__bottom{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,#fffffff2)}.global-viewer__caption{font-size:14px;line-height:1.5;color:var(--tg-theme-text-color, var(--color-text-primary, #1a1a1a));margin:0 0 8px}.global-viewer__cta{display:inline-block;padding:8px 20px;border-radius:20px;border:1px solid var(--color-border, rgba(0, 0, 0, .15));background:var(--tg-theme-button-color, var(--color-accent, #6c5ce7));color:var(--tg-theme-button-text-color, #fff);font-size:14px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s}.global-viewer__cta:active{opacity:.85}.global-stories{padding:12px 0;border-bottom:1px solid var(--color-border)}.global-stories__scroll{display:flex;gap:12px;overflow-x:auto;padding:0 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.global-stories__scroll::-webkit-scrollbar{display:none}.global-stories__item{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.global-stories__circle{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--tg-theme-hint-color, #999);padding:2px;background:var(--tg-theme-bg-color, #fff)}.global-stories__circle img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.global-stories__circle--pinned{border-color:transparent;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) padding-box,linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888) border-box}.global-stories__circle--pinned img{border:2px solid var(--tg-theme-bg-color, #fff)}.global-stories__circle--skeleton{background:var(--tg-theme-secondary-bg-color, #e8e8e8);animation:stories-pulse 1.5s ease-in-out infinite}@keyframes stories-pulse{0%,to{opacity:1}50%{opacity:.5}}.global-stories__label{font-size:11px;color:var(--tg-theme-text-color, var(--color-text-primary));max-width:64px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-stories__item:active .global-stories__circle{transform:scale(.92);transition:transform .1s ease}.search-page{display:flex;flex-direction:column;min-height:100%;background-color:var(--tg-theme-bg-color, var(--color-bg-primary))}.search-header{position:sticky;top:0;background-color:var(--tg-theme-bg-color, var(--color-bg-primary));border-bottom:1px solid var(--color-border);z-index:var(--z-sticky)}.search-header-content{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:var(--header-height)}.search-title{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md)}.search-box{margin:var(--spacing-xs) var(--spacing-md) 0;padding:3px;background:linear-gradient(135deg,#d4af37,gold,#b8860b);border-radius:var(--radius-lg)}.search-selectors{display:flex;flex-direction:column;gap:2px;background:var(--color-border);border-radius:calc(var(--radius-lg) - 3px);overflow:hidden}.search-button-large{display:block;width:100%;margin:var(--spacing-sm) 0 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent, #6c5ce7);color:var(--color-accent-text, #fff);font-size:var(--font-md);font-weight:var(--font-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .1s ease,opacity .1s ease,background .15s ease}.search-button-large:hover{background:var(--color-accent-hover, #5b4cdb)}.search-button-large:active{transform:scale(.98);opacity:.9}.search-button-large:disabled{opacity:.6;cursor:not-allowed}.search-promo-header{margin:80px var(--spacing-md) 0;text-align:center}.search-promo-title{font-size:var(--font-xl, 20px);font-weight:var(--font-bold, 700);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0 0 var(--spacing-xs)}.search-promo-subtitle{font-size:var(--font-md, 16px);color:var(--tg-theme-hint-color, var(--color-text-secondary));margin:0 0 var(--spacing-md)}.search-promo-card{background:linear-gradient(135deg,var(--color-accent, #6c5ce7) 0%,#5b4cdb 100%);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);text-align:left}.search-promo-card-title{font-size:var(--font-lg, 18px);font-weight:var(--font-bold, 700);color:#fff;margin:0 0 var(--spacing-xs)}.search-promo-card-text{font-size:var(--font-sm, 14px);color:#ffffffe6;margin:0}.search-ad-section{margin-top:20px;padding:0 var(--spacing-md)}.search-promo-section{margin-top:24px;padding:0 var(--spacing-md)}.search-promo-title{font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #000);margin:0 0 12px}.search-promo-placeholder{padding:32px 16px;text-align:center;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;color:var(--tg-theme-hint-color, #888);font-size:14px}.search-date-input-hidden{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}.search-tabs{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-md) var(--spacing-sm)}.search-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.search-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.search-tab:not(.active):active{background:var(--color-bg-tertiary)}.search-filters{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.search-filter-row{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.search-filter-item{flex:1;display:flex;align-items:center;gap:3px;padding:5px var(--spacing-sm);background-color:var(--tg-theme-bg-color, var(--color-bg-primary));border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.search-filter-select,.search-filter-input{flex:1;border:none;background:transparent;font-size:var(--font-xs);color:var(--color-text-primary);outline:none}.search-filter-select{cursor:pointer}.search-date-picker{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--tg-theme-bg-color, var(--color-bg-primary));border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--tg-theme-hint-color, var(--color-text-secondary));cursor:pointer;position:relative}.search-date-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:10}.search-date-input::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;background:transparent}.search-date-display{flex:1;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.search-date-arrow{color:var(--color-text-tertiary)}.search-content{flex:1;overflow-y:auto;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + var(--tabbar-height) + var(--safe-area-bottom))}.search-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-md);color:var(--color-text-secondary)}.search-state.error{color:var(--color-danger)}.search-state .state-icon{opacity:.5;margin-bottom:var(--spacing-md)}.search-state p{margin:var(--spacing-sm) 0}.slots-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.slot-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.slot-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.slot-card__service{font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--color-text-primary)}.slot-card__price{font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--color-accent)}.slot-card__salon{margin-bottom:2px;display:flex;align-items:center;gap:var(--spacing-xs)}.slot-card__salon.clickable{cursor:pointer;padding:4px 8px;margin:-4px -8px 2px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.slot-card__salon.clickable:active{background:var(--color-bg-tertiary)}.slot-card__salon-name{font-weight:var(--font-medium);font-size:var(--font-xs);color:var(--color-text-primary)}.slot-card__salon-type{font-size:var(--font-xs);color:var(--color-text-secondary)}.slot-card__salon-info{margin-left:auto;color:var(--color-accent);opacity:.7}.slot-card__address,.slot-card__datetime{display:flex;align-items:center;gap:3px;font-size:var(--font-xs);color:var(--color-text-secondary);margin-top:2px}.slot-card__master{color:var(--color-text-tertiary)}.slot-card__button{width:100%;margin-top:var(--spacing-sm);padding:6px var(--spacing-md);background-color:var(--color-accent);color:var(--color-accent-text);font-size:var(--font-xs);font-weight:var(--font-semibold);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.slot-card__button:hover{background-color:var(--color-accent-hover)}.slot-card--with-image{padding:0;overflow:hidden}.slot-card--with-image .slot-card__header,.slot-card--with-image .slot-card__salon,.slot-card--with-image .slot-card__address,.slot-card--with-image .slot-card__datetime,.slot-card--with-image .slot-card__button{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.slot-card--with-image .slot-card__header{padding-top:var(--spacing-sm)}.slot-card--with-image .slot-card__button{margin:var(--spacing-sm) var(--spacing-md);width:calc(100% - 2 * var(--spacing-md))}.slot-card__image-container{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-bg-tertiary)}.slot-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.slot-card--with-image:active .slot-card__image{transform:scale(1.02)}.slot-card__duration-badge{position:absolute;bottom:var(--spacing-sm);left:var(--spacing-sm);padding:4px 8px;background:#000000b3;color:#fff;font-size:var(--font-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:480px){.slots-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.slot-card--with-image{height:100%;display:flex;flex-direction:column}.slot-card--with-image .slot-card__image-container{aspect-ratio:4 / 3}.slot-card--with-image .slot-card__button{margin-top:auto}}@media(min-width:768px){.slots-list{grid-template-columns:repeat(3,1fr)}}.search-results-info{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);font-size:var(--font-sm)}.search-results-count{color:var(--color-text-primary);font-weight:var(--font-medium)}.search-results-sort{color:var(--color-text-secondary)}.slot-card__urgency{margin:var(--spacing-xs) 0}.slot-card--with-image .slot-card__urgency{margin:var(--spacing-xs) var(--spacing-md)}.slot-card__master-rating{display:inline-flex;align-items:center;gap:2px;margin-left:4px;color:var(--color-text-secondary)}.slot-card__master-rating .icon{color:#ffb800}.modal-content{background:var(--tg-theme-bg-color, var(--color-bg-primary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--spacing-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.confirmation-details{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.confirmation-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.confirmation-row:last-child{border-bottom:none}.confirmation-row.total{margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:2px solid var(--color-border);font-weight:var(--font-semibold)}.confirmation-label{color:var(--color-text-secondary);font-size:var(--font-sm)}.confirmation-value{color:var(--color-text-primary);font-size:var(--font-sm);text-align:right}.confirmation-client-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.confirmation-client-info .confirmation-row{padding:var(--spacing-xs) 0}.confirmation-client-info .text-muted{color:var(--color-text-tertiary);font-style:italic}.confirmation-profile-hint{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-warning)}.confirmation-error{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#ff4d4f1a;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-sm);text-align:center}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:60vh;text-align:center}.success-icon{width:80px;height:80px;border-radius:var(--radius-full);background-color:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;margin-bottom:var(--spacing-lg)}.success-screen h2{font-size:var(--font-xl);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.success-details{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);width:100%;max-width:300px}.success-service{font-weight:var(--font-semibold);font-size:var(--font-base);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.success-salon{font-weight:var(--font-medium);color:var(--color-text-primary)}.success-address,.success-datetime{font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.success-price{font-weight:var(--font-semibold);font-size:var(--font-lg);color:var(--color-accent);margin-top:var(--spacing-md)}.button:disabled{opacity:.6;cursor:not-allowed}.button.primary:disabled{background-color:var(--color-accent)}@media(min-width:1024px){.search-content{padding-bottom:var(--spacing-md)}.modal-content{border-radius:var(--radius-xl);margin-bottom:var(--spacing-2xl)}}.search-location-error{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#ff4d4f1a;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-sm)}.search-filter-summary{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);margin:0 var(--spacing-md);background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:var(--radius-lg)}.search-filter-summary-text{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--tg-theme-text-color, var(--color-text-primary))}.search-toolbar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.search-toolbar-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--tg-theme-text-color, var(--color-text-primary));font-size:var(--font-sm);cursor:pointer;position:relative}.search-toolbar-btn:active{opacity:.7}.search-toolbar-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--color-accent);color:#fff;font-size:10px;font-weight:var(--font-bold);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.salon-results-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.salon-result-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border-radius:var(--radius-lg)}.salon-result-image{flex-shrink:0;width:100px;height:120px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary)}.salon-result-image img{width:100%;height:100%;object-fit:cover}.salon-result-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.salon-result-info{flex:1;display:flex;flex-direction:column;min-width:0}.salon-result-name{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0 0 var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salon-result-service{display:inline-block;padding:2px 8px;background:var(--color-accent);color:#fff;font-size:var(--font-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.salon-result-time{font-size:var(--font-sm);color:var(--tg-theme-text-color, var(--color-text-primary));margin-bottom:var(--spacing-xs)}.salon-result-address{display:flex;align-items:center;gap:4px;font-size:var(--font-xs);color:var(--tg-theme-hint-color, var(--color-text-secondary));margin-bottom:var(--spacing-sm)}.salon-result-distance{color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.salon-result-footer{display:flex;align-items:center;gap:var(--spacing-md);margin-top:auto}.salon-result-price{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary))}.salon-result-rating{display:flex;align-items:center;gap:4px;font-size:var(--font-sm);font-weight:var(--font-medium);color:#ffb800}.salon-result-actions{display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center}.salon-result-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-xs);font-weight:var(--font-semibold);border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.salon-result-btn.primary{background:var(--color-accent);color:#fff;border:none}.salon-result-btn.primary:active{opacity:.8}.salon-result-btn.secondary{background:transparent;color:var(--tg-theme-text-color, var(--color-text-primary));border:1px solid var(--color-border)}.salon-result-btn.secondary:active{background:var(--color-bg-tertiary)}.modal-content.modal-bottom{position:relative;padding-top:var(--spacing-md)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.modal-header h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--tg-theme-text-color, var(--color-text-primary));margin:0}.sort-options{display:flex;flex-direction:column}.sort-option{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--tg-theme-text-color, var(--color-text-primary));font-size:var(--font-base);cursor:pointer;text-align:left}.sort-option:last-child{border-bottom:none}.sort-option.active{color:var(--color-accent)}.sort-option:active{background:var(--color-bg-tertiary)}.filter-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border-radius:var(--radius-md);cursor:pointer}.filter-option-icon{font-size:20px}.filter-option-label{flex:1;font-size:var(--font-base);color:var(--tg-theme-text-color, var(--color-text-primary))}.filter-option input[type=checkbox]{display:none}.filter-checkbox{width:24px;height:24px;border:2px solid var(--color-border);border-radius:var(--radius-sm);position:relative;transition:all var(--transition-fast)}.filter-option input[type=checkbox]:checked+.filter-checkbox{background:var(--color-accent);border-color:var(--color-accent)}.filter-option input[type=checkbox]:checked+.filter-checkbox:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.filter-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.filter-actions .button{flex:1}.modal-content.modal-fullscreen{border-radius:0;max-height:100vh;height:100vh}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 100px);color:var(--tg-theme-hint-color, var(--color-text-secondary))}.map-placeholder p{font-size:var(--font-lg);margin:var(--spacing-md) 0 var(--spacing-xs)}.map-placeholder span{font-size:var(--font-sm);color:var(--tg-theme-hint-color, var(--color-text-tertiary))}.date-quick-options{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.date-option-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--tg-theme-secondary-bg-color, var(--color-bg-secondary));border:2px solid transparent;border-radius:var(--radius-md);color:var(--tg-theme-text-color, var(--color-text-primary));font-size:var(--font-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.date-option-btn svg{color:var(--tg-theme-hint-color, var(--color-text-secondary))}.date-option-btn:active{transform:scale(.98)}.date-option-btn--active{border-color:var(--color-accent, #8B5CF6);background:#8b5cf61a}.date-option-btn--active svg{color:var(--color-accent, #8B5CF6)}.date-calendar-section{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.search-page--results{padding-bottom:0}.search-page--results .search-content{padding-bottom:calc(var(--spacing-md) + var(--tabbar-height) + var(--safe-area-bottom))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;min-height:300px}.empty-state-icon{color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{font-size:var(--font-sm);color:var(--color-text-secondary);max-width:280px;margin-bottom:var(--spacing-lg)}.empty-state-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-accent);color:var(--color-accent-text);font-size:var(--font-base);font-weight:var(--font-semibold);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.empty-state-button:hover{background-color:var(--color-accent-hover)}.empty-state-button:active{opacity:.9}.cancel-modal{padding:var(--spacing-sm) 0}.cancel-modal__service-name{font-size:15px;color:var(--tg-theme-hint-color);text-align:center;margin:0 0 var(--spacing-lg)}.cancel-modal__choice{display:flex;flex-direction:column}.cancel-modal__buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cancel-modal__btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:transform .1s ease,opacity .2s ease}.cancel-modal__btn:active{transform:scale(.98)}.cancel-modal__btn-icon{font-size:20px}.cancel-modal__btn--reschedule{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.cancel-modal__btn--cancel{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color)}.cancel-modal__reason{display:flex;flex-direction:column;gap:var(--spacing-md)}.cancel-modal__reasons-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cancel-modal__reason-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--tg-theme-secondary-bg-color);cursor:pointer;transition:background .2s ease}.cancel-modal__reason-item:hover{background:var(--tg-theme-secondary-bg-color);opacity:.9}.cancel-modal__reason-item.selected{background:var(--tg-theme-button-color)}.cancel-modal__reason-item.selected .cancel-modal__reason-label{color:var(--tg-theme-button-text-color)}.cancel-modal__reason-item input[type=radio]{display:none}.cancel-modal__reason-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--tg-theme-hint-color);position:relative;flex-shrink:0;transition:border-color .2s ease}.cancel-modal__reason-item.selected .cancel-modal__reason-radio{border-color:var(--tg-theme-button-text-color)}.cancel-modal__reason-item.selected .cancel-modal__reason-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--tg-theme-button-text-color)}.cancel-modal__reason-label{font-size:15px;color:var(--tg-theme-text-color)}.cancel-modal__custom-reason{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--tg-theme-hint-color);border-radius:var(--radius-md);background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);font-size:15px;resize:none;font-family:inherit}.cancel-modal__custom-reason:focus{outline:none;border-color:var(--tg-theme-button-color)}.cancel-modal__custom-reason::placeholder{color:var(--tg-theme-hint-color)}.cancel-modal__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.cancel-modal__action-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;cursor:pointer;transition:transform .1s ease,opacity .2s ease}.cancel-modal__action-btn:active{transform:scale(.98)}.cancel-modal__action-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-modal__action-btn--back{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color)}.cancel-modal__action-btn--confirm{background:#e74c3c;color:#fff}.cancel-modal__note{font-size:12px;color:var(--tg-theme-hint-color);text-align:center;margin:var(--spacing-sm) 0 0}.bookings-page{display:flex;flex-direction:column;min-height:100%;background-color:var(--color-bg-secondary)}.bookings-header{padding:var(--spacing-md);background-color:var(--color-bg-primary)}.bookings-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.bookings-tabs{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border)}.bookings-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);border-radius:var(--radius-full);background-color:transparent;transition:all var(--transition-fast)}.bookings-tab:hover{background-color:var(--color-hover)}.bookings-tab.active{background-color:var(--color-accent);color:var(--color-accent-text)}.bookings-tab-badge{min-width:18px;height:18px;padding:0 4px;background-color:var(--color-bg-primary);color:var(--color-accent);font-size:var(--font-xs);font-weight:var(--font-bold);line-height:18px;text-align:center;border-radius:var(--radius-full)}.bookings-tab.active .bookings-tab-badge{background-color:#fff3;color:var(--color-accent-text)}.bookings-content{flex:1;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + var(--tabbar-height) + var(--safe-area-bottom))}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-card)}.booking-card__status{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);margin-bottom:var(--spacing-sm)}.booking-card__status.confirmed{background-color:var(--color-success-light);color:var(--color-success)}.booking-card__status.pending{background-color:var(--color-warning-light, #FEF3C7);color:var(--color-warning, #D97706)}.booking-card__status.completed{background-color:var(--color-success-light);color:var(--color-success)}.booking-card__status.cancelled{background-color:var(--color-error-light);color:var(--color-error)}.booking-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.booking-card__service{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.booking-card__price{font-size:var(--font-base);font-weight:var(--font-bold);color:var(--color-accent)}.booking-card__divider{height:1px;background-color:var(--color-border);margin:var(--spacing-sm) 0}.booking-card__salon,.booking-card__address,.booking-card__datetime,.booking-card__master{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.booking-card__salon-name{font-weight:var(--font-medium);color:var(--color-text-primary)}.booking-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.booking-card__action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);font-size:var(--font-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);transition:all var(--transition-fast)}.booking-card__action-btn.reschedule{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.booking-card__action-btn.reschedule:hover{background-color:var(--color-hover)}.booking-card__action-btn.cancel{background-color:var(--color-error-light);color:var(--color-error)}.booking-card__action-btn.cancel:hover{background-color:var(--color-error);color:#fff}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}.modal-content{position:relative;background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--spacing-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-xs);color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-full)}.modal-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);text-align:center}.modal-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-actions .button{flex:1}.reschedule-service{text-align:center;margin-bottom:var(--spacing-lg)}.reschedule-service-name{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.reschedule-salon-name{font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.reschedule-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.reschedule-field label{display:block;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.reschedule-field input[type=date]{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary)}.reschedule-days{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding:var(--spacing-xs) 0;margin:0 calc(-1 * var(--spacing-lg));padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);scrollbar-width:none;-ms-overflow-style:none}.reschedule-days::-webkit-scrollbar{display:none}.reschedule-day-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:var(--spacing-sm);background-color:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-shrink:0}.reschedule-day-btn:hover:not(:disabled){border-color:var(--color-accent);background-color:var(--color-bg-primary)}.reschedule-day-btn.selected{background-color:var(--color-accent);border-color:var(--color-accent)}.reschedule-day-btn.selected .day-label,.reschedule-day-btn.selected .day-weekday{color:var(--color-accent-text)}.reschedule-day-btn:disabled{opacity:.5;cursor:not-allowed}.day-label{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap}.day-weekday{font-size:var(--font-xs);color:var(--color-text-secondary);text-transform:uppercase;margin-top:2px}.reschedule-times{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xs)}.reschedule-time-btn{padding:var(--spacing-sm);font-size:var(--font-sm);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.reschedule-time-btn:hover{border-color:var(--color-accent)}.reschedule-time-btn.selected{background-color:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.reschedule-time-btn.disabled{background-color:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-muted, #9ca3af);border-color:var(--color-border);cursor:not-allowed;opacity:.6}.reschedule-time-btn.disabled:hover{border-color:var(--color-border)}.loading-text{color:var(--color-text-muted, #9ca3af);font-weight:400;font-size:var(--font-xs);margin-left:var(--spacing-xs)}.reschedule-error{color:var(--color-error);font-size:var(--font-xs);margin-bottom:var(--spacing-sm)}.reschedule-no-slots{text-align:center;color:var(--color-text-secondary);font-size:var(--font-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-warning-light, #FEF3C7);border-radius:var(--radius-md)}.reschedule-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-sm)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reschedule-no-days{text-align:center;color:var(--color-text-secondary);font-size:var(--font-sm);padding:var(--spacing-lg);background-color:var(--color-warning-light, #FEF3C7);border-radius:var(--radius-md)}.button{padding:var(--spacing-md);font-size:var(--font-base);font-weight:var(--font-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.button.primary{background-color:var(--color-accent);color:var(--color-accent-text)}.button.primary:hover{background-color:var(--color-accent-hover)}.button.secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.button.secondary:hover{background-color:var(--color-bg-tertiary)}@media(min-width:1024px){.bookings-content{padding-bottom:var(--spacing-md)}.modal-content{border-radius:var(--radius-xl);margin-bottom:var(--spacing-2xl)}.reschedule-times{grid-template-columns:repeat(6,1fr)}}.favorites-page{display:flex;flex-direction:column;min-height:100%;background-color:var(--color-bg-secondary)}.favorites-header{padding:var(--spacing-md);background-color:var(--color-bg-primary)}.favorites-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.favorites-tabs{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.favorites-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);border-radius:var(--radius-full);background-color:transparent;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.favorites-tab:hover{background-color:var(--color-hover)}.favorites-tab.active{background-color:var(--color-accent);color:var(--color-accent-text)}.favorites-tab-count{font-size:var(--font-xs);opacity:.8}.favorites-content{flex:1;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + var(--tabbar-height) + var(--safe-area-bottom))}.favorites-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.favorite-card{position:relative;display:flex;gap:var(--spacing-md);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-card)}.favorite-card--salon{flex-direction:column}.favorite-remove-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-error);transition:all var(--transition-fast);z-index:1}.favorite-remove-btn:hover{background-color:var(--color-error-light)}.favorite-salon-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-accent) 0%,#a855f7 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.favorite-salon-type{font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.favorite-salon-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm)}.favorite-salon-hours{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-xs);color:var(--color-text-tertiary)}.favorite-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-accent) 0%,#a855f7 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-lg);font-weight:var(--font-semibold);flex-shrink:0;overflow:hidden}.favorite-avatar img{width:100%;height:100%;object-fit:cover}.favorite-card-content{flex:1;min-width:0}.favorite-name{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);padding-right:var(--spacing-xl)}.favorite-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.favorite-category{color:var(--color-accent)}.favorite-duration{color:var(--color-text-tertiary)}.favorite-price{font-size:var(--font-md);font-weight:var(--font-bold);color:var(--color-accent)}.favorite-rating{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--color-text-primary)}.favorite-rating svg{color:#ffc107}.favorite-reviews{color:var(--color-text-tertiary)}.favorites-error{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-secondary)}.favorites-error button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);font-size:var(--font-sm);cursor:pointer;transition:background-color var(--transition-fast)}.favorites-error button:hover{background-color:var(--color-hover)}@media(min-width:768px){.favorites-grid{display:grid;grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.favorites-content{padding-bottom:var(--spacing-md)}.favorites-grid{grid-template-columns:repeat(3,1fr)}}.profile-page{display:flex;flex-direction:column;min-height:100%;background:var(--color-bg-primary)}.profile-header{position:relative;padding-bottom:var(--spacing-lg)}.profile-header-bg{position:absolute;top:0;left:0;right:0;height:160px;background:linear-gradient(135deg,var(--color-accent) 0%,#9c27b0 100%);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.profile-header-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);padding-top:calc(var(--spacing-lg) + 20px)}.profile-avatar{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:var(--font-bold);color:var(--color-accent);border:3px solid var(--color-bg-primary);overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-user-info{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-greeting{font-size:var(--font-xs);color:#fffc}.profile-name{font-size:var(--font-lg);font-weight:var(--font-bold);color:#fff}.profile-settings-btn{width:36px;height:36px;border-radius:var(--radius-full);background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff}.profile-content{flex:1;padding:0 var(--spacing-md);padding-bottom:calc(var(--tabbar-height) + var(--spacing-lg))}.profile-section{margin-bottom:var(--spacing-lg)}.section-title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.referral-widget{padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-accent) 0%,#9c27b0 100%);border-radius:var(--radius-lg);cursor:pointer;transition:transform .2s ease}.referral-widget:active{transform:scale(.98)}.referral-header{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-md);font-weight:var(--font-bold);color:#fff;margin-bottom:var(--spacing-xs)}.referral-promo{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-sm);color:#ffffffe6}.visits-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.visit-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.visit-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-accent-light, rgba(233, 30, 99, .1));display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.visit-info{flex:1;display:flex;flex-direction:column;min-width:0}.visit-service{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-details{font-size:var(--font-xs);color:var(--color-text-secondary)}.visit-arrow{color:var(--color-text-tertiary);flex-shrink:0}.theme-selector{display:flex;gap:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xs);border:1px solid var(--color-border)}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xs);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);transition:all var(--transition-fast)}.theme-option span{font-size:var(--font-xs);font-weight:var(--font-medium)}.theme-option.active{background:var(--color-accent);color:#fff}.theme-option:not(.active):active{background:var(--color-bg-tertiary)}.menu-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs)}.menu-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:left;transition:all var(--transition-fast);color:var(--color-text-primary)}.menu-btn:active{transform:scale(.98);background:var(--color-bg-tertiary)}.menu-btn.accent{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.menu-btn span{flex:1;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.menu-btn.accent span{color:#fff}.menu-btn-arrow{color:var(--color-text-tertiary)}.menu-btn.accent .menu-btn-arrow{color:#ffffffb3}.menu-btn.danger{margin-top:var(--spacing-md);border-color:var(--color-danger);background:transparent}.menu-btn.danger span{color:var(--color-danger)}.menu-btn.danger svg{color:var(--color-danger)}.sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal);display:flex;align-items:flex-end;animation:fadeIn .2s ease}.sheet-content{width:100%;max-height:85vh;background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{display:flex;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);position:relative}.sheet-handle{position:absolute;top:var(--spacing-sm);left:50%;transform:translate(-50%);width:32px;height:4px;background:var(--color-border);border-radius:var(--radius-full)}.sheet-title{flex:1;font-size:var(--font-md);font-weight:var(--font-semibold);text-align:center;padding-top:var(--spacing-sm)}.sheet-close{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.sheet-body{flex:1;overflow-y:auto;padding:var(--spacing-md)}.history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.history-date{font-size:var(--font-xs);color:var(--color-text-secondary);grid-column:1 / -1}.history-service{font-size:var(--font-sm);font-weight:var(--font-medium)}.history-master{font-size:var(--font-xs);color:var(--color-text-secondary)}.history-price{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-accent)}.empty-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);text-align:center}.empty-message p{margin-top:var(--spacing-sm)}.profile-edit-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--color-text-secondary)}.form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-group input:focus{outline:none;border-color:var(--color-accent)}.form-group .input-readonly{opacity:.7;cursor:not-allowed;background:var(--color-bg-secondary, #f5f5f5)}.form-hint{font-size:12px;color:var(--tg-theme-hint-color, #888);margin-top:4px}.birthday-picker{display:flex;gap:var(--spacing-sm)}.birthday-select{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}.birthday-select:focus{outline:none;border-color:var(--color-accent)}.birthday-select.year{flex:1.2}.save-btn{padding:var(--spacing-md);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold);margin-top:var(--spacing-sm)}.referral-sheet-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.referral-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.referral-stats-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.referral-stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--spacing-sm)}.referral-stat-item .stat-value{font-size:var(--font-xl);font-weight:700;color:var(--color-text-primary)}.referral-stat-item .stat-label{font-size:11px;color:var(--color-text-secondary);text-align:center;line-height:1.2}.referral-stat-item.highlight .stat-value{color:var(--color-accent)}.referral-bonus-info{text-align:center;padding:var(--spacing-md);color:var(--color-accent)}.referral-bonus-info h3{font-size:var(--font-lg);margin:var(--spacing-sm) 0;color:var(--color-text-primary)}.referral-bonus-info p{font-size:var(--font-sm);color:var(--color-text-secondary)}.referral-qr-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.referral-qr-code{padding:var(--spacing-md);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.referral-qr-code img{width:160px;height:160px;display:block}.referral-qr-hint{font-size:var(--font-xs);color:var(--color-text-secondary);text-align:center}.referral-code-section,.referral-link-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.referral-code-label{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--color-text-secondary)}.referral-code-box{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:2px dashed var(--color-accent);border-radius:var(--radius-md)}.referral-code{flex:1;font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--color-accent);letter-spacing:2px}.referral-copy-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;border-radius:var(--radius-md);flex-shrink:0;transition:all var(--transition-fast)}.referral-copy-btn:active{transform:scale(.95)}.referral-link-box{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.referral-link-text{flex:1;font-size:var(--font-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.referral-share-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium)}.share-btn.telegram{background:#08c;color:#fff}.referral-how-it-works{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.referral-how-it-works h4{font-size:var(--font-sm);font-weight:var(--font-semibold);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.how-step{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;font-size:var(--font-sm);color:var(--color-text-secondary)}.step-number{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:var(--font-bold);flex-shrink:0}.address-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.address-item{display:flex;gap:var(--spacing-md);color:var(--color-accent)}.address-item div{flex:1}.address-item h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:2px}.address-item p{font-size:var(--font-sm);color:var(--color-text-secondary)}.address-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.address-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium)}.about-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.about-logo{text-align:center;color:var(--color-accent)}.about-logo h3{font-size:var(--font-xl);color:var(--color-text-primary);margin-top:var(--spacing-sm)}.about-description{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:var(--line-relaxed)}.about-services h4{font-size:var(--font-sm);font-weight:var(--font-semibold);margin-bottom:var(--spacing-sm)}.about-services ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs)}.about-services li{font-size:var(--font-sm);color:var(--color-text-secondary);padding-left:var(--spacing-md);position:relative}.about-services li:before{content:"•";position:absolute;left:0;color:var(--color-accent)}.services-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold);margin-top:var(--spacing-sm)}.salon-contacts{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.contact-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm);color:var(--color-accent);border-radius:var(--radius-md)}.contact-item.clickable{cursor:pointer;transition:background var(--transition-fast)}.contact-item.clickable:active{background:var(--color-bg-secondary)}.contact-item div{flex:1}.contact-item h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:2px}.contact-item p{font-size:var(--font-sm);color:var(--color-text-secondary)}.contact-arrow{color:var(--color-text-tertiary);align-self:center}.salon-action-buttons{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary);transition:all var(--transition-fast)}.action-btn:active{transform:scale(.98)}.action-btn.telegram{background:#08c;border-color:#08c;color:#fff}.action-btn.map{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.feedback-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.feedback-btn:active{background:var(--color-bg-secondary)}.feedback-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.feedback-form h3{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.feedback-hint{font-size:var(--font-sm);color:var(--color-text-secondary)}.feedback-form textarea{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);resize:none;font-family:inherit}.feedback-form textarea:focus{outline:none;border-color:var(--color-accent)}.feedback-actions{display:flex;gap:var(--spacing-sm)}.feedback-cancel{flex:1;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.feedback-send{flex:1;padding:var(--spacing-md);background:var(--color-accent);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold);color:#fff}.feedback-send:disabled{opacity:.5}.services-catalog{display:flex;flex-direction:column;gap:var(--spacing-lg)}.service-category h4{font-size:var(--font-md);font-weight:var(--font-semibold);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.service-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:var(--font-sm)}.service-item span:last-child{font-weight:var(--font-medium);color:var(--color-accent)}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);color:var(--color-text-secondary)}.loading-message p{margin-top:var(--spacing-sm);font-size:var(--font-sm)}.empty-records-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.empty-records-card p{margin:var(--spacing-sm) 0;font-size:var(--font-sm)}.primary-action-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold)}.marketplace-page{display:flex;flex-direction:column;min-height:100%;background:var(--color-bg-primary);padding:var(--spacing-md);padding-bottom:calc(var(--tabbar-height) + var(--spacing-lg))}.marketplace-coming-soon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl)}.marketplace-icon{width:120px;height:120px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-accent) 0%,#9c27b0 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:var(--spacing-lg);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #e91e6366}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #e91e6300}}.marketplace-coming-soon h2{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.marketplace-coming-soon p{font-size:var(--font-md);color:var(--color-text-secondary);max-width:280px;line-height:var(--line-relaxed);margin-bottom:var(--spacing-xl)}.marketplace-features{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:300px}.marketplace-feature{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);color:var(--color-accent)}.marketplace-feature span{font-size:var(--font-sm);color:var(--color-text-primary)}.auth-required{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--color-background)}.auth-required-content{max-width:320px;text-align:center}.auth-required-icon{width:96px;height:96px;margin:0 auto var(--spacing-lg);background:var(--color-surface);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.auth-required-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-sm)}.auth-required-description{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--spacing-lg)}.auth-required-error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border-radius:var(--radius-md);color:var(--color-danger);font-size:.8125rem;margin-bottom:var(--spacing-lg)}.auth-required-error svg{flex-shrink:0}.auth-required-steps{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);text-align:left}.auth-step{display:flex;align-items:center;gap:var(--spacing-md)}.step-number{width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.step-text{font-size:.9375rem;color:var(--color-text)}.auth-required-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.auth-btn.primary{background:var(--color-primary);color:#fff}.auth-btn.primary:active{transform:scale(.98);opacity:.9}.auth-btn.secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.auth-btn.secondary:active{background:var(--color-surface)}.auth-required-bot-hint{margin-top:var(--spacing-md);font-size:.8125rem;color:var(--color-text-secondary)}.auth-required-bot-hint strong{color:var(--color-primary)}
