.bookings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.bookings-modal-container{background:white;border-radius:12px;width:100%;max-width:900px;height:90vh;max-height:800px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.bookings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.bookings-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.bookings-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.bookings-modal-close:hover{background-color:#f3f4f6;color:#374151}.bookings-modal-content{flex:1;position:relative;overflow:hidden}.bookings-modal-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;color:#6b7280}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bookings-modal-loading p{margin:0;font-size:.95rem}.bookings-modal-container--intake{height:auto;max-height:90vh}.bookings-modal-content--form{overflow-y:auto}.bookings-modal-note{margin:0;padding:12px 24px;flex-shrink:0;color:#374151;font-size:.95rem;border-bottom:1px solid #e5e7eb}.bookings-modal-form{display:flex;flex-direction:column;gap:16px;padding:24px 24px 8px}.bookings-modal-field label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:500;color:#374151}.bookings-modal-field input,.bookings-modal-field textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:12px;font:inherit;color:#111827;background:#fff}.bookings-modal-field textarea{min-height:96px;resize:vertical}.bookings-modal-field input:focus,.bookings-modal-field textarea:focus{outline:2px solid #1D7D81;outline-offset:1px;border-color:#1D7D81}.bookings-modal-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:.875rem}.bookings-modal-continue,.bookings-modal-submit{width:100%;min-height:48px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.bookings-modal-submit{background:#1D7D81;color:#fff;border:none}.bookings-modal-submit:hover:not(:disabled){background:#176568}.bookings-modal-submit:disabled{opacity:.65;cursor:not-allowed}.bookings-modal-continue{background:#fff;color:#0B3C5D;border:2px solid #0b3c5d}.bookings-modal-continue:hover{background:#0B3C5D;color:#fff}@media (max-width:768px){.bookings-modal-overlay{padding:10px}.bookings-modal-container{height:95vh;max-height:none;border-radius:8px}.bookings-modal-header{padding:16px 20px}.bookings-modal-header h2{font-size:1.25rem}.bookings-modal-container--intake{height:auto;max-height:95vh}}@media (max-width:480px){.bookings-modal-overlay{padding:0}.bookings-modal-container{height:100vh;max-width:none;border-radius:0}.bookings-modal-container--intake{height:auto;max-height:100vh}.bookings-modal-form{padding:16px 16px 8px}}