.appointment-tabs{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.appointment-tabs .appt-btn{flex:1 1 200px;padding:12px 20px;font-size:16px;font-weight:500;color:#fff;background:#0077b6;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:center}.appointment-tabs .appt-btn:hover{background:#007bff;box-shadow:0 4px 12px rgba(0,0,0,.15)}.appointment-tabs .appt-confirm-btn{background:#047857;box-shadow:0 2px 8px rgba(5,150,105,.2)}.appointment-tabs .appt-confirm-btn:hover{background:#059669;box-shadow:0 4px 12px rgba(5,150,105,.3)}@media(max-width: 480px){.appointment-tabs .appt-btn{flex:1 1 100%}}.center-align{text-align:center;margin:28px 0 20px}.appt-details{width:100%;background:linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);border:1px solid #bae6fd;border-radius:8px;box-shadow:0 4px 20px rgba(30,64,175,.08);overflow:hidden;color:#1e293b}.appt-details form{display:block;margin:0 auto;max-width:720px;padding:24px 10px}.appt-details form::before{content:"Book Appointment";display:block;font-size:1.4rem;font-weight:600;color:#1e40af;text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #c4e0f1}.appt-details form .appt-info{display:block;margin:0 auto;padding-bottom:10px;max-width:740px;text-align:center}.appt-details form label{display:block;padding:0 0 6px 15px;color:#334155;font-weight:500;font-size:.95rem}.appt-details form .form-grid{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:18px 16px;margin:24px 4px}@media(max-width: 767px){.appt-details form .form-grid{grid-template-columns:1fr;margin:16px 10px}}.appt-details form .form-grid .form-element,.appt-details form .form-grid .form-select{appearance:none;border:1.5px solid #cbd5e1;outline:none;background:#fff;display:block;width:100%;border-radius:8px;padding:14px 15px;font-size:1rem;color:#1e293b;transition:all .2s ease}.appt-details form .form-grid .form-element::placeholder,.appt-details form .form-grid .form-select::placeholder{color:#94a3b8}.appt-details form .form-grid .form-element:focus,.appt-details form .form-grid .form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);background-color:#f8fafc}@media(max-width: 767px){.appt-details form .form-grid .form-element,.appt-details form .form-grid .form-select{padding:15px}}.appt-details form .form-grid .form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.appt-details form .form-area{appearance:none;border:1.5px solid #cbd5e1;outline:none;background:#fff;display:block;width:100%;min-height:100px;border-radius:8px;margin-bottom:20px;padding:14px 15px;font-size:1rem;color:#1e293b;transition:all .2s ease;box-sizing:border-box;resize:vertical}.appt-details form .form-area::placeholder{color:#94a3b8}.appt-details form .form-area:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);background-color:#f8fafc}.appt-details form p{text-align:justify;padding:0 10px}.appt-details form .message{padding:0 5px}@media(max-width: 767px){.appt-details form .message{padding:0 10px}}.appt-details form .note{background:rgba(59,130,246,.06);color:#334155;text-align:center;padding:20px;border-top:1px solid #bae6fd;border-radius:0 0 12px 12px;font-size:.9rem;line-height:1.6}.appt-details form .note a{color:#2563eb;font-weight:500}.appt-details form .note a:hover{color:#1d4ed8}.appt-details form .warning{padding:20px;color:blue;text-align:center}.appt-details form .warning .response{margin:0;font-weight:500}.appt-details form .human{color:#334155;display:flex;justify-content:center;align-items:center;padding-top:20px}.appt-details form .cf-turnstile,.appt-details form .g-recaptcha{display:flex;justify-content:center;align-items:center;padding-top:10px}.appt-details form .button{background:linear-gradient(135deg, #1e40af, #3b82f6);color:#fff;border:none;padding:14px 32px;font-size:1.05rem;font-weight:600;border-radius:10px;cursor:pointer;box-shadow:0 4px 14px rgba(30,64,175,.3);transition:all .2s ease;align-items:center}.appt-details form .button i{font-size:1rem}.appt-details form .button:hover{background:linear-gradient(135deg, #1d4ed8, #2563eb);transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,64,175,.4)}.appt-details form .button:active{transform:scale(0.98)}.appt-details form .button:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.4)}@media(max-width: 600px){.appt-details form .button{width:100%;max-width:320px;padding:14px 24px}}.appt-confirm{width:100%;background:linear-gradient(180deg, #eef2f0 0%, #ffffff 100%);border:1px solid #d8dedb;border-radius:8px;box-shadow:0 4px 20px rgba(23,105,139,.08);overflow:hidden;color:#2d3748}.appt-confirm #appointmentForm{display:block;margin:0 auto;max-width:720px;padding:24px 10px}.appt-confirm #appointmentForm::before{content:"Confirm Appointment";display:block;font-size:1.4rem;font-weight:600;color:#065f46;text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #d1e2da}.appt-confirm #appointmentForm label{display:block;padding:0 0 6px 15px;color:#334155;font-weight:500;font-size:.95rem;letter-spacing:.2px}.appt-confirm #appointmentForm .form-grid{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:18px 16px;margin:24px 4px}@media(max-width: 767px){.appt-confirm #appointmentForm .form-grid{grid-template-columns:1fr;margin:16px 10px}}.appt-confirm #appointmentForm .form-grid .form-element{appearance:none;border:1.5px solid #cbd5e1;outline:none;background:#fff;display:block;width:100%;border-radius:8px;padding:14px 15px;font-size:1rem;color:#1e293b;transition:all .2s ease;text-transform:uppercase}.appt-confirm #appointmentForm .form-grid .form-element::placeholder{color:#94a3b8;text-transform:none}.appt-confirm #appointmentForm .form-grid .form-element:focus{border-color:#059669;box-shadow:0 0 0 3px rgba(5,150,105,.12);background-color:#f0fdf4}@media(max-width: 767px){.appt-confirm #appointmentForm .form-grid .form-element{padding:15px}}.appt-confirm #appointmentForm #search-btn{background:linear-gradient(135deg, #059669, #047857);color:#fff;border:none;padding:12px 32px;font-size:1.05rem;font-weight:600;border-radius:10px;cursor:pointer;box-shadow:0 4px 14px rgba(5,150,105,.3);transition:all .2s ease;letter-spacing:.4px}.appt-confirm #appointmentForm #search-btn:hover{background:linear-gradient(135deg, #047857, #065f46);transform:translateY(-1px);box-shadow:0 6px 18px rgba(5,150,105,.4)}.appt-confirm #appointmentForm #search-btn:active{transform:scale(0.98)}.appt-confirm #appointmentForm #search-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(5,150,105,.4)}@media(max-width: 600px){.appt-confirm #appointmentForm #search-btn{width:95%;padding:14px 24px}}.appt-confirm #loading,.appt-confirm #error{text-align:center;margin:16px 0;padding:12px 20px;border-radius:8px;font-weight:500;display:none}.appt-confirm #loading{padding:12px 20px}.appt-confirm #loading i{margin-right:8px;color:#059669}.appt-confirm #error{color:#b91c1c;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2)}.appt-confirm #results{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 8px 24px}.appt-confirm #results .appointment-card{width:100%;max-width:480px;padding:20px 24px;border:1.5px solid #d1fae5;border-left:4px solid #059669;border-radius:10px;margin:8px 0;background:#fff;transition:all .2s ease;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.04);line-height:1.6;position:relative}.appt-confirm #results .appointment-card.signed{border-left-color:#047857;background:linear-gradient(to right, #f0fdf4, #ffffff);border-color:#a7f3d0}.appt-confirm #results .appointment-card .status.Cancelled,.appt-confirm #results .appointment-card .status.Rescheduled,.appt-confirm #results .appointment-card .No-show{color:#ef4444}.appt-confirm #results .appointment-card .status.Confirmed{color:#059669}.appt-confirm #results .appointment-card .patient-name{text-transform:uppercase;color:#065f46;font-size:1.15rem;font-weight:700;letter-spacing:.8px;margin-bottom:4px}.appt-confirm #results .appointment-card .appt-details{font-size:.95rem;color:#475569;line-height:1.5}.appt-confirm #results .appointment-card .appt-details strong{color:#064e3b;font-weight:600}.appt-confirm #results .appointment-card .card-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}.appt-confirm #results .appointment-card .btn-x{position:absolute;top:12px;right:12px;background:rgba(0,0,0,0);border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1;z-index:10}.appt-confirm #results .appointment-card .btn-x:hover{color:#ef4444;background:rgba(239,68,68,.1);transform:scale(1.1)}.appt-confirm #results .appointment-card .btn-x:active{transform:scale(0.95)}.appt-confirm #results .appointment-card .btn-x i{pointer-events:none}.appt-confirm #results .appointment-card button{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;letter-spacing:.3px}.appt-confirm #results .appointment-card .btn-confirm{min-width:160px;background:linear-gradient(135deg, #059669, #047857);color:#fff;box-shadow:0 3px 10px rgba(5,150,105,.25)}.appt-confirm #results .appointment-card .btn-confirm:hover{background:linear-gradient(135deg, #047857, #065f46);transform:translateY(-1px);box-shadow:0 5px 15px rgba(5,150,105,.35)}.appt-confirm #results .appointment-card .btn-confirm:active{transform:scale(0.98)}@media(max-width: 600px){.appt-confirm #results .appointment-card .btn-confirm{min-width:120px;padding:10px 15px}}.appt-confirm #results .appointment-card .btn-cancel{min-width:120px;background:linear-gradient(135deg, #ef4444, #f87171);color:#fff;border:1.5px solid #fca5a5;box-shadow:0 3px 10px rgba(239,68,68,.25);transition:all .2s ease}.appt-confirm #results .appointment-card .btn-cancel:hover{background:linear-gradient(135deg, #dc2626, #ef4444);border-color:#f87171;transform:translateY(-1px);box-shadow:0 5px 15px rgba(239,68,68,.35)}.appt-confirm #results .appointment-card .btn-cancel:active{transform:scale(0.98);background:linear-gradient(135deg, #b91c1c, #dc2626)}@media(max-width: 600px){.appt-confirm #results .appointment-card .btn-cancel{min-width:100px;padding:10px 12px}}.appt-confirm #results .appointment-card .btn-close{background:#f1f5f9;color:#475569;border:1.5px solid #cbd5e1}.appt-confirm #results .appointment-card .btn-close:hover{background:#e2e8f0;color:#1e293b;border-color:#94a3b8}.error-border{border-color:#ef4444 !important;background-color:#fef2f2 !important}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);align-items:center;justify-content:center;z-index:9999}.modal .modal-content{background:#fff;padding:20px 25px;border-radius:10px;text-align:center;min-width:250px}.modal .modal-content #modalMessage{line-height:1.8}.modal .modal-content button{padding:8px 16px;margin-top:10px;cursor:pointer}/*# sourceMappingURL=appointment.css.map */