.appointment-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(7px);background:#00232bb8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.appointment-modal{background:#fff;border-radius:18px;width:100%;max-width:620px;max-height:calc(100vh - 48px);padding:42px;animation:.25s appointmentModalIn;position:relative;overflow-y:auto;box-shadow:0 30px 80px #00232b52}@keyframes appointmentModalIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.appointment-modal-close{color:#003946;cursor:pointer;background:#fff;border:1px solid #dbe4e6;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s,transform .2s;display:flex;position:absolute;top:18px;right:18px}.appointment-modal-close svg{width:19px;height:19px}.appointment-modal-close:hover{color:#fff;background:#003946;transform:rotate(4deg)}.appointment-modal-icon{color:#08716f;background:#dbe9d4;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 20px;display:flex}.appointment-modal-icon svg{width:30px;height:30px}.appointment-modal-heading{text-align:center;margin-bottom:30px}.appointment-modal-heading span{color:#08716f;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.appointment-modal-heading h2{color:#003946;margin:0;font-size:30px;font-weight:700;line-height:1.2}.appointment-modal-heading p{color:#64748b;max-width:500px;margin:13px auto 0;font-size:14px;font-weight:500;line-height:1.65}.appointment-form{flex-direction:column;gap:21px;display:flex}.appointment-field label{color:#003946;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.appointment-field small{color:#94a3b8;margin-top:7px;font-size:12px;font-weight:500;display:block}.appointment-input-wrapper{align-items:center;display:flex;position:relative}.appointment-input-wrapper svg{color:#08716f;pointer-events:none;width:19px;height:19px;position:absolute;left:16px}.appointment-input-wrapper input{color:#003946;background:#fff;border:1px solid #d8e1e5;border-radius:10px;outline:none;width:100%;height:55px;padding:0 17px 0 48px;font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s,background .2s}.appointment-input-wrapper input::placeholder{color:#9ca3af}.appointment-input-wrapper input:focus{background:#fff;border-color:#08716f;box-shadow:0 0 0 3px #08716f1a}.appointment-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:500}.appointment-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:5px;display:grid}.appointment-actions button{cursor:pointer;border-radius:9px;min-height:51px;padding:12px 20px;font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.appointment-cancel{color:#475569;background:#fff;border:1px solid #cbd5e1}.appointment-cancel:hover{background:#f8fafc;border-color:#94a3b8}.appointment-submit{color:#fff;background:#08716f;border:1px solid #08716f}.appointment-submit:hover{background:#005e5d;border-color:#005e5d;transform:translateY(-1px)}.appointment-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.appointment-success{text-align:center}.appointment-success-icon{color:#08716f;background:#dbe9d4;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 18px;font-size:28px;font-weight:700;display:flex}.appointment-success h3{color:#003946;margin:0;font-size:24px;font-weight:700}.appointment-success p{color:#64748b;max-width:430px;margin:12px auto 25px;font-size:14px;font-weight:500;line-height:1.65}.appointment-success button{color:#fff;cursor:pointer;background:#08716f;border:none;border-radius:8px;min-width:180px;padding:14px 22px;font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:700}@media (max-width:600px){.appointment-modal-overlay{align-items:flex-end;padding:14px}.appointment-modal{border-radius:18px 18px 12px 12px;max-height:calc(100vh - 28px);padding:38px 22px 25px}.appointment-modal-heading h2{font-size:25px}.appointment-actions{grid-template-columns:1fr}.appointment-submit{grid-row:1}.appointment-cancel{grid-row:2}}
