:root{--bg:#f1f5f9;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--border:#e2e8f0;--border-md:#cbd5e1;--border-str:#94a3b8;--text:#0f172a;--text-2:#334155;--muted:#64748b;--muted-2:#94a3b8;--accent:#2563eb;--accent-h:#1d4ed8;--accent-bg:#eff6ff;--accent-bdr:#bfdbfe;--success:#16a34a;--success-bg:#f0fdf4;--success-bdr:#bbf7d0;--danger:#dc2626;--danger-bg:#fef2f2;--danger-bdr:#fecaca;--warn:#d97706;--warn-bg:#fffbeb;--warn-bdr:#fde68a;--shadow-xs:0 1px 2px #0f172a0f;--shadow-sm:0 1px 3px #0f172a14, 0 1px 2px #0f172a0d;--shadow-md:0 4px 6px #0f172a12, 0 2px 4px #0f172a0d;--shadow-lg:0 10px 15px #0f172a14, 0 4px 6px #0f172a0d;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--mobile-nav-h:62px;--safe-bottom:env(safe-area-inset-bottom,0px)}[data-theme=dark]{--bg:#0f172a;--surface:#1e293b;--surface-2:#1e293b;--surface-3:#0f172a;--border:#94a3b826;--border-md:#94a3b840;--border-str:#94a3b866;--text:#f1f5f9;--text-2:#cbd5e1;--muted:#94a3b8;--muted-2:#64748b;--accent:#3b82f6;--accent-h:#60a5fa;--accent-bg:#3b82f61f;--accent-bdr:#3b82f64d;--success:#22c55e;--success-bg:#22c55e1a;--success-bdr:#22c55e4d;--danger:#f87171;--danger-bg:#f871711a;--danger-bdr:#f871714d;--warn:#fbbf24;--warn-bg:#fbbf241a;--warn-bdr:#fbbf244d;--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #00000040, 0 2px 4px #0003;--shadow-lg:0 10px 15px #0000004d, 0 4px 6px #0003}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}img,svg{max-width:100%;height:auto}h1,h2,h3,h4{color:var(--text);letter-spacing:-.025em;overflow-wrap:anywhere;white-space:normal;margin:0;font-family:inherit;font-weight:700}h1{font-size:clamp(1.8rem,3.2vw,3rem);font-weight:800;line-height:1.1}h2{font-size:clamp(1.25rem,2vw,1.75rem)}h3{font-size:clamp(1rem,1.4vw,1.2rem)}h4{color:var(--text-2);font-size:.95rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}p{margin:0}.app{max-width:1280px;padding:24px 20px calc(32px + var(--safe-bottom));margin:0 auto}.app-widget{max-width:100%;margin:0;padding:12px}.app-custom-public{max-width:none;min-height:100vh;padding:0}.custom-public-manage-bar{padding:10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--surface);justify-content:flex-end;display:flex}.custom-public-frame{background:var(--bg);border:0;width:100%;min-height:calc(100vh - 57px);display:block}.page-body{gap:16px;display:grid}.surface{gap:14px;min-width:0;display:grid}.flow{gap:12px;display:grid}.narrow{max-width:640px;margin-inline:auto}.header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border-left:4px solid var(--accent);grid-template-columns:1fr auto;align-items:end;gap:16px 24px;margin-bottom:16px;padding:28px 28px 24px;display:grid;overflow:hidden}[data-public-design=custom] .app{background:0 0}[data-public-design=custom] .btn-primary,[data-public-design=custom] button.btn-primary{background:var(--accent);color:var(--custom-button-text,#fff)}.header-custom{background-color:var(--surface);background-position:50%;background-size:cover}.header-custom[style*=background-image]{align-items:end;min-height:280px}.header-custom[style*=background-image] h1,.header-custom[style*=background-image] .brand-top,.header-custom[style*=background-image] .muted{color:#fff}.public-logo{object-fit:contain;width:auto;max-width:150px;max-height:56px;margin-bottom:12px;display:block}[data-public-preset=minimal-light]{--bg:#fbfbf8;--surface:#fff;--accent:#111827;--accent-h:#374151}[data-public-preset=beauty-premium]{--bg:#fff7fb;--surface:#fff;--accent:#be185d;--accent-h:#9d174d}[data-public-preset=fitness-bold]{--bg:#f7fee7;--surface:#fff;--accent:#4d7c0f;--accent-h:#3f6212}[data-public-preset=dark-luxe]{--bg:#0b1020;--surface:#151b2e;--surface-2:#101729;--surface-3:#0b1020;--text:#f8fafc;--text-2:#cbd5e1;--muted:#94a3b8;--accent:#d4af37;--accent-h:#facc15;--border:#d4af3738}.header>div,.header p{overflow-wrap:anywhere;min-width:0}.brand-top{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:.75rem;font-weight:700}.section-head{gap:6px;display:grid}.hero-kpis{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.hero-kpi{border:1px solid var(--border-md);background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.offline-banner{border:1px solid var(--warn-bdr);background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-md);margin-bottom:10px;padding:8px 14px;font-size:.88rem;font-weight:600}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs-main{place-content:end flex-end}.tabs-admin{scrollbar-width:thin;margin-bottom:4px}.tabs-admin::-webkit-scrollbar{height:5px}.tabs-admin::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:999px}.admin-mobile-nav{display:none}.tab{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;min-width:100px;min-height:38px;font:inherit;white-space:normal;text-align:center;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;padding:8px 14px;font-size:.88rem;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.tab:hover{border-color:var(--accent-bdr);color:var(--accent);background:var(--accent-bg);box-shadow:var(--shadow-sm)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm);font-weight:700}.tabs-admin .tab{min-width:90px;padding:7px 11px;font-size:.84rem}.public-header-side{justify-items:end;gap:10px;display:grid}.public-language{justify-content:flex-end}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);padding:20px}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:14px}.card strong{margin-bottom:3px;font-size:1.5rem;font-weight:800;display:block}.field{gap:6px;margin-bottom:12px;display:grid}.field>span{color:var(--text-2);font-size:.84rem;font-weight:600}.field-error{color:var(--danger);font-size:.8rem;line-height:1.3}.empty-state{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2);gap:4px;padding:14px 16px;display:grid}.empty-state strong{color:var(--text)}.empty-state span{color:var(--muted)}.empty-state--error{border-color:var(--danger-bdr);background:var(--danger-bg)}.empty-state--error strong,.empty-state--error span{color:var(--danger)}.field-hint{color:var(--muted);font-size:.78rem;line-height:1.4}input,select,textarea{border:1px solid var(--border-md);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--text);background:var(--surface);font:inherit;box-shadow:var(--shadow-xs);padding:8px 12px;font-size:.95rem;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1f}input::placeholder,textarea::placeholder{color:var(--muted-2)}select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--surface)}[data-theme=dark] select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option,select optgroup{color:var(--text);background:var(--surface)}select option:checked{background:var(--accent);color:#fff}.btn-primary{border-radius:var(--radius-sm);color:#fff;background:var(--accent);font:inherit;cursor:pointer;min-height:40px;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;padding:9px 18px;font-size:.9rem;font-weight:700;transition:background .12s,box-shadow .12s,transform .1s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-h);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-md);color:var(--text-2);background:var(--surface);cursor:pointer;font:inherit;box-shadow:var(--shadow-xs);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:.84rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.chip:hover{border-color:var(--accent-bdr);background:var(--accent-bg);color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.danger,.chip--red{border-color:var(--danger-bdr);background:var(--danger-bg);color:var(--danger)}.chip.danger:hover,.chip--red:hover{border-color:var(--danger);background:#fee2e2}.chip--green{border-color:var(--success-bdr);background:var(--success-bg);color:var(--success)}.chip--green:hover{border-color:var(--success);background:var(--success-bg)}.status-chip{border:1px solid var(--success-bdr);color:var(--success);background:var(--success-bg);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.muted-status{border-color:var(--border);color:var(--muted);background:var(--surface-3)}.success-status{border-color:var(--success-bdr);color:var(--success);background:var(--success-bg)}.warning-status{color:#92400e;background:#f59e0b1f;border-color:#f59e0b59}.danger-status{border-color:var(--danger-bdr);color:var(--danger);background:var(--danger-bg)}.alert{border-radius:var(--radius-sm);margin-top:10px;padding:10px 14px;font-size:.88rem;font-weight:500}.alert.error{border:1px solid var(--danger-bdr);background:var(--danger-bg);color:var(--danger)}.alert.success{border:1px solid var(--success-bdr);background:var(--success-bg);color:var(--success)}.alert.warning{border:1px solid var(--warn-bdr);background:var(--warn-bg);color:var(--warn)}.alert.warning strong{margin-bottom:4px;display:block}.notice-list{gap:4px;margin:0;padding-left:18px;display:grid}.layout-2{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;display:grid}.layout-2[data-active-step="1"],.layout-2[data-active-step="2"],.layout-2[data-active-step="3"]{grid-template-columns:1fr}.layout-2[data-active-step="1"] .booking-form,.layout-2[data-active-step="2"] .booking-form,.layout-2[data-active-step="3"] .booking-form{display:none}.layout-2[data-active-step="4"]{grid-template-columns:minmax(0,720px);justify-content:center}.layout-2[data-active-step="4"] .booking-steps-panel{display:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.form-grid-tight{gap:8px 10px}.field-span-2{grid-column:1/-1}.list{gap:8px;display:grid}.row,.row-col{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs);padding:12px 14px}.row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.client-row-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;align-items:flex-start}.client-row-button:hover{border-color:var(--accent);background:var(--surface-2)}.client-row-main{gap:4px;min-width:0;display:grid}.client-row-identity,.client-row-stats{flex-wrap:wrap;gap:4px 10px;min-width:0;display:flex}.client-row-name,.client-row-contact,.client-row-stats span{min-width:0}.client-row-stats{text-align:right;justify-content:flex-end;max-width:45%}.row-col{gap:6px;display:grid}.service-admin-row{gap:10px}.service-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.row span,.row strong,.row small,.row-col span,.row-col strong,.row-col small,.booking-card span,.booking-card strong,.booking-card small{overflow-wrap:anywhere}.muted{color:var(--muted);overflow-wrap:anywhere;margin:0}.small{font-size:.84rem}.success{color:var(--success)}.step-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:16px}.step-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.step-title{color:var(--text);margin-bottom:12px;font-weight:700}.service-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.service-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;min-height:68px;box-shadow:var(--shadow-xs);color:var(--text);flex-direction:column;justify-content:center;padding:14px 14px 14px 16px;transition:border-color .12s,box-shadow .12s,transform .1s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";background:var(--accent);opacity:0;border-radius:var(--radius-md) 0 0 var(--radius-md);width:3px;transition:opacity .15s;position:absolute;top:0;bottom:0;left:0}.service-card.active:before{opacity:1}.service-card strong{margin-bottom:3px;font-size:.97rem;display:block}.service-card span{color:var(--muted);font-size:.84rem}.service-card:hover{border-color:var(--accent-bdr);box-shadow:var(--shadow-md);transform:translateY(-1px)}.service-card.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:var(--shadow-sm)}.day-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px;display:grid}.day-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;min-height:62px;box-shadow:var(--shadow-xs);flex-direction:column;justify-content:center;padding:12px;transition:border-color .12s,background .12s,transform .1s;display:flex}.day-chip strong{font-size:.97rem;display:block}.day-chip span{color:var(--muted);margin-top:2px;font-size:.84rem}.day-chip:hover{border-color:var(--accent-bdr);background:var(--accent-bg);transform:translateY(-1px)}.day-chip.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:var(--shadow-sm)}.quick-time-panel{gap:10px;margin-bottom:12px;display:grid}.quick-time-actions,.specialist-filter-options{flex-wrap:wrap;gap:8px;display:flex}.quick-time-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;min-height:40px;box-shadow:var(--shadow-xs);padding:8px 12px;font-weight:700}.quick-time-chip.primary{border-color:var(--accent);background:var(--accent);color:#fff}.quick-time-chip:disabled{cursor:not-allowed;color:var(--muted);background:var(--surface-3);opacity:.64}.specialist-filter{gap:7px;margin-bottom:12px;display:grid}.specialist-filter-label{color:var(--muted);font-size:.78rem;font-weight:700}.waitlist-form{border:1px solid var(--accent-bdr);border-radius:var(--radius-md);background:var(--accent-bg);gap:12px;margin-top:12px;padding:14px;display:grid}.waitlist-head{gap:4px;display:grid}.waitlist-head h4,.waitlist-head p{margin:0}.slot-wrap{max-height:520px;margin-top:6px;padding-right:2px;overflow:auto}.slot-wrap::-webkit-scrollbar{width:6px}.slot-wrap::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:999px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.slot{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);cursor:pointer;font:inherit;text-align:left;min-height:52px;box-shadow:var(--shadow-xs);justify-items:start;gap:3px;padding:11px 8px;font-size:.94rem;font-weight:600;transition:border-color .12s,background .12s,box-shadow .12s,transform .1s;display:grid}.slot:hover{border-color:var(--accent-bdr);background:var(--accent-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.slot:active{transform:translateY(0)}.slot.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:var(--shadow-md)}.slot-time{font-size:1rem;line-height:1.2}.slot.active .slot-time{color:#fff}.slot-specialist{color:var(--muted);word-break:break-word;font-size:.72rem;font-weight:600;line-height:1.2}.slot.active .slot-specialist{color:#ffffffc7}.booking-form{align-self:start;position:sticky;top:10px}.booking-summary{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);margin:8px 0 12px;padding:12px 14px}.summary-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:.9rem;display:flex}.summary-row strong{text-align:right;overflow-wrap:anywhere;max-width:64%}.summary-row:last-child{border-bottom:0}.booking-submit-hint{min-height:1.2em}.booking-page-wrap{gap:14px;display:grid}.booking-progress{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);align-items:flex-start;gap:0;padding:12px 18px 16px;display:flex}.booking-progress-step{flex-direction:column;flex:none;align-items:center;gap:5px;display:flex}.booking-progress-line{background:var(--border);flex:1;min-width:10px;height:2px;margin-top:14px;transition:background .3s}.booking-progress-line.done{background:var(--success)}.booking-progress-dot{border:2px solid var(--border-md);background:var(--surface-3);width:28px;height:28px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.booking-progress-step.active .booking-progress-dot{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);box-shadow:0 0 0 4px #2563eb1a}.booking-progress-step.done .booking-progress-dot{border-color:var(--success);background:var(--success-bg);color:var(--success)}.booking-progress-label{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:.67rem;font-weight:600;overflow:hidden}.booking-progress-step.active .booking-progress-label{color:var(--accent)}.booking-progress-step.done .booking-progress-label{color:var(--success)}.step-back-btn{display:none}.booking-business-name{text-align:center;color:var(--text);margin:20px 0 4px;font-size:1.3rem;font-weight:700}.booking-confirmed-wrap{justify-content:center;align-items:flex-start;min-height:48vh;padding:16px 16px 32px;display:flex}.booking-confirmed-screen{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:0;padding:32px 28px 28px;animation:.35s cubic-bezier(.22,1,.36,1) confirmedIn;display:flex}@keyframes confirmedIn{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.booking-confirmed-icon{background:var(--success-bg);border:2px solid var(--success-bdr);width:72px;height:72px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;font-size:2rem;display:flex}.booking-confirmed-title{margin:0 0 8px;font-size:1.5rem;font-weight:800}.booking-confirmed-sub{color:var(--muted);margin:0 0 16px;font-size:.93rem}.booking-confirmed-details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);width:100%;max-width:420px;margin-bottom:14px;overflow:hidden}.bcd-row{justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;font-size:.9rem;display:flex}.bcd-row+.bcd-row{border-top:1px solid var(--border)}.bcd-label{color:var(--muted);flex-shrink:0}.bcd-value{text-align:right;font-weight:700}.bcd-email-row .bcd-value{color:var(--accent);word-break:break-all;font-weight:600}.booking-confirmed-warnings{color:var(--muted);max-width:380px;margin:0 0 12px;font-size:.82rem}.booking-confirmed-manage-hint{color:var(--muted);max-width:380px;margin:0 0 14px;font-size:.82rem;line-height:1.5}.booking-confirmed-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.booking-calendar-btn,.booking-confirmed-again{justify-content:center;min-width:180px;min-height:46px;text-decoration:none}.step-selection-badge{border-radius:var(--radius-xs);border:1px solid var(--accent-bdr);background:var(--accent-bg);color:var(--accent);align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.manage-stage{gap:14px;display:grid}.manage-kpis{margin-top:4px}.manage-access-card{gap:10px;max-width:820px;display:grid}.manage-hint,.manage-empty{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);gap:4px;padding:12px 14px;display:grid}.manage-hint strong,.manage-empty strong{font-size:.97rem}.manage-hint span,.manage-empty span{color:var(--muted)}.manage-recovery{border:1px solid var(--warn-bdr);border-radius:var(--radius-md);background:var(--warn-bg);gap:4px;padding:12px 14px;display:grid}.manage-recovery strong{color:var(--warn)}.manage-recovery span{color:var(--warn);opacity:.85}.manage-recovery-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:8px;display:grid}.manage-recovery-form .field{margin:0}.manage-recovery-form .btn-primary,.manage-recovery-form .chip{white-space:nowrap;min-height:44px}@media (width<=560px){.manage-recovery-form{grid-template-columns:1fr}}.manage-session-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.admin-form{gap:12px;display:grid}.admin-form .field{margin-bottom:0}.specialist-list{gap:12px}.specialist-list-head{gap:4px;padding-bottom:2px}.specialist-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);gap:14px;padding:18px;display:grid}.specialist-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.specialist-title-block{gap:6px;min-width:0;display:grid}.specialist-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.specialist-kpis{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.specialist-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.specialist-meta-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);gap:3px;padding:10px 12px;display:grid}.specialist-meta-item span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.75rem;font-weight:700}.specialist-meta-item strong{word-break:break-word}.specialist-section{gap:10px;display:grid}.specialist-account-section{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.specialist-account-info,.specialist-account-create{gap:10px;display:grid}.temp-password-banner{background:var(--success-bg);border:1px solid var(--success-bdr);border-radius:var(--radius-sm);gap:6px;padding:12px 14px;display:grid}.temp-password-input{letter-spacing:.06em;font-family:monospace}.temp-password-banner .oauth-link-row{grid-template-columns:minmax(0,1fr) auto auto}.section-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-row h4{margin-top:0}.specialist-service-chips{gap:8px}.specialist-service-chips .chip{min-height:36px}.schedule-panel{gap:14px;display:grid}.schedule-sections{gap:12px;display:grid}.schedule-summary,.schedule-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);gap:10px;padding:14px;display:grid}.schedule-table{gap:8px;display:grid}.schedule-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(120px,1.05fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.schedule-row.active{border-color:var(--success-bdr);background:var(--success-bg)}.schedule-day{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.schedule-day input{width:18px;min-width:18px;min-height:18px;accent-color:var(--accent);margin:0}.schedule-day-label{min-width:0}.schedule-time{margin-bottom:0}.schedule-time span{letter-spacing:.07em;text-transform:uppercase;font-size:.76rem}.schedule-actions{justify-content:flex-end;display:flex}.schedule-actions .btn-primary{min-width:220px}.sched-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.sched-section-title h4{margin:0 0 2px;font-size:.95rem;font-weight:700}.sched-presets{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.sched-days{gap:6px;display:grid}.sched-day-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);grid-template-columns:44px 70px 1fr;align-items:center;gap:10px;padding:10px 14px;transition:border-color .12s,background .12s;display:grid}.sched-day-row.sched-day-on{border-color:var(--success-bdr);background:var(--success-bg)}.sched-toggle-label{flex-shrink:0;width:38px;height:22px;display:inline-block;position:relative}.sched-toggle-input{opacity:0;width:0;height:0;position:absolute}.sched-toggle-track{background:var(--border-md);border:1px solid var(--border-md);cursor:pointer;border-radius:11px;transition:background .18s,border-color .18s;position:absolute;inset:0}.sched-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px}.sched-toggle-input:checked+.sched-toggle-track{background:var(--accent);border-color:var(--accent)}.sched-toggle-input:checked+.sched-toggle-track:after{transform:translate(16px)}.sched-day-name{letter-spacing:.01em;text-transform:uppercase;color:var(--text);font-size:.88rem;font-weight:700}.sched-time-range{align-items:center;gap:6px;display:flex}.sched-time-input{border-radius:var(--radius-xs);border:1px solid var(--border-md);background:var(--surface);width:90px;color:var(--text);text-align:center;min-width:0;min-height:auto;padding:5px 8px;font-family:inherit;font-size:.88rem}.sched-time-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1a}.sched-sep{color:var(--muted);flex-shrink:0;font-size:.88rem}.sched-off-label{color:var(--muted);font-size:.82rem;font-style:italic}.booking-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);gap:8px;padding:14px;display:grid}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.bookings-panel{gap:14px;display:grid}.bookings-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.bookings-head h3{margin:0 0 4px;font-size:1.1rem}.bookings-filters{grid-template-columns:minmax(240px,1.45fr) minmax(180px,.85fr) minmax(160px,.7fr) minmax(160px,.7fr);align-items:end;gap:12px;display:grid}.bookings-filters .field{margin-bottom:0}.admin-booking-card{border:1px solid var(--border);border-left:4px solid var(--border-md);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);gap:12px;padding:16px;display:grid}.admin-booking-card--confirmed{border-left-color:var(--accent)}.admin-booking-card--completed{border-left-color:var(--success)}.admin-booking-card--no_show{border-left-color:var(--danger)}.admin-booking-card--cancelled{border-left-color:var(--muted);opacity:.82}.admin-booking-card__top{grid-template-columns:138px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.admin-booking-time{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-variant-numeric:tabular-nums;gap:4px;padding:10px 12px;display:grid}.admin-booking-date{color:var(--muted);font-size:.82rem;font-weight:700}.admin-booking-clock{color:var(--text);font-size:1.18rem;font-weight:800}.admin-booking-main{gap:6px;min-width:0;display:grid}.admin-booking-client{color:var(--text);overflow-wrap:anywhere;font-size:1.05rem;font-weight:800}.admin-booking-contact,.admin-booking-meta{overflow-wrap:anywhere}.admin-booking-contact{color:var(--muted);font-size:.92rem}.admin-booking-details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:minmax(180px,1.2fr) minmax(160px,.9fr) minmax(120px,.7fr);gap:10px;padding:10px 12px;display:grid}.admin-booking-detail{gap:3px;min-width:0;display:grid}.admin-booking-detail>span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:800}.admin-booking-detail strong,.admin-booking-detail code{color:var(--text);overflow-wrap:anywhere}.admin-booking-status{border:1px solid var(--border-md);background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;justify-self:end;padding:6px 10px;font-size:.78rem;font-weight:800}.admin-booking-card--confirmed .admin-booking-status{color:var(--accent);background:#2563eb14;border-color:#2563eb47}.admin-booking-card--completed .admin-booking-status{border-color:var(--success-bdr);background:var(--success-bg);color:var(--success)}.admin-booking-card--no_show .admin-booking-status,.admin-booking-card--cancelled .admin-booking-status{border-color:var(--danger-bdr);background:var(--danger-bg);color:var(--danger)}.admin-booking-actions{border-top:1px solid var(--border);padding-top:12px}.audit-filters{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.75fr) minmax(160px,1fr) minmax(130px,.7fr) minmax(130px,.7fr);align-items:end;gap:12px;margin:14px 0 16px;display:grid}.audit-filters .field,.email-template-language{margin-bottom:0}.booking-history-panel{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:10px;padding:12px 14px}.history-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.history-entry{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 0;display:flex}.history-entry:last-child{border-bottom:none}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 8px}.admin-table th{color:var(--muted);text-transform:uppercase;font-size:.78rem}.history-type{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-radius:var(--radius-xs);background:var(--accent-bg);padding:2px 7px;font-size:.76rem;font-weight:700}.history-actor{font-size:.8rem}.history-time{color:var(--muted);margin-left:auto;font-size:.75rem}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot--confirmed{background:var(--success)}.status-dot--cancelled{background:var(--danger)}.status-dot--completed{background:var(--accent)}.status-dot--no_show,.status-dot--pending{background:var(--warn)}.dash-root{gap:16px;display:grid}.dash-period-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-period-tabs{flex-wrap:wrap;gap:6px;display:flex}.kpi-cards{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.kpi-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);gap:4px;padding:18px;transition:border-color .12s,box-shadow .12s;display:grid}.kpi-card:hover{box-shadow:var(--shadow-sm)}.kpi-card--blue{border-left:3px solid var(--accent)}.kpi-card--green{border-left:3px solid var(--success)}.kpi-card--today{border-left:3px solid var(--warn)}.kpi-card--red{border-left:3px solid var(--danger)}.kpi-card--purple{border-left:3px solid #7c3aed}.kpi-card-icon{margin-bottom:4px;font-size:1.1rem;line-height:1}.kpi-card-value{color:var(--text);font-size:1.9rem;font-weight:800;line-height:1}.kpi-card-label{color:var(--muted);margin-top:2px;font-size:.78rem}.trend-badge{border-radius:20px;width:fit-content;margin-top:4px;padding:2px 7px;font-size:.73rem;font-weight:700;display:inline-block}.trend-badge--up{background:var(--success-bg);color:var(--success)}.trend-badge--down{background:var(--danger-bg);color:var(--danger)}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:18px 20px}.dash-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dash-panel-head h3{margin:0;font-size:.93rem;font-weight:700}.dash-panel-hint{color:var(--muted);font-size:.78rem}.dash-peak-badge{color:var(--success);background:var(--success-bg);border:1px solid var(--success-bdr);white-space:nowrap;border-radius:20px;padding:2px 9px;font-size:.78rem;font-weight:700}.dash-grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.business-insights-panel{border-left:3px solid var(--accent)}.business-insights-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.business-insight{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);gap:8px;min-height:142px;padding:14px;display:grid}.business-insight--high{border-color:var(--danger-bdr);background:var(--danger-bg)}.business-insight--medium{border-color:var(--warn-bdr);background:var(--warn-bg)}.business-insight--low{border-color:var(--border)}.business-insight-head{gap:6px;display:grid}.business-insight-head strong{color:var(--text);font-size:.95rem;line-height:1.25}.business-insight-priority{border:1px solid var(--border-md);border-radius:var(--radius-xs);width:fit-content;color:var(--text-2);background:var(--surface);text-transform:uppercase;padding:2px 7px;font-size:.68rem;font-weight:800}.business-insight p{color:var(--text-2);margin:0;font-size:.84rem;line-height:1.45}.business-insight-action{color:var(--accent);align-self:end;font-size:.8rem;font-weight:800}.horiz-bar-list{gap:10px;display:grid}.horiz-bar-row{grid-template-columns:minmax(80px,1.2fr) 1fr 36px;align-items:center;gap:10px;display:grid}.horiz-bar-name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.horiz-bar-track{background:var(--border);border-radius:4px;height:6px;overflow:hidden}.horiz-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .4s}.horiz-bar-count{text-align:right;font-size:.82rem;font-weight:700}.weekday-bars{gap:7px;display:grid}.weekday-bar-row{grid-template-columns:28px 1fr 28px;align-items:center;gap:10px;display:grid}.weekday-bar-label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.weekday-bar-track{background:var(--border);border-radius:5px;height:8px;overflow:hidden}.weekday-bar-fill{background:var(--accent);opacity:.75;border-radius:5px;height:100%;transition:width .4s}.weekday-bar-count{color:var(--muted);text-align:right;font-size:.8rem}.hourly-grid{grid-template-columns:repeat(8,1fr);gap:5px;margin-top:4px;display:grid}.hourly-cell{border:1px solid var(--border);border-radius:var(--radius-xs);cursor:default;background:var(--hourly-bg,var(--surface-3));justify-content:center;align-items:center;padding:6px 4px;transition:filter .12s,border-color .12s;display:flex}.hourly-cell.filled{border-color:#0f766e38}.hourly-cell:hover{filter:brightness(1.04)}.hourly-cell-label{color:var(--hourly-fg,var(--text));font-family:monospace;font-size:.7rem;font-weight:800}.recent-bookings-list{gap:0;display:grid}.recent-booking-row{border-bottom:1px solid var(--border);grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.recent-booking-row:last-child{border-bottom:none}.recent-booking-info{gap:2px;min-width:0;display:grid}.recent-booking-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.recent-booking-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.77rem;overflow:hidden}.recent-booking-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.77rem}.admin-filters{gap:12px}.manual-booking-form{align-content:start;gap:10px;display:grid}.manual-booking-head{margin-bottom:2px}.manual-booking-head h3{margin:0 0 4px;font-size:1rem}.manual-booking-form .field{margin-bottom:0}.manual-booking-submit{place-self:start stretch;width:auto;min-height:40px;margin-top:2px;padding:9px 20px;font-size:.9rem}.manual-recurrence-toggle{color:var(--text-2);cursor:pointer;align-items:center;gap:10px;font-size:.88rem;font-weight:700;display:inline-flex}.manual-recurrence-checkbox{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--accent);margin:0;padding:0}.manual-recurrence-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);gap:12px;padding:12px;display:grid}.manual-recurrence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.manual-recurrence-summary{color:var(--muted);grid-column:1/-1;font-size:.84rem}.manual-recurrence-custom{gap:10px;display:grid}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.segmented-control button{border:1px solid var(--border-md);border-radius:var(--radius-xs);background:var(--surface);min-height:38px;color:var(--text-2);font:inherit;cursor:pointer;font-size:.84rem;font-weight:700}.segmented-control button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.recurrence-slots-head{color:var(--text-2);justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;font-weight:700;display:flex}.recurrence-slot-list{gap:8px;display:grid}.recurrence-slot-row{grid-template-columns:minmax(0,1fr) minmax(110px,.8fr) auto;align-items:end;gap:8px;display:grid}.recurrence-remove{border-radius:var(--radius-xs);white-space:nowrap;min-height:40px}.recurrence-remove:disabled{opacity:.45;cursor:not-allowed}.status-wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.status-donut{border-radius:50%;place-items:center;width:160px;height:160px;display:grid}.status-hole{background:var(--surface);border:1px solid var(--border);border-radius:50%;place-items:center;width:92px;height:92px;font-size:1.35rem;font-weight:800;display:grid}.status-legend{color:var(--muted);gap:7px;display:grid}.mini-chart{grid-template-columns:repeat(14,minmax(16px,1fr));align-items:end;gap:6px;height:200px;margin-top:10px;display:grid}.mini-chart-col{align-content:end;justify-items:center;gap:6px;display:grid}.mini-chart-col span{color:var(--muted);font-size:.72rem}.mini-chart-bar{background:var(--accent);opacity:.72;border-radius:4px 4px 2px 2px;width:100%;min-height:4px}.widget-embed-panel{margin-top:16px}.embed-code-block{gap:10px;display:grid}.embed-code-pre{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);white-space:pre;padding:12px 14px;font-family:monospace;font-size:.78rem;line-height:1.6;overflow-x:auto}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-window{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(760px,100%);max-height:min(86vh,860px);box-shadow:var(--shadow-lg);gap:12px;padding:20px;display:grid;overflow:auto}.reschedule-stack,.reschedule-day-panel,.reschedule-time-panel{gap:12px;display:grid}.modal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.google-connect{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);gap:9px;padding:12px;display:grid}.google-connect-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.google-connect-title{letter-spacing:-.01em;font-size:.97rem}.google-connect-form{border-top:1px solid var(--border);padding-top:10px}.oauth-connect{border:1px dashed var(--border-md);border-radius:var(--radius-sm);background:var(--surface-3);gap:8px;margin-bottom:10px;padding:10px;display:grid}.oauth-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.oauth-link-row .chip{white-space:nowrap}.time-filter-row{margin:8px 0 10px}.help-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.skeleton-wrap{gap:8px;margin:6px 0 10px;display:grid}.skeleton-line{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-3);background-image:linear-gradient(90deg, var(--surface-3) 25%, var(--border) 50%, var(--surface-3) 75%);background-size:200% 100%;height:38px;animation:1.5s infinite skeleton}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-20% 0}}.owner-console{gap:16px}.owner-console .chip,.owner-console .btn-primary,.owner-link-button,.owner-danger-button{border-radius:var(--radius-xs)}.owner-overview{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.owner-overview .btn-primary{width:auto;min-width:132px}.owner-token-panel{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:8px;width:min(760px,100%);display:grid}.owner-token-panel label{gap:6px;display:grid}.owner-token-panel label span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:700}.owner-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.owner-kpi-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);gap:4px;padding:14px;display:grid}.owner-kpi-grid span{color:var(--muted);font-size:.84rem}.owner-kpi-grid strong{color:var(--text);font-size:1.8rem;line-height:1}.owner-workspace{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.owner-company-list,.owner-detail-panel{gap:10px;display:grid}.owner-company-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:10px;padding:12px;transition:border-color .12s,background .12s;display:flex}.owner-company-row:hover,.owner-company-row.active{border-color:var(--accent-bdr);background:var(--accent-bg)}.owner-company-row span{gap:4px;min-width:0;display:grid}.owner-company-row strong,.owner-company-row small{overflow-wrap:anywhere}.owner-company-row small{color:var(--muted)}.owner-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-xs);gap:12px;padding:16px;display:grid}.owner-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.owner-signal-grid,.owner-detail-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.owner-detail-grid div{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-3);gap:4px;padding:10px 12px;display:grid}.owner-detail-grid dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:700}.owner-detail-grid dd{overflow-wrap:anywhere;margin:0;font-weight:700}.owner-runtime-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.owner-runtime-grid div{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-3);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.owner-runtime-grid span{color:var(--muted);font-weight:700}.owner-pill{border:1px solid var(--border);border-radius:var(--radius-xs);min-height:26px;color:var(--muted);background:var(--surface-3);white-space:nowrap;justify-content:center;align-items:center;padding:4px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.owner-pill.ok{border-color:var(--success-bdr);color:var(--success);background:var(--success-bg)}.owner-pill.warn{border-color:var(--warn-bdr);color:var(--warn);background:var(--warn-bg)}.owner-link-button,.owner-danger-button{border:1px solid var(--border-md);min-height:38px;color:var(--text-2);background:var(--surface);cursor:pointer;border-radius:var(--radius-xs);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.owner-link-button:hover:not(:disabled){border-color:var(--border-str);background:var(--surface-3)}.owner-danger-button{border-color:var(--danger-bdr);color:var(--danger);background:var(--danger-bg)}.owner-danger-button:hover:not(:disabled){border-color:var(--danger);background:#fee2e2}.owner-link-button:disabled,.owner-danger-button:disabled{opacity:.5;cursor:not-allowed}.owner-note{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-3);gap:6px;padding:12px;display:grid}.owner-note p,.owner-note ul{margin:0}.owner-note.ok{border-color:var(--success-bdr);background:var(--success-bg)}.owner-note.warn,.owner-operations{border-color:var(--danger-bdr);background:var(--danger-bg)}.owner-operation-row,.owner-modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.owner-operation-row div{gap:3px;display:grid}.owner-disable-modal{border-radius:var(--radius-sm);width:min(560px,100%)}.owner-disable-modal .field{gap:7px;display:grid}.owner-disable-modal .field span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:700}.onboarding-backdrop{align-items:center}.onboarding-window{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-lg);align-content:start;gap:0;max-height:calc(100svh - 32px);padding:28px 24px 24px;display:grid;overflow-y:auto}.onb-progress{align-items:center;gap:0;margin-bottom:28px;display:flex}.onb-progress-step{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex;position:relative}.onb-progress-step+.onb-progress-step:before{content:"";background:var(--border);z-index:0;height:2px;transition:background .3s;position:absolute;top:15px;left:calc(16px - 50%);right:50%}.onb-progress-step.done+.onb-progress-step:before,.onb-progress-step.active+.onb-progress-step:before{background:var(--accent)}.onb-dot{border:2px solid var(--border-md);background:var(--surface-3);width:30px;height:30px;color:var(--muted);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;transition:all .2s;display:flex;position:relative}.onb-progress-step.active .onb-dot{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.onb-progress-step.done .onb-dot{border-color:var(--success);background:var(--success-bg);color:var(--success)}.onb-progress-step span{color:var(--muted);text-align:center;font-size:.7rem;font-weight:600}.onb-progress-step.active span{color:var(--accent)}.onb-progress-step.done span{color:var(--success)}.onb-body{gap:14px;animation:.22s onbFadeIn;display:grid}@keyframes onbFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onb-icon{margin-bottom:2px;font-size:2.4rem;line-height:1}.onb-actions{gap:8px;margin-top:4px;display:grid}.onb-actions .btn-primary{border-radius:var(--radius-md);width:100%;min-height:48px;font-size:1rem}.onb-skip{color:var(--muted);font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;padding:8px;font-size:.88rem}.onb-skip:hover{color:var(--text)}.onb-done{text-align:center;justify-items:center}.onb-booking-link{border-radius:var(--radius-sm);border:1px solid var(--accent-bdr);background:var(--accent-bg);color:var(--accent);word-break:break-all;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.onb-booking-link:hover{background:#dbeafe;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #2563eb1f}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=1080px){.header{grid-template-columns:1fr;padding:22px 20px}.tabs-main{justify-content:flex-start}.booking-form{position:static}}@media (width<=980px){.app{padding:16px 14px 24px}.owner-workspace{grid-template-columns:1fr}.owner-kpi-grid,.owner-runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-2{grid-template-columns:1fr}.bookings-filters{grid-template-columns:1fr 1fr}.bookings-search{grid-column:1/-1}.admin-booking-card__top{grid-template-columns:126px minmax(0,1fr)}.admin-booking-status{grid-column:2;justify-self:start}.admin-booking-details,.audit-filters{grid-template-columns:1fr 1fr}.tabs-admin{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tabs-admin .tab{flex:none}.form-grid,.specialist-meta-grid,.service-edit-grid{grid-template-columns:1fr}.specialist-card-head,.section-row{flex-direction:column}.specialist-kpis{justify-content:flex-start}.schedule-row{grid-template-columns:1fr}.schedule-actions{justify-content:flex-start}.schedule-actions .btn-primary{width:100%;min-width:0}.mini-chart{grid-template-columns:repeat(7,minmax(22px,1fr));height:170px}}@media (width<=640px){html,body,#root{width:100%;max-width:100%}.client-row-button{justify-items:stretch;display:grid}.client-row-stats{text-align:left;justify-content:flex-start;max-width:none}.owner-overview,.owner-detail-head,.owner-operation-row,.owner-modal-actions{flex-direction:column;align-items:stretch}.owner-token-panel,.owner-kpi-grid,.owner-runtime-grid{grid-template-columns:1fr;min-width:0}.owner-overview .btn-primary,.owner-operation-row .owner-danger-button,.owner-modal-actions .owner-link-button,.owner-modal-actions .owner-danger-button{width:100%}.app{padding:12px 10px calc(var(--mobile-nav-h) + 24px + var(--safe-bottom))}.header{border-radius:var(--radius-lg);border-left-width:3px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:12px}.header h1{max-width:13em;margin:0;font-size:clamp(1rem,4.8vw,1.28rem);line-height:1.14}.header .section-head{gap:2px}.header .section-head>.muted{display:none}.brand-top{letter-spacing:.14em;margin-bottom:1px;font-size:.68rem}.hero-kpis{display:none}.public-header-side{justify-items:end;gap:0;width:auto}.public-language.inline-actions{grid-template-columns:none;justify-content:flex-end;gap:4px;width:auto;display:inline-flex}.public-language.inline-actions .chip{width:auto;min-width:42px;min-height:34px;box-shadow:none;border-radius:999px;padding:6px 10px;font-size:.78rem}.public-language.inline-actions .theme-toggle{width:34px;min-width:34px;padding-inline:0}.tab{text-align:center;min-width:0}.tabs-public{left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));z-index:40;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:auto;box-shadow:var(--shadow-lg);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;display:grid;position:fixed}.tabs-public .tab{border-radius:var(--radius-sm);min-width:0;min-height:44px;padding:8px 6px;font-size:.84rem;line-height:1.15}.tabs-public .tab:not(.active){box-shadow:none;background:0 0;border-color:#0000}.admin-mobile-nav{width:100%;top:max(8px, env(safe-area-inset-top));z-index:20;border:1px solid var(--border-md);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:8px;padding:8px;display:grid;position:sticky}.admin-mobile-nav__field{margin-bottom:0}.admin-mobile-nav__field span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.72rem}.admin-mobile-nav__field select{text-overflow:ellipsis;min-height:46px;font-weight:700}.admin-mobile-nav__logout{min-width:82px;min-height:46px;padding-inline:10px}.tabs-admin{display:none}.tabs-admin-head{grid-template-columns:1fr;gap:6px;width:100%;padding-bottom:0;display:grid;overflow:visible}.tabs-admin-head .tab{min-width:0;min-height:40px;padding:7px 8px;font-size:.83rem;line-height:1.2}.panel{border-radius:var(--radius-md);padding:14px}.surface,.layout-2,.panel,.step-card,.booking-form,.booking-card,.manage-stage,.owner-console,.owner-workspace,.owner-company-list,.owner-detail-panel{min-width:0;max-width:100%}.manage-session-head,.booking-card .row,.booking-card .inline-actions,.modal-head,.google-connect-head{flex-direction:column;align-items:stretch}.booking-card .inline-actions .btn-primary,.booking-card .inline-actions .chip,.manage-session-head .inline-actions .chip,.modal-head .chip,.google-connect .chip{justify-content:center;width:100%}.chips,.time-filter-row{flex-wrap:wrap;display:flex}.chips .chip,.time-filter-row .chip{flex:calc(50% - 6px);justify-content:center;min-width:0}.booking-form .btn-primary,.admin-form .btn-primary{width:100%}.booking-form .btn-primary{border-radius:var(--radius-md);min-height:50px;font-size:1rem}.bookings-head{flex-direction:column;align-items:stretch}.bookings-head .chip{justify-content:center;width:100%}.bookings-filters{grid-template-columns:1fr}.bookings-search{grid-column:auto}.admin-booking-card{padding:12px}.admin-booking-card__top{grid-template-columns:1fr;gap:10px}.admin-booking-details,.audit-filters{grid-template-columns:1fr}.admin-booking-time{grid-template-columns:1fr auto;align-items:center}.admin-booking-status{grid-column:auto;justify-self:start}.admin-booking-actions{padding-top:0}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;align-items:end;padding:8px}.modal-window{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);width:100%;max-height:calc(100svh - 16px)}.specialist-card,.schedule-section,.schedule-summary{padding:12px}.admin-form,.layout-2,.booking-page-wrap{gap:10px}.booking-page-wrap .surface{border-radius:var(--radius-md)}.booking-progress{border-radius:var(--radius-sm);padding:10px 8px 12px}.booking-progress-step{flex:0 72px;min-width:0}.booking-progress-line{min-width:4px}.booking-progress-dot{width:26px;height:26px;font-size:.76rem}.booking-progress-label{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;max-width:72px;min-height:1.25em;font-size:.74rem;line-height:1.2;overflow:visible}.booking-steps-panel .step-card{display:none}.booking-steps-panel .step-card.step-active{animation:.24s stepSlideIn;display:block}@keyframes stepSlideIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.booking-steps-panel .section-head,[data-active-step="1"] .booking-form,[data-active-step="2"] .booking-form,[data-active-step="3"] .booking-form{display:none}.layout-2[data-active-step="4"]{grid-template-columns:1fr}.layout-2[data-active-step="4"] .booking-form{padding-bottom:calc(var(--mobile-nav-h) + 20px + var(--safe-bottom))}[data-active-step="4"] .booking-steps-panel,[data-active-step="5"] .booking-steps-panel,[data-active-step="5"] .booking-form{display:none}.step-back-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-bottom:12px;padding:0;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.step-back-btn:hover{color:var(--text)}.step-selection-badge{border-radius:var(--radius-xs);align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;display:inline-flex}.service-grid{grid-template-columns:repeat(2,1fr);gap:8px}.service-card{min-height:72px;padding:12px 12px 12px 14px}.service-card strong{font-size:.95rem;line-height:1.2}.service-card span{font-size:.8rem;line-height:1.25}.day-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.day-grid::-webkit-scrollbar{display:none}.day-chip{scroll-snap-align:start;flex:0 0 120px;min-height:64px}.quick-time-chip{flex:calc(33.333% - 6px);min-width:0;padding-inline:8px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.slot{border-radius:var(--radius-sm);min-height:56px;padding:12px 8px}.slot-time{font-size:1.04rem}.slot-wrap{max-height:none;padding-right:0;overflow:visible}.summary-row{flex-direction:column;align-items:flex-start;gap:6px;font-size:.9rem}.summary-row strong{text-align:left;max-width:100%}.booking-form .btn-primary[data-testid=booking-submit]{bottom:calc(var(--mobile-nav-h) + 10px + var(--safe-bottom));z-index:2;box-shadow:var(--shadow-lg);position:sticky}.row{flex-direction:column;align-items:flex-start}.oauth-link-row{grid-template-columns:1fr}.schedule-row{gap:6px}.status-wrap{flex-direction:column;align-items:flex-start;gap:12px}.status-donut{width:130px;height:130px}.status-hole{width:74px;height:74px;font-size:1.06rem}.hourly-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hourly-cell{min-height:30px}.inline-actions{grid-template-columns:1fr;display:grid}.inline-actions .chip,.inline-actions .btn-primary{justify-content:center;width:100%}.manual-recurrence-grid,.recurrence-slot-row,.segmented-control{grid-template-columns:1fr}.recurrence-slots-head{flex-direction:column;align-items:stretch}.recurrence-slots-head .chip,.recurrence-remove{width:100%}input,select,textarea{font-size:16px}.owner-company-list{max-height:42vh;overflow:auto}.owner-company-row{width:100%}.owner-detail-grid,.owner-signal-grid{grid-template-columns:1fr}.schedule-table{padding-bottom:2px;overflow-x:auto}.schedule-actions .btn-primary{min-width:0}}@media (width<=420px){.app{padding:10px 8px calc(var(--mobile-nav-h) + 20px + var(--safe-bottom))}.admin-mobile-nav{grid-template-columns:1fr}.admin-mobile-nav__logout{width:100%}.header{gap:8px;padding:10px}.header h1{word-break:break-word;max-width:11em;font-size:1rem;line-height:1.16}.header p{max-width:17em;font-size:.9rem;line-height:1.45}.public-language.inline-actions .chip{min-width:38px;min-height:32px;padding:5px 8px}.public-language.inline-actions .theme-toggle{width:32px;min-width:32px}.panel{padding:10px}.booking-progress{padding:9px 6px 10px}.booking-progress-step{flex-basis:64px}.booking-progress-dot{width:24px;height:24px;font-size:.72rem}.booking-progress-label{max-width:68px;min-height:1.25em;font-size:.72rem;line-height:1.18}.service-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.slot{min-height:50px;padding:10px 6px}.chips .chip,.time-filter-row .chip{flex-basis:100%}.day-chip{flex-basis:110px;min-height:62px}.quick-time-actions{grid-template-columns:1fr;display:grid}.quick-time-chip{width:100%}.booking-confirmed-wrap{padding:8px 0 18px}.booking-confirmed-screen{border-radius:var(--radius-md);padding:22px 14px 18px}.booking-confirmed-icon{width:56px;height:56px;margin-bottom:10px}.booking-confirmed-sub{margin-bottom:12px}.bcd-row{padding:9px 12px}.booking-confirmed-actions{grid-template-columns:1fr;display:grid}.booking-calendar-btn,.booking-confirmed-again{width:100%}.tabs-public{left:8px;right:8px}}
