.scheduler-overlay{--sch-radius:14px;--sch-radius-sm:10px;--sch-radius-xs:8px;--sch-accent:var(--accent,#0d6efd);--sch-accent-dark:var(--accent-dark,#0b5ed7);--sch-accent-light:var(--accent-light,#e7f1ff);--sch-text:var(--text-primary,#1a1a2e);--sch-text-muted:var(--text-secondary,#4a5568);--sch-border:#e5e7eb;--sch-bg-subtle:#f9fafb;--sch-transition:.18s ease;z-index:1050;-webkit-backdrop-filter:blur(4px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0f162973;justify-content:center;align-items:center;padding:1rem;animation:.25s sch-fade-in;display:flex;position:fixed;inset:0}@keyframes sch-fade-in{0%{opacity:0}to{opacity:1}}.scheduler-modal{border-radius:var(--sch-radius);width:100%;max-width:920px;max-height:calc(90vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(90dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;background:#fff;animation:.3s cubic-bezier(.16,1,.3,1) sch-slide-up;position:relative;overflow-y:auto;box-shadow:0 24px 80px #00000029,0 0 0 1px #00000008}@keyframes sch-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.scheduler-modal::-webkit-scrollbar{width:6px}.scheduler-modal::-webkit-scrollbar-track{background:0 0}.scheduler-modal::-webkit-scrollbar-thumb{background:#00000012;border-radius:3px}.scheduler-close{z-index:2;color:var(--sch-text-muted);cursor:pointer;border-radius:var(--sch-radius-xs);transition:var(--sch-transition);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;line-height:1;display:flex;position:absolute;top:14px;right:14px}.scheduler-close:hover{background:var(--sch-bg-subtle);color:var(--sch-text)}.scheduler-close:focus-visible{outline:2px solid var(--sch-accent);outline-offset:2px}.scheduler-steps{justify-content:center;align-items:center;gap:0;padding:1.5rem 1.5rem 0;display:flex}.scheduler-step{cursor:default;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:flex}.scheduler-step-dot{border:2px solid var(--sch-border);width:26px;height:26px;color:var(--sch-text-muted);transition:all var(--sch-transition);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.scheduler-step.active .scheduler-step-dot,.scheduler-step.completed .scheduler-step-dot{border-color:var(--sch-accent);background:var(--sch-accent);color:#fff}.scheduler-step-label{color:var(--sch-text-muted);transition:color var(--sch-transition);font-size:.8rem;font-weight:500}.scheduler-step.active .scheduler-step-label{color:var(--sch-text);font-weight:600}.scheduler-step-connector{background:var(--sch-border);width:40px;height:2px;transition:background var(--sch-transition);border-radius:1px;margin:0 .5rem}.scheduler-step-connector.active{background:var(--sch-accent)}.scheduler-header{border-bottom:1px solid var(--sch-border);align-items:center;gap:.875rem;padding:1.25rem 1.75rem;display:flex}.scheduler-header-icon{border-radius:var(--sch-radius-sm);background:var(--sch-accent-light);width:44px;height:44px;color:var(--sch-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.scheduler-header h5{font-size:1.1rem;line-height:1.3}.scheduler-trust-line{color:var(--sch-text-muted);margin-top:2px;font-size:.825rem}.scheduler-body{min-height:440px;display:flex}.scheduler-panel{padding:1.25rem 1.5rem}.scheduler-panel-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--sch-text-muted);margin-bottom:1rem;font-size:.7rem;font-weight:700}.scheduler-mobile-step{display:none}.scheduler-dates{border-right:1px solid var(--sch-border);background:var(--sch-bg-subtle);border-radius:0 0 0 var(--sch-radius);flex:0 0 270px}.scheduler-date-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.scheduler-date-btn{border-radius:var(--sch-radius-sm);cursor:pointer;transition:all var(--sch-transition);background:#fff;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex;position:relative}.scheduler-date-btn:hover{border-color:var(--sch-accent);transform:translateY(-1px);box-shadow:0 2px 8px #ff6b351f}.scheduler-date-btn:focus-visible{outline:2px solid var(--sch-accent);outline-offset:2px}.scheduler-date-btn.active{background:var(--sch-accent);border-color:var(--sch-accent);color:#fff;box-shadow:0 4px 12px #ff6b3540}.scheduler-date-btn.active .scheduler-date-day,.scheduler-date-btn.active .scheduler-date-num,.scheduler-date-btn.active .scheduler-date-month{color:#fff}.scheduler-date-btn.today:after{content:"";background:var(--sch-accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.scheduler-date-btn.active.today:after{background:#fff}.scheduler-date-day{text-transform:uppercase;letter-spacing:.3px;color:var(--sch-text-muted);font-size:.575rem;font-weight:600}.scheduler-date-num{color:var(--sch-text);font-size:1rem;font-weight:700;line-height:1.2}.scheduler-date-month{color:var(--sch-text-muted);opacity:.8;font-size:.55rem;font-weight:500}.scheduler-tz-badge{color:var(--sch-text-muted);background:#0000000a;border-radius:100px;align-items:center;gap:.375rem;margin-top:1rem;padding:.3rem .75rem;font-size:.7rem;font-weight:500;display:inline-flex}.scheduler-slots{border-right:1px solid var(--sch-border);flex-direction:column;flex:0 0 170px;display:flex}.scheduler-slots-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.scheduler-slots-empty-icon{background:var(--sch-bg-subtle);width:48px;height:48px;color:var(--sch-text-muted);opacity:.4;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.scheduler-slots-empty p{color:var(--sch-text-muted);opacity:.6;margin:0;font-size:.8rem}.scheduler-slot-list{flex-direction:column;gap:6px;max-height:380px;padding-right:4px;display:flex;overflow-y:auto}.scheduler-slot-list::-webkit-scrollbar{width:4px}.scheduler-slot-list::-webkit-scrollbar-track{background:0 0}.scheduler-slot-list::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.scheduler-slot-list::-webkit-scrollbar-thumb:hover{background:#00000024}.scheduler-slot-btn{border:1.5px solid var(--sch-border);border-radius:var(--sch-radius-xs);cursor:pointer;text-align:center;transition:all var(--sch-transition);white-space:nowrap;color:var(--sch-text);background:#fff;padding:10px 14px;font-size:.85rem;font-weight:500}.scheduler-slot-btn:hover{border-color:var(--sch-accent);color:var(--sch-accent);background:var(--sch-accent-light)}.scheduler-slot-btn:focus-visible{outline:2px solid var(--sch-accent);outline-offset:2px}.scheduler-slot-btn.active{background:var(--sch-accent);border-color:var(--sch-accent);color:#fff;font-weight:600;box-shadow:0 2px 8px #ff6b3533}.scheduler-form{flex-direction:column;flex:1;min-width:0;display:flex}.scheduler-form .form-control{border:1.5px solid var(--sch-border);border-radius:var(--sch-radius-xs);transition:border-color var(--sch-transition),box-shadow var(--sch-transition);padding:.625rem .875rem;font-size:.875rem}.scheduler-form .form-control:focus{border-color:var(--sch-accent);box-shadow:0 0 0 3px #ff6b351a}.scheduler-form .form-control::placeholder{color:#a0aec0;font-weight:400}.scheduler-summary{background:var(--sch-accent-light);border-radius:var(--sch-radius-xs);color:var(--sch-text);border:1px solid #ff6b3526;padding:.875rem 1rem;font-size:.8rem}.scheduler-summary strong{font-size:.825rem}.scheduler-next-steps{background:var(--sch-bg-subtle);border-radius:var(--sch-radius-xs);color:var(--sch-text-muted);padding:.875rem 1rem;font-size:.775rem}.scheduler-next-steps-title{text-transform:uppercase;letter-spacing:.8px;color:var(--sch-text);margin-bottom:.5rem;font-size:.65rem;font-weight:700}.scheduler-next-steps ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.scheduler-next-steps li{align-items:center;gap:.5rem;display:flex}.scheduler-next-steps li:before{content:"✓";color:var(--sch-accent);flex-shrink:0;font-size:.7rem;font-weight:700}.scheduler-error{border-radius:var(--sch-radius-xs);color:#dc2626;background:#fef2f2;border:1px solid #fecaca;padding:.75rem 1rem;font-size:.8rem;line-height:1.5}.scheduler-confirm-btn{border-radius:var(--sch-radius-xs)!important;transition:all var(--sch-transition)!important;padding:.75rem 1.25rem!important;font-size:.9rem!important}.scheduler-confirm-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff6b354d}.scheduler-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.scheduler-guidance-text{text-align:center;color:var(--sch-text-muted);opacity:.5;margin:0;font-size:.8rem}.scheduler-success{text-align:center;padding:3.5rem 2rem}.scheduler-success-icon{color:#16a34a;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;animation:.4s cubic-bezier(.16,1,.3,1) sch-success-pop;display:flex}@keyframes sch-success-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.scheduler-success h4{font-size:1.5rem}.scheduler-success-subtitle{color:var(--sch-text-muted);margin-bottom:1.75rem;font-size:.9rem}.scheduler-success-card{border:1px solid var(--accent);text-align:left;background:rgba(var(--accent-rgb),.05);border-left:4px solid var(--accent);color:#1f2937;border-radius:12px;max-width:380px;margin:0 auto 1.75rem;padding:1.25rem}.scheduler-success-card .text-accent{color:var(--sch-accent)!important}.scheduler-success-note{color:var(--sch-text-muted);margin-bottom:1.75rem;font-size:.85rem;line-height:1.7}.scheduler-success .btn{border-radius:var(--sch-radius-xs);padding:.625rem 1.5rem;font-size:.875rem}@media (max-width:991px){.scheduler-overlay{align-items:flex-end;padding:0}.scheduler-modal{max-width:100%;max-height:calc(95vh - env(safe-area-inset-bottom,0px));max-height:calc(95dvh - env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-radius:16px 16px 0 0}.scheduler-steps{display:none}.scheduler-mobile-step{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.scheduler-mobile-step-num{background:var(--sch-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.625rem;font-weight:700;display:flex}.scheduler-mobile-step-text{text-transform:uppercase;letter-spacing:.8px;color:var(--sch-text-muted);font-size:.675rem;font-weight:600}.scheduler-body{flex-direction:column;min-height:auto}.scheduler-dates,.scheduler-slots{border-right:none;border-bottom:1px solid var(--sch-border);border-radius:0;flex:none}.scheduler-dates{background:var(--sch-bg-subtle)}.scheduler-slot-list{flex-flow:wrap;gap:8px;max-height:none;padding-right:0}.scheduler-slot-btn{flex:none;padding:8px 16px;font-size:.825rem}.scheduler-header{padding:1rem 1.25rem}.scheduler-panel{padding:1.25rem}.scheduler-success{padding:2.5rem 1.5rem}}@media (max-width:576px){.scheduler-date-grid{gap:4px}.scheduler-date-btn{padding:6px 2px}.scheduler-date-num{font-size:.9rem}.scheduler-date-day{font-size:.5rem}.scheduler-header h5{font-size:1rem}.scheduler-trust-line{font-size:.75rem}.scheduler-success h4{font-size:1.25rem}.scheduler-success-card{padding:1.25rem;font-size:.85rem}}@media (prefers-reduced-motion:reduce){.scheduler-overlay,.scheduler-modal,.scheduler-success-icon{animation:none}.scheduler-date-btn,.scheduler-slot-btn,.scheduler-confirm-btn:not(:disabled){transition:none}.scheduler-confirm-btn:not(:disabled):hover,.scheduler-date-btn:hover{transform:none}}
