:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Cormorant Garamond", Georgia, serif;--color-bg:#f2f3f5;--color-card-bg:#fff;--color-text-main:#111827;--color-text-muted:#71717a;--color-text-subtle:#a1a1aa;--color-primary:#111827;--color-primary-hover:#27272a;--color-accent-blue:#5591b9;--color-border:#f0f0f2;--color-border-hover:#e4e4e7;--radius-card:32px;--radius-hero:24px;--radius-button:10px;--radius-pill:9999px;--shadow-main-card:0 25px 50px -12px #00000014, 0 0 0 1px #00000008;--shadow-modal:0 30px 60px -15px #00000040;--shadow-button:0 4px 12px #0000001f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;line-height:1.5;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1aa}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:transform .15s,background-color .15s,border-color .15s,color .15s}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #4f8fb873}input,textarea,select{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.2s ease-out forwards fadeIn}.animate-slide-up{will-change:transform, opacity;animation:.2s ease-out forwards slideUp}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-container{justify-content:center;align-items:center;width:100%;max-width:100%;display:flex}.salon-card{background-color:var(--color-card-bg);border-radius:var(--radius-card);width:100%;max-width:440px;box-shadow:var(--shadow-main-card);border:1px solid #0000000a;padding:28px 24px;transition:box-shadow .3s;position:relative;overflow:hidden}.salon-header{justify-content:center;align-items:center;padding:6px 0 16px;display:flex;position:relative}.brand-title{font-family:var(--font-sans);letter-spacing:.05em;color:#111827;text-align:center;font-size:15px;font-weight:700}.header-info-btn{width:32px;height:32px;color:var(--color-text-muted);background-color:#f4f4f5;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.header-info-btn:hover{color:var(--color-text-main);background-color:#e4e4e7}.hero-banner-container{border-radius:var(--radius-hero);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#f8fafc;border:1px solid #e2e8f0;width:100%;height:200px;margin:12px 0 24px;position:relative;overflow:hidden;box-shadow:0 8px 24px -6px #0000001a}.hero-image{object-fit:cover;object-position:center center;filter:contrast(1.05);width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.hero-banner-container:hover .hero-image{transform:scale(1.03)}.hero-overlay{color:#fff;background:linear-gradient(#0f172a33 0%,#0f172a80 45%,#0f172ae0 100%);flex-direction:column;justify-content:flex-end;padding:20px;display:flex;position:absolute;inset:0}.hero-content{z-index:2;position:relative}.hero-title{font-family:var(--font-serif);color:#fff;letter-spacing:-.01em;text-shadow:0 2px 10px #0009;font-size:34px;font-weight:600;line-height:1.05}.hero-subtitle-tag{color:#fffffff2;text-shadow:0 1px 6px #0009;margin-top:3px;font-size:13px;font-weight:500;display:inline-block}.hero-rating-badge{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);color:#fff;background:#0f172ab3;border:1px solid #fff3;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:flex;position:absolute;top:14px;right:14px}.rating-count{color:#ffffffbf;font-size:11px;font-weight:400}.services-section{width:100%}.services-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.services-heading{color:var(--color-text-main);letter-spacing:-.01em;font-size:18px;font-weight:700}.services-count{color:var(--color-text-muted);font-size:12px;font-weight:500}.services-list-container{flex-direction:column;display:flex}.service-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 0;transition:background-color .15s;display:flex}.service-item:first-child{padding-top:12px}.service-item:last-child{border-bottom:none;padding-bottom:14px}.service-main-left{flex:1;align-items:center;gap:14px;padding-right:12px;display:flex}.service-accent-bar{background-color:var(--color-accent-blue);border-radius:4px;flex-shrink:0;width:3.5px;height:32px;display:block}.service-text-info{flex-direction:column;display:flex}.service-title{color:var(--color-text-main);font-size:14.5px;font-weight:600;line-height:1.3}.service-meta{color:var(--color-text-muted);margin-top:3px;font-size:12.5px;font-weight:400}.service-book-btn{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-button);white-space:nowrap;letter-spacing:.01em;padding:8px 18px;font-size:13px;font-weight:600;box-shadow:0 2px 6px #00000014}.service-book-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 10px #00000024}.service-book-btn:active{transform:translateY(0)}.bottom-actions-container{gap:12px;margin-top:18px;padding-top:10px;display:flex}.bottom-actions-container.single-action{display:block}.developer-credit{color:var(--color-text-muted);text-align:center;margin-top:16px;font-size:11px}.developer-credit a{color:inherit;font-weight:600;text-decoration:none}.developer-credit a:hover{text-decoration:underline}.action-btn.full-btn{width:100%;height:48px;font-size:15px;box-shadow:0 6px 18px #00000026}.service-book-mini-btn{color:var(--color-text-main);white-space:nowrap;background-color:#f4f4f5;border:1.5px solid #e4e4e7;border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .15s}.service-book-mini-btn:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.service-book-mini-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn{border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;height:46px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.outline-btn{color:var(--color-text-main);background-color:#fff;border:1.5px solid #d4d4d8}.outline-btn:hover{background-color:#f4f4f5;border-color:#a1a1aa}.solid-btn{background-color:var(--color-primary);color:#fff;border:1.5px solid var(--color-primary);box-shadow:0 4px 14px #0000001f}.solid-btn:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px #0000002e}.solid-btn:active,.outline-btn:active{transform:translateY(0)}.modal-backdrop{z-index:100;background:#0f172ab3;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0;transform:translateZ(0)}.modal-content{background-color:#fff;border-radius:28px;flex-direction:column;width:100%;max-width:460px;max-height:90dvh;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 20px 40px #0003}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.step-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-blue);margin-bottom:2px;font-size:11px;font-weight:700;display:inline-block}.modal-title{color:var(--color-text-main);font-size:18px;font-weight:700;line-height:1.2}.modal-subtitle{color:var(--color-text-muted);margin-top:2px;font-size:12px}.close-btn{width:34px;height:34px;color:var(--color-text-muted);background:#f4f4f5;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{color:var(--color-text-main);background:#e4e4e7}.modal-body{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.modal-header,.modal-footer{flex-shrink:0}.modal-footer{border-top:1px solid var(--color-border);background-color:#fafafa;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.step-pane{flex-direction:column;gap:16px;display:flex}.step-desc{color:var(--color-text-muted);font-size:13.5px;line-height:1.4}.person-count-section{flex-direction:column;gap:10px;display:flex}.person-count-header-row{justify-content:space-between;align-items:center;display:flex}.person-count-label{color:var(--color-text-main);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.person-count-pills{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.person-pill{border:1.5px solid var(--color-border);color:var(--color-text-main);text-align:center;background-color:#fff;border-radius:10px;padding:8px 4px;font-size:12px;font-weight:600;transition:all .2s}.person-pill:hover{background-color:#f8fafc;border-color:#cbd5e1}.person-pill.active{border-color:var(--color-primary);background-color:var(--color-primary);color:#fff}.section-divider-line{background-color:var(--color-border);height:1px;margin:4px 0}.modal-category-tabs{gap:6px;margin:4px 0 8px;padding-bottom:2px;display:flex;overflow-x:auto}.modal-cat-tab{border:1.5px solid var(--color-border);color:var(--color-text-muted);text-align:center;white-space:nowrap;background-color:#f4f4f5;border-radius:10px;flex:1;padding:8px 10px;font-size:12.5px;font-weight:600;transition:all .2s}.modal-cat-tab:hover{color:var(--color-text-main);background-color:#e4e4e7}.modal-cat-tab.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #0000001f}.services-list-title-row{margin-bottom:2px}.selectable-services-list{flex-direction:column;gap:10px;max-height:270px;padding-right:4px;display:flex;overflow-y:auto}.select-svc-card{border:1.5px solid var(--color-border);background-color:#fff;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.select-svc-card:hover{border-color:#cbd5e1}.select-svc-card.selected{border-color:var(--color-primary);background-color:#f8fafc}.select-svc-info{flex-direction:column;flex:1;gap:2px;display:flex}.select-svc-title{color:var(--color-text-main);font-size:14px;font-weight:600}.select-svc-meta{color:var(--color-text-muted);font-size:12px}.cart-item-controls{align-items:center;margin-left:10px;display:flex}.add-to-cart-btn{color:var(--color-text-main);background-color:#f4f4f5;border:1.5px solid #e4e4e7;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.add-to-cart-btn:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.qty-stepper{border:1.5px solid var(--color-primary);background-color:#fff;border-radius:9999px;align-items:center;gap:6px;padding:3px 6px;display:flex;box-shadow:0 2px 6px #0000000d}.person-stepper{border-color:var(--color-border);background-color:#f8fafc;padding:3px 8px}.stepper-btn{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.stepper-btn:hover:not(:disabled){background-color:var(--color-primary-hover);transform:scale(1.08)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-count{color:var(--color-primary);text-align:center;min-width:22px;font-size:13px;font-weight:700}.person-stepper .stepper-count{min-width:50px;font-size:12px}.cart-summary-pill{background-color:#f4f4f5;border-radius:12px;justify-content:space-between;align-items:center;margin-top:4px;padding:12px 16px;font-size:13.5px;display:flex}.cart-summary-left{color:var(--color-text-main);align-items:center;gap:8px;display:flex}.staff-grid{flex-direction:column;gap:10px;display:flex}.staff-card{border:1.5px solid var(--color-border);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;transition:all .2s;display:flex}.staff-card:hover{background-color:#f8fafc;border-color:#cbd5e1}.staff-card.selected{border-color:var(--color-primary);background-color:#f8fafc}.staff-avatar{background:#f4f4f5;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.staff-details{flex:1}.staff-details h4{color:var(--color-text-main);font-size:14px;font-weight:600}.staff-details p{color:var(--color-text-muted);font-size:12px}.date-picker-row{gap:8px;margin-bottom:12px;padding-bottom:6px;display:flex;overflow-x:auto}.date-pill{border:1.5px solid var(--color-border);background:#fff;border-radius:14px;flex-direction:column;flex:0 0 62px;justify-content:center;align-items:center;gap:2px;height:72px;transition:all .2s;display:flex}.date-pill:hover{border-color:#cbd5e1}.date-pill.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.date-day-name{opacity:.8;font-size:11px;font-weight:500}.date-day-num{font-size:17px;font-weight:700}.date-month{opacity:.8;font-size:11px}.service-validation-alert{border-radius:10px;align-items:center;gap:8px;margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.35;display:flex}.service-validation-alert.warning{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca}.service-validation-alert.success{color:#15803d;background-color:#f0fdf4;border:1px solid #bbf7d0}.duration-info-card{color:#0369a1;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:12.5px;display:flex}.time-slots-grid.slots-multi{grid-template-columns:repeat(2,1fr);gap:8px}.time-slot-btn.slot-range-btn{padding:11px 8px;font-size:12px}.time-slot-btn.slot-range-btn .slot-time-text{letter-spacing:-.01em;font-weight:700}.date-pill.sunday-pill{color:#be123c;background-color:#fff1f2;border-color:#fecdd3}.date-pill.sunday-pill .date-month{color:#e11d48;font-size:9.5px;font-weight:700}.date-pill.sunday-pill.selected{color:#fff;background-color:#be123c;border-color:#be123c}.date-pill.sunday-pill.selected .date-month{color:#fff}.closed-day-banner{text-align:center;background:#fff1f2;border:1.5px dashed #fecdd3;border-radius:16px;flex-direction:column;align-items:center;margin-top:6px;padding:28px 16px;display:flex}.closed-icon{margin-bottom:6px;font-size:28px}.closed-day-banner h4{color:#9f1239;margin-bottom:4px;font-size:15px;font-weight:700}.closed-day-banner p{color:#881337;max-width:280px;font-size:12.5px;line-height:1.4}.slots-wrapper{margin-top:8px}.slots-header{color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.time-slots-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-slot-btn{border:1.5px solid var(--color-border);color:var(--color-text-main);text-align:center;background:#fff;border-radius:10px;padding:10px 4px;font-size:13px;font-weight:600;transition:all .2s}.time-slot-btn:hover:not(.disabled){background-color:#f8fafc;border-color:#cbd5e1}.time-slot-btn.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.time-slot-btn.disabled{opacity:.35;cursor:not-allowed;background:#f4f4f5;border-color:#0000}.loading-spinner-box{color:var(--color-text-muted);justify-content:center;align-items:center;gap:10px;padding:30px 0;font-size:13px;display:flex}.spinner{border:2px solid #e4e4e7;border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--color-text-main);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.form-input,.form-textarea{border:1.5px solid var(--color-border);width:100%;color:var(--color-text-main);background:#fff;border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary)}.booking-review-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:6px;padding:12px 16px;font-size:13px;display:flex}.review-row{justify-content:space-between;align-items:center;display:flex}.review-row.highlight{border-top:1px solid #e2e8f0;margin-top:2px;padding-top:6px;font-size:14px}.modal-nav-btn{border-radius:10px;justify-content:center;align-items:center;gap:6px;height:42px;padding:0 18px;font-size:13.5px;font-weight:600;display:flex}.prev-btn,.cancel-btn{color:var(--color-text-muted);background:#f4f4f5}.prev-btn:hover,.cancel-btn:hover{color:var(--color-text-main);background:#e4e4e7}.next-btn,.submit-btn{background:var(--color-primary);color:#fff}.next-btn:disabled,.submit-btn:disabled{opacity:.4;cursor:not-allowed}.next-btn:hover:not(:disabled),.submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.full-width{width:100%}.success-pane{text-align:center;flex-direction:column;align-items:center;padding:10px 0;display:flex}.success-icon-wrap{margin-bottom:6px;animation:.4s fadeIn}.success-heading{color:var(--color-text-main);font-size:20px;font-weight:700}.success-code{color:var(--color-text-muted);margin-top:4px;font-size:13.5px}.success-ticket{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:8px;width:100%;margin:16px 0;padding:14px 16px;display:flex}.ticket-item{justify-content:space-between;font-size:13px;display:flex}.ticket-item .label{color:var(--color-text-muted)}.ticket-item .value{color:var(--color-text-main);text-align:right;font-weight:600}.ticket-item .value.price{color:#16a34a;font-size:15px}.success-actions{flex-direction:column;gap:10px;width:100%;display:flex}.whatsapp-btn{color:#fff;background:#22c55e;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:13.5px;font-weight:600;display:flex;box-shadow:0 4px 12px #22c55e40}.whatsapp-btn:hover{background:#16a34a}.done-btn{width:100%;height:42px;color:var(--color-text-main);background:#f4f4f5;border-radius:10px;font-size:13.5px;font-weight:600}.done-btn:hover{background:#e4e4e7}.search-bar-wrap{padding:12px 24px 0;position:relative}.search-icon{color:var(--color-text-subtle);position:absolute;top:24px;left:36px}.search-input{border:1.5px solid var(--color-border);background:#f8fafc;border-radius:10px;outline:none;width:100%;height:40px;padding:0 34px 0 38px;font-size:13.5px;transition:all .2s}.search-input:focus{border-color:var(--color-primary);background:#fff}.clear-search{color:var(--color-text-subtle);position:absolute;top:24px;right:36px}.category-tabs-scroll{gap:8px;padding:14px 24px 8px;display:flex;overflow-x:auto}.cat-tab{color:var(--color-text-muted);background:#f4f4f5;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:12.5px;font-weight:600}.cat-tab.active{background:var(--color-primary);color:#fff}.all-services-list{flex-direction:column;gap:12px;max-height:400px;padding:8px 24px 24px;display:flex;overflow-y:auto}.detailed-service-card{border:1px solid var(--color-border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.detailed-service-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000008}.detailed-svc-main{flex:1}.detailed-svc-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.detailed-accent-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.detailed-svc-title{color:var(--color-text-main);font-size:14.5px;font-weight:600}.pop-tag{color:#b45309;background:#fef3c7;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.detailed-svc-desc{color:var(--color-text-muted);margin-bottom:6px;font-size:12px;line-height:1.4}.detailed-svc-bottom{align-items:center;gap:12px;font-size:12.5px;display:flex}.detailed-duration{color:var(--color-text-muted);align-items:center;gap:4px;display:flex}.detailed-price{color:var(--color-primary);font-weight:700}.book-now-btn{background:var(--color-primary);color:#fff;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:12.5px;font-weight:600}.book-now-btn:hover{background:var(--color-primary-hover)}.empty-search{text-align:center;color:var(--color-text-muted);padding:40px 0;font-size:13.5px}.info-modal-body{flex-direction:column;gap:16px;display:flex}.info-badge-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sparkle-icon{color:#eab308;flex-shrink:0}.info-badge-card strong{color:var(--color-text-main);font-size:13.5px;display:block}.info-badge-card p{color:var(--color-text-muted);font-size:12px}.info-section{flex-direction:column;gap:14px;display:flex}.info-row{align-items:flex-start;gap:12px;display:flex}.info-icon{width:32px;height:32px;color:var(--color-text-main);background:#f4f4f5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-text label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px;font-weight:600;display:block}.info-text p{color:var(--color-text-main);margin-top:1px;font-size:13.5px;font-weight:500}.inline-link{color:var(--color-accent-blue);align-items:center;gap:4px;margin-top:3px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.inline-link:hover{text-decoration:underline}.hygiene-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:11.5px;font-weight:500;display:flex}@media (width<=480px){body{background-color:var(--color-card-bg);padding:0}.salon-card{box-shadow:none;border:none;border-radius:0;min-height:100vh;padding:20px 16px}.modal-backdrop{align-items:flex-end;padding:0}.modal-content{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:92dvh}.form-input,.form-textarea,.search-input{font-size:16px}}.booking-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.admin-root{z-index:100;color:#111827;font-family:var(--font-sans);background:#f4f5f7;display:flex;position:fixed;inset:0;overflow:hidden}.admin-root button,.admin-root input,.admin-root select,.admin-root textarea{font:inherit}.admin-sidebar{color:#fff;background:#111827;flex-direction:column;flex:0 0 250px;width:250px;padding:24px 16px;display:flex}.admin-brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.admin-brand>span{color:#111827;width:42px;height:42px;font:700 16px var(--font-serif);background:#fff;border-radius:13px;place-items:center;display:grid}.admin-brand div,.admin-topbar div{flex-direction:column;display:flex}.admin-brand small{color:#9ca3af;font-size:11px}.admin-sidebar nav{gap:6px;display:grid}.admin-sidebar nav a,.admin-logout{color:#cbd5e1;border-radius:10px;align-items:center;gap:11px;padding:11px 13px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:#fff;background:#273244}.admin-logout{width:100%;margin-top:auto}.admin-logout:hover{color:#fecaca;background:#3b2025}.admin-shell{flex:1;min-width:0;overflow:auto}.admin-topbar{background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;height:72px;padding:0 30px;display:flex}.admin-topbar small{color:#6b7280;font-size:11px}.admin-menu-button,.admin-close-menu{display:none}.admin-content{width:min(1240px,100%);margin:0 auto;padding:30px}.admin-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.admin-page-heading h1{font-size:26px;line-height:1.2}.admin-page-heading p{color:#6b7280;margin-top:4px;font-size:13px}.admin-primary{color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:650;display:inline-flex;background:#111827!important}.admin-primary:disabled,.admin-root button:disabled{opacity:.5;cursor:not-allowed}.admin-centered{flex-direction:column;justify-content:center;align-items:center;gap:12px}.admin-spinner{border:3px solid #d1d5db;border-top-color:#111827;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}.admin-login{background:radial-gradient(circle at top,#e5e7eb,#f8fafc 55%);justify-content:center;align-items:center;padding:20px}.admin-login-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;gap:17px;width:min(420px,100%);padding:34px;display:grid;box-shadow:0 24px 60px #0f172a1c}.admin-login-icon{color:#fff;background:#111827;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.admin-login-card h1{font-size:25px}.admin-login-card>p{color:#6b7280;font-size:13px}.admin-login-card label,.admin-service-form label{color:#374151;gap:6px;font-size:12px;font-weight:650;display:grid}.admin-root input,.admin-root select,.admin-root textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:9px;outline:0;min-height:40px;padding:8px 11px}.admin-root input:focus,.admin-root select:focus,.admin-root textarea:focus{border-color:#5591b9;box-shadow:0 0 0 3px #5591b926}.admin-public-link{color:#4b5563;text-align:center;font-size:12px}.admin-alert{border:1px solid;border-radius:10px;margin-bottom:16px;padding:11px 13px;font-size:12.5px}.admin-alert.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.admin-alert.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.admin-alert.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.admin-state{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:210px;display:flex}.admin-state.error{color:#991b1b}.admin-state button{background:#f3f4f6;border-radius:8px;gap:6px;padding:8px 11px;display:flex}.admin-stat-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.admin-stat-grid article{background:#fff;border:1px solid #e5e7eb;border-radius:15px;align-items:center;gap:15px;padding:21px;display:flex}.admin-stat-grid svg{box-sizing:content-box;color:#397aa5;background:#eff6ff;border-radius:12px;padding:11px}.admin-stat-grid div{display:grid}.admin-stat-grid span{color:#6b7280;font-size:12px}.admin-stat-grid strong{font-size:25px}.admin-panel{background:#fff;border:1px solid #e5e7eb;border-radius:15px;padding:22px}.admin-panel-heading{justify-content:space-between;margin-bottom:16px;display:flex}.admin-panel-heading h2{font-size:17px}.admin-panel-heading p{color:#6b7280;font-size:11.5px}.admin-next-list{display:grid}.admin-next-list article{border-top:1px solid #f0f1f3;grid-template-columns:65px 1fr auto;align-items:center;gap:14px;padding:13px 5px;display:grid}.admin-next-list time{font-weight:750}.admin-next-list article div{display:grid}.admin-next-list article span{color:#6b7280;font-size:11.5px}.admin-status{white-space:nowrap;border-radius:999px;width:fit-content;padding:4px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.admin-status.pending{color:#92400e;background:#fef3c7}.admin-status.confirmed{color:#1e40af;background:#dbeafe}.admin-status.completed{color:#166534;background:#dcfce7}.admin-status.cancelled{color:#991b1b;background:#fee2e2}.admin-filters{grid-template-columns:minmax(250px,1fr) 160px 170px;gap:10px;margin-bottom:16px;display:grid}.admin-search{position:relative}.admin-search svg{color:#9ca3af;position:absolute;top:12px;left:12px}.admin-search input{width:100%;padding-left:38px}.admin-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{color:#6b7280;text-align:left;background:#f9fafb}.admin-table th,.admin-table td{border-bottom:1px solid #edf0f2;padding:13px 12px}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:#f9fafb}.admin-table td small{color:#6b7280;margin-top:3px;display:block}.admin-mobile-list{display:none}.admin-pagination{justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.admin-pagination span{color:#6b7280;margin-right:auto;font-size:12px}.admin-pagination button{background:#fff;border:1px solid #d1d5db;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.admin-pagination svg{width:17px}.admin-modal-backdrop{z-index:150;background:#0f172a7a;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-detail{background:#fff;width:min(540px,100%);height:100%;padding:30px;position:relative;overflow-y:auto;box-shadow:-20px 0 50px #0000001f}.admin-detail-close{border-radius:9px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:18px;right:18px;background:#f3f4f6!important}.admin-detail-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;padding-right:40px;display:flex}.admin-detail-title span{color:#6b7280;font-size:12px}.admin-detail-title h2{font-size:22px}.admin-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-detail-grid div{background:#f8fafc;border-radius:10px;padding:12px}.admin-detail-grid dt{color:#6b7280;text-transform:uppercase;font-size:10px}.admin-detail-grid dd{margin-top:3px;font-size:13px}.admin-detail-grid a{color:#2563eb}.admin-detail-section{margin-top:22px}.admin-detail-section h3,.admin-reschedule h3{margin-bottom:9px;font-size:14px}.admin-detail-section>p{color:#4b5563;font-size:13px}.admin-service-line{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:9px 0;font-size:12.5px;display:flex}.admin-reschedule{background:#f8fafc;border-radius:12px;margin-top:22px;padding:14px}.admin-reschedule>div{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.admin-reschedule button{color:#fff;background:#111827;border-radius:8px;padding:0 13px}.admin-detail-actions{gap:9px;margin-top:22px;display:flex}.admin-detail-actions button{border-radius:9px;flex:1;padding:10px;font-weight:650}.admin-detail-actions .confirm{color:#1e40af;background:#dbeafe}.admin-detail-actions .complete{color:#166534;background:#dcfce7}.admin-detail-actions .cancel{color:#991b1b;background:#fee2e2}.admin-service-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.admin-service-grid article{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;min-height:210px;padding:18px;display:flex}.admin-service-grid article.inactive{opacity:.65}.admin-service-card-head,.admin-service-meta{justify-content:space-between;align-items:center;display:flex}.admin-service-card-head>span{color:#6b7280;text-transform:uppercase;font-size:10.5px}.admin-service-grid h2{margin-top:15px;font-size:17px}.admin-service-grid p{color:#6b7280;flex:1;margin:7px 0 15px;font-size:12px}.admin-service-grid article>div small{color:#6b7280}.admin-service-actions{grid-template-columns:1fr auto;gap:8px;margin-top:15px;display:grid}.admin-service-actions button{background:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:8px;display:flex}.admin-service-actions button.delete{color:#991b1b;background:#fee2e2}.admin-switch input{opacity:0;position:absolute}.admin-switch i{background:#d1d5db;border-radius:20px;width:36px;height:21px;padding:3px;display:block}.admin-switch i:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .15s;display:block}.admin-switch input:checked+i{background:#16a34a}.admin-switch input:checked+i:after{transform:translate(15px)}.admin-service-form{border-radius:16px 0 0 16px;align-self:center;gap:14px;height:auto;max-height:94vh;margin:auto;display:grid}.admin-service-form textarea{resize:vertical;min-height:85px}.admin-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-checkbox{align-items:center;gap:7px;display:flex!important}.admin-checkbox input{min-height:auto}.admin-hours-list{gap:9px;display:grid}.admin-hours-list article{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:minmax(140px,1fr) 95px 145px 145px 110px;align-items:end;gap:12px;padding:14px 16px;display:grid}.admin-hours-list article>div{align-self:center;display:grid}.admin-hours-list small,.admin-hours-list label{color:#6b7280;font-size:10.5px}.admin-hours-list label:not(.admin-checkbox){gap:3px;display:grid}.admin-hours-list button{color:#fff;background:#111827;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:12px;display:flex}.admin-drawer-backdrop{display:none}@media (width<=900px){.admin-sidebar{z-index:180;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.admin-sidebar.open{transform:translate(0)}.admin-drawer-backdrop{z-index:170;display:block;position:fixed;inset:0;background:#0f172a73!important}.admin-menu-button,.admin-close-menu{place-items:center;display:grid}.admin-close-menu{color:#fff;position:absolute;top:17px;right:12px}.admin-stat-grid,.admin-service-grid{grid-template-columns:repeat(2,1fr)}.admin-hours-list article{grid-template-columns:1fr 100px 1fr 1fr}.admin-hours-list article>button{grid-column:4}}@media (width<=620px){.admin-content{padding:20px 14px}.admin-topbar{height:62px;padding:0 15px}.admin-page-heading{align-items:flex-start}.admin-page-heading h1{font-size:22px}.admin-stat-grid,.admin-service-grid{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr 1fr}.admin-search{grid-column:1/-1}.admin-table-wrap{display:none}.admin-mobile-list{gap:9px;display:grid}.admin-mobile-list>button{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:1fr auto;gap:5px;padding:14px;display:grid}.admin-mobile-list button>div{display:grid}.admin-mobile-list span,.admin-mobile-list small{color:#6b7280;font-size:11px}.admin-mobile-list p,.admin-mobile-list small{grid-column:1/-1}.admin-detail{padding:24px 17px}.admin-detail-grid,.admin-reschedule>div{grid-template-columns:1fr 1fr}.admin-reschedule button{grid-column:1/-1;min-height:40px}.admin-hours-list article{grid-template-columns:1fr 100px}.admin-hours-list article>button{grid-column:1/-1}.admin-service-form{border-radius:0}.admin-form-row{grid-template-columns:1fr}}.admin-mfa-qr{width:min(220px,100%);height:auto;margin:1rem auto;display:block}.admin-mfa-secret{overflow-wrap:anywhere;color:#111827;background:#f1f5f9;margin:.75rem 0;padding:.75rem;display:block}
