:root{font-family:SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;color:#18181b;background:#f4f4f5;--color-primary: #e4e4e7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:#f4f4f5;color:#18181b}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding:25px;width:100%;box-sizing:border-box}.module-frame{display:flex;flex-direction:column;flex:1;width:100%;gap:14px}.view-tabs{display:inline-flex;width:fit-content;gap:4px;border:1px solid #e4e4e7;border-radius:8px;padding:4px;background:#fff}.view-tabs button{min-height:38px;border:0;border-radius:6px;padding:0 14px;background:transparent;color:#71717a;font-weight:850}.view-tabs button.active{background:#e4e4e7;color:#18181b}.booking-widget,.admin-panel{display:flex;flex-direction:column;flex:1;width:100%;padding:24px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;box-shadow:0 10px 30px -5px #18181b0d,0 4px 12px -2px #18181b05;box-sizing:border-box}.admin-panel{width:100%}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e4e4e7}.booking-header svg{width:42px;height:42px;padding:9px;border-radius:8px;color:#18181b;background:#e4e4e7}.eyebrow{display:block;margin-bottom:6px;color:#71717a;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:clamp(1.6rem,3vw,2.55rem);line-height:1.08;color:#18181b}h2{font-size:1rem;color:#18181b}.start-panel,.booking-flow,.done-panel{display:flex;flex-direction:column;flex:1;gap:22px;padding-top:24px}.start-panel p,.booking-summary,.done-panel p{color:#71717a;line-height:1.55}.primary-action,.secondary-action{display:inline-flex;width:fit-content;min-height:46px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;padding:0 18px;font-weight:800}.primary-action{color:#18181b;background:#e4e4e7;border:1px solid #d4d4d8}.primary-action:hover:not(:disabled){background:#d4d4d8}.primary-action:disabled{background:#f4f4f5;color:#a1a1aa;border-color:#e4e4e7}.secondary-action{color:#18181b;background:#f4f4f5;border:1px solid #e4e4e7}.secondary-action:hover{background:#e4e4e7}.danger-action{display:inline-flex;width:fit-content;min-height:46px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;padding:0 18px;color:#fff;background:#ef4444;font-weight:800}.danger-action:hover:not(:disabled){background:#dc2626}.danger-action:disabled{background:#fca5a5}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:8px;color:#18181b;font-weight:750}.input-shell,.native-date{display:flex;min-height:48px;align-items:center;gap:10px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#71717a}.input-shell{padding:0 14px}.input-shell:focus-within,.native-date:focus-within{border-color:#a1a1aa;box-shadow:0 0 0 3px #e4e4e799}.input-shell input,.native-date input,.reschedule-row input,.reschedule-row select{width:100%;border:0;outline:0;background:transparent;color:#18181b}.section-row{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px}.icon-button{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b}.icon-button:hover:not(:disabled){background:#f4f4f5}.service-select-container{position:relative;width:100%}.service-select-trigger{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d4d4d8;border-radius:12px;padding:12px 18px;background:#fff;color:#18181b;font-family:inherit;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 3px #18181b0a}.service-select-trigger:hover,.service-select-trigger.open{border-color:#18181b;box-shadow:0 0 0 3px #18181b14}.service-select-value{display:flex;align-items:center;gap:10px;text-align:left;flex-wrap:wrap}.service-select-name{font-weight:700;font-size:1.15rem;color:#18181b}.service-select-price{font-weight:700;font-size:1.1rem;color:#18181b;background:#f4f4f5;padding:2px 8px;border-radius:6px}.service-select-dot,.service-dropdown-dot{color:#a1a1aa;font-size:1.1rem}.service-select-duration{font-size:1.05rem;color:#71717a}.service-select-arrow{color:#71717a;transition:transform .2s ease,color .18s ease;flex-shrink:0}.service-select-trigger.open .service-select-arrow{transform:rotate(180deg);color:#18181b}.service-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 16px 36px -4px #18181b1f,0 4px 12px -2px #18181b0a;max-height:280px;overflow-y:auto;animation:dropdownFadeIn .16s cubic-bezier(.16,1,.3,1)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.service-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:background-color .14s ease}.service-dropdown-item:hover{background-color:#f4f4f5}.service-dropdown-item.selected{background-color:#e4e4e7;color:#18181b}.service-dropdown-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-dropdown-name{font-weight:600;font-size:1.1rem;color:#18181b}.service-dropdown-price{font-size:1.05rem;font-weight:700;color:#18181b}.service-dropdown-duration{font-size:.98rem;color:#71717a}.date-strip{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:thin}.date-strip:active{cursor:grabbing}.date-strip::-webkit-scrollbar{height:4px}.date-strip::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:4px}.date-option{display:grid;flex:0 0 78px;min-width:78px;min-height:84px;place-items:center;padding:10px 8px;scroll-snap-align:start;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b;transition:all .16s ease}.date-option:hover:not(.selected){border-color:#18181b}.date-option.selected,.date-option.selected:hover{border-color:#18181b;background:#e4e4e7}.date-option strong{font-size:1.25rem}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:206px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.slot-grid::-webkit-scrollbar{width:5px}.slot-grid::-webkit-scrollbar-track{background:transparent}.slot-grid::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:4px}.slot-option{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-weight:800;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b;transition:all .16s ease}.slot-option:hover:not(:disabled):not(.selected){border-color:#18181b}.slot-option.selected,.slot-option.selected:hover{border-color:#18181b;background:#e4e4e7}.slot-option:disabled{border-color:#e4e4e7;color:#a1a1aa;background:#f4f4f5;text-decoration:line-through}.native-date{width:min(100%,180px);padding:0 12px}.loading-label{display:inline-flex;align-items:center;gap:8px;color:#71717a;font-size:.9rem;font-weight:750}.status-error{border-left:4px solid #ef4444;padding:10px 12px;border-radius:6px;background:#fef2f2;color:#991b1b}.status-success{border-left:4px solid #10b981;padding:10px 12px;border-radius:6px;background:#ecfdf5;color:#065f46}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:24px}.admin-tools{display:grid;gap:14px;align-content:start;border:1px solid #e4e4e7;border-radius:8px;padding:16px;background:#fff}.stats-row{display:flex;flex-wrap:wrap;gap:8px}.stats-row span{display:inline-flex;min-height:30px;align-items:center;border-radius:8px;padding:0 10px;background:#f4f4f5;color:#18181b;font-size:.9rem;font-weight:800}.connection-badge{display:inline-flex;min-height:28px;align-items:center;border-radius:8px;padding:0 10px;background:#f4f4f5;color:#71717a;font-size:.82rem;font-weight:850}.connection-badge.connected{background:#e4e4e7;color:#18181b}@media(max-width:760px){.app-shell{align-items:start;padding:16px}.booking-widget{padding:18px}.admin-grid,.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:206px;overflow-y:auto}}@media(max-width:440px){.booking-widget{padding:14px}.admin-grid,.field-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:206px;overflow-y:auto}}:root{--admin-accent: #2563eb;--admin-accent-dark: #1d4ed8;--admin-ink: #172033;--admin-muted: #697386;--admin-line: #e5eaf1;--admin-surface: #ffffff;--admin-canvas: #f5f7fb}body{background:radial-gradient(circle at top right,rgba(37,99,235,.06),transparent 30rem),var(--admin-canvas)}.admin-panel{max-width:1440px;margin:0 auto;gap:20px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-dashboard-header{min-height:118px;padding:24px 26px;border:1px solid var(--admin-line);border-radius:18px;background:#fffffff0;box-shadow:0 12px 30px #1e293b0f}.admin-title-block{min-width:260px}.admin-title-block h1{color:var(--admin-ink);font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.035em}.admin-title-block p,.card-heading p,.filter-heading p,.list-heading p{margin-top:6px;color:var(--admin-muted);font-size:.9rem;line-height:1.45}.admin-panel .eyebrow{margin-bottom:7px;color:var(--admin-accent);font-size:.71rem;letter-spacing:.12em}.owner-profile-bar{display:flex;min-width:0;align-items:center;gap:14px}.owner-info-chip{display:flex;min-width:0;align-items:center;gap:11px;padding-right:15px;border-right:1px solid var(--admin-line)}.owner-avatar{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;background:#eaf1ff;color:var(--admin-accent)}.owner-copy{display:grid;min-width:0;gap:3px}.owner-copy strong{color:var(--admin-ink);font-size:.91rem}.owner-copy small{max-width:210px;overflow:hidden;color:var(--admin-muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.owner-actions{display:flex;align-items:center;gap:8px}.header-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--admin-line);border-radius:10px;padding:0 13px;background:#fff;color:#465166;font-size:.82rem;font-weight:750;transition:border-color .15s ease,background .15s ease,color .15s ease}.booking-header .header-action svg,.booking-header .owner-avatar svg{width:18px;height:18px;padding:0;border-radius:0;background:transparent;color:currentColor}.header-action:hover{border-color:#cbd5e1;background:#f8fafc;color:var(--admin-ink)}.header-action-primary{border-color:var(--admin-accent);background:var(--admin-accent);color:#fff}.header-action-primary:hover{border-color:var(--admin-accent-dark);background:var(--admin-accent-dark);color:#fff}.header-action-danger:hover{border-color:#fecaca;background:#fff5f5;color:#dc2626}.admin-tabs{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:6px;border-color:var(--admin-line);border-radius:14px;box-shadow:0 5px 16px #1e293b09}.promo-admin-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:18px}.promo-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.promo-list-card{padding:22px}.promo-code-list{display:grid;gap:10px;margin-top:18px}.promo-code-row{display:grid;grid-template-columns:64px minmax(0,1fr) 42px;align-items:center;gap:14px;border:1px solid var(--admin-line);border-radius:12px;padding:13px;background:#fff}.promo-percent{display:grid;min-height:48px;place-items:center;border-radius:10px;background:#e9f8ef;color:#15803d;font-size:.9rem;font-weight:850}.promo-code-row>div{display:grid;gap:4px;min-width:0}.promo-code-row strong{color:var(--admin-ink);font-size:.9rem;letter-spacing:.05em}.promo-code-row>div>span{color:var(--admin-muted);font-size:.72rem}.promo-delete:hover:not(:disabled){border-color:#fecaca;background:#fff5f5;color:#dc2626}.promo-empty-state{margin-top:18px}.promo-entry-card{display:grid;gap:11px;border:1px solid #dfe7f3;border-radius:12px;padding:14px;background:#f8faff}.promo-entry-card .field>span{display:flex;align-items:center;justify-content:space-between}.promo-entry-card .field small{color:var(--admin-muted);font-size:.68rem;font-weight:650}.promo-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.promo-input-row .secondary-action{min-width:104px}.promo-price-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e1e8f3;padding-top:11px;color:var(--admin-muted);font-size:.78rem}.promo-price-summary>div,.confirmation-price{display:inline-flex;align-items:baseline;gap:8px}.promo-price-summary del,.confirmation-price del{color:#8b95a7;font-size:.78rem;font-weight:600}.promo-price-summary strong{color:#15803d;font-size:1.05rem}.promo-success{display:flex;align-items:center;gap:6px;margin:0;color:#15803d;font-size:.76rem;font-weight:750}@media(max-width:900px){.promo-admin-layout{grid-template-columns:1fr}}@media(max-width:760px){.promo-date-grid,.promo-input-row{grid-template-columns:1fr}.promo-input-row .secondary-action{width:100%}.promo-list-card{padding:16px}.promo-code-row{grid-template-columns:54px minmax(0,1fr) 38px;gap:10px;padding:11px}}.admin-tabs button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:10px;color:#687386;font-size:.88rem;font-weight:700;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.admin-tabs button:hover:not(.active){background:#f7f9fc;color:var(--admin-ink)}.admin-tabs button.active{background:#edf3ff;color:var(--admin-accent-dark);box-shadow:inset 0 0 0 1px #d8e5ff}.admin-card{border:1px solid var(--admin-line);border-radius:16px;background:var(--admin-surface);box-shadow:0 8px 24px #1e293b0b}.admin-grid.settings-layout{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;padding-top:0}.admin-grid.alerts-layout{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:18px;padding-top:0}.admin-tools.admin-card{gap:18px;padding:22px}.shop-hours-card{grid-row:span 2}.settings-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.toggle-row{display:flex;align-items:center;gap:10px;min-height:42px;color:var(--admin-ink);font-size:.86rem;font-weight:700}.toggle-row input{width:18px;height:18px;accent-color:var(--admin-accent)}.card-heading,.card-heading-row{display:flex;align-items:center;gap:12px}.card-heading-row{justify-content:space-between}.card-heading h2,.filter-heading h2,.list-heading h2{color:var(--admin-ink);font-size:1rem;letter-spacing:-.01em}.card-heading p{margin-top:3px;font-size:.81rem}.card-icon{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:12px;background:#eaf1ff;color:var(--admin-accent)}.card-icon-warm{background:#fff2e8;color:#ea580c}.card-icon-google{background:#ecfdf5;color:#059669}.card-icon-whatsapp{background:#e7f8ee;color:#25d366}.admin-panel .field{gap:8px;color:#3f4a5f;font-size:.82rem;font-weight:700}.admin-panel .input-shell{min-height:48px;border-color:#dbe1ea;border-radius:10px;padding:0 10px;color:#8290a5;overflow:hidden;box-sizing:border-box}.admin-panel .input-shell:focus-within{border-color:#8bb3ff;box-shadow:0 0 0 3px #2563eb1c}.admin-panel .input-shell select,.admin-panel .input-shell input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--admin-ink);font-size:.88rem;font-weight:650}.admin-panel .input-shell input[type=date]{padding:0;font-size:.82rem}.message-template-input{width:100%;min-height:116px;resize:vertical;border:1px solid #dbe1ea;border-radius:10px;padding:12px 13px;background:transparent;color:var(--admin-ink);font:inherit;font-size:.9rem;font-weight:650;line-height:1.45;outline:0}.message-template-input:focus{border-color:#8bb3ff;box-shadow:0 0 0 3px #2563eb1c}.alert-config-warning{display:grid;gap:4px;border:1px solid #fecaca;border-radius:10px;padding:11px 12px;background:#fef2f2;color:#b91c1c;font-size:.82rem;font-weight:700}.alert-config-warning span{color:#dc2626;font-size:.78rem;font-weight:800;word-break:break-word}.input-suffix{color:var(--admin-muted);font-size:.78rem;font-weight:650}.admin-panel .primary-action,.admin-panel .secondary-action,.admin-panel .danger-action{min-height:42px;border-radius:10px;padding:0 15px;font-size:.84rem;font-weight:750;transition:transform .12s ease,background .15s ease,border-color .15s ease}.admin-panel .primary-action{border:1px solid var(--admin-accent);background:var(--admin-accent);color:#fff}.admin-panel .primary-action:hover:not(:disabled){background:var(--admin-accent-dark);transform:translateY(-1px)}.admin-panel .secondary-action{border-color:#dbe1ea;background:#fff;color:#465166}.admin-panel .secondary-action:hover:not(:disabled),.admin-panel .secondary-action.selected-filter{border-color:#a9c4f8;background:#f2f6ff;color:var(--admin-accent-dark)}.admin-panel .danger-action{border:1px solid #fecaca;background:#fff5f5;color:#dc2626}.admin-panel .danger-action:hover:not(:disabled){background:#fee2e2}.booking-summary{color:var(--admin-muted);font-size:.83rem;line-height:1.55}.blocked-date-list{display:grid;gap:9px}.blocked-date-row{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border:1px solid #fee2e2;border-radius:10px;padding:4px 5px 4px 13px;background:snow;color:#66464a;font-size:.84rem;font-weight:650}.blocked-date-row .icon-button{border:0;background:transparent;color:#dc2626}.connection-badge{border-radius:999px;background:#fff7ed;color:#c2410c}.connection-badge.connected{background:#dcfce7;color:#15803d}.booking-filter-card{margin-bottom:0}.filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.booking-filter-controls{display:grid;grid-template-columns:minmax(230px,1fr) auto auto auto;align-items:end;gap:10px}.filter-summary{color:var(--admin-muted);font-size:.8rem}.stats-row span{min-height:28px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#596579;font-size:.75rem;font-weight:700}.booking-list,.activity-log{display:grid;gap:12px;padding:22px}.list-heading{min-height:50px;margin-bottom:3px}.list-heading .eyebrow{margin-bottom:4px}.booking-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid var(--admin-line);border-radius:13px;padding:14px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.booking-item:hover{border-color:#cdd8e8;box-shadow:0 6px 18px #1e293b0d}.booking-info{display:grid;min-width:0;grid-template-columns:112px minmax(150px,1fr) auto;align-items:center;gap:18px}.booking-time-block{display:grid;gap:3px;border-right:1px solid var(--admin-line)}.booking-time-block strong{color:var(--admin-accent-dark);font-size:1.02rem}.booking-time-block span,.booking-customer span{color:var(--admin-muted);font-size:.76rem}.booking-customer{display:grid;min-width:0;gap:4px}.booking-customer-line{display:flex;min-width:0;align-items:center;gap:9px}.booking-customer strong{overflow:hidden;color:var(--admin-ink);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.booking-customer span,.service-pill{display:inline-flex;align-items:center;gap:6px}.service-pill{width:fit-content;border-radius:999px;padding:7px 10px;background:#f2f6ff;color:#315a9e;font-size:.76rem;font-weight:700}.booking-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.reschedule-row{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;padding:12px;border-radius:10px;background:#f8fafc}.reschedule-row input,.reschedule-row select{min-height:42px;border:1px solid #dbe1ea;border-radius:9px;padding:0 11px;background:#fff}.empty-state{display:grid;min-height:230px;place-items:center;align-content:center;gap:8px;border:1px dashed #d9e1ec;border-radius:13px;padding:30px;background:#fbfcfe;text-align:center}.empty-state-icon{display:inline-grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#edf3ff;color:var(--admin-accent)}.empty-state h3{margin:4px 0 0;color:var(--admin-ink);font-size:.96rem}.empty-state p{color:var(--admin-muted);font-size:.82rem}.log-count{display:inline-flex;min-height:32px;align-items:center;gap:7px;border-radius:999px;padding:0 11px;background:#f2f6ff;color:#315a9e;font-size:.76rem;font-weight:750}.log-entry{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;border:1px solid var(--admin-line);border-radius:12px;padding:15px;background:#fff}.log-entry>div{display:grid;gap:6px}.log-entry strong{color:#354056;font-size:.84rem;line-height:1.45}.log-entry>div>span{color:var(--admin-muted);font-size:.74rem}.log-badge{display:inline-flex;width:fit-content;height:27px;align-items:center;border-radius:999px;padding:0 9px;background:#f1f5f9;color:#526077;font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:capitalize}.log-badge.booked{background:#dcfce7;color:#15803d}.log-badge.cancelled{background:#fee2e2;color:#b91c1c}.log-badge.rescheduled{background:#e0e7ff;color:#4338ca}.log-badge.settings_updated{background:#fef3c7;color:#a16207}.status-success,.status-error{border:1px solid;border-left-width:1px;border-radius:11px;font-size:.83rem}.status-success{border-color:#bbf7d0}.status-error{border-color:#fecaca}.alert-banner{animation:alert-slide-in .26s ease-out both;transform-origin:top center;will-change:opacity,transform,max-height,margin}.alert-banner.leaving{animation:alert-slide-out .52s ease-in forwards}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alert-slide-out{0%{opacity:1;transform:translateY(0) scale(1);max-height:96px}70%{opacity:0;transform:translateY(-8px) scale(.99);max-height:96px}to{opacity:0;transform:translateY(-10px) scale(.985);max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0}}.auth-card-container{display:grid;min-height:calc(100vh - 50px);place-items:center;padding:28px 16px}.auth-card{width:min(100%,480px);border:1px solid var(--admin-line);border-radius:20px;padding:30px;background:#fff;box-shadow:0 20px 60px #1e293b1a}.auth-badge{display:inline-flex;min-height:31px;align-items:center;gap:7px;border-radius:999px;padding:0 10px;background:#edf3ff;color:var(--admin-accent-dark);font-size:.72rem;font-weight:800}.auth-header{display:grid;gap:9px;margin:22px 0}.auth-header h2{font-size:1.55rem}.auth-header p{color:var(--admin-muted);font-size:.88rem;line-height:1.55}.auth-form,.modal-body{display:grid;gap:16px}.form-group{display:grid;gap:8px}.form-group label{color:#3f4a5f;font-size:.82rem;font-weight:750}.input-icon-wrapper{position:relative}.input-icon{position:absolute;top:50%;left:13px;width:18px;transform:translateY(-50%);color:#8290a5}.input-field{width:100%;min-height:48px;border:1px solid #dbe1ea;border-radius:10px;padding:0 13px;outline:0;background:#fff;color:var(--admin-ink)}.input-icon-wrapper .input-field{padding-left:42px}.input-field:focus{border-color:#8bb3ff;box-shadow:0 0 0 3px #2563eb1c}.auth-submit-btn,.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:9px;border:0;border-radius:10px;padding:0 16px;background:var(--admin-accent);color:#fff;font-weight:750}.auth-alert,.auth-error-alert,.auth-success-alert{border-radius:10px;padding:11px 13px;font-size:.82rem}.auth-error-alert{background:#fef2f2;color:#991b1b}.auth-success-alert{background:#ecfdf5;color:#065f46}.flex-center{display:grid;place-items:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0f172a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{width:min(100%,460px);border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--admin-line)}.modal-header h3{margin:0;color:var(--admin-ink);font-size:1rem}.modal-body{padding:22px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.btn-icon{display:inline-grid;width:36px;height:36px;place-items:center;border:0;border-radius:9px;background:#f1f5f9;color:#526077}.flex-center-gap{display:flex;align-items:center;gap:9px}.spin,.icon-spin{animation:admin-spin .85s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}@media(max-width:1040px){.admin-dashboard-header{align-items:flex-start}.owner-profile-bar{align-items:flex-end;flex-direction:column}.owner-info-chip{padding-right:0;border-right:0}.booking-info{grid-template-columns:100px minmax(130px,1fr)}.service-pill{grid-column:2}}@media(max-width:820px){.app-shell{padding:16px}.admin-dashboard-header{flex-direction:column;gap:20px;padding:22px}.owner-profile-bar{width:100%;align-items:stretch}.owner-info-chip{width:100%}.owner-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid.settings-layout,.admin-grid.alerts-layout{grid-template-columns:1fr}.shop-hours-card{grid-row:auto}.booking-filter-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-filter-field{grid-column:1 / -1}.booking-item{grid-template-columns:1fr}.booking-actions{justify-content:flex-start}}@media(max-width:560px){.app-shell{padding:8px}.admin-panel{gap:10px}.admin-dashboard-header{gap:14px;min-height:0;padding:16px;border-radius:14px;box-shadow:0 8px 20px #1e293b0b}.admin-title-block{min-width:0}.admin-title-block h1{font-size:1.78rem;letter-spacing:-.045em}.admin-title-block .eyebrow{margin-bottom:5px;font-size:.64rem}.admin-title-block p{max-width:340px;margin-top:5px;font-size:.77rem;line-height:1.4}.owner-profile-bar{gap:11px}.owner-avatar{width:38px;height:38px;flex-basis:38px;border-radius:11px}.owner-copy strong{font-size:.84rem}.owner-copy small{font-size:.7rem}.owner-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.header-action{min-width:0;min-height:38px;gap:5px;padding:0 6px;font-size:.68rem;border-radius:9px}.booking-header .header-action svg{width:15px;height:15px;flex:0 0 15px}.admin-tabs{gap:2px;padding:4px;overflow:hidden;border-radius:11px}.admin-tabs button{min-width:0;min-height:47px;flex-direction:column;gap:3px;padding:4px 2px;font-size:.61rem;line-height:1.12;text-align:center}.admin-tabs button svg{margin-right:0!important}.admin-tools.admin-card,.booking-list,.activity-log{gap:14px;padding:15px;border-radius:13px;box-shadow:0 6px 18px #1e293b09}.card-heading{gap:10px}.card-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px}.card-heading h2,.filter-heading h2,.list-heading h2{font-size:.94rem}.card-heading p,.filter-heading p,.list-heading p{margin-top:2px;font-size:.74rem;line-height:1.35}.settings-time-grid{grid-template-columns:1fr}.admin-panel .input-shell{min-height:44px}.admin-panel .primary-action,.admin-panel .secondary-action,.admin-panel .danger-action{min-height:39px;padding:0 10px;font-size:.75rem}.shop-hours-card>.primary-action,.blocked-dates-card>.secondary-action,.calendar-sync-tool>.primary-action{width:100%}.booking-summary{font-size:.74rem}.filter-heading{align-items:center;flex-direction:row}.filter-heading>div:first-child{min-width:0}.filter-heading .stats-row{flex:0 0 auto;flex-direction:column;gap:4px}.filter-heading .stats-row span{min-height:23px;padding:0 8px;font-size:.65rem}.booking-filter-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.booking-filter-controls>button:last-of-type{grid-column:auto}.booking-filter-controls .secondary-action{width:100%;padding:0 4px}.filter-summary{font-size:.7rem}.booking-info{grid-template-columns:92px minmax(0,1fr);gap:12px}.booking-time-block{align-self:stretch;justify-content:center}.service-pill{grid-column:1 / -1}.booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-actions button{width:100%}.booking-item{gap:12px;padding:12px;border-radius:11px}.booking-time-block strong{font-size:.92rem}.booking-customer strong{font-size:.82rem}.booking-time-block span,.booking-customer span,.service-pill{font-size:.69rem}.service-pill{padding:6px 9px}.reschedule-row{grid-template-columns:1fr}.log-entry{grid-template-columns:1fr;gap:8px;padding:13px;border-radius:10px}.log-entry strong{font-size:.78rem}.log-entry>div>span{font-size:.68rem}.log-badge{height:24px;font-size:.62rem}.list-heading{align-items:flex-start;min-height:44px}.list-heading .eyebrow{font-size:.61rem}.log-count{flex:0 0 auto}.empty-state{min-height:180px;padding:20px 14px}.auth-card{padding:22px;border-radius:16px}}@media(min-width:821px){.booking-info{grid-template-columns:112px minmax(0,1fr);align-items:start}.service-pill{align-self:start;white-space:nowrap}}.booking-widget{max-width:980px;margin:0 auto;gap:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.booking-widget .booking-header{min-height:118px;padding:24px 26px;border:1px solid var(--admin-line);border-radius:18px;background:#fffffff2;box-shadow:0 12px 30px #1e293b0f}.booking-title-block .eyebrow{margin-bottom:7px;color:var(--admin-accent);font-size:.71rem;letter-spacing:.12em}.booking-title-block h1{color:var(--admin-ink);font-size:clamp(1.75rem,4vw,2.35rem);letter-spacing:-.04em}.booking-title-block p{margin-top:7px;color:var(--admin-muted);font-size:.88rem;line-height:1.45}.booking-brand-mark{display:inline-grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:0;border-radius:14px;padding:0;background:var(--admin-accent);color:#fff;box-shadow:0 8px 18px #2563eb38}.booking-widget .booking-header .booking-brand-mark svg{width:22px;height:22px;padding:0;border-radius:0;background:transparent;color:currentColor}.booking-widget .start-panel,.booking-widget .booking-flow,.booking-widget .done-panel{flex:0 0 auto;gap:20px;padding:24px;border:1px solid var(--admin-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #1e293b0b}.booking-widget .start-panel{min-height:300px;align-items:center;justify-content:center;text-align:center}.start-panel-icon,.success-mark{display:inline-grid;width:58px;height:58px;place-items:center;border-radius:18px;background:#edf3ff;color:var(--admin-accent)}.start-panel-copy{display:grid;gap:7px}.start-panel-copy h2,.booking-widget .done-panel h2{color:var(--admin-ink);font-size:1.15rem;letter-spacing:-.02em}.booking-widget .start-panel p,.booking-widget .booking-summary,.booking-widget .done-panel p{color:var(--admin-muted);font-size:.86rem;line-height:1.55}.booking-widget .section-row h2{color:var(--admin-ink);font-size:.9rem;letter-spacing:-.01em}.booking-widget .field{gap:8px;color:#3f4a5f;font-size:.82rem;font-weight:700}.booking-widget .input-shell,.booking-widget .native-date{min-height:48px;border-color:#dbe1ea;border-radius:10px;color:#8290a5}.booking-widget .input-shell:focus-within,.booking-widget .native-date:focus-within{border-color:#8bb3ff;box-shadow:0 0 0 3px #2563eb1c}.booking-widget .primary-action,.booking-widget .secondary-action{min-height:44px;border-radius:10px;padding:0 16px;font-size:.84rem;font-weight:750}.booking-widget .primary-action{border:1px solid var(--admin-accent);background:var(--admin-accent);color:#fff}.booking-widget .primary-action:hover:not(:disabled){background:var(--admin-accent-dark)}.booking-widget .primary-action:disabled{border-color:#dbe4f4;background:#edf1f7;color:#94a0b4}.booking-widget .secondary-action{border:1px solid #dbe1ea;background:#fff;color:#465166}.booking-widget .secondary-action:hover{border-color:#a9c4f8;background:#f2f6ff;color:var(--admin-accent-dark)}.booking-widget .icon-button{border-color:#dbe1ea;border-radius:10px;color:#66748a}.booking-widget .service-select-trigger{min-height:58px;border-color:#dbe1ea;border-radius:12px;box-shadow:none}.booking-widget .service-select-trigger:hover,.booking-widget .service-select-trigger.open{border-color:#8bb3ff;box-shadow:0 0 0 3px #2563eb1c}.booking-widget .service-select-name{color:var(--admin-ink);font-size:1rem}.booking-widget .service-select-value,.booking-widget .service-dropdown-info{display:grid;width:fit-content;grid-template-columns:var(--service-name-width, 14ch) 8px max-content 8px max-content;align-items:center;gap:8px}.booking-widget .service-select-dot,.booking-widget .service-dropdown-dot{text-align:center}.booking-widget .service-select-price{border-radius:999px;padding:3px 9px;background:#edf3ff;color:var(--admin-accent-dark);font-size:.88rem}.booking-widget .service-select-duration,.booking-widget .service-select-dot{color:var(--admin-muted);font-size:.84rem}.booking-widget .service-select-dropdown{border-color:var(--admin-line);border-radius:12px;box-shadow:0 18px 40px #1e293b21}.booking-widget .service-dropdown-item.selected{background:#edf3ff;color:var(--admin-accent-dark)}.booking-widget .date-strip{gap:9px;padding:2px 1px 8px}.booking-widget .date-option{flex-basis:75px;min-width:75px;min-height:82px;gap:2px;border-color:#dbe1ea;border-radius:11px;color:#5b687d}.booking-widget .date-option:hover:not(.selected){border-color:#8bb3ff}.booking-widget .date-option.selected,.booking-widget .date-option.selected:hover,.booking-widget .date-option.selected:focus{border-color:var(--admin-accent);background:var(--admin-accent);color:#fff;box-shadow:0 7px 15px #2563eb2e}.booking-widget .date-option span,.booking-widget .date-option small{font-size:.7rem}.booking-widget .date-option strong{font-size:1.15rem}.booking-widget .slot-grid{gap:9px}.booking-widget .slot-option{min-height:44px;border-color:#dbe1ea;border-radius:10px;color:#465166;font-size:.82rem}.booking-widget .slot-option:hover:not(:disabled):not(.selected){border-color:#8bb3ff;background:#f7f9ff;color:var(--admin-accent-dark)}.booking-widget .slot-option.selected,.booking-widget .slot-option.selected:hover,.booking-widget .slot-option.selected:focus{border-color:var(--admin-accent);background:var(--admin-accent);color:#fff;box-shadow:0 6px 14px #2563eb38}.booking-widget .slot-option:disabled{border-color:#edf0f4;background:#f8fafc;color:#b4bdca}.booking-widget .done-panel{min-height:300px;align-items:center;justify-content:center;text-align:center}.booking-widget .done-panel .success-mark{background:#dcfce7;color:#15803d}@media(max-width:760px){.booking-widget{gap:10px}.booking-widget .booking-header{min-height:0;padding:18px;border-radius:14px}.booking-title-block h1{font-size:1.75rem}.booking-title-block p{max-width:290px;font-size:.77rem}.booking-brand-mark{width:42px;height:42px;flex-basis:42px;border-radius:12px}.booking-widget .start-panel,.booking-widget .booking-flow,.booking-widget .done-panel{gap:16px;padding:16px;border-radius:13px}.booking-widget .start-panel,.booking-widget .done-panel{min-height:260px}.booking-widget .field-grid{grid-template-columns:1fr}.booking-widget .slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-widget .service-select-value{gap:6px}.booking-widget .service-select-name{width:100%}.booking-widget .native-date{width:165px}.booking-widget .booking-flow>.primary-action{width:100%}}@media(max-width:420px){.booking-widget .booking-header{align-items:flex-start;gap:12px;padding:16px}.booking-title-block h1{font-size:1.55rem}.booking-title-block p{font-size:.72rem}.booking-title-block .eyebrow{font-size:.62rem}.booking-brand-mark{width:38px;height:38px;flex-basis:38px}.booking-widget .section-row{align-items:flex-start}.booking-widget .section-row:has(.native-date){flex-direction:column}.booking-widget .native-date{width:100%}.booking-widget .date-option{flex-basis:68px;min-width:68px;min-height:76px}.booking-widget .slot-option{min-height:42px;padding:0 6px;font-size:.75rem}.booking-widget .slot-option svg{width:14px}.booking-widget .service-select-trigger{padding:11px 13px}.booking-widget .service-select-value,.booking-widget .service-dropdown-info{width:100%;grid-template-columns:minmax(0,1fr) 5px max-content 5px max-content;gap:5px}}.booking-confirmation-link{display:grid;width:min(100%,560px);gap:9px;border:1px solid #dbe7ff;border-radius:13px;padding:14px;background:#f6f9ff;text-align:left}.booking-confirmation-link>span{display:inline-flex;align-items:center;gap:7px;color:#53627a;font-size:.76rem;font-weight:750}.booking-confirmation-link a{overflow-wrap:anywhere;color:var(--admin-accent-dark);font-size:.82rem;font-weight:700}.booking-confirmation-link .secondary-action{width:fit-content}.public-confirmation-page{display:grid;width:min(100%,860px);gap:18px;margin:0 auto}.confirmation-page-header,.confirmation-card{border:1px solid var(--admin-line);background:#fff;box-shadow:0 12px 30px #1e293b0f}.confirmation-page-header{display:flex;align-items:center;gap:14px;border-radius:18px;padding:22px 24px}.confirmation-page-header h1{color:var(--admin-ink);font-size:clamp(1.55rem,4vw,2rem);letter-spacing:-.035em}.confirmation-brand-mark,.confirmation-check{display:inline-grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:14px;background:var(--admin-accent);color:#fff}.confirmation-card{display:grid;gap:22px;border-radius:18px;padding:28px}.confirmation-success-heading{display:flex;align-items:center;gap:13px}.confirmation-success-heading .confirmation-check{background:#dcfce7;color:#15803d}.confirmation-success-heading h2,.confirmation-state h2{color:var(--admin-ink);font-size:1.18rem}.confirmation-message{border-left:3px solid var(--admin-accent);padding:12px 14px;border-radius:0 10px 10px 0;background:#f6f9ff;color:#43516a;font-size:.9rem;line-height:1.6}.confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.confirmation-details>div{display:grid;grid-template-columns:22px 1fr;gap:3px 9px;border:1px solid var(--admin-line);border-radius:12px;padding:13px}.confirmation-details svg{grid-row:span 2;color:var(--admin-accent)}.confirmation-details span,.confirmation-code-row span{color:var(--admin-muted);font-size:.7rem;font-weight:650}.confirmation-details strong{min-width:0;overflow:hidden;color:var(--admin-ink);font-size:.84rem;text-overflow:ellipsis}.confirmation-code-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px dashed #a9c4f8;border-radius:12px;padding:14px;background:#fbfdff}.confirmation-code-row>div{display:grid;gap:4px}.confirmation-code-row strong{color:var(--admin-accent-dark);font-size:1rem;letter-spacing:.08em}.confirmation-code-row .secondary-action,.confirmation-back-link{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border:1px solid #dbe1ea;border-radius:10px;padding:0 13px;background:#fff;color:#465166;font-size:.78rem;font-weight:750;text-decoration:none}.confirmation-back-link{width:fit-content}.confirmation-state{display:grid;min-height:280px;place-items:center;align-content:center;gap:10px;color:var(--admin-muted);text-align:center}.confirmation-error-icon{display:inline-grid;width:50px;height:50px;place-items:center;border-radius:15px;background:#fee2e2;color:#b91c1c;font-size:1.25rem;font-weight:900}@media(max-width:560px){.confirmation-page-header{padding:17px;border-radius:14px}.confirmation-brand-mark{width:42px;height:42px;flex-basis:42px}.confirmation-card{gap:17px;padding:17px;border-radius:14px}.confirmation-details{grid-template-columns:1fr}.confirmation-code-row{align-items:stretch;flex-direction:column}.confirmation-code-row .secondary-action,.booking-confirmation-link .secondary-action{width:100%}}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.filter-bar .native-date{width:auto;min-width:170px}.filter-summary{font-size:.85rem;color:#71717a;margin:4px 0 12px}.selected-filter{background:#e4e4e7!important;border-color:#18181b!important;font-weight:700!important}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:16px;margin-top:14px;border-top:1px solid #e4e4e7}.pagination-info{font-size:.88rem;color:#71717a}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination-btn{min-height:38px;padding:0 12px;font-size:.88rem}.pagination-page-num{font-size:.88rem;font-weight:700;color:#18181b}.log-entry{display:block;overflow:hidden;padding:0;border:1px solid #e4e4e7;border-radius:10px;background:#fff;margin-bottom:8px}.log-entry-summary{display:grid;width:100%;grid-template-columns:minmax(160px,max-content) minmax(0,1fr) 24px;align-items:center;gap:14px;border:0;padding:14px 16px;background:transparent;color:inherit;text-align:left}.log-entry-summary:disabled{cursor:default;opacity:1}.log-entry.expandable .log-entry-summary:hover{background:#f8faff}.log-entry.expandable .log-entry-summary:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:-3px}.log-entry-copy{display:grid;gap:5px;min-width:0}.log-entry-copy strong{color:#354056;font-size:.84rem;line-height:1.45}.log-entry-copy>span{color:var(--admin-muted);font-size:.74rem}.log-entry-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.log-promo-badge{display:inline-flex;min-height:27px;align-items:center;border-radius:6px;padding:4px 8px;background:#e7f0ff;color:#1d5fd1;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.log-entry-chevron{color:#7b879a;transition:transform .16s ease}.log-entry.expanded .log-entry-chevron{transform:rotate(180deg)}.log-entry .log-entry-details{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e6ebf3;padding:13px 16px 13px 140px;background:#f8faff}.log-detail-grid{display:grid;flex:1;grid-template-columns:repeat(4,minmax(110px,1fr));gap:16px}.log-detail-item{display:grid;gap:3px}.log-entry-details span{color:var(--admin-muted);font-size:.7rem;font-weight:700}.log-entry-details strong{color:var(--admin-ink);font-size:.94rem;letter-spacing:.08em}.log-entry-details a{color:var(--admin-accent-dark);font-size:.78rem;font-weight:750;text-decoration:none}.log-entry-details a:hover{text-decoration:underline}.log-badge{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:6px;font-size:.78rem;font-weight:800;text-transform:uppercase;background:#f4f4f5;color:#18181b;white-space:nowrap}.log-badge.created{background:#ecfdf5;color:#065f46}.log-badge.rescheduled{background:#eff6ff;color:#1e40af}.log-badge.cancelled{background:#fef2f2;color:#991b1b}.log-badge.setting_updated,.log-badge.settings_updated{background:#f5f3ff;color:#5b21b6}@media(max-width:760px){.log-entry-summary{grid-template-columns:minmax(0,1fr) 22px;gap:8px;padding:13px}.log-entry-badges,.log-entry-copy{grid-column:1}.log-entry-chevron{grid-column:2;grid-row:1 / span 2}.log-entry .log-entry-details{flex-direction:column;align-items:flex-start;padding:12px 13px}.log-detail-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
