/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}.containerCSS-shadow{box-shadow:0 1px 3px #0000001a}.containerCSS{margin-inline:auto;margin-bottom:calc(var(--spacing,.25rem) * 4);width:100%;max-width:var(--container-xl,36rem);border-style:var(--tw-border-style);background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 4);border-width:1px;border-color:#f0f0f0;border-radius:7px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.heading-24{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:150%;--tw-font-weight:var(--font-weight-bold,700);line-height:150%;font-weight:var(--font-weight-bold,700)}@media (width>=40rem){.heading-24{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.heading-18{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:150%;--tw-font-weight:var(--font-weight-bold,700);line-height:150%;font-weight:var(--font-weight-bold,700)}@media (width>=40rem){.heading-18{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)))}}.heading-15{--tw-leading:150%;--tw-font-weight:var(--font-weight-bold,700);font-size:15px;line-height:150%;font-weight:var(--font-weight-bold,700)}.section-heading{margin-bottom:calc(var(--spacing,.25rem) * 4);text-align:center;--tw-leading:150%;--tw-font-weight:var(--font-weight-bold,700);font-size:15px;line-height:150%;font-weight:var(--font-weight-bold,700)}.section-title{color:#333;text-align:center;padding:20px;font-size:.9rem;font-weight:500}.action-buttons{flex-shrink:0;gap:10px;padding:20px 10px;display:flex}.note-text{color:#666;font-size:.8rem}.btn-outline-blue{margin:calc(var(--spacing,.25rem) * 1);cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:var(--theme-primary,#007cbe);background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 3);text-align:center;--tw-font-weight:var(--font-weight-medium,500);font-size:.75rem;font-weight:var(--font-weight-medium,500);color:var(--theme-primary,#007cbe);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:.25rem;display:inline-block}@media (hover:hover){.btn-outline-blue:hover{background-color:var(--theme-primary,#007cbe);color:var(--color-white,#fff)}}@media (width>=48rem){.btn-outline-blue{padding:10px;padding-inline:calc(var(--spacing,.25rem) * 5);font-size:.8rem}}.btn-blue{margin:calc(var(--spacing,.25rem) * 1);cursor:pointer;background-color:var(--theme-primary,#007cbe);padding:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 3);text-align:center;--tw-font-weight:var(--font-weight-medium,500);font-size:.75rem;font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:.25rem;display:inline-block}@media (hover:hover){.btn-blue:hover{background-color:#2c5282}}.btn-blue:disabled{cursor:not-allowed;background-color:#ccc}@media (width>=48rem){.btn-blue{padding:10px;padding-inline:calc(var(--spacing,.25rem) * 5);font-size:.8rem}}.btn-gray{margin:calc(var(--spacing,.25rem) * 1);cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 3);text-align:center;--tw-font-weight:var(--font-weight-medium,500);font-size:.75rem;font-weight:var(--font-weight-medium,500);color:#767679;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#f8f9fb;border-width:1px;border-color:oklab(82.4133% .000872672 -.006966/.5);border-radius:.25rem;display:inline-block}@media (hover:hover){.btn-gray:hover{background-color:#f2f2f6}}@media (width>=48rem){.btn-gray{padding:10px;padding-inline:calc(var(--spacing,.25rem) * 5);font-size:.8rem}}.facility-tag{margin-right:calc(var(--spacing,.25rem) * 2);background-color:var(--theme-primary,#007cbe);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);border-radius:10px;padding-block:2px;padding-inline:6px;display:inline-block}@media (width>=48rem){.facility-tag{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:3px;font-size:.8rem}}.secondaryFooter{border-top:1px solid #f0f0f0;flex-shrink:0;gap:8px;padding:20px;display:flex}.info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:#555;font-size:.8rem;font-weight:400}.info-value{color:#333;font-size:.85rem;font-weight:500}@media (width<=768px){.info-row{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.info-label{color:#888;font-size:.75rem}.info-value{font-size:.8rem;font-weight:600}}.secondaryHeader{color:#333;text-align:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:20px;position:relative}.date-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:60px;font-size:.85rem;transition:all .2s;display:flex}.date-btn:disabled{color:#ccc;cursor:not-allowed;opacity:.6;background:#f5f5f5}.date-btn:disabled:hover{background:#f5f5f5;border-color:#e0e0e0}.date-num{font-size:1.1rem;font-weight:500;line-height:1.2}.fc-toolbar-chunk>div{background-color:#0000!important}.date-btn{transition:all .3s}.date-btn.loading-availability{cursor:wait;background:linear-gradient(90deg,#f8f9fa 0%,#e9ecef 50%,#f8f9fa 100%) 0 0/200% 100%;border-color:#ddd;animation:1.5s ease-in-out infinite loading-shimmer}.date-btn.available{cursor:pointer;background:#fff;border-color:#ddd;transform:none}.date-btn.available:hover{background:#fafbfc;border-color:#4a90e2}.date-btn.unavailable{color:#ccc;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0}.date-btn.selected{color:#fff!important;background:#4a90e2!important;border-color:#4a90e2!important}.date-btn.selected:hover{color:#fff!important;background:#357abd!important;border-color:#357abd!important}.menu-section{flex-direction:column;flex:auto;min-height:0;padding:20px 0;display:flex;overflow:hidden}.menu-list{flex-direction:column;flex:auto;gap:12px;min-height:0;max-height:500px;padding:12px;display:flex;overflow-y:auto}.menu-item{cursor:pointer;background:#fff;border:1px solid #e9ecef;border-radius:8px;gap:12px;padding:16px;transition:all .2s;display:flex;position:relative}.menu-item:hover{background:#fafbfc;border-color:#357abd;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.menu-item.selected{background:#f8fbff;border-color:#357abd;box-shadow:0 2px 8px #357abd26}.menu-image{color:#999;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:60px;font-size:.7rem;display:flex;overflow:hidden}.menu-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.menu-content{flex:1;min-width:0;position:relative}.menu-name{color:#333;font-size:1rem;font-weight:400}.menu-info-row{color:#333;flex-direction:column;justify-content:flex-start;align-items:baseline;display:flex}.menu-duration{color:#888;margin:0;font-size:.8rem}.menu-price{color:#888;margin:0;font-size:.8rem;font-weight:400}.menu-description{color:#666;margin:0;padding-right:45px;font-size:.8rem;line-height:1.4}.description-container{position:relative}.description-text{display:inline}.description-text.collapsed{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-more-btn{color:#4a90e2;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:.8rem;font-weight:500;transition:color .2s}.read-more-btn:hover{color:#357abd;text-decoration:underline}.check-mark{z-index:1;border:2px solid #ddd;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.menu-item.selected .check-mark{border-color:var(--theme-primary);background:var(--theme-primary)}.menu-item.selected .check-mark:after{content:"✓";color:#fff;font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width>=768px){.menu-section{padding:20px}.menu-info-row{flex-direction:row;gap:20px}}.menu-card{background:#fafbfc;border:1px solid #e9ecef;border-radius:6px;padding:12px}.menu-header{align-items:start;gap:15px;display:flex}.menu-icon{color:#fff;background:#4a90e2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.menu-details{align-items:center;gap:20px;display:flex}.next-appointment{margin-block:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-md,.375rem);border-left-style:var(--tw-border-style);border-left-width:4px;border-left-color:var(--theme-primary,#007cbe);padding:calc(var(--spacing,.25rem) * 4);padding-right:calc(var(--spacing,.25rem) * 0);flex-direction:column;justify-content:space-between;align-items:stretch;display:flex}@media (width>=48rem){.next-appointment{flex-direction:row;align-items:center}}.appointment-content{flex:1}.appointment-header{align-items:center;margin-bottom:6px;display:flex}.appointment-date{color:#357abd;margin-bottom:4px;font-size:.9rem;font-weight:600}.appointment-details{color:#666;font-size:.8rem}.appointment-actions{flex-shrink:0;gap:6px;margin-left:12px;display:flex}@media (width<=768px){.appointment-content{margin-bottom:12px}.appointment-actions{justify-content:flex-end;margin-left:0}.appointment-date{font-size:.85rem}.appointment-details{font-size:.75rem}}.modal-overlay{z-index:1000;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#fff;border:1px solid #e9ecef;border-radius:8px;width:90%;max-width:480px;max-height:90vh;transition:transform .3s;overflow-y:auto;transform:translateY(20px);box-shadow:0 4px 12px #00000026}.modal-overlay.active .modal-content{transform:translateY(0)}.modal-header{border-bottom:none;padding:24px 24px 0}.modal-title{color:#333;text-align:center;margin-bottom:16px;font-size:1.1rem;font-weight:600}.clinic-name{color:#495057;letter-spacing:.5px;font-size:1.1rem;font-weight:400}.modal-body{padding:16px 24px 24px}.reservation-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:24px;padding:16px}.detail-row{justify-content:space-between;margin-bottom:8px;font-size:.9rem;display:flex}.detail-row:last-child{margin-bottom:0}.detail-label{color:#666;font-weight:500}.detail-value{color:#333;font-weight:600}.modal-footer{gap:12px;padding:0 24px 24px;display:flex}.btn-cancel-reservation{color:#fff;cursor:pointer;background:#c85a17;border:none;border-radius:4px;flex:1;padding:12px;font-size:.9rem;font-weight:500;transition:background .2s}.btn-cancel-reservation:hover{background:#a84f15}.btn-keep-reservation{color:#666;cursor:pointer;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;flex:1;padding:12px;font-size:.9rem;font-weight:500;transition:all .2s}.btn-keep-reservation:hover{background:#e9ecef}.profile-prompt-banner{background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border:1px solid #ffc107;border-radius:8px;margin-bottom:0;animation:.3s ease-out slideDown;box-shadow:0 2px 8px #ffc10733}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-prompt-content{align-items:center;gap:16px;display:flex}.profile-prompt-icon{background:#fff;border-radius:50%;flex-shrink:0;padding:12px;box-shadow:0 2px 4px #0000001a}.profile-prompt-icon svg{color:#f59e0b;width:24px;height:24px}.profile-prompt-text{flex:1}.profile-prompt-title{color:#7c2d12;margin-bottom:4px;font-size:1rem;font-weight:600}.profile-prompt-message{color:#92400e;font-size:.85rem;line-height:1.4}.profile-prompt-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-dismiss{cursor:pointer;color:#92400e;background:0 0;border:none;padding:4px;transition:color .2s}.btn-dismiss:hover{color:#7c2d12}.btn-dismiss svg{width:20px;height:20px}.profile-prompt-banner.hidden{display:none}.warning-banner,.info-banner,.success-banner,.danger-banner{border-radius:8px;margin-bottom:0;transition:opacity .3s,transform .3s;animation:.3s ease-out slideDown;box-shadow:0 2px 8px #0000001a}.warning-banner{background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border:1px solid #ffc107;box-shadow:0 2px 8px #ffc10733}.info-banner{background:linear-gradient(135deg,#d1ecf1 0%,#bee5eb 100%);border:1px solid #0dcaf0;box-shadow:0 2px 8px #0dcaf033}.success-banner{background:linear-gradient(135deg,#d1e7dd 0%,#badbcc 100%);border:1px solid #198754;box-shadow:0 2px 8px #19875433}.danger-banner{background:linear-gradient(135deg,#f8d7da 0%,#f5c2c7 100%);border:1px solid #dc3545;box-shadow:0 2px 8px #dc354533}.banner-content{align-items:center;gap:16px;display:flex}.banner-icon{background:#fff;border-radius:50%;flex-shrink:0;padding:12px;box-shadow:0 2px 4px #0000001a}.warning-banner .banner-icon svg{color:#f59e0b;width:24px;height:24px}.info-banner .banner-icon svg{color:#0dcaf0;width:24px;height:24px}.success-banner .banner-icon svg{color:#198754;width:24px;height:24px}.danger-banner .banner-icon svg{color:#dc3545;width:24px;height:24px}.banner-text{flex:1}.warning-banner .banner-title{color:#7c2d12;margin-bottom:4px;font-size:1rem;font-weight:600}.info-banner .banner-title{color:#055160;margin-bottom:4px;font-size:1rem;font-weight:600}.success-banner .banner-title{color:#0a3622;margin-bottom:4px;font-size:1rem;font-weight:600}.danger-banner .banner-title{color:#58151c;margin-bottom:4px;font-size:1rem;font-weight:600}.warning-banner .banner-message{color:#92400e;font-size:.85rem;line-height:1.4}.info-banner .banner-message{color:#055160;font-size:.85rem;line-height:1.4}.success-banner .banner-message{color:#0a3622;font-size:.85rem;line-height:1.4}.danger-banner .banner-message{color:#58151c;font-size:.85rem;line-height:1.4}.banner-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.warning-banner.hidden,.info-banner.hidden,.success-banner.hidden,.danger-banner.hidden{display:none}@media (width<=768px){.modal-content{width:95%;margin:10px}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.profile-prompt-banner{margin:12px;padding:12px}.profile-prompt-content{text-align:center;flex-direction:column}.profile-prompt-actions{justify-content:center;width:100%}.btn-dismiss{position:absolute;top:8px;right:8px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}
