.ng-calendar-widget{display:block!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;width:100%!important;--primary:#3bacff;--primary-hover:#2196f3;--primary-light:#e3f2fd;--primary-dark:#1976d2;--secondary:#00a651;--secondary-hover:#008a42;--success:#4caf50;--success-hover:#388e3c;--warning:#ff9800;--danger:#f44336;--text-primary:#212529;--text-secondary:#6c757d;--text-light:#90a4ae;--bg-primary:#ffffff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--border:#dee2e6;--border-focus:#3bacff;--shadow:0 2px 8px rgba(59, 172, 255, 0.15);--shadow-lg:0 8px 16px rgba(59, 172, 255, 0.2);--radius:8px;--radius-lg:12px;position:relative;width:100%}.ng-info-box{background:linear-gradient(135deg,var(--primary-light),#e3f2fd)!important;border-left:4px solid var(--primary)!important;padding:1rem 1.5rem!important;border-radius:var(--radius)!important;margin-bottom:1.5rem!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:1rem!important;font-size:0.9rem!important;line-height:1.5!important;color:var(--text-primary)!important;animation:ng-fade-in 0.3s ease-out!important}.ng-info-box.ng-warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7)!important;border-left:4px solid #ffc107!important}.ng-info-icon{width:24px!important;height:24px!important;border-radius:50%!important;background:var(--primary)!important;color:white!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:400!important;font-size:0.8rem!important;flex-shrink:0!important}.ng-info-box.ng-warning .ng-info-icon{background:#ffc107!important;color:#856404!important}.ng-info-text{flex:1!important;margin:0!important}@keyframes ng-fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ng-calendar-widget *{box-sizing:border-box!important}.ng-widget-header{text-align:left!important;padding:0 0 .5rem 0!important;margin:0!important}.ng-widget-header div{font-size:1.75rem!important;font-weight:700!important;color:var(--primary-color)!important;margin:0!important}.ng-error{color:#dc3545!important;background:#f8d7da!important;border:1px solid #f5c6cb!important;padding:1rem!important;border-radius:8px!important;text-align:center!important}.ng-booking-container{width:100%!important;margin:0 auto!important}.ng-booking-header{text-align:center!important;margin-bottom:3rem!important}.ng-booking-header h1{font-size:2.5rem!important;font-weight:700!important;color:var(--primary-color)!important;margin-bottom:0.5rem!important}.ng-booking-header p{font-size:1.125rem!important;color:var(--text-secondary)!important}.ng-search-form{background:var(--bg-primary)!important;padding:2rem!important;border-radius:var(--radius-lg)!important;box-shadow:0 2px 8px rgba(var(--primary-rgb),.15)!important;margin-bottom:0!important;border-top:4px solid var(--primary-color)!important}.ng-form-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:1rem!important;margin-bottom:1.5rem!important}.ng-form-grid.standard{grid-template-columns:1fr 1.4fr 1fr!important}.ng-form-grid.detox{grid-template-columns:1fr 1fr!important}.ng-form-grid.mobile{grid-template-columns:1fr 1fr!important}.ng-form-group{position:relative!important}.ng-form-label{display:block!important;font-size:0.875rem!important;font-weight:600!important;color:var(--text-primary)!important;margin-bottom:0.25rem!important}.ng-custom-select{position:relative!important;width:100%!important}.ng-select-trigger{width:100%!important;padding:.75rem 2.5rem .75rem 1rem!important;font-size:0.9375rem!important;border:2px solid var(--border)!important;border-radius:var(--radius)!important;background-color:var(--bg-primary)!important;color:var(--text-primary)!important;cursor:pointer!important;appearance:none!important;transition:all 0.2s!important;font-family:inherit!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.ng-select-trigger:hover{border-color:var(--primary-color)!important}.ng-select-trigger:focus{outline:none!important;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)!important}.ng-select-trigger.disabled{opacity:0.6!important;cursor:not-allowed!important;pointer-events:none!important;background-color:#f5f5f5!important;color:#6c757d!important}.ng-select-trigger.disabled:hover{border-color:var(--border)!important;background-color:#f5f5f5!important;transform:none!important;box-shadow:none!important}.ng-select-icon{width:20px!important;height:20px!important;stroke:currentColor!important;pointer-events:none!important;position:absolute!important;right:1rem!important;top:50%!important;transform:translateY(-50%)!important}.ng-select-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:var(--bg-primary)!important;border:2px solid var(--primary-color)!important;border-radius:var(--radius)!important;box-shadow:0 8px 16px rgba(var(--primary-rgb),.2)!important;z-index:1000!important;max-height:300px!important;overflow-y:auto!important}.ng-select-search{padding:0.75rem!important;border-bottom:1px solid var(--border)!important}.ng-select-search input{width:100%!important;padding:0.5rem!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;font-size:0.875rem!important;outline:none!important;background:var(--bg-primary)!important;color:var(--text-primary)!important}.ng-select-search input:focus{border-color:var(--primary-color)!important}.ng-select-options{max-height:200px!important;overflow-y:auto!important}.ng-select-option{padding:.75rem 1rem!important;cursor:pointer!important;transition:all 0.2s!important;border-bottom:1px solid var(--border)!important;color:var(--text-primary)!important;background:var(--bg-primary)!important}.ng-select-option:hover{background:rgba(var(--primary-rgb),.15)!important;color:var(--text-primary)!important}.ng-select-option:last-child{border-bottom:none!important}.ng-category-option{display:flex!important;align-items:center!important;gap:0.5rem!important}.ng-category-color{width:16px!important;height:16px!important;border-radius:50%!important}.ng-form-input{width:100%!important;padding:.75rem 1rem!important;border:2px solid var(--border)!important;border-radius:var(--radius)!important;font-size:1rem!important;transition:border-color 0.2s ease!important;background:var(--bg-primary)!important;color:var(--text-primary)!important}.ng-form-input:focus{outline:none!important;border-color:var(--border-focus)!important}.ng-form-input::placeholder{color:var(--text-light)!important}.ng-search-button{width:100%!important;padding:.875rem 2rem!important;font-size:1rem!important;font-weight:600!important;color:white!important;background:var(--primary-color)!important;border:none!important;border-radius:var(--radius)!important;cursor:pointer!important;transition:all 0.3s!important;text-transform:uppercase!important;letter-spacing:0.5px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0.5rem!important}.ng-search-button:hover:not(:disabled):not(.ng-disabled){transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(var(--primary-rgb),.3)!important;filter:brightness(1.1)!important}.ng-search-button:disabled,.ng-search-button.ng-disabled{opacity:0.5!important;cursor:not-allowed!important;transform:none!important;filter:none!important}.ng-search-button:active{transform:translateY(0)!important}.ng-info-box{background:rgba(var(--primary-rgb),.1)!important;border-left:4px solid var(--primary-color)!important;padding:1rem 1.5rem!important;border-radius:var(--radius)!important;margin-bottom:1.5rem!important;display:flex!important;align-items:center!important;gap:1rem!important}.ng-info-icon{width:24px!important;height:24px!important;background:var(--primary-color)!important;color:white!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:bold!important;flex-shrink:0!important}.ng-error-text{color:#dc2626!important;font-size:0.875rem!important;margin-top:0.25rem!important}.ng-fade-in{animation:ngFadeIn 0.3s ease-out!important}@keyframes ngFadeIn{from{opacity:0!important;transform:translateY(10px)!important}to{opacity:1!important;transform:translateY(0)!important}}.ng-hidden{display:none!important}.ng-visible{display:block!important}.ng-detox-fields{display:none!important}.ng-detox-fields.active{display:block!important}.ng-contraindication-field{display:none!important}.ng-contraindication-field.active{display:block!important}.ng-calendar-section{background:var(--bg-primary)!important;padding:1.5rem!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important;margin-top:2rem!important;margin-bottom:2rem!important;border-left:4px solid var(--primary)!important}.ng-slots-section{margin-top:1.5rem!important}.ng-calendar-wrapper{display:flex!important;flex-direction:row!important;align-items:center!important;gap:1rem!important;padding:.5rem 0!important}.ng-calendar-nav{flex-shrink:0!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--primary-light)!important;border:none!important;border-radius:50%!important;cursor:pointer!important;transition:all 0.2s!important;padding:0!important;color:var(--primary)!important}.ng-calendar-nav:disabled{opacity:0.5!important;cursor:not-allowed!important;background:var(--bg-tertiary)!important}.ng-calendar-nav:disabled:hover{background:var(--bg-tertiary)!important;color:inherit!important}.ng-calendar-nav:hover{background:var(--primary)!important;color:white!important}.ng-calendar-nav svg{width:20px!important;height:20px!important;stroke:currentColor!important}.ng-calendar-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:0.75rem!important;flex:1!important}.ng-calendar-day{padding:1rem!important;text-align:center!important;background:var(--bg-tertiary)!important;border:2px solid transparent!important;border-radius:var(--radius)!important;cursor:pointer!important;transition:all 0.2s!important;min-width:0!important}.ng-calendar-day:hover:not(.disabled){border-color:var(--primary)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow)!important}.ng-calendar-day.active{background:var(--primary)!important;color:white!important;border-color:var(--primary)!important}.ng-calendar-day.disabled{opacity:0.5!important;cursor:not-allowed!important}.ng-date-header{font-size:1.25rem!important;font-weight:600!important;color:var(--text-primary)!important;margin-bottom:1rem!important;padding-bottom:0.5rem!important;border-bottom:2px solid var(--primary-light)!important;text-transform:capitalize!important}.ng-time-slots-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:0.75rem!important;margin-bottom:1.5rem!important}.ng-time-slot{background:white!important;border:2px solid var(--border)!important;border-radius:var(--radius)!important;padding:0.75rem!important;text-align:center!important;cursor:pointer!important;transition:all 0.2s ease!important;min-height:80px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.ng-time-slot:hover{border-color:var(--primary)!important;background:var(--primary-light)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow)!important}.ng-time-slot.selected{border-color:var(--primary)!important;background:var(--primary-light)!important;box-shadow:var(--shadow)!important}.ng-slot-time{font-weight:600!important;font-size:1rem!important;color:var(--text-primary)!important;margin-bottom:0.25rem!important}.ng-slot-practitioner{font-size:0.8rem!important;color:var(--primary)!important;font-weight:500!important;margin-bottom:0.125rem!important}.ng-slot-doctor{font-size:0.75rem!important;color:var(--text-light)!important;margin-top:0.25rem!important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}.ng-slot-type{font-size:0.875rem!important;color:var(--text-secondary)!important}.ng-time-slots-container{background:var(--bg-primary)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important;padding:2rem!important;margin-bottom:2rem!important}.ng-service-header{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;padding-top:1rem!important;border-top:2px solid var(--border)!important}.ng-service-info h3{font-size:1.25rem!important;font-weight:700!important;color:#3bacff!important;margin-bottom:0.25rem!important}.ng-service-details{display:flex!important;gap:1.5rem!important;color:var(--text-secondary)!important;font-size:0.875rem!important}.ng-booking-button-container{text-align:center!important;margin-top:1.5rem!important}.ng-booking-button{background:linear-gradient(135deg,var(--primary),var(--primary-hover))!important;color:white!important;border:none!important;padding:1rem 2rem!important;border-radius:var(--radius)!important;font-size:1.125rem!important;font-weight:600!important;cursor:pointer!important;transition:all 0.3s!important;text-transform:uppercase!important;letter-spacing:0.5px!important;min-width:200px!important}.ng-booking-button:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgb(59 172 255 / .3)!important}.ng-booking-button.loading{pointer-events:none!important;opacity:0.7!important;cursor:not-allowed!important}.ng-booking-button.loading:hover{transform:none!important;box-shadow:none!important}.ng-booking-button.loading .ng-button-text{display:none!important}.ng-booking-button:not(.loading) .ng-button-spinner{display:none!important}.ng-booking-button.loading .ng-button-spinner{display:inline-block!important}.loading-dots:after{content:'.';animation:dots 1.5s steps(1,end) infinite}@keyframes dots{0%,25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}.ng-no-results{text-align:center!important;padding:3rem 1rem!important;color:var(--text-secondary)!important}.ng-no-results p{font-size:1.125rem!important;margin-bottom:1rem!important}.ng-loading{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:1rem!important;padding:4rem!important}.ng-spinner{width:48px!important;height:48px!important;border:4px solid var(--primary-light)!important;border-top-color:var(--primary)!important;border-radius:50%!important;animation:ngSpin 0.8s linear infinite!important}@keyframes ngSpin{to{transform:rotate(360deg)}}@media (max-width:768px){.ng-booking-header h1{font-size:1.875rem!important}.ng-form-grid,.ng-form-grid.standard,.ng-form-grid.detox,.ng-form-grid.mobile{grid-template-columns:1fr!important}.ng-calendar-section{padding:1rem!important}.ng-calendar-nav{width:32px!important;height:32px!important}.ng-calendar-nav svg{width:16px!important;height:16px!important}.ng-service-header{flex-direction:column!important;gap:1rem!important;text-align:center!important}.ng-time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important}.ng-time-slot{padding:0.6rem!important;min-height:60px!important}.ng-slot-time{font-size:0.95rem!important}.ng-slot-type{font-size:0.7rem!important}.ng-calendar-days{grid-template-columns:repeat(2,1fr)!important;gap:0.5rem!important}.ng-calendar-day{padding:.75rem 0.5rem!important;font-size:0.8rem!important;min-height:80px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.ng-calendar-day div:first-child{font-size:0.9rem!important}.ng-calendar-day div:nth-child(2){font-size:0.8rem!important}}.ng-address-section{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:var(--radius)!important;padding:1.5rem!important;margin-bottom:1rem!important}.ng-address-title{color:var(--text-primary)!important;font-size:1rem!important;font-weight:600!important;margin:0 0 1rem 0!important;border-bottom:2px solid var(--primary-light)!important;padding-bottom:0.5rem!important}.ng-mapbox-autocomplete-wrapper{grid-column:1 / -1!important;margin-bottom:0!important;position:relative!important}.ng-mapbox-autocomplete-container{position:relative!important}.ng-mapbox-suggestions{position:absolute!important;top:100%!important;left:0!important;right:0!important;max-height:300px!important;overflow-y:auto!important;background:white!important;border:1px solid var(--border,#ddd)!important;border-top:none!important;border-radius:0 0 4px 4px!important;box-shadow:0 4px 6px rgb(0 0 0 / .1)!important;z-index:1000!important;list-style:none!important;margin:0!important;padding:0!important}.ng-mapbox-suggestion-item{padding:.75rem 1rem!important;cursor:pointer!important;border-bottom:1px solid #f0f0f0!important;transition:background-color 0.2s!important}.ng-mapbox-suggestion-item:last-child{border-bottom:none!important}.ng-mapbox-suggestion-item:hover{background-color:#f8f9fa!important}.ng-suggestion-name{font-weight:500!important;color:var(--text-primary,#333)!important;margin-bottom:0.25rem!important}.ng-suggestion-details{font-size:0.875rem!important;color:var(--text-secondary,#6c757d)!important}.ng-radar-autocomplete-wrapper{grid-column:1 / -1!important;margin-bottom:0!important;position:relative!important}.ng-radar-autocomplete-container{position:relative!important}.ng-radar-suggestions{position:absolute!important;top:100%!important;left:0!important;right:0!important;max-height:300px!important;overflow-y:auto!important;background:white!important;border:1px solid var(--border,#ddd)!important;border-top:none!important;border-radius:0 0 4px 4px!important;box-shadow:0 4px 6px rgb(0 0 0 / .1)!important;z-index:1000!important;list-style:none!important;margin:0!important;padding:0!important}.ng-radar-suggestion-item{padding:.75rem 1rem!important;cursor:pointer!important;border-bottom:1px solid #f0f0f0!important;transition:background-color 0.2s!important}.ng-radar-suggestion-item:last-child{border-bottom:none!important}.ng-radar-suggestion-item:hover{background-color:#f8f9fa!important}.ng-address-fields-grid{grid-column:1 / -1!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:1rem!important;margin-top:5px!important}.ng-address-fields-grid>.ng-form-group{flex:1 1 calc(20% - 0.8rem)!important;min-width:150px!important}.ng-address-grid{display:grid!important;grid-template-columns:1fr!important;gap:1rem!important}@media (min-width:640px){.ng-address-grid{grid-template-columns:1fr 200px 1fr!important}}@media (max-width:768px){.ng-address-fields-grid>.ng-form-group{flex:1 1 100%!important}}.ng-distance-info{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;padding:0.75rem!important;margin:0 0 1.5rem 0!important;font-size:0.9rem!important}.ng-distance-status{color:#64748b!important;font-style:italic!important}.ng-distance-results{display:flex!important;flex-direction:row!important;gap:1.5rem!important;color:var(--text-dark)!important}.ng-cost-value{color:#059669!important}.ng-distance-error{color:#dc2626!important;font-size:0.875rem!important}@media (max-width:768px){.ng-distance-results{flex-direction:column!important;gap:0.25rem!important}}.ng-mini-widget{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;max-width:100%!important}.ng-mini-widget-content{display:flex!important;flex-direction:column!important;gap:1rem!important;align-items:stretch!important}.ng-mini-select-wrapper{flex:1!important;min-width:0!important;position:relative!important}.ng-mini-custom-select{position:relative!important;width:100%!important}.ng-mini-select-input{width:100%!important;padding:.875rem 1rem!important;background:var(--bg-primary,#ffffff)!important;border:2px solid var(--border,#dee2e6)!important;border-radius:var(--radius,8px)!important;font-size:0.875rem!important;color:var(--text-primary,#212529)!important;cursor:pointer!important;transition:all 0.3s!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;white-space:nowrap!important;overflow:hidden!important;user-select:none!important}.ng-mini-select-input:hover{border-color:var(--primary,#3bacff)!important;background:var(--bg-hover,#f8f9fa)!important}.ng-mini-select-input:focus{outline:none!important;border-color:var(--primary,#3bacff)!important;box-shadow:0 0 0 3px rgb(59 172 255 / .1)!important;background:white!important}.ng-mini-dropdown-arrow{margin-left:0.5rem!important;transition:transform 0.2s!important;user-select:none!important;flex-shrink:0!important}.ng-mini-custom-select[data-open="true"] .ng-mini-dropdown-arrow{transform:rotate(180deg)!important}.ng-mini-select-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:white!important;border:2px solid var(--primary,#3bacff)!important;border-radius:var(--radius,8px)!important;box-shadow:var(--shadow-lg,0 8px 16px rgb(59 172 255 / .2))!important;z-index:1000!important;max-height:300px!important;overflow-y:auto!important;margin-top:0.25rem!important}.ng-mini-search-input{width:100%!important;padding:.75rem 1rem!important;border:none!important;border-bottom:2px solid var(--border,#dee2e6)!important;background:var(--bg-light,#f8f9fa)!important;font-size:0.875rem!important;outline:none!important}.ng-mini-search-input:focus{border-bottom-color:var(--primary,#3bacff)!important}.ng-mini-dropdown-option{padding:.75rem 1rem!important;cursor:pointer!important;transition:all 0.2s!important;border-bottom:1px solid var(--border-light,#f0f0f0)!important;font-size:0.875rem!important}.ng-mini-dropdown-option:hover{background:var(--primary-light,#e3f2fd)!important}.ng-mini-dropdown-option:last-child{border-bottom:none!important}.ng-mini-dropdown-option.disabled{color:var(--text-secondary,#6c757d)!important;font-style:italic!important;cursor:default!important}.ng-mini-dropdown-option.disabled:hover{background:transparent!important}.ng-mini-button{padding:.75rem 2rem!important;background:var(--primary,#3bacff)!important;color:white!important;border:none!important;border-radius:var(--radius,8px)!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;transition:all 0.2s ease!important;white-space:nowrap!important;flex-shrink:0!important}.ng-mini-button:hover{background:var(--primary-hover,#2196f3)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-lg,0 8px 16px rgb(59 172 255 / .2))!important}.ng-mini-button:active{transform:translateY(0)!important}.ng-mini-button:disabled{background:var(--border,#dee2e6)!important;cursor:not-allowed!important;transform:none!important}.ng-loading,.ng-error,.ng-no-cities{text-align:center!important;padding:1.5rem!important;color:var(--text-secondary,#6c757d)!important;font-size:0.95rem!important}.ng-error{color:var(--danger,#f44336)!important;background:rgb(244 67 54 / .05)!important;border-radius:var(--radius,8px)!important}@media (max-width:640px){.ng-mini-widget-content{flex-direction:column!important}.ng-mini-button{width:100%!important;padding:.875rem 1.5rem!important}.ng-mini-select{font-size:0.95rem!important}}