.appointment-scheduler{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.appointment-form h2{text-align:center;margin-bottom:2rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group input[type="date"],.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.radio-group{display:flex;gap:2rem;margin-top:.5rem}.radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}.time-slot{padding:.75rem;border:2px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all 0.2s;font-size:1rem;width:100%;text-align:center;color:#333;display:flex;align-items:center;justify-content:center;font-weight:500}.time-slot:hover{background:#f0f0ff;border-color:#44f;transform:translateY(-1px);box-shadow:0 2px 4px rgb(0 0 0 / .1)}.time-slot.selected{background:#44f;color:#fff;border-color:#22d}.time-slot:disabled{background:#eee;color:#999;cursor:not-allowed;opacity:.7}.time-slot:active{transform:translateY(0);box-shadow:none}.submit-button{width:100%;padding:1rem;background:#44f;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background 0.2s}.submit-button:hover{background:#22d}.loading{text-align:center;color:#666;padding:1rem}.error{color:#d00;text-align:center;padding:1rem}.no-slots{color:#666;text-align:center;padding:1rem}