.step-dot{display:flex;align-items:center;gap:6px}.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:2px solid var(--color-border);color:var(--color-text-muted);transition:all .25s ease;flex-shrink:0}.step-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);transition:color .25s}.step-line{height:2px;background:var(--color-border);border-radius:2px;min-width:12px}.step-dot.active .step-num{background:var(--color-indigo-500);border-color:var(--color-indigo-500);color:#fff}.step-dot.active .step-label{color:var(--color-text-primary)}.step-dot.completed .step-num{background:var(--color-teal-400);border-color:var(--color-teal-400);color:#fff}.step-line.completed{background:var(--color-teal-400)}.field-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:6px}.field-input{width:100%;padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:#fff;color:var(--color-text-primary);font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.field-input:focus{outline:none;border-color:var(--color-indigo-400);box-shadow:0 0 0 3px #5b6bff1a}.field-error{background:#fff1f2;border:1.5px solid #fca5a5;border-radius:var(--radius-sm);padding:12px 16px;font-size:.85rem;color:var(--color-coral)}.radio-card,.check-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;color:var(--color-text-secondary);transition:all .15s ease;background:#fff;user-select:none}.radio-card:hover,.check-card:hover{border-color:var(--color-indigo-300);background:var(--color-indigo-50)}.radio-card:focus-within,.check-card:focus-within{outline:2px solid var(--color-indigo-500);outline-offset:2px}.radio-card.selected,.check-card.selected{border-color:var(--color-indigo-500);background:var(--color-indigo-50);color:var(--color-text-primary);font-weight:600}.radio-dot,.check-box{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;transition:all .15s;display:flex;align-items:center;justify-content:center}.check-box{border-radius:4px}.radio-card.selected .radio-dot{border-color:var(--color-indigo-500);background:var(--color-indigo-500);box-shadow:inset 0 0 0 3px #fff}.check-card.selected .check-box{border-color:var(--color-indigo-500);background:var(--color-indigo-500)}.check-card.selected .check-box:after{content:"✓";color:#fff;font-size:.65rem;font-weight:700}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--color-indigo-500);color:#fff;font-weight:600;padding:14px 24px;border-radius:var(--radius-sm);border:none;font-size:.92rem;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #5b6bff40;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none}.btn-primary:hover{background:var(--color-indigo-600);transform:translateY(-1px);box-shadow:0 4px 16px #5b6bff4d}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--color-indigo-500);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.btn-back:hover{text-decoration:underline}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-indigo-500);border-radius:50%;animation:app-spin .7s linear infinite}.spinner-sm{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:app-spin .7s linear infinite;display:inline-block}@keyframes app-spin{to{transform:rotate(360deg)}}@keyframes scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.date-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:var(--radius-sm);border:2px solid var(--color-border);cursor:pointer;min-width:68px;background:#fff;scroll-snap-align:start;flex-shrink:0;transition:all .15s}.date-card:hover{border-color:var(--color-indigo-300);background:var(--color-indigo-50)}.date-card.selected{border-color:var(--color-indigo-500);background:var(--color-indigo-50);box-shadow:0 2px 8px #5b6bff1f}.date-card .day-name{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.date-card .day-num{font-size:1.25rem;font-weight:800;color:var(--color-text-primary);line-height:1}.date-card .month{font-size:.62rem;color:var(--color-text-muted)}.date-card.selected .day-name,.date-card.selected .month{color:var(--color-indigo-500)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.slot-group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--color-text-muted);margin:16px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.slot-group-label:first-child{margin-top:0}.slot-pill{display:block;padding:10px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:#fff;text-align:center;font-size:.82rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .15s;white-space:nowrap}.slot-pill:hover{border-color:var(--color-indigo-400);background:var(--color-indigo-50);transform:translateY(-1px)}.slot-pill.selected{border-color:var(--color-indigo-500);background:var(--color-indigo-500);color:#fff;box-shadow:0 2px 10px #5b6bff4d}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
