code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sticky-navbar{position:sticky;top:0;z-index:1030;background:var(--background);box-shadow:0 2px 12px rgba(102,126,234,.06);transition:box-shadow .18s}@media (max-width:700px){.sticky-navbar{position:static;box-shadow:none}}.fade-in-up{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.fade-in-up.visible{opacity:1;transform:none}:root{--white:#ffffff;--black:#000000;--background:#ffffff;--background-primary:#ffffff;--background-secondary:#f8fafc;--background-subtle:#f1f5f9;--border-premium:rgba(0,0,0,0.08);--border-premium-hover:rgba(0,0,0,0.12);--border-premium-subtle:rgba(0,0,0,0.06);--border-premium-strong:rgba(0,0,0,0.15);--text-xs:clamp(0.75rem,2vw,0.875rem);--text-sm:clamp(0.875rem,2.5vw,1rem);--text-base:clamp(1rem,3vw,1.125rem);--text-lg:clamp(1.125rem,3.5vw,1.25rem);--text-xl:clamp(1.25rem,4vw,1.5rem);--text-2xl:clamp(1.5rem,4.5vw,1.875rem);--text-3xl:clamp(1.875rem,5vw,2.25rem);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-responsive-xs:clamp(0.25rem,1vw,0.5rem);--space-responsive-sm:clamp(0.5rem,2vw,1rem);--space-responsive-md:clamp(1rem,3vw,1.5rem);--space-responsive-lg:clamp(1.5rem,4vw,2rem);--space-responsive-xl:clamp(2rem,5vw,3rem);--height-button-sm:clamp(32px,6vw,40px);--height-button-md:clamp(40px,7vw,48px);--height-button-lg:clamp(48px,8vw,56px);--height-input:clamp(40px,7vw,48px);--height-header:clamp(50px,8vw,63px);--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:9999px;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.title-primary{font-size:var(--text-lg)}.title-primary,.title-secondary{color:#1f2937;font-weight:600;line-height:1.3;letter-spacing:-.01em}.title-secondary{font-size:var(--text-base)}.subtitle{font-size:var(--text-lg);color:#4b5563;font-weight:500;line-height:1.5}.body-text{font-size:var(--text-base);color:#374151;line-height:1.6}.body-text-secondary{font-size:var(--text-sm);color:#6b7280;line-height:1.5}.caption{font-size:var(--text-xs);color:#9ca3af;line-height:1.4}.control-header{font-size:12px!important;font-weight:600;color:var(--font-color-title);line-height:1.3}.control-label,.form-label.control-label{font-size:11px!important;font-weight:600;color:#495057;line-height:1.3}.control-text{font-size:11px!important;color:var(--font-color-primary);line-height:1.4}.control-text-secondary{font-size:10px!important;color:var(--font-color-secondary);line-height:1.4}.control-caption{font-size:9px!important;color:var(--font-color-muted);line-height:1.3}.control-button-group{width:100%!important;display:flex!important;flex-wrap:wrap}.control-button-group-grid{width:100%;display:grid;gap:4px}.control-button{display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #dee2e6!important;background-color:#fff!important;color:var(--gray-500)!important;font-weight:400!important;transition:all .15s ease!important;min-height:32px}.control-button:hover{background-color:#f8f9fa!important;border-color:#adb5bd!important}.control-button-selected,.control-button.selected{background-color:#0d6efd!important;border-color:#0d6efd!important;color:#fff!important;font-weight:600!important}.control-button-selected:hover,.control-button.selected:hover{background-color:#0b5ed7!important;border-color:#0a58ca!important}.control-button-xs{padding:2px 6px!important}.control-button-sm{padding:4px 6px!important}.control-button-md{padding:6px 4px!important}.control-button-lg{padding:6px 8px!important}.control-button-xl{padding:10px 8px!important}.control-button-flex-1{flex:1!important}.control-button-flex-column{flex-direction:column!important;gap:4px}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-spring{transition:all .4s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-2px)}.hover-lift-subtle:hover{transform:translateY(-1px)}.border-premium{border:1px solid rgba(0,0,0,.08)}.border-premium-hover:hover{border-color:rgba(0,0,0,.12)}.card{border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06)}.card-header{background:linear-gradient(180deg,#fafbfc,#f8f9fa);border-bottom:1px solid rgba(0,0,0,.06);padding:20px 24px;font-weight:700;font-size:1.125rem;color:#1f2937;letter-spacing:-.02em}.card-body{padding:24px}.card-footer{background:linear-gradient(180deg,#ffffff,#fafbfc);border-top:1px solid rgba(0,0,0,.06);padding:20px 24px}.icon-sm{width:16px;height:16px;flex-shrink:0}.icon-md{width:24px;height:24px;flex-shrink:0}.icon-lg{width:32px;height:32px;flex-shrink:0}.control-section{margin-bottom:var(--space-md)}.control-container{width:100%}.control-group{margin-bottom:var(--space-sm)}.control-scrollable{max-height:300px;overflow-y:auto}.control-item{border:1px solid #e2e8f0;border-radius:6px;margin-bottom:var(--space-sm);padding:var(--space-sm);background-color:#fafbfc}.control-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.control-button-row{display:flex;gap:var(--space-xs)}.control-notice{background-color:var(--info-50);border:1px solid #bbdefb;border-radius:4px;padding:var(--space-sm);color:var(--primary-600);margin-bottom:var(--space-sm)}.control-preview{padding:4px 6px;background-color:var(--even-bg);border:1px solid #e9ecef;border-radius:3px;color:var(--font-color-muted)}.control-empty-state{padding:20px;text-align:center;color:var(--gray-500);border:2px dashed #dee2e6;border-radius:6px}.control-icon-button{padding:2px 6px!important}.control-icon-button,.control-icon-text{line-height:1!important}.control-flex-column{display:flex;flex-direction:column;gap:var(--space-md)}.control-subheader{font-size:11px!important;font-weight:500!important;color:var(--font-color-secondary);line-height:1.3}.control-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs);margin:0}.control-row{margin:0!important}.control-col-split{padding-left:2px!important;padding-right:2px!important}.control-row-input{margin:0!important}.control-col-left{padding-right:8px!important;padding-left:0!important}.control-col-right{padding-left:4px!important;padding-right:0!important}.control-alert{padding:8px 12px;margin-bottom:var(--space-sm);border-radius:4px}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.p-responsive-sm{padding:var(--space-responsive-sm)}.p-responsive-md{padding:var(--space-responsive-md)}.p-responsive-lg{padding:var(--space-responsive-lg)}.px-responsive-sm{padding-left:var(--space-responsive-sm);padding-right:var(--space-responsive-sm)}.px-responsive-md{padding-left:var(--space-responsive-md);padding-right:var(--space-responsive-md)}.px-responsive-lg{padding-left:var(--space-responsive-lg);padding-right:var(--space-responsive-lg)}.py-responsive-sm{padding-top:var(--space-responsive-sm);padding-bottom:var(--space-responsive-sm)}.py-responsive-md{padding-top:var(--space-responsive-md);padding-bottom:var(--space-responsive-md)}.py-responsive-lg{padding-top:var(--space-responsive-lg);padding-bottom:var(--space-responsive-lg)}.about-section-row{max-width:1000px;margin:0 auto;width:100%;gap:var(--space-responsive-lg);padding:0 var(--space-md)}.about-section-content{align-items:center;min-width:0;max-width:100%}.about-section-title{color:var(--font-color-title);font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:700;line-height:1.3;margin-bottom:var(--space-md)}.about-section-text{color:var(--font-color-primary);font-family:var(--font-sans);font-size:var(--text-lg);line-height:1.6;max-width:600px;margin-bottom:0}.about-page-content{padding:var(--space-responsive-lg) var(--space-md)}@media (min-width:768px){.about-section-row{gap:clamp(1.5rem,4vw,3rem)}.about-page-content{padding:var(--space-3xl) var(--space-lg)}}.full-height{min-height:100vh;min-height:100dvh}.viewport-height{height:100vh;height:100dvh}.sitemap-container{background:var(--background);min-height:100vh;min-height:100dvh;padding:var(--space-xl) 0 var(--space-2xl) 0}.sitemap-header{text-align:center;margin-bottom:var(--space-2xl)}.sitemap-title{font-size:clamp(2rem,5vw,3rem);color:var(--font-color-title);letter-spacing:-.02em;line-height:1.2;font-weight:700;margin-bottom:var(--space-md)}.sitemap-subtitle{color:var(--font-color-muted);font-size:var(--text-lg);max-width:600px;margin:0 auto;line-height:1.5}.sitemap-card{height:100%;padding:var(--space-xl);background:white;border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s ease}.sitemap-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.sitemap-section-header{display:flex;align-items:center;margin-bottom:var(--space-xl)}.sitemap-icon-container{width:48px;height:48px;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;margin-right:var(--space-md)}.sitemap-section-title{font-size:1.25rem;color:var(--font-color-title);letter-spacing:-.01em;font-weight:700;margin-bottom:0}.sitemap-link{color:var(--font-color-title);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:background .18s,color .18s,box-shadow .18s;display:inline-block;width:100%}.sitemap-link:hover{background:var(--background-tab-active);color:var(--primary);box-shadow:0 2px 8px rgba(90,103,216,.1);text-decoration:none}.sticky-footer-layout{min-height:100vh;display:flex;flex-direction:column}.sticky-footer-layout>:not(footer):not(.sticky-footer-layout footer){flex:1 0 auto}.sticky-footer-layout footer,.sticky-footer-layout>footer{flex-shrink:0;margin-top:auto}.sticky-footer-layout .craftjs-container-custom-padding[style*="flex-grow: 1"]{flex:1 0 auto!important;min-height:0}.sticky-footer-content{flex:1;display:flex;flex-direction:column}.sticky-footer-main{flex:1}@media (min-width:992px){.grid-auto-layout .col img,.grid-fixed-layout .col img{max-width:calc(100% - var(--margin-left, 0px) - var(--margin-right, 0px))!important;box-sizing:border-box!important}.col img[style*=margin]{width:auto!important}.col img[style*=margin],.img-fluid[style*=margin]{max-width:calc(100% - 16px)!important}}.alert-message .btn-close{font-size:.75rem;padding:.75rem}.card-base{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg)}.card-header{background:var(--background);border-bottom:1px solid var(--border-light);padding:var(--space-responsive-md)}.card-body{padding:var(--space-responsive-lg);background:var(--even-bg)}.card-footer{padding:var(--space-responsive-md);border-top:1px solid var(--border-light);background:var(--background)}.btn-base{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;min-height:var(--height-button-md);padding:var(--space-sm) var(--space-lg);font-size:var(--text-base)}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:transparent;border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--even-bg)}.btn-sm{padding:var(--space-xs) var(--space-md)}.btn-lg{padding:var(--space-md) var(--space-xl)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;margin-bottom:var(--space-sm)}.form-input{width:100%;min-height:var(--height-input);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--font-color-primary);background:var(--background);transition:border-color .2s ease-in-out}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.modal-header{background:var(--background);border-bottom:1px solid var(--border-light);padding:var(--space-responsive-md)}.modal-title{margin:0}.modal-body{background:var(--panel-bg-grey);padding:var(--space-responsive-lg)}.modal-footer{background:var(--background);border-top:1px solid var(--border-light);padding:var(--space-responsive-md);display:flex;gap:var(--space-md);justify-content:flex-end}.container-responsive{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-responsive-md);padding-right:var(--space-responsive-md)}.container-narrow{max-width:var(--container-md)}.container-wide{max-width:var(--container-2xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.alert-base{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-base);border:1px solid transparent}.alert-error{background:rgba(239,68,68,.1);color:var(--danger);border-color:rgba(239,68,68,.2)}.alert-warning{background:rgba(245,158,11,.1)}.alert-success{background:rgba(34,197,94,.1)}.alert-info{background:rgba(59,130,246,.1)}.carousel-fullheight .carousel,.carousel-fullheight .carousel-inner,.carousel-fullheight .carousel-item{height:100%}.carousel-fullheight .carousel-item.active{display:flex!important;align-items:stretch}.carousel.h-100 .carousel-inner,.carousel.h-100 .carousel-item{height:100%}@media (max-width:991.98px){.floating-navbar-brand{padding-left:16px!important}}:root{--calendar-cell-size:56px;--calendar-cell-size-lg:64px;--calendar-min-height:420px;--calendar-padding:var(--space-md);--calendar-gap:2px;--calendar-gap-lg:4px;--calendar-header-height:var(--height-header);--calendar-today-bg:rgba(37,99,235,0.1);--calendar-selected-bg:var(--primary);--calendar-hover-bg:var(--even-bg);--calendar-disabled-bg:rgba(100,116,139,0.1);--font-color-disabled:var(--font-color-muted);--calendar-tab-color:var(--font-color-tab);--calendar-active-tab-color:var(--primary);--calendar-active-tab-background:var(--background-tab-active);--calendar-tab-border-color:var(--border-light);--available-slot-background:var(--success-light);--available-slot-text-color:var(--success-dark);--unavailable-slot-background:var(--gray-100);--unavailable-slot-text-color:var(--gray-600);--selected-slot-background:var(--primary-light);--selected-slot-text-color:var(--white);--calendar-header-background:var(--card-header-bg);--calendar-header-text-color:var(--font-color-title);--calendar-border-color:var(--border-color);--calendar-spinner-color:var(--primary);--book-button-background:var(--primary);--book-button-text-color:var(--white);--book-button-hover-background:var(--primary-dark);--book-button-hover-text-color:var(--white);--cancel-button-background:var(--danger);--cancel-button-text-color:var(--white);--calendar-main-title-color:var(--font-color-title);--calendar-panel-title-color:var(--font-color-title);--calendar-panel-text-color:var(--font-color-secondary);--panel-width:320px;--panel-width-lg:360px;--panel-bg-grey:var(--panel-bg-grey);--slot-gap:var(--space-sm);--slot-width:100%;--slot-height:auto}.calendar-container{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-height:var(--calendar-min-height)}.calendar-header{background:var(--background);border-bottom:1px solid var(--border-light);padding:var(--space-md);height:var(--calendar-header-height);display:flex;align-items:center;justify-content:space-between}.calendar-title{font-size:var(--text-xl);font-weight:600;color:var(--calendar-panel-title-color);margin:0}.h4.mb-4.text-center{color:var(--calendar-main-title-color)}.calendar-nav{display:flex;gap:var(--space-sm)}.calendar-nav-button{width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--font-color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.calendar-nav-button:hover{background:var(--even-bg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--calendar-gap);padding:var(--calendar-padding);width:100%;box-sizing:border-box}.calendar-day-header{text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--calendar-header-text-color);background:var(--calendar-header-background);border-color:var(--calendar-border-color);padding:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.calendar-day{aspect-ratio:1;min-height:var(--calendar-cell-size);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:transparent;color:var(--font-color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:500;transition:all .2s ease;position:relative}.calendar-day:hover{background:var(--calendar-hover-bg)}.calendar-day.today{background:var(--calendar-today-bg);color:var(--primary);font-weight:600}.calendar-day.selected{background:var(--selected-slot-background);color:var(--selected-slot-text-color)}.calendar-day.disabled{background:var(--unavailable-slot-background);color:var(--unavailable-slot-text-color);cursor:not-allowed}.calendar-day.available{background:var(--available-slot-background);color:var(--available-slot-text-color);border:1px solid var(--calendar-border-color)}.calendar-day.available:hover{background:var(--selected-slot-background);color:var(--selected-slot-text-color)}.calendar-day.other-month{color:var(--font-color-disabled);background:var(--even-bg)}.calendar-grid-container{min-height:var(--calendar-min-height);padding:var(--calendar-padding)}.slot-container{gap:var(--slot-gap);padding:var(--space-md)}.slot-item{width:var(--slot-width);height:var(--slot-height);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--background);color:var(--font-color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:500;transition:all .2s ease}.slot-container{margin-top:var(--space-md)}.slot-container,.slots-list{display:flex;flex-direction:column;gap:var(--space-md)}.time-slot{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--background);transition:all .2s ease}.time-slot:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.slot-time{font-size:var(--text-sm);font-weight:600;color:var(--slot-time-text-color,var(--font-color-primary))}.slot-summary{font-size:var(--text-xs);color:var(--slot-summary-text-color,var(--font-color-secondary));line-height:1.4}.slot-plans{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:var(--space-xs) 0}.plan-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-weight:500;text-decoration:none;line-height:1.2}.slot-book-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:var(--space-xs)}.slot-book-btn.available{background:var(--book-button-background,var(--primary));color:var(--book-button-text-color,var(--font-color-light))}.slot-book-btn.available:hover{background:var(--book-button-hover-background,var(--primary-dark));color:var(--book-button-hover-text-color,var(--font-color-light))}.slot-book-btn.unavailable{background:var(--calendar-disabled-bg);color:var(--font-color-disabled)}.calendar-tabs{border-bottom:2px solid var(--calendar-tab-border-color)!important}.calendar-tab-item{margin-bottom:-2px}.calendar-tab-link{color:var(--calendar-tab-color)!important;background:none!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;font-weight:600!important;font-size:18px!important;transition:color .2s,border-bottom .2s,background .2s!important}.calendar-tab-link-active,.calendar-tab-link.active,.calendar-tab-link:hover{color:var(--calendar-active-tab-color)!important;background:var(--calendar-active-tab-background)!important}.calendar-tab-link-active,.calendar-tab-link.active{border-bottom:2.5px solid var(--calendar-active-tab-color)!important}.book-button{background:var(--book-button-background)!important;color:var(--book-button-text-color)!important;border:none!important}.book-button:hover{background:var(--book-button-hover-background)!important;color:var(--book-button-hover-text-color)!important}.cancel-button{background:var(--cancel-button-background)!important;color:var(--cancel-button-text-color)!important;border:none!important}@media (max-width:767px){.time-slot{padding:var(--space-sm);gap:var(--space-xs)}.slot-time{font-size:var(--text-xs)}.slot-summary{font-size:11px}.slot-book-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}}.booking-panel{width:var(--panel-width);border-left:1px solid var(--border-light);flex-direction:column}.booking-panel,.booking-panel-header{background:var(--background);display:flex}.booking-panel-header{border-bottom:1px solid var(--border-light);padding:var(--space-md);height:var(--calendar-header-height);align-items:center;justify-content:flex-start}.booking-panel-body{flex:1;overflow-y:auto;background:var(--background);padding:var(--space-md)}.booking-panel-body .title-secondary{margin-bottom:var(--space-md);color:var(--calendar-panel-title-color);font-weight:600}.booking-panel-body .body-text-secondary{margin-bottom:var(--space-md);color:var(--calendar-panel-text-color)}.booking-panel-footer{padding:var(--space-responsive-md);border-top:1px solid var(--border-light);background:var(--background)}.plan-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--plan-badge-text-color,var(--white));background:var(--plan-badge-background,var(--primary))}.plan-badge.free{background:var(--plan-badge-background,rgba(107,114,128,.1));color:var(--plan-badge-text-color,#6b7280)}.plan-badge.pro{background:var(--plan-badge-background,rgba(37,99,235,.1));color:var(--plan-badge-text-color,var(--primary))}.plan-badge.premium{background:var(--plan-badge-background,rgba(147,51,234,.1));color:var(--plan-badge-text-color,#9333ea)}.calendar-legend{padding:var(--space-md);background:var(--even-bg);border-top:1px solid var(--border-light)}.calendar-legend-container{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;align-items:center}.calendar-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.calendar-legend-color{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0}.calendar-legend-color.available{background:var(--available-slot-background)}.calendar-legend-color.selected{background:var(--selected-slot-background)}.calendar-legend-color.unavailable{background:var(--unavailable-slot-background)}.calendar-legend-text{font-size:var(--text-sm);color:var(--calendar-panel-text-color);font-weight:500}@media (max-width:768px){.calendar-grid{gap:2px;padding:var(--space-xs);width:100%;overflow:hidden;margin:0}.calendar-day,.calendar-grid{max-width:100%;box-sizing:border-box}.calendar-day{min-height:30px;font-size:var(--text-sm);padding:2px;min-width:0}.calendar-day-header{min-width:0;box-sizing:border-box}.calendar-header{padding:var(--space-sm);min-height:48px}.calendar-title{font-size:var(--text-lg)}.booking-panel{width:100%;border-left:none;border-top:1px solid var(--border-light)}.slot-item{height:40px;font-size:var(--text-sm)}}@media (min-width:768px){.slot-item{justify-content:space-between}.slot-content,.slot-item{flex-direction:row;align-items:center;gap:var(--space-lg)}.slot-content{flex:1}.slot-info{flex:1;min-width:0}.slot-plans{flex-shrink:0;flex-wrap:nowrap;gap:var(--space-sm)}.slot-button{width:auto;min-width:100px;flex-shrink:0}}@media (max-width:480px){.calendar-grid{gap:1px;padding:var(--space-xs);width:100%;max-width:100%;box-sizing:border-box;margin:0}.calendar-day{min-height:28px;font-size:12px;border-width:.5px;min-width:0;box-sizing:border-box}.calendar-day-header{font-size:11px;padding:var(--space-xs);min-width:0;box-sizing:border-box}.card-body{padding-left:var(--space-xs);padding-right:var(--space-xs)}}@media (min-width:1200px){.calendar-day{min-height:var(--calendar-cell-size-lg)}.calendar-grid{gap:var(--calendar-gap-lg)}.booking-panel{width:var(--panel-width-lg)}}.booking-modal-cancel-btn,.booking-modal-cancel-btn:hover{background:var(--cancel-button-background)!important;color:var(--cancel-button-text-color)!important;border-color:var(--cancel-button-background)!important}.booking-modal-cancel-btn:hover{opacity:.85}.booking-modal-confirm-btn{background:var(--book-button-background)!important;color:var(--book-button-text-color)!important;border-color:var(--book-button-background)!important}.booking-modal-confirm-btn:hover{background:var(--book-button-hover-background)!important;color:var(--book-button-hover-text-color)!important;border-color:var(--book-button-hover-background)!important}:root{--bs-primary:var(--primary);--bs-secondary:var(--secondary);--bs-success:var(--success);--bs-danger:var(--danger);--bs-warning:var(--warning);--bs-info:var(--info);--bs-light:var(--background);--bs-dark:var(--font-color-primary);--bs-gutter-x:var(--space-md);--bs-gutter-y:var(--space-md);--bs-border-radius:var(--radius-sm);--bs-border-radius-sm:var(--radius-xs);--bs-border-radius-lg:var(--radius-lg);--bs-border-radius-xl:var(--radius-xl);--bs-font-sans-serif:var(--font-sans);--bs-box-shadow:var(--shadow-sm);--bs-box-shadow-sm:var(--shadow-xs);--bs-box-shadow-lg:var(--shadow-lg)}.card{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.card-header{background-color:var(--background);border-bottom-color:var(--border-light);color:var(--font-color-title);font-weight:600;min-height:var(--height-header);display:flex;align-items:center}.card-body{background-color:var(--even-bg);color:var(--font-color-primary)}.card-footer{background-color:var(--background);border-top-color:var(--border-light)}.btn{min-height:var(--height-button-md);font-family:var(--font-sans);font-weight:500;border-radius:var(--radius-sm);transition:all .2s ease-in-out}.btn-sm{min-height:var(--height-button-sm);font-size:var(--text-sm)}.btn-lg{min-height:var(--height-button-lg);font-size:var(--text-lg)}.btn-primary{background-color:var(--primary);border-color:var(--primary);color:var(--font-color-light)}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);color:var(--font-color-light)}.btn-primary.disabled,.btn-primary:disabled{background-color:var(--gray-300);border-color:var(--gray-300);color:var(--gray-500);opacity:1;cursor:not-allowed}.btn-secondary{background-color:transparent}.btn-secondary,.btn-secondary:hover{border-color:var(--border-light);color:var(--font-color-title)}.btn-secondary:hover{background-color:var(--even-bg)}.form-control{min-height:var(--height-input);border-color:var(--border-light);font-size:var(--text-base);border-radius:var(--radius-sm)}.form-control,.form-control:focus{background-color:var(--background);color:var(--font-color-primary)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(37,99,235,.1)}.form-label{color:var(--font-color-title);font-weight:500;font-size:var(--text-base)}.form-select{min-height:var(--height-input);border-color:var(--border-light);color:var(--font-color-primary);border-radius:var(--radius-sm)}.form-select,.modal-header{background-color:var(--background)}.modal-header{border-bottom-color:var(--border-light);min-height:var(--height-header)}.modal-title{color:var(--font-color-title);font-weight:600;font-size:var(--text-xl)}.modal-body{background-color:var(--panel-bg-grey);color:var(--font-color-primary)}.modal-footer{background-color:var(--background);border-top-color:var(--border-light)}.alert{border-radius:var(--radius-sm);font-size:var(--text-sm)}.alert-danger{background-color:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2);color:var(--danger)}.alert-warning{background-color:rgba(245,158,11,.1);border-color:rgba(245,158,11,.2);color:#d97706}.alert-success{background-color:rgba(34,197,94,.1);border-color:rgba(34,197,94,.2);color:var(--success)}.alert-info{background-color:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2);color:var(--primary)}.badge{font-size:var(--text-xs);font-weight:600;padding:var(--space-xs) var(--space-sm)}.container,.container-fluid{padding-left:var(--space-responsive-md);padding-right:var(--space-responsive-md)}.p-custom-xs{padding:var(--space-xs)!important}.p-custom-sm{padding:var(--space-sm)!important}.p-custom-md{padding:var(--space-md)!important}.p-custom-lg{padding:var(--space-lg)!important}.p-custom-xl{padding:var(--space-xl)!important}.px-custom-xs{padding-left:var(--space-xs)!important;padding-right:var(--space-xs)!important}.px-custom-sm{padding-left:var(--space-sm)!important;padding-right:var(--space-sm)!important}.px-custom-md{padding-left:var(--space-md)!important;padding-right:var(--space-md)!important}.px-custom-lg{padding-left:var(--space-lg)!important;padding-right:var(--space-lg)!important}.px-custom-xl{padding-left:var(--space-xl)!important;padding-right:var(--space-xl)!important}.py-custom-xs{padding-top:var(--space-xs)!important;padding-bottom:var(--space-xs)!important}.py-custom-sm{padding-top:var(--space-sm)!important;padding-bottom:var(--space-sm)!important}.py-custom-md{padding-top:var(--space-md)!important;padding-bottom:var(--space-md)!important}.py-custom-lg{padding-top:var(--space-lg)!important;padding-bottom:var(--space-lg)!important}.py-custom-xl{padding-top:var(--space-xl)!important;padding-bottom:var(--space-xl)!important}.m-custom-xs{margin:var(--space-xs)!important}.m-custom-sm{margin:var(--space-sm)!important}.m-custom-md{margin:var(--space-md)!important}.m-custom-lg{margin:var(--space-lg)!important}.m-custom-xl{margin:var(--space-xl)!important}.mx-custom-xs{margin-left:var(--space-xs)!important;margin-right:var(--space-xs)!important}.mx-custom-sm{margin-left:var(--space-sm)!important;margin-right:var(--space-sm)!important}.mx-custom-md{margin-left:var(--space-md)!important;margin-right:var(--space-md)!important}.mx-custom-lg{margin-left:var(--space-lg)!important;margin-right:var(--space-lg)!important}.mx-custom-xl{margin-left:var(--space-xl)!important;margin-right:var(--space-xl)!important}.my-custom-xs{margin-top:var(--space-xs)!important;margin-bottom:var(--space-xs)!important}.my-custom-sm{margin-top:var(--space-sm)!important;margin-bottom:var(--space-sm)!important}.my-custom-md{margin-top:var(--space-md)!important;margin-bottom:var(--space-md)!important}.my-custom-lg{margin-top:var(--space-lg)!important;margin-bottom:var(--space-lg)!important}.my-custom-xl{margin-top:var(--space-xl)!important;margin-bottom:var(--space-xl)!important}.p-responsive-sm{padding:var(--space-responsive-sm)!important}.p-responsive-md{padding:var(--space-responsive-md)!important}.p-responsive-lg{padding:var(--space-responsive-lg)!important}.px-responsive-sm{padding-left:var(--space-responsive-sm)!important;padding-right:var(--space-responsive-sm)!important}.px-responsive-md{padding-left:var(--space-responsive-md)!important;padding-right:var(--space-responsive-md)!important}.px-responsive-lg{padding-left:var(--space-responsive-lg)!important;padding-right:var(--space-responsive-lg)!important}.py-responsive-sm{padding-top:var(--space-responsive-sm)!important;padding-bottom:var(--space-responsive-sm)!important}.py-responsive-md{padding-top:var(--space-responsive-md)!important;padding-bottom:var(--space-responsive-md)!important}.py-responsive-lg{padding-top:var(--space-responsive-lg)!important;padding-bottom:var(--space-responsive-lg)!important}.text-responsive-xs{font-size:var(--text-responsive-xs)!important}.text-responsive-sm{font-size:var(--text-responsive-sm)!important}.text-responsive-base{font-size:var(--text-responsive-base)!important}.text-responsive-lg{font-size:var(--text-responsive-lg)!important}.text-responsive-xl{font-size:var(--text-responsive-xl)!important}.text-responsive-2xl{font-size:var(--text-responsive-2xl)!important}.bg-panel{background-color:var(--panel-bg-grey)!important}.bg-even{background-color:var(--even-bg)!important}.bg-odd{background-color:var(--odd-bg)!important}.bg-accent{background-color:var(--accent)!important}.text-title{color:var(--font-color-title)!important}.text-secondary{color:var(--font-color-secondary)!important}.text-accent{color:var(--font-color-accent)!important}.text-muted{color:var(--font-color-muted)!important}.text-subtitle{color:var(--font-color-subtitle)!important}.border-light{border-color:var(--border-light)!important}.border-radius-sm{border-radius:var(--radius-sm)!important}.border-radius-lg{border-radius:var(--radius-lg)!important}.border-radius-xl{border-radius:var(--radius-xl)!important}.shadow-xs{box-shadow:var(--shadow-xs)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.h-button-sm{min-height:var(--height-button-sm)!important}.h-button-md{min-height:var(--height-button-md)!important}.h-button-lg{min-height:var(--height-button-lg)!important}.h-input{min-height:var(--height-input)!important}.h-header{min-height:var(--height-header)!important}.calendar-bootstrap .card{box-shadow:var(--shadow-sm);border-color:var(--border-light);min-height:var(--calendar-min-height)}.calendar-bootstrap .card-header{background-color:var(--background);border-bottom-color:var(--border-light);min-height:var(--calendar-header-height);padding:var(--calendar-padding)}.booking-panel-bootstrap .card{border-color:var(--border-light);min-height:var(--calendar-min-height)}.booking-panel-bootstrap .card-header{background-color:var(--background);border-bottom-color:var(--border-light);min-height:var(--calendar-header-height);padding:var(--calendar-padding)}:root{--foreground:#1e293b;--primary:#2563eb;--primary-light:#60a5fa;--primary-dark:#1e40af;--primary-gradient:linear-gradient(90deg,#2563eb,#60a5fa);--accent:#f1f5f9;--alt-bg:var(--primary-light);--even-bg:#f8fafc;--odd-bg:#f1f5f9;--highlight:#6366f1;--highlight2:#0ea5e9;--highlight3:#22d3ee;--tag-bg:#e0e7ff;--tag-color:var(--primary-dark);--desc:#64748b;--desc-color:#94a3b8;--subtitle:#334155;--card-shadow:0 2px 8px rgba(0,0,0,0.04);--card-shadow-hover:0 4px 16px rgba(52,112,255,0.12);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-color-primary:#394250;--font-color-secondary:#64748b;--font-color-accent:#394250;--font-color-light:#fff;--font-color-muted:#94a3b8;--font-color-title:#3963df;--font-color-subtitle:#334155;--font-color-table-header:#222;--font-color-table-accent:#6366f1;--font-color-tab:#495057;--background-tab-active:#e7f1ff;--font-color-error:#ef4444;--border-radius:32px;--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.06);--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);--step-number-border:#fff;--step-number-outline:var(--primary-light);--step-number-shadow:0 4px 18px 0 rgba(90,103,216,0.18);--step-number-shadow-active:0 0 0 8px var(--primary-dark),0 4px 18px 0 rgba(90,103,216,0.18);--gradient-blue:linear-gradient(135deg,#2563eb,#60a5fa);--gradient-pink:linear-gradient(135deg,#f7e3e9,#f5f6fa);--gradient-green:linear-gradient(135deg,#3bb78f,#6ad2a0);--gradient-yellow:linear-gradient(135deg,#f7f3e3,#f5f6fa);--gradient-section:radial-gradient(circle at 50% 50%,#f3f6fd 60%,#e0e7ff 100%);--gradient-section-alt:linear-gradient(135deg,#f8fafc 60%,#e0e7ff);--navbar-bg:linear-gradient(135deg,#f8fafc 60%,#e0e7ff);--border-light:#e2e8f0;--success:#22c55e;--danger:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--card-bg-gradient:linear-gradient(135deg,#f8fafc 60%,#e0e7ff 80%);--page-bg-gradient:linear-gradient(135deg,#f8fafc,#e9f0fb);--start-marker-padding:56px 0 48px 0;--start-marker-bg:var(--gradient-green);--start-marker-min-height:120px;--start-marker-radius:0;--start-marker-font-size:2.25rem;--start-marker-text-shadow:0 2px 12px rgba(56,161,105,0.10);--panel-bg-grey:linear-gradient(135deg,#f6f8fb 60%,#f0f4fa)}body{background:var(--background);color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{font-weight:600;letter-spacing:-.01em;border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06)}.btn:active:not(:disabled){transform:translateY(0)}.btn-sm{font-size:.875rem;padding:8px 16px}.btn,.btn-md{font-size:.9375rem;padding:10px 20px}.btn-lg{font-size:1rem;padding:12px 24px}.form-control,.form-select{border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9375rem;padding:10px 12px}.form-control:focus,.form-select:focus{border-color:rgba(59,130,246,.6);box-shadow:0 0 0 4px rgba(59,130,246,.1)}.form-label{font-weight:600;color:var(--gray-700);margin-bottom:8px;font-size:.875rem}.reactour__popover{border-radius:8px!important;box-shadow:0 4px 20px rgba(0,0,0,.15)!important;max-width:350px!important;border:none!important}.reactour__mask{opacity:.7!important}.reactour__badge{background-color:#007bff!important;border-radius:12px!important;padding:.25rem .75rem!important;font-weight:600!important}.rbc-calendar{color:var(--font-color-primary);border-radius:var(--border-radius);box-shadow:none}.rbc-calendar,.rbc-toolbar{font-family:var(--font-sans);background:var(--background)}.rbc-toolbar{color:var(--font-color-title);border-radius:var(--border-radius) var(--border-radius) 0 0;font-weight:700;font-size:1.15rem;border-bottom:1px solid var(--border-light);margin-bottom:0;padding:18px 32px 10px}.rbc-btn-group button,.rbc-btn-group button:active,.rbc-btn-group button:focus{background:var(--background)!important;color:var(--font-color-title)!important;border:1px solid var(--border-light)!important;border-radius:12px!important;font-weight:600!important;margin-right:8px!important;transition:background .15s,color .15s;outline:none!important;box-shadow:none!important}.rbc-btn-group button.rbc-active,.rbc-btn-group button.rbc-active:active,.rbc-btn-group button.rbc-active:focus{background:var(--primary)!important;color:var(--font-color-light)!important;border:1px solid var(--primary)!important}.rbc-header{background:var(--background-tab-active);color:var(--font-color-table-header);font-weight:700;font-size:1.08rem;border-bottom:1px solid var(--border-light);border-top:none;border-radius:0;padding:12px 0}.rbc-month-view,.rbc-time-view{background:var(--background);border-radius:0 0 var(--border-radius) var(--border-radius)}.rbc-timeslot-group{border-bottom:1px solid var(--border-light);display:flex}.rbc-event,.rbc-event-content,.rbc-event-label{font-size:.93rem!important;font-weight:400!important;color:var(--font-color-light)!important}.rbc-event{border-radius:8px!important;box-shadow:var(--shadow-sm)}.rbc-today{background:var(--card-bg-gradient)!important}.rbc-selected,.rbc-selected-cell{background:var(--highlight2)!important}.rbc-row-segment,.rbc-time-slot{border-right:1px solid var(--border-light)}.rbc-time-header{border-bottom:1px solid var(--border-light)}.rbc-time-content{border-radius:0 0 var(--border-radius) var(--border-radius)}.rbc-timeslot-group .rbc-time-slot{min-height:32px}.rbc-time-gutter,.rbc-timeslot-group{background:var(--background);color:var(--font-color-muted);font-size:.98rem}.rbc-time-gutter{border-right:1px solid var(--border-light);padding-left:8px}.rbc-date-cell{color:var(--font-color-table-header);font-weight:600;text-align:center;vertical-align:middle;padding:8px 0}.rbc-time-slot{min-height:32px;padding:0;border:none}.rbc-row-segment{min-height:32px;border-right:1px solid var(--border-light);padding:0}.rbc-current-time-indicator{background-color:var(--danger);height:2px}