:root{--ima-blue:#3f738d;--ima-teal:#00bbb4;--ima-green:#6abf4b;--ima-neutral-dark:#004d71;--ima-neutral-grey-1:#7a97ab;--ima-neutral-grey-2:#a5bac9;--ima-neutral-grey-3:#dae1e9}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#dae1e9);background:linear-gradient(135deg,#f5f7fa 0,var(--ima-neutral-grey-3) 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.app-header{background:#fff;border-bottom:4px solid #00bbb4;border-bottom:4px solid var(--ima-teal);box-shadow:0 4px 12px #0000000d;color:#004d71;padding:1rem 2rem;text-align:center}.app-logo{display:block;margin:0 auto;max-height:80px;width:auto}.app-tagline{display:none}.app-container{flex:1 1;padding:2rem 1rem}.loading-container{padding:4rem 2rem;text-align:center}.loading-spinner{border-top-color:#3f738d}.loading-container p{color:#3f738d;color:var(--ima-blue);font-size:1.2rem;font-weight:600}.error-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:600px;padding:4rem 2rem;text-align:center}.error-container h2{color:#dc2626;font-size:2rem;margin-bottom:1rem}.error-container p{color:#666;font-size:1.1rem;line-height:1.6}.error-container button{background:#3f738d;background:var(--ima-blue);border:none;border-radius:50px;box-shadow:0 4px 12px #3f738d4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:2rem;padding:1rem 2rem;transition:all .3s ease}.error-container button:hover{box-shadow:0 6px 16px #3f738d66;transform:translateY(-2px)}.app-footer{background:#004d71;background:var(--ima-neutral-dark);color:#fff;margin-top:auto;padding:2rem;text-align:center}.app-footer p{font-size:.9rem;opacity:.8}@media (max-width:768px){.app-header{padding:1.5rem 1rem}.app-logo{font-size:2rem}.app-tagline{display:none}.app-container{padding:1rem .5rem}}.location-dropdown{margin-bottom:2rem;max-width:400px}.location-dropdown label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.location-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1.25rem;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-family:inherit;font-size:1rem;padding:1rem 3rem 1rem 1.25rem;transition:all .2s ease;width:100%}.location-select:focus,.location-select:hover{border-color:var(--ima-blue)}.location-select:focus{box-shadow:0 0 0 3px #3f738d1a;outline:none}.location-select option{padding:.5rem}.react-calendar{border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;line-height:16px;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.time-slot-bubbles{margin:0 auto;max-width:900px}.calendar-container{margin-bottom:2rem}.calendar-container h3{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.react-calendar{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;font-family:inherit;margin:0 auto;max-width:600px;padding:1rem;width:100%}.react-calendar__tile{background:#fff;border-radius:8px;padding:1rem;transition:all .2s ease}.react-calendar__tile:enabled:hover{background-color:#f5f5f5}.react-calendar__tile--active{background:var(--ima-blue)!important;color:#fff!important}.react-calendar__tile.has-availability{background:var(--ima-teal);color:#fff;font-weight:600}.react-calendar__tile.has-availability:hover{background:#009e99}.react-calendar__tile:disabled{background-color:#f9f9f9;color:#ccc;cursor:not-allowed}.time-slots-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:2rem;padding:1.5rem}.time-slots-container h3{color:#333;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.time-slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.time-slot-bubble{background:#fff;border:2px solid var(--ima-blue);border-radius:50px;box-shadow:0 2px 4px #0000001a;color:var(--ima-blue);cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s ease}.time-slot-bubble:hover{background:var(--ima-blue);box-shadow:0 4px 8px #3f738d4d;color:#fff;transform:translateY(-2px)}.time-slot-bubble:active{background:var(--ima-neutral-dark);transform:translateY(0)}.no-slots{color:#666}.error,.loading,.no-slots{font-size:1.1rem;padding:2rem;text-align:center}.error{background:#fee2e2;border-radius:8px;color:#dc2626;margin-bottom:1rem;padding:1rem}.loading{color:var(--ima-blue)}.booking-selection-page{margin:0 auto;max-width:1000px;padding:2rem}.page-header h1{color:var(--ima-blue);font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.instruction-message{background:var(--ima-neutral-grey-3);border:1px solid var(--ima-neutral-grey-2);border-radius:12px;margin-top:2rem;padding:4rem 2rem;text-align:center}.instruction-message p{color:var(--ima-blue);font-size:1.2rem;font-weight:600}@media (max-width:768px){.booking-selection-page{padding:1rem}.page-header h1{font-size:2rem}.page-header p{font-size:1rem}}.contact-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:600px;padding:2rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--ima-blue);box-shadow:0 0 0 3px #3f738d1a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.form-group textarea{min-height:100px;resize:vertical}.error-message{color:#dc2626;display:block;font-size:.875rem;margin-top:.5rem}.required-asterisk{color:#dc2626;margin-left:2px}.submit-button{background:#6abf4b;border:none;border-radius:50px;box-shadow:0 4px 12px #6abf4b4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){background:#5ca641;box-shadow:0 6px 16px #6abf4b66;transform:translateY(-2px)}.submit-button:active:not(:disabled){box-shadow:0 2px 6px #6abf4b4d;transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:640px){.form-row{grid-template-columns:1fr}.contact-form{padding:1.5rem}}.contact-info-page{margin:0 auto;max-width:800px;padding:2rem}.page-header{margin-bottom:2rem}.contact-info-page .page-header h1{-webkit-text-fill-color:initial;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--ima-blue);font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.page-header p{color:#666;font-size:1.2rem}.appointment-summary{background:var(--ima-neutral-grey-3);border-left:4px solid var(--ima-blue);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.appointment-summary h3{color:var(--ima-blue);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.summary-details{margin-bottom:1rem}.summary-item{border-bottom:1px solid #667eea33;display:flex;justify-content:space-between;padding:.5rem 0}.summary-item:last-child{border-bottom:none}.summary-item .label{color:#333;font-weight:600}.back-button,.summary-item .value{color:var(--ima-blue);font-weight:600}.back-button{background:#fff;border:2px solid var(--ima-blue);border-radius:50px;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s ease}.back-button:hover{background:var(--ima-blue);color:#fff}.success-message{background:linear-gradient(135deg,#10b9811a,#0596691a);border-radius:12px;margin-top:4rem;padding:4rem 2rem;text-align:center}.success-icon{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 8px 24px #10b9814d;color:#fff;display:flex;font-size:4rem;font-weight:700;height:100px;justify-content:center;margin:0 auto 1.5rem;width:100px}.success-message h2{color:#059669;font-size:2rem;margin-bottom:1rem}.success-message p{color:#666;font-size:1.1rem;margin-bottom:.5rem}.redirect-message{color:#10b981;font-weight:600;margin-top:1.5rem}@media (max-width:768px){.contact-info-page{padding:1rem}.page-header h1{font-size:2rem}.summary-item{flex-direction:column;gap:.25rem}}.manage-booking-page{margin:0 auto;max-width:850px;padding:2rem}.page-header{margin-bottom:3rem;text-align:center}.manage-booking-page .page-header h1{-webkit-text-fill-color:initial;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--ima-blue);font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.error-container,.loading-container,.no-booking-container{padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top:4px solid var(--ima-blue);height:60px;margin:0 auto 1.5rem;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-banner{background:#fee2e2;border-left:4px solid #dc2626;border-radius:8px;color:#dc2626;margin-bottom:2rem;padding:1rem 1.5rem}.booking-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.details-section{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:2rem}.details-section:last-of-type{border-bottom:none}.details-section h3{color:var(--ima-blue);font-size:1.25rem;font-weight:700;margin-bottom:1.25rem}.detail-item{border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:.75rem 0}.detail-item:last-child{border-bottom:none}.detail-item .label{color:#666;font-weight:600}.detail-item .value{color:#333;font-weight:500;text-align:right}.status{border-radius:50px;font-size:.875rem;font-weight:700;padding:.25rem 1rem;text-transform:uppercase}.status.active{background:#d1fae5;color:#059669}.status.cancelled{background:#fee2e2;color:#dc2626}.action-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.cancel-button,.cancel-edit-button,.edit-button,.reschedule-button{border:none;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease}.edit-button{background:var(--ima-blue);box-shadow:0 4px 12px #3f738d4d;color:#fff}.edit-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.reschedule-button{background:#fff;border:2px solid var(--ima-blue);color:var(--ima-blue)}.reschedule-button:hover{background:var(--ima-blue);color:#fff}.cancel-button{background:#fff;border:2px solid #dc2626;color:#dc2626}.cancel-button:hover{background:#dc2626;color:#fff}.cancel-edit-button{background:#f5f5f5;color:#666;margin-top:1rem;width:100%}.cancel-edit-button:hover{background:#e0e0e0}.edit-form-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:2.5rem;width:90%}.modal-content h3{color:#333;font-size:1.75rem;margin-bottom:1rem}.modal-content p{color:#666;line-height:1.5;margin-bottom:.75rem}.modal-content .warning{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;color:#92400e;margin:1rem 0;padding:.75rem 1rem}.modal-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2rem}.confirm-cancel-button,.keep-button{border:none;border-radius:50px;cursor:pointer;font-weight:700;padding:1rem 1.5rem;transition:all .2s ease}.confirm-cancel-button{background:#dc2626;color:#fff}.confirm-cancel-button:hover:not(:disabled){background:#b91c1c}.keep-button{background:#f5f5f5;color:#333}.keep-button:hover:not(:disabled){background:#e0e0e0}.confirm-cancel-button:disabled,.keep-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.manage-booking-page{padding:1rem}.page-header h1{font-size:2rem}.detail-item{flex-direction:column;gap:.25rem}.detail-item .value{text-align:left}.action-buttons,.modal-buttons{grid-template-columns:1fr}}
/*# sourceMappingURL=main.25490b53.css.map*/