.step-dots{display: flex !important;gap: 0.5rem !important;align-items: center !important}
.step-dot{width: 0.625rem !important;height: 0.625rem !important;border-radius: 50% !important;background: rgb(229, 231, 235) !important;transition: background 0.2s !important}
.step-dot.active{background: rgb(var(--color-primary-500)) !important}
.sched-card{background: rgb(255, 255, 255) !important;border-radius: 1.5rem !important;padding: 2rem !important;box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 48px !important}
.sched-step{display: none !important}
.sched-step.active{display: block !important}
.cal-header{display: flex !important;align-items: center !important;justify-content: space-between !important;margin-bottom: 1rem !important}
.cal-month-label{font-size: 0.9375rem !important;font-weight: 700 !important;color: rgb(17, 17, 17) !important}
.cal-nav{width: 2rem !important;height: 2rem !important;border-radius: 0.5rem !important;border: 1px solid rgb(229, 231, 235) !important;background: rgb(255, 255, 255) !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;color: rgb(85, 85, 85) !important;transition: background 0.15s !important;flex-shrink: 0 !important}
.cal-nav:hover{background: rgb(243, 244, 246) !important}
.cal-grid{display: grid !important;grid-template-columns: repeat(7, 1fr) !important;gap: 0.2rem !important}
.cal-dow{text-align: center !important;font-size: 0.625rem !important;font-weight: 700 !important;color: rgb(156, 163, 175) !important;text-transform: uppercase !important;padding: 0.25rem 0px !important;letter-spacing: 0.04em !important}
.cal-day{text-align: center !important;padding: 0.5rem 0.125rem !important;border-radius: 0.4375rem !important;font-size: 0.8125rem !important;cursor: pointer !important;transition: background 0.12s, color 0.12s !important;color: rgb(17, 17, 17) !important;background: transparent !important;border-width: medium !important;border-style: none !important;border-color: currentcolor !important;border-image: initial !important;font-family: inherit !important;width: 100% !important}
.cal-day:hover:not(:disabled){background: rgb(var(--color-primary-50)) !important;color: rgb(var(--color-primary-600)) !important}
.cal-day.selected{background: rgb(var(--color-primary-500)) !important;color: rgb(255, 255, 255) !important;font-weight: 700 !important}
.cal-day.today:not(.selected):not(:disabled){font-weight: 700 !important;box-shadow: inset 0 0 0 1.5px rgb(var(--color-primary-400)) !important;color: rgb(var(--color-primary-600)) !important}
.cal-day:disabled{color: rgb(209, 213, 219) !important;cursor: not-allowed !important;background: transparent !important}
.cal-day.cal-empty{cursor: default !important;pointer-events: none !important}
.time-slots-wrap{margin-top: 1.125rem !important;border-top: 1px solid rgb(243, 244, 246) !important;padding-top: 1.125rem !important}
.time-slots-label{font-size: 0.8125rem !important;font-weight: 600 !important;color: rgb(55, 65, 81) !important;margin-bottom: 0.5rem !important;display: flex !important;align-items: baseline !important;gap: 0.375rem !important;flex-wrap: wrap !important}
.time-slots-label span{font-weight: 400 !important;color: rgb(156, 163, 175) !important;font-size: 0.75rem !important}
.time-slots-grid{display: grid !important;grid-template-columns: repeat(4, 1fr) !important;gap: 0.3rem !important}
.time-slot{padding: 0.5rem 0.125rem !important;border-radius: 0.4375rem !important;border: 1px solid rgb(229, 231, 235) !important;background: rgb(255, 255, 255) !important;font-size: 0.75rem !important;text-align: center !important;cursor: pointer !important;transition: 0.12s !important;color: rgb(55, 65, 81) !important;font-family: inherit !important;line-height: 1.3 !important}
.time-slot:hover{border-color: rgb(var(--color-primary-400)) !important;color: rgb(var(--color-primary-600)) !important;background: rgb(var(--color-primary-50)) !important}
.time-slot.selected{background: rgb(var(--color-primary-500)) !important;border-color: rgb(var(--color-primary-500)) !important;color: rgb(255, 255, 255) !important;font-weight: 600 !important}
.sched-summary{display: flex !important;align-items: flex-start !important;gap: 0.625rem !important;background: rgb(var(--color-primary-50)) !important;border: 1px solid rgb(var(--color-primary-100)) !important;border-radius: 0.75rem !important;padding: 0.75rem 1rem !important;margin-bottom: 1.25rem !important;font-size: 0.875rem !important;color: rgb(var(--color-primary-700)) !important;line-height: 1.5 !important}
.sched-field{display: flex !important;flex-direction: column !important;gap: 0.3rem !important}
.sched-field label{font-size: 0.8125rem !important;font-weight: 600 !important;color: rgb(55, 65, 81) !important}
.sched-field input, .sched-field select, .sched-field textarea{width: 100% !important;padding: 0.5625rem 0.8125rem !important;border-radius: 0.5625rem !important;border: 1px solid rgb(209, 213, 219) !important;font-size: 0.9375rem !important;font-family: inherit !important;background: rgb(255, 255, 255) !important;color: rgb(17, 17, 17) !important;transition: border-color 0.15s !important;outline: none !important;box-sizing: border-box !important}
.sched-field input:focus, .sched-field select:focus, .sched-field textarea:focus{border-color: rgb(var(--color-primary-500)) !important;box-shadow: rgba(14, 165, 233, 0.12) 0px 0px 0px 3px !important}
.sched-field input::placeholder, .sched-field textarea::placeholder{color: rgb(156, 163, 175) !important}
.sched-err{font-size: 0.8125rem !important;color: rgb(239, 68, 68) !important;margin-top: 0.2rem !important;display: none !important}
.sched-err.show{display: block !important}
#sched-btn-next:disabled{opacity: 0.45 !important;cursor: not-allowed !important}