.brand-logo{display:inline-flex;align-items:center;justify-content:flex-start;line-height:0;flex-shrink:0}.brand-logo-link{display:inline-flex;align-items:center;text-decoration:none;line-height:0;flex-shrink:0}.brand-logo__img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain}.brand-logo--auth{height:3.5rem;max-width:min(100%,360px)}.brand-logo--sidebar{height:2.75rem;width:100%;max-width:240px;background:#fff;border-radius:8px;padding:.25rem .4rem;box-sizing:border-box}.brand-logo--platform{height:2.5rem;max-width:240px;background:#fff;border-radius:8px;padding:.2rem .35rem;box-sizing:border-box}.brand-logo--nav{height:3rem;max-width:280px}.brand-logo--footer{height:2.75rem;max-width:260px}.brand-logo--card{height:2.5rem;max-width:240px}.platform-brand .brand-logo{margin-bottom:.35rem}.sidebar-header .brand-logo{margin-bottom:.5rem}.auth-page-brand .brand-logo{margin-bottom:1.25rem}.auth-card .brand-logo{margin-bottom:1rem}.platform-login-card .brand-logo{display:inline-flex;justify-content:center;width:100%;margin-bottom:1rem}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-page-brand{background:linear-gradient(145deg,#0f172a,#1e3a8a 45%,#2563eb);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-page-brand:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:#60a5fa33;top:-120px;right:-80px;filter:blur(40px)}.auth-page-brand:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#a78bfa26;bottom:-60px;left:-40px;filter:blur(50px)}.auth-page-brand-inner{position:relative;z-index:1;max-width:400px}.auth-page-brand h1{font-size:2.25rem;font-weight:800;letter-spacing:-.03em;margin:0 0 1rem;line-height:1.15}.auth-page-brand p{margin:0;font-size:1.05rem;opacity:.9;line-height:1.55}.auth-page-features{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem}.auth-page-feature{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;opacity:.95}.auth-page-feature span:first-child{font-size:1.25rem}.auth-page-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg)}.auth-card-wide{max-width:520px}.register-templates{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.register-templates legend{font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.25rem}.register-template-grid{display:grid;grid-template-columns:1fr;gap:.65rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.register-template-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;gap:.15rem .65rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);background:#f8fafc}.register-template-card:hover,.register-template-card.selected{background:#fff}.register-template-card input{position:absolute;opacity:0;pointer-events:none}.register-template-icon{grid-row:1 / span 3;font-size:1.5rem;line-height:1;align-self:center}.register-template-name{font-weight:700;font-size:.9rem;color:#0f172a}.register-template-desc{font-size:.78rem;color:#64748b;line-height:1.35}.register-template-meta{font-size:.72rem;color:#94a3b8}.register-template-hint{margin:0;font-size:.8rem;line-height:1.45}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-md);border:1px solid rgb(15 23 42 / 6%);animation:ui-fade-up .4s var(--ease-out) both}.auth-card h2{margin:0 0 .35rem;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.auth-card-sub{margin:0 0 1.5rem;color:var(--color-muted);font-size:.9rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;color:#334155}.auth-card input,.auth-card select{padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:var(--radius-md);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-card input:focus,.auth-card select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.auth-card .btn-submit{margin-top:.5rem;padding:.8rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.auth-card .btn-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.auth-card .btn-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-card-footer{margin-top:1.25rem;text-align:center;font-size:.875rem;color:var(--color-muted)}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-page-brand{padding:2rem 1.5rem;min-height:auto}.auth-page-brand h1{font-size:1.65rem}.auth-page-features{display:none}}.app-shell{display:flex;min-height:100vh;background:#f1f5f9}.sidebar{width:260px;flex-shrink:0;background:linear-gradient(180deg,#0f172a,#1e293b);color:#f8fafc;padding:1.25rem .875rem;display:flex;flex-direction:column;gap:.25rem;border-right:1px solid rgb(255 255 255 / 6%)}.sidebar-header{padding:.25rem .75rem 1rem;border-bottom:1px solid rgb(255 255 255 / 8%);margin-bottom:.5rem}.sidebar .business-name{font-size:.8rem;color:#94a3b8;margin:.35rem 0 0;line-height:1.35;word-break:break-word}.sidebar-nav{display:flex;flex-direction:column;gap:.15rem;flex:1}.sidebar-link{display:flex;align-items:center;gap:.65rem;color:#cbd5e1;text-decoration:none;padding:.6rem .75rem;border-radius:10px;font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:#2563eb59;color:#fff;box-shadow:inset 0 0 0 1px #60a5fa40}.sidebar-link-icon{font-size:1.1rem;width:1.35rem;text-align:center;flex-shrink:0}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgb(255 255 255 / 8%)}.sidebar-public-link{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#93c5fd;text-decoration:none;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:8px;background:#2563eb26}.sidebar-public-link:hover{background:#2563eb40;color:#bfdbfe}.sidebar-user{font-size:.75rem;color:#64748b;padding:0 .75rem .5rem;line-height:1.4}.sidebar-user strong{display:block;color:#e2e8f0;font-size:.85rem;font-weight:600}.btn-sidebar-logout{width:100%;background:transparent;border:1px solid rgb(255 255 255 / 12%);color:#94a3b8;text-align:left;padding:.55rem .75rem;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-sidebar-logout:hover{background:#dc262626;border-color:#f871714d;color:#fca5a5}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:40;opacity:0;pointer-events:none;transition:opacity .25s ease}.app-shell.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.admin-topbar{display:none;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:30}.admin-menu-btn{width:2.5rem;height:2.5rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.admin-menu-btn:hover{background:#f8fafc;border-color:#cbd5e1}.admin-topbar-title{font-weight:700;font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-link{font-size:.8rem;font-weight:600;color:var(--color-primary);text-decoration:none;padding:.4rem .65rem;border-radius:8px;background:var(--color-primary-soft);white-space:nowrap}.main-content{flex:1;padding:1.75rem 2rem 2.5rem;max-width:1100px;width:100%}.admin-page{animation:admin-fade-in .25s ease}@keyframes admin-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:1.5rem}.page-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.page-header h1{margin:0 0 .35rem;font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:#0f172a}.page-header-desc{margin:0;color:#64748b;font-size:.95rem;max-width:52ch}.admin-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:10px;font-size:.875rem;margin-bottom:1rem;animation:ui-fade-up .3s ease both}.admin-alert-body{flex:1}.admin-alert-dismiss{background:transparent;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:1.25rem;line-height:1;padding:0 .25rem;border-radius:4px}.admin-alert-dismiss:hover{opacity:1}.admin-alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.admin-alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.admin-card{background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0a;margin-bottom:1.25rem;overflow:hidden}.admin-card-header{padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;font-weight:600;font-size:.95rem;color:#334155}.admin-card-body{padding:1.25rem}.admin-card-body-flush{padding:0}.dashboard-hero{background:linear-gradient(135deg,#1e40af,#2563eb,#3b82f6);color:#fff;border-radius:16px;padding:1.5rem 1.75rem;margin-bottom:1.5rem;box-shadow:0 8px 24px #2563eb40}.dashboard-hero h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:800;color:#fff}.dashboard-hero p{margin:0;opacity:.92;font-size:.95rem}.dashboard-hero-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.85rem}.dashboard-hero-meta span{background:#ffffff26;padding:.35rem .75rem;border-radius:999px}.dashboard-hero a{color:#fff;font-weight:600}.quick-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.card-link{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;background:#fff;border-radius:14px;text-decoration:none;color:#0f172a;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0a;transition:border-color .15s,box-shadow .15s,transform .15s}.card-link:hover{border-color:#93c5fd;box-shadow:0 8px 20px #2563eb1a;transform:translateY(-2px)}.card-link-icon{font-size:1.5rem;line-height:1}.card-link-title{font-weight:700;font-size:1rem}.card-link span{font-size:.85rem;color:#64748b;line-height:1.4}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{padding:.75rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.data-table td{padding:.85rem 1.25rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:middle}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr:last-child td{border-bottom:none}.admin-empty{text-align:center;padding:2.5rem 1.5rem;color:#64748b}.admin-empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.inline-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;align-items:end}.inline-form button{height:42px}.card-form{max-width:none}.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;margin-bottom:1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;font-size:.9rem}.subscription-banner a{font-weight:600;white-space:nowrap}.subscription-banner[role=alert]{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#f87171;color:#991b1b}.subscription-banner[role=alert] a{color:#b91c1c}.payment-receipt-sheet{padding:1.25rem;margin-bottom:1.25rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.payment-receipt-title{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:600}.payment-receipt-number{margin:.25rem 0 0;font-size:1.35rem;font-weight:700;font-family:ui-monospace,monospace}.payment-receipt-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.5rem;margin:0}.payment-receipt-details>div{display:flex;flex-direction:column;gap:.15rem}.payment-receipt-details dt{margin:0;font-size:.75rem;color:#64748b;font-weight:500}.payment-receipt-details dd{margin:0;font-weight:600;color:#0f172a}.payment-receipt-detail-full{grid-column:1 / -1}.payment-receipt-email-form{padding-top:1rem;border-top:1px solid #e2e8f0}.payment-receipt-card--rejected .payment-receipt-sheet{background:#fef2f2;border-color:#fecaca}.card-form label,.admin-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;color:#334155}.admin-card input,.admin-card select,.admin-card textarea,.main-content input,.main-content select,.main-content textarea{padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:10px;font-size:.95rem;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}.admin-card input:focus,.admin-card select:focus,.admin-card textarea:focus,.main-content input:focus,.main-content select:focus,.main-content textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.btn-primary{background:#2563eb;color:#fff;border:none;padding:.65rem 1.25rem;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;padding:.4rem .85rem;font-size:.8rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#fee2e2}.btn-secondary{background:#f8fafc;color:#334155;border:1px solid #e2e8f0;padding:.4rem .85rem;font-size:.8rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.admin-modal{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:90vh;overflow:auto;box-shadow:0 20px 50px #0f172a33}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9}.admin-modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.admin-modal-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:#64748b;cursor:pointer;padding:.25rem .5rem;border-radius:8px}.admin-modal-close:hover{background:#f1f5f9;color:#0f172a}.admin-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.admin-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid #f1f5f9}.row-inactive{opacity:.55}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.filter-bar label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;color:#334155}.status-select{padding:.4rem .6rem;border-radius:8px;border:1px solid #e2e8f0;font-size:.85rem;font-weight:500;background:#f8fafc}.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-pending{background:#fef9c3;color:#a16207}.status-confirmed{background:#dbeafe;color:#1d4ed8}.status-cancelled{background:#f1f5f9;color:#64748b}.status-completed{background:#dcfce7;color:#15803d}.status-no_show{background:#fee2e2;color:#b91c1c}.schedule-grid{display:flex;flex-direction:column;gap:.65rem}.schedule-row{display:grid;grid-template-columns:4rem 1fr 1fr auto;gap:.75rem;align-items:center}.schedule-row label.day-label{font-weight:600;font-size:.875rem;color:#475569}.btn-primary{transition:background .15s,transform .12s,box-shadow .15s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.card-link:active{transform:translateY(0)}@media(max-width:900px){.sidebar-backdrop{display:block}.admin-topbar{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(280px,88vw);z-index:50;transform:translate(-100%);transition:transform .28s var(--ease-out, ease);flex-direction:column;flex-wrap:nowrap;padding:1.25rem .875rem}.app-shell.sidebar-open .sidebar{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-header{width:auto;border-bottom:1px solid rgb(255 255 255 / 8%);margin-bottom:.5rem;padding-bottom:1rem}.sidebar-nav{flex-direction:column;flex-wrap:nowrap;width:auto}.sidebar-footer{width:auto;flex-direction:column;align-items:stretch;border-top:1px solid rgb(255 255 255 / 8%);padding-top:1rem}.btn-sidebar-logout{width:100%}.main-content{padding:1.25rem 1rem 2rem}.quick-links{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row .day-label{grid-column:1 / -1}}.public-landing{--brand-color: #2563eb;min-height:100vh;background:#f8fafc}.public-landing-hero{position:relative;height:220px;background-size:cover;background-position:center;background-color:#1e293b}.public-landing-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0f172a40,#0f172abf)}.public-landing-hero-inner{position:relative;max-width:960px;margin:0 auto;padding:1.25rem 1.25rem 1.5rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.public-landing-back{position:absolute;top:1rem;left:1.25rem;color:#fff;text-decoration:none;font-size:.875rem;opacity:.9}.public-landing-back:hover{opacity:1;text-decoration:underline}.public-landing-brand{display:flex;align-items:flex-end;gap:1rem}.public-landing-logo{width:72px;height:72px;border-radius:14px;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 4px 12px #0003;flex-shrink:0}.public-landing-logo-fallback{width:72px;height:72px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#fff;border:3px solid #fff;flex-shrink:0}.public-landing-title h1{margin:0;color:#fff;font-size:1.75rem;line-height:1.2}.public-landing-title .star-rating{margin:.35rem 0}.public-landing-title .star-rating-meta,.public-landing-title .star-rating-meta strong{color:#fffffff2}.public-landing-title .star-rating-count{color:#ffffffbf}.public-landing-title p{margin:.35rem 0 0;color:#ffffffe5;font-size:1rem}.public-landing-body{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.public-landing-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}.public-landing-cta{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;text-decoration:none;background:var(--brand-color);color:#fff;border:none;cursor:pointer;font-size:1rem}.public-landing-cta:hover{filter:brightness(1.08)}.public-landing-cta-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.public-landing-cta-secondary:hover{background:#f1f5f9;filter:none}.public-landing-grid{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}@media(max-width:800px){.public-landing-grid{grid-template-columns:1fr}}.public-landing-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #0f172a0f;margin-bottom:1.25rem}.public-landing-card h2{margin:0 0 1rem;font-size:1.1rem;color:#0f172a}.public-landing-card p{margin:0;color:#475569;line-height:1.6}.public-landing-info-list{list-style:none;padding:0;margin:0}.public-landing-info-list li{display:flex;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #f1f5f9;font-size:.95rem;color:#334155}.public-landing-info-list li:last-child{border-bottom:none}.public-landing-info-list .icon{flex-shrink:0;width:1.5rem;text-align:center}.public-landing-info-list a{color:var(--brand-color);text-decoration:none}.public-landing-info-list a:hover{text-decoration:underline}.public-landing-hours{width:100%;border-collapse:collapse;font-size:.9rem}.public-landing-hours th,.public-landing-hours td{padding:.5rem 0;text-align:left;border-bottom:1px solid #f1f5f9}.public-landing-hours th{color:#64748b;font-weight:500;width:40%}.public-landing-hours td{color:#0f172a;font-weight:500}.public-landing-service{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 0;border-bottom:1px solid #f1f5f9}.public-landing-service-link{text-decoration:none;color:inherit;transition:background .15s;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:8px}.public-landing-service-link:hover{background:#f8fafc}.public-landing-service:last-child{border-bottom:none}.public-landing-service strong{display:block;color:#0f172a;margin-bottom:.2rem}.public-landing-service span{font-size:.85rem;color:#64748b}.public-landing-service-price{font-weight:600;color:var(--brand-color);white-space:nowrap}.public-landing-team{display:flex;flex-wrap:wrap;gap:.75rem}.public-landing-team-member{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border-radius:999px;padding:.35rem .85rem .35rem .35rem;font-size:.875rem;color:#334155}.public-landing-team-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--brand-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.public-landing-empty{color:#94a3b8;font-size:.9rem;margin:0}.public-landing-map-wrap{margin-top:1rem;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;aspect-ratio:16 / 10;background:#f1f5f9}.public-landing-map-wrap iframe{width:100%;height:100%;border:0;display:block}.public-landing-payments{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.public-landing-payments li{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:#f1f5f9;border-radius:999px;font-size:.85rem;color:#334155}.booking-payment-note{font-size:.85rem;margin:0 0 .5rem}.rating-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,#f0f9ff,#f8fafc 45%,#fff)}.rating-card{width:100%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0f172a14;padding:28px 24px 32px;border:1px solid #e2e8f0}.rating-card-error h1{font-size:1.25rem;margin:0 0 8px}.rating-header{text-align:center;margin-bottom:24px}.rating-business-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;margin-bottom:8px}.rating-business-name{font-size:.875rem;color:#64748b;margin:0 0 4px}.rating-header h1{font-size:1.5rem;margin:0 0 8px;color:#0f172a}.rating-subtitle{font-size:.9375rem;color:#475569;margin:0;line-height:1.5}.rating-appointment-summary{display:flex;gap:14px;align-items:center;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.rating-pro-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.rating-pro-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#e0f2fe;color:#0369a1;font-weight:700;font-size:1.25rem}.rating-pro-name{font-weight:600;margin:0 0 4px;color:#0f172a}.rating-meta{font-size:.8125rem;color:#64748b;margin:0}.rating-form{display:flex;flex-direction:column;gap:8px}.rating-label{font-size:.875rem;font-weight:600;color:#334155;margin-top:8px}.rating-textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.9375rem;resize:vertical;box-sizing:border-box}.rating-textarea:focus{outline:2px solid #38bdf8;outline-offset:0;border-color:#38bdf8}.rating-submit{margin-top:16px;width:100%}.rating-error{color:#b91c1c;font-size:.875rem;margin:8px 0 0}.rating-done{text-align:center}.rating-done .star-rating{justify-content:center;margin-bottom:12px}.rating-comment-display{font-style:italic;color:#475569;margin:0 0 16px}.rating-thanks{color:#64748b;font-size:.9375rem;margin:0}.rating-page-muted{color:#64748b}.star-rating-input{display:flex;gap:4px;justify-content:center;margin:8px 0 16px}.star-rating-input-lg .star-rating-input-btn{font-size:2.5rem;line-height:1;padding:4px 6px}.star-rating-input-btn{background:none;border:none;cursor:pointer;color:#cbd5e1;transition:color .15s,transform .1s}.star-rating-input-btn.is-active,.star-rating-input-btn.is-hover{color:#f59e0b}.star-rating-input-btn:hover:not(:disabled){transform:scale(1.08)}.star-rating-input-btn:disabled{cursor:not-allowed;opacity:.7}.settings-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:640px){.settings-preview-grid{grid-template-columns:1fr}}.settings-preview-card{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.settings-preview-card label{display:block;font-size:.75rem;font-weight:600;color:#64748b;padding:.5rem .75rem;margin:0}.settings-preview-cover{height:120px;background:#e2e8f0}.settings-preview-cover img{width:100%;height:100%;object-fit:cover}.settings-preview-logo{height:80px;display:flex;align-items:center;justify-content:center;padding:.75rem}.settings-preview-logo img{max-height:56px;max-width:100%;object-fit:contain}.settings-upload-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem}.settings-upload-row input[type=file]{font-size:.875rem}.settings-hint{font-size:.8rem;color:#64748b;margin:.35rem 0 0}.settings-payment-methods{display:flex;flex-direction:column;gap:.5rem}.settings-payment-label{font-size:.875rem;font-weight:600;color:#334155}.settings-payment-grid{display:flex;flex-wrap:wrap;gap:.5rem}.settings-payment-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid #cbd5e1;border-radius:999px;font-size:.82rem;cursor:pointer;background:#fff;-webkit-user-select:none;user-select:none}.settings-payment-chip.checked{border-color:var(--color-primary);background:#2563eb14;color:#1e40af;font-weight:600}.settings-payment-chip input{position:absolute;opacity:0;pointer-events:none}.marketplace{--mp-primary: #4f46e5;--mp-primary-dark: #4338ca;--mp-surface: #ffffff;--mp-text: #0f172a;--mp-muted: #64748b;min-height:100vh;background:#f8fafc;color:var(--mp-text)}.mp-nav{position:sticky;top:0;z-index:50;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgb(15 23 42 / 6%)}.mp-nav-inner{max-width:1120px;margin:0 auto;padding:.875rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.mp-logo.brand-logo-link{display:inline-flex;align-items:center;text-decoration:none}.mp-nav-actions{display:flex;align-items:center;gap:.75rem}.mp-nav-link{text-decoration:none;color:var(--mp-muted);font-size:.9rem;font-weight:500;padding:.5rem .75rem;border-radius:8px;transition:color .15s,background .15s}.mp-nav-link:hover{color:var(--mp-text);background:#f1f5f9}.mp-btn-primary{padding:.55rem 1.15rem;background:var(--mp-primary);color:#fff!important;border-radius:10px;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:0 4px 14px #4f46e559;transition:background .15s,transform .15s}.mp-btn-primary:hover{background:var(--mp-primary-dark);transform:translateY(-1px)}.mp-hero{position:relative;padding:3.5rem 1.25rem 4rem;text-align:center;overflow:hidden}.mp-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#4f46e5eb,#7c3aede0,#3b82f6d9),url(https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=1600&q=80) center / cover no-repeat;z-index:0}.mp-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgb(0 0 0 / 25%),transparent)}.mp-hero-content{position:relative;z-index:1;max-width:640px;margin:0 auto;color:#fff}.mp-hero-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:#ffffff26;border:1px solid rgb(255 255 255 / 25%);border-radius:999px;font-size:.8rem;font-weight:500;margin-bottom:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mp-hero h1{font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;line-height:1.15;margin:0 0 1rem;letter-spacing:-.03em}.mp-hero p{font-size:1.05rem;opacity:.92;margin:0 0 2rem;line-height:1.6}.mp-search-wrap{position:relative;max-width:480px;margin:0 auto}.mp-search-wrap svg{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);opacity:.45;pointer-events:none}.mp-search{width:100%;padding:1rem 1rem 1rem 3rem;border:none;border-radius:14px;font-size:1rem;box-shadow:0 8px 32px #0003;outline:none}.mp-search:focus{box-shadow:0 8px 32px #00000040,0 0 0 3px #fff6}.mp-categories{max-width:1120px;margin:-1.5rem auto 0;padding:0 1.25rem;position:relative;z-index:2}.mp-categories-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.mp-categories-scroll::-webkit-scrollbar{display:none}.mp-category-chip{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:var(--mp-surface);border-radius:12px;box-shadow:0 4px 20px #0f172a14;font-size:.875rem;font-weight:600;color:var(--mp-text);border:1px solid rgb(15 23 42 / 6%)}.mp-category-chip span:first-child{font-size:1.25rem}.mp-stats{max-width:1120px;margin:2.5rem auto 0;padding:0 1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:600px){.mp-stats{grid-template-columns:1fr}}.mp-stat{background:var(--mp-surface);border-radius:14px;padding:1.25rem;text-align:center;border:1px solid rgb(15 23 42 / 6%)}.mp-stat strong{display:block;font-size:1.5rem;font-weight:800;color:var(--mp-primary)}.mp-stat span{font-size:.8rem;color:var(--mp-muted)}.mp-main{max-width:1120px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.mp-section-title{font-size:1.35rem;font-weight:700;margin:0 0 .35rem;letter-spacing:-.02em}.mp-section-sub{color:var(--mp-muted);margin:0 0 1.5rem;font-size:.95rem}.business-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.business-card{display:flex;flex-direction:column;background:var(--mp-surface);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid rgb(15 23 42 / 8%);box-shadow:0 4px 24px #0f172a0f;transition:transform .2s ease,box-shadow .2s ease}.business-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #0f172a1f}.business-card-cover{position:relative;height:160px;overflow:hidden}.business-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.business-card:hover .business-card-cover img{transform:scale(1.06)}.business-card-cover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgb(15 23 42 / 55%) 0%,transparent 55%)}.business-card-avatar{position:absolute;bottom:-24px;left:1.25rem;width:52px;height:52px;border-radius:14px;border:3px solid #fff;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;overflow:hidden;background:var(--mp-primary)}.business-card-avatar img{width:100%;height:100%;object-fit:cover}.business-card-body{padding:2rem 1.25rem 1.25rem;flex:1;display:flex;flex-direction:column}.business-card h2{margin:0 0 .35rem;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.business-card-rating{margin-bottom:.35rem}.star-rating{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.star-rating-sm{font-size:.85rem}.star-rating-stars{display:inline-flex;gap:.05rem;line-height:1}.star-rating .star-full{color:#f59e0b}.star-rating .star-half{color:#fbbf24;opacity:.85}.star-rating .star-empty{color:#cbd5e1}.star-rating-meta{font-size:.8rem;color:var(--mp-muted)}.star-rating-meta strong{color:var(--mp-text);font-weight:700}.star-rating-count{margin-left:.15rem;color:var(--mp-muted)}.business-card-tagline{color:var(--mp-muted);font-size:.875rem;margin:0 0 1rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.business-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.business-card-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;background:#f1f5f9;border-radius:8px;font-size:.75rem;font-weight:600;color:var(--mp-muted)}.business-card-cta{font-size:.875rem;font-weight:700;color:var(--mp-primary);white-space:nowrap}.business-card-skeleton{background:var(--mp-surface);border-radius:16px;overflow:hidden;border:1px solid rgb(15 23 42 / 6%)}.skeleton-block{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.skeleton-cover{height:160px}.skeleton-line{height:14px;border-radius:6px;margin:1.25rem}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mp-empty-state{text-align:center;padding:4rem 2rem;background:var(--mp-surface);border-radius:20px;border:2px dashed #e2e8f0}.mp-empty-state img{width:120px;height:120px;object-fit:contain;margin-bottom:1.5rem;opacity:.9}.mp-empty-state h3{margin:0 0 .5rem;font-size:1.25rem}.mp-empty-state p{color:var(--mp-muted);margin:0 0 1.5rem}.mp-footer{background:#0f172a;color:#94a3b8;padding:3rem 1.25rem 2rem;margin-top:2rem}.mp-footer-inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.mp-footer-brand{display:inline-flex;margin-bottom:.5rem}.mp-footer p{font-size:.875rem;margin:0;max-width:280px;line-height:1.6}.mp-footer-links{display:flex;flex-direction:column;gap:.5rem}.mp-footer-links a{color:#cbd5e1;text-decoration:none;font-size:.9rem}.mp-footer-links a:hover{color:#fff}.mp-footer-bottom{max-width:1120px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid #334155;font-size:.8rem;text-align:center}.platform-shell{display:flex;min-height:100vh;background:#0f172a}.platform-sidebar{width:240px;flex-shrink:0;padding:1.25rem .875rem;display:flex;flex-direction:column;gap:.25rem;border-right:1px solid rgb(255 255 255 / 8%)}.platform-brand{font-size:1.2rem;font-weight:800;color:#f8fafc;padding:.25rem .75rem 1rem;border-bottom:1px solid rgb(255 255 255 / 8%);margin-bottom:.5rem}.platform-brand span{display:block;font-size:.7rem;font-weight:500;color:#94a3b8;margin-top:.25rem}.platform-link{display:block;color:#cbd5e1;text-decoration:none;padding:.55rem .75rem;border-radius:8px;font-size:.9rem}.platform-link:hover{background:#ffffff14;color:#fff}.platform-link.active{background:#6366f159;color:#fff}.platform-sidebar-footer{margin-top:auto;padding:.75rem;font-size:.8rem;color:#94a3b8}.platform-main{flex:1;background:#f1f5f9;overflow:auto}.platform-content{max-width:1100px;margin:0 auto;padding:1.5rem}.platform-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#312e81);padding:1rem}.platform-login-card{width:100%;max-width:400px;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 20px 50px #00000040}.platform-login-card h1{margin:0 0 .35rem;font-size:1.5rem}.platform-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.platform-stat{background:#fff;border-radius:10px;padding:1rem;box-shadow:0 1px 4px #0f172a0f}.platform-stat strong{display:block;font-size:1.75rem;color:#0f172a}.platform-stat span{font-size:.8rem;color:#64748b}.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-pill.trial{background:#dbeafe;color:#1d4ed8}.status-pill.active{background:#dcfce7;color:#15803d}.status-pill.past_due{background:#fef3c7;color:#b45309}.status-pill.suspended{background:#fee2e2;color:#b91c1c}.status-pill.cancelled{background:#f1f5f9;color:#475569}.status-pill.pending{background:#fef3c7;color:#b45309}.status-pill.paid{background:#dcfce7;color:#15803d}.status-pill.rejected{background:#fee2e2;color:#b91c1c}.platform-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-sm{padding:.35rem .65rem;font-size:.8rem;border-radius:6px;border:none;cursor:pointer;font-weight:600}.btn-sm.primary{background:#4f46e5;color:#fff}.btn-sm.success{background:#16a34a;color:#fff}.btn-sm.danger{background:#dc2626;color:#fff}.btn-sm.ghost{background:#e2e8f0;color:#334155}:root{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.5;color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#2563eb}.container{max-width:420px;margin:4rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0f172a14}h1{margin:0 0 1.5rem;font-size:1.75rem}form{display:flex;flex-direction:column;gap:1rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500}input,select{padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}button{padding:.75rem;border:none;border-radius:8px;background:var(--brand-color, #2563eb);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#dc2626;font-size:.875rem}.nav-links{margin-top:1rem;text-align:center;font-size:.875rem}.card-form{display:flex;flex-direction:column;gap:1rem;max-width:560px}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:400}.exception-list{margin-top:1rem;padding-left:1.25rem}.public-booking{max-width:520px;margin:2rem auto;padding:0 1rem 3rem}.public-booking-hero{height:140px;margin:-2rem -1rem 1.5rem;border-radius:0 0 12px 12px;background-size:cover;background-position:center;background-color:#e2e8f0}.public-header{text-align:center;margin-bottom:2rem}.back-link{display:inline-block;margin-bottom:1rem;font-size:.875rem;color:#64748b;text-decoration:none}.back-link:hover{color:#2563eb}.public-header h1{margin-bottom:.25rem}.booking-step{background:#fff;padding:1.25rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px #0f172a0f}.booking-step h2{font-size:1rem;margin:0 0 1rem}.booking-step select,.booking-step input[type=date]{width:100%;margin-bottom:.75rem}.muted{color:#64748b;font-size:.875rem}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem;margin-top:1rem}.slot-btn{padding:.6rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;cursor:pointer;font-weight:500;font-size:.9rem}.slot-btn:hover:not(.selected){border-color:var(--brand-color, #2563eb);background:#f8fafc;color:#0f172a}.slot-btn.selected{background:var(--brand-color, #2563eb);color:#fff;border-color:var(--brand-color, #2563eb)}.public-logo{max-height:64px;max-width:200px;object-fit:contain;margin-bottom:.75rem}.booking-summary{background:#eff6ff;padding:1.25rem;border-radius:8px;border:1px solid #bfdbfe}.booking-success{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;padding:2rem;text-align:center}.booking-success ul{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.booking-success li{padding:.35rem 0}:root{--color-bg: #f1f5f9;--color-surface: #ffffff;--color-text: #0f172a;--color-muted: #64748b;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: #eff6ff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgb(15 23 42 / 6%);--shadow-md: 0 8px 24px rgb(15 23 42 / 8%);--shadow-lg: 0 16px 40px rgb(15 23 42 / 12%);--ease-out: cubic-bezier(.22, 1, .36, 1);--transition-fast: .15s var(--ease-out);--transition-med: .25s var(--ease-out)}@keyframes ui-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-animate-in{animation:ui-fade-up .35s var(--ease-out) both}.ui-stagger-1{animation-delay:.05s}.ui-stagger-2{animation-delay:.1s}.ui-stagger-3{animation-delay:.15s}.ui-stagger-4{animation-delay:.2s}.ui-spinner{width:1.25rem;height:1.25rem;border:2px solid rgb(37 99 235 / 20%);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .7s linear infinite;display:inline-block;vertical-align:middle}.ui-loading-block{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem;color:var(--color-muted);font-size:.95rem}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.pick-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;text-align:left;background:var(--color-surface);border:2px solid #e2e8f0;border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);font-family:inherit;color:var(--color-text)}.pick-card:hover{border-color:#93c5fd;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pick-card.selected{border-color:var(--brand-color, var(--color-primary));background:var(--color-primary-soft);box-shadow:0 0 0 3px #2563eb1f}.pick-card-title{font-weight:600;font-size:.9rem}.pick-card-meta{font-size:.8rem;color:var(--color-muted)}.step-progress{display:flex;align-items:center;gap:0;margin-bottom:1.75rem;padding:0 .25rem}.step-progress-item{display:flex;align-items:center;flex:1;min-width:0}.step-progress-dot{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;background:#e2e8f0;color:#64748b;transition:background var(--transition-med),color var(--transition-med),transform var(--transition-fast)}.step-progress-item.active .step-progress-dot{background:var(--brand-color, var(--color-primary));color:#fff;transform:scale(1.08);box-shadow:0 4px 12px #2563eb59}.step-progress-item.done .step-progress-dot{background:#22c55e;color:#fff}.step-progress-label{display:none;font-size:.7rem;font-weight:600;color:var(--color-muted);margin-left:.35rem;white-space:nowrap}@media(min-width:480px){.step-progress-label{display:block}.step-progress-item.active .step-progress-label{color:var(--color-text)}}.step-progress-line{flex:1;height:2px;margin:0 .35rem;background:#e2e8f0;border-radius:1px;transition:background var(--transition-med)}.step-progress-line.done{background:#86efac}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--color-muted)}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.85}.empty-state h3{margin:0 0 .35rem;color:var(--color-text);font-size:1.05rem}.empty-state p{margin:0 0 1rem;font-size:.9rem;max-width:36ch;margin-left:auto;margin-right:auto}.public-booking{max-width:560px;margin:0 auto;padding:0 1rem 3rem;position:relative}.public-booking-hero{height:180px;margin:0 -1rem;border-radius:0 0 var(--radius-xl) var(--radius-xl);background-size:cover;background-position:center;background-color:#e2e8f0;box-shadow:var(--shadow-md)}.public-header{text-align:center;margin:-2.5rem auto 1.75rem;position:relative;z-index:2;max-width:90%}.public-header .public-logo{margin:0 auto .75rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:4px}.public-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:800}.booking-step{background:var(--color-surface);padding:1.35rem;border-radius:var(--radius-lg);margin-bottom:1rem;border:1px solid #e2e8f0;box-shadow:var(--shadow-sm);animation:ui-fade-up .35s var(--ease-out) both}.booking-step h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin:0 0 1rem;font-weight:700}.booking-step-title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:-.5rem 0 1rem}.booking-success{background:linear-gradient(180deg,#f0fdf4,#fff);border:1px solid #86efac;border-radius:var(--radius-xl);padding:2.5rem 1.75rem;text-align:center;animation:ui-fade-up .5s var(--ease-out) both;box-shadow:var(--shadow-md)}.booking-success h1{font-size:1.75rem;margin-bottom:.5rem}.booking-success-icon{font-size:3rem;margin-bottom:.75rem}.booking-success ul{list-style:none;padding:1rem 1.25rem;margin:1.5rem 0;text-align:left;background:#fff;border-radius:var(--radius-md);border:1px solid #bbf7d0}.booking-success li{padding:.4rem 0;font-size:.95rem}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.5rem;margin-top:1rem}.slot-btn{padding:.65rem .4rem;border:2px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;color:var(--color-text);cursor:pointer;font-weight:600;font-size:.85rem;transition:all var(--transition-fast)}.slot-btn:hover:not(.selected):not(:disabled){border-color:var(--brand-color, var(--color-primary));background:var(--color-primary-soft)}.slot-btn.selected{background:var(--brand-color, var(--color-primary));color:#fff;border-color:var(--brand-color, var(--color-primary));transform:scale(1.03);box-shadow:0 4px 12px #2563eb4d}.booking-nav-hint{font-size:.85rem;color:var(--color-muted);margin-top:.75rem}
