.agenda-page{max-width:900px;margin:4rem auto;padding:0 2rem}.agenda-steps{flex-wrap:wrap;gap:.5rem;margin-bottom:3rem;display:flex}.agenda-step{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.85rem;font-weight:500;display:flex}.agenda-step.active{color:var(--primary-color)}.agenda-step.done{color:var(--accent-color)}.step-num{width:26px;height:26px;color:var(--text-muted);background:#6059301f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.agenda-step.active .step-num{background:var(--primary-color);color:#fff}.agenda-step.done .step-num{background:var(--accent-color);color:#fff}.step-arrow{color:#60593057;font-size:.75rem}.calendar-card{background:var(--surface-color);border-radius:20px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 24px #433d220f}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-header h3{margin:0;font-size:1.15rem}.cal-nav{border:1.5px solid var(--line-color);cursor:pointer;width:36px;height:36px;color:var(--text-dark);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;transition:background .2s,border-color .2s;display:flex}.cal-nav:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}.calendar-dow{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.4rem 0;font-size:.72rem;font-weight:600}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-dark);background:0 0;border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:.9rem;transition:all .15s;display:flex}.calendar-day:hover:not(:disabled):not(.past):not(.empty){background:var(--bg-secondary);border-color:var(--primary-color)}.calendar-day.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.calendar-day.today{border-color:var(--accent-color);color:var(--accent-color);font-weight:700}.calendar-day.past,.calendar-day.closed{color:#ccc;cursor:not-allowed}.calendar-day.empty{cursor:default}.slots-card{background:var(--surface-color);border-radius:20px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 24px #433d220f}.slots-card h3{margin-bottom:1.5rem;font-size:1.1rem}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem;display:grid}.slot{text-align:center;border:1.5px solid var(--line-color);cursor:pointer;background:var(--surface-color);color:var(--text-dark);border-radius:10px;padding:.65rem .5rem;font-size:.88rem;font-weight:500;transition:all .15s}.slot.available:hover,.slot.selected-slot{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.slot.taken{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;font-size:.75rem}.booking-form-card{background:var(--surface-color);border-radius:20px;padding:2.5rem;box-shadow:0 4px 24px #433d220f}.booking-summary{background:var(--bg-secondary);color:var(--text-dark);border-radius:12px;margin-bottom:2rem;padding:1rem 1.5rem;font-size:.9rem;line-height:1.7}.booking-success{text-align:center;padding:3rem 2rem}.booking-success .success-icon{margin-bottom:1rem;font-size:4rem}.booking-success h2{margin-bottom:.75rem}.booking-success p{color:var(--text-muted);margin-bottom:.5rem;line-height:1.7}.loading-spinner{color:var(--text-muted);justify-content:center;align-items:center;padding:2rem;font-size:.9rem;display:flex}.slots-error{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-hover);border-radius:12px;padding:1rem 1.2rem;font-size:.92rem;line-height:1.6}@media (max-width:600px){.slots-grid{grid-template-columns:repeat(4,1fr)}}
