.google-auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);background-color:var(--color-darkest)}.google-auth-card{background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);border:var(--card-border-width) solid var(--color-medium);max-width:480px;width:100%;text-align:center;position:relative;overflow:hidden}.google-auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--card-accent-height);background:linear-gradient(90deg,var(--color-medium) 0%,var(--color-dark) 100%)}.google-auth-header{margin-bottom:var(--spacing-xl)}.google-auth-logo{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md)}.google-auth-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-darkest);margin:0 0 var(--spacing-sm) 0;letter-spacing:-.5px}.google-auth-subtitle{font-size:var(--font-size-base);color:var(--color-dark);margin:0;font-weight:400}.google-auth-button{width:100%;padding:var(--button-padding-y) var(--button-padding-x);background:#fff;color:#3c4043;border:var(--card-border-width) solid #dadce0;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.google-auth-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0000000d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.google-auth-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:silver}.google-auth-button:hover:before{width:300px;height:300px}.google-auth-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.google-auth-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.google-auth-icon{width:20px;height:20px;flex-shrink:0}.google-auth-icon svg{width:100%;height:100%}@media(max-width:768px){.google-auth-container{padding:var(--spacing-md)}.google-auth-card{padding:var(--spacing-xl) var(--spacing-lg)}.google-auth-title{font-size:var(--font-size-xl)}.google-auth-logo{font-size:var(--font-size-3xl)}}aside{position:fixed;left:0;top:0;height:100vh;overflow:hidden;z-index:100;width:var(--menu-width-open);transition-property:width;transition-duration:var(--menu-transition-duration);transition-timing-function:ease;will-change:width}aside.sidebar-open{width:var(--menu-width-open)}aside.sidebar-collapsed{width:var(--menu-width-collapsed)}.menu-nav{display:flex;flex-direction:column;width:100%;height:100vh;background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);padding:var(--spacing-xl) 0;box-shadow:var(--shadow-sm)}.menu-header{padding:0 var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-lg);opacity:1;transition:opacity .2s ease}.menu-nav.menu-collapsed .menu-header{opacity:0;pointer-events:none}.menu-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-darkest);margin:0}.menu-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}.menu-item{margin:.25rem 0;padding:0;transition:width var(--menu-transition-duration) ease}.menu-link{display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-dark);text-decoration:none;font-weight:500;font-size:var(--font-size-sm);gap:var(--spacing-sm);transition:background-color .2s ease,color .2s ease,width var(--menu-transition-duration) ease,padding var(--menu-transition-duration) ease,gap var(--menu-transition-duration) ease;border-radius:var(--corner-radius);margin:0 var(--spacing-sm)}.menu-link:hover{background-color:#b9a59026;color:var(--color-darkest)}.menu-link.active{background-color:#b9a59040;color:var(--color-darkest);font-weight:600}.menu-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:currentColor;transition:width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease,margin var(--menu-transition-duration) ease}.menu-icon svg{width:100%;height:100%;stroke:currentColor}.menu-label{display:inline-block;opacity:1;white-space:nowrap;transition:opacity .2s ease,width var(--menu-transition-duration) ease}.menu-nav.menu-collapsed .menu-label{opacity:0;width:0;overflow:hidden}.menu-nav.menu-collapsed .menu-link{justify-content:center;padding:var(--spacing-sm);margin:.25rem auto;width:40px;height:40px;display:flex;align-items:center;gap:0}.menu-nav.menu-collapsed .menu-item{display:flex;justify-content:center;width:100%}.menu-nav.menu-collapsed .menu-icon{margin:0;width:20px;height:20px}.menu-footer{padding:var(--spacing-lg);margin-top:auto;display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;transition:padding var(--menu-transition-duration) ease,gap var(--menu-transition-duration) ease}.menu-nav.menu-collapsed .menu-footer{align-items:center;padding:var(--spacing-md) 0;gap:var(--spacing-sm)}.menu-language-selector{width:100%;transition:width var(--menu-transition-duration) ease}.language-selector-expanded{display:flex;flex-direction:column;gap:var(--spacing-xs)}.language-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-darkest);text-transform:uppercase;letter-spacing:.5px}.language-toggle-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff80;border:1px solid rgba(185,165,144,.3);border-radius:var(--corner-radius);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:Manrope,sans-serif}.language-toggle-button:hover{background-color:#ffffffb3;border-color:#b9a59080}.language-toggle-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.language-flag-emoji{font-size:var(--font-size-xl);transition:opacity .2s ease,transform .2s ease;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Android Emoji",EmojiSymbols,sans-serif;line-height:1;display:inline-block}.language-toggle-button .language-flag-emoji{opacity:.4;transform:scale(.9)}.language-toggle-button .language-flag-emoji.active{opacity:1;transform:scale(1.1)}.language-divider{color:var(--color-darkest);font-weight:600;font-size:var(--font-size-base)}.language-toggle-collapsed{width:100%;padding:var(--spacing-sm);background:#ffffff80;border:1px solid rgba(185,165,144,.3);border-radius:var(--corner-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease,width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease,padding var(--menu-transition-duration) ease;min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.language-toggle-collapsed:hover{background:#ffffffb3;border-color:#b9a59080}.language-toggle-collapsed .language-flag-emoji{font-size:var(--font-size-lg);font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Android Emoji",EmojiSymbols,sans-serif;line-height:1;display:inline-block}.menu-nav.menu-collapsed .language-toggle-collapsed{width:40px;height:40px;padding:var(--spacing-sm);margin:0 auto}.sign-out-button{width:100%;padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);color:var(--color-lightest);border:none;border-radius:var(--corner-radius);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:box-shadow .2s ease,width var(--menu-transition-duration) ease,padding var(--menu-transition-duration) ease}.sign-out-button:hover{box-shadow:var(--shadow-md)}.sign-out-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.menu-collapsed .sign-out-button .menu-label,.menu-nav.menu-collapsed .sign-out-button{display:none}.menu-toggle-button{position:absolute;top:var(--spacing-xl);z-index:1001;background:var(--color-darkest);border:none;border-radius:var(--corner-radius);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:right var(--menu-transition-duration) ease,left var(--menu-transition-duration) ease,transform var(--menu-transition-duration) ease,box-shadow .2s ease,width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease}.menu-toggle-button:hover{box-shadow:var(--shadow-md)}.menu-toggle-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.menu-nav.menu-open .menu-toggle-button{right:var(--spacing-lg);left:auto}.menu-nav.menu-collapsed .menu-toggle-button{left:50%;transform:translate(-50%);right:auto}.hamburger{display:flex;align-items:center;justify-content:center;width:20px;height:20px;position:relative}.hamburger span{display:block;height:2px;width:100%;background:var(--color-lightest);border-radius:2px;position:absolute;transition:transform .2s ease,opacity .2s ease}.hamburger span:nth-child(1){top:4px}.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger span:nth-child(3){bottom:4px}.hamburger.open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){bottom:auto;top:50%;transform:translateY(-50%) rotate(-45deg)}@media(max-width:768px){aside.sidebar-open{width:100vw;z-index:9999;transition:width var(--menu-transition-duration) ease}aside.sidebar-collapsed{width:0;z-index:9999;transition:width var(--menu-transition-duration) ease}.menu-link{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.menu-icon{width:24px;height:24px}.language-selector-expanded{width:100%;align-items:center}.language-toggle-button{font-size:var(--font-size-base);padding:var(--spacing-md)}aside.sidebar-collapsed .menu-nav{display:flex;flex-direction:column;align-items:center}aside.sidebar-collapsed .menu-list{display:flex;flex-direction:column;align-items:center;width:100%}aside.sidebar-collapsed .menu-item{width:100%;display:flex;justify-content:center}aside.sidebar-collapsed .menu-link{justify-content:center;width:auto;display:flex;align-items:center}aside.sidebar-collapsed .menu-footer{align-items:center;width:100%;display:flex;flex-direction:column}aside.sidebar-collapsed .menu-language-selector{display:flex;justify-content:center;width:100%}aside.sidebar-collapsed .language-toggle-collapsed{width:auto;min-width:var(--touch-target-min);transition:all .2s ease,width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease,padding var(--menu-transition-duration) ease}aside.sidebar-collapsed .sign-out-button{display:flex;width:auto;min-width:var(--touch-target-min);justify-content:center;transition:box-shadow .2s ease,width var(--menu-transition-duration) ease,padding var(--menu-transition-duration) ease}.menu-toggle-button{position:fixed!important;top:1rem!important;right:2rem!important;left:auto!important;z-index:10000!important;transition:right var(--menu-transition-duration) ease,left var(--menu-transition-duration) ease,transform var(--menu-transition-duration) ease,box-shadow .2s ease,width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease}aside.sidebar-open .menu-toggle-button{right:2rem!important;left:auto!important}aside.sidebar-collapsed .menu-toggle-button{right:2rem!important;left:auto!important}aside.sidebar-collapsed .menu-nav.menu-collapsed .menu-toggle-button{left:var(--spacing-lg);transform:none}}:root{--card-padding: var(--spacing-xl);--card-padding-sm: var(--spacing-lg);--card-border-width: 1px;--card-accent-height: 4px}.card-container,.app-card,.last-clean-card{background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);border-radius:var(--corner-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);width:100%}.app-card{background-color:var(--color-lightest);border-radius:var(--corner-radius);padding:var(--spacing-xl)}.card-title,.last-clean-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-darkest);margin:0 0 var(--spacing-lg) 0}.last-clean-card{width:fit-content;max-width:450px;margin-left:auto;padding:var(--card-padding-sm)}.last-clean-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.last-clean-icon{width:40px;height:40px;border-radius:var(--corner-radius);background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-lightest);font-size:var(--font-size-xl);font-weight:700;flex-shrink:0}.last-clean-title{font-size:var(--font-size-xl);margin:0}.last-clean-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.last-clean-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.last-clean-date{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-darkest);line-height:var(--line-height-tight)}@media(max-width:768px){.card-container,.app-card,.last-clean-card{padding:var(--card-padding-sm)}.app-card{padding:var(--spacing-lg)}.last-clean-card{width:100%;max-width:100%;margin-left:0;padding:var(--spacing-md)}.last-clean-title{font-size:var(--font-size-lg)}.last-clean-date{font-size:var(--font-size-xl)}.last-clean-icon{width:36px;height:36px;font-size:var(--font-size-lg)}}.subscription-card{background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);border-radius:var(--corner-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm)}.subscription-card-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.subscription-card-client-name{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-darkest);margin:0 0 var(--spacing-sm) 0}.subscription-card-service-date{font-size:var(--font-size-base);color:var(--color-dark);margin:0}.subscription-card-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.subscription-card-section:last-of-type{margin-bottom:0;padding-bottom:0}.subscription-card-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.subscription-card-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-darkest);margin:0}.subscription-card-section-content{font-size:var(--font-size-base);color:var(--color-dark);margin:0}.subscription-card-change-plan-button{padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);color:var(--color-lightest);border:none;border-radius:var(--corner-radius);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm)}.subscription-card-change-plan-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.subscription-card-payment-methods{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.subscription-card-payment-method-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:#b9a5901a;border-radius:var(--corner-radius);gap:var(--spacing-md);flex-wrap:wrap}.subscription-card-payment-method-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.subscription-card-payment-method-display{font-size:var(--font-size-base);font-weight:500;color:var(--color-darkest)}.subscription-card-payment-method-expiry{font-size:var(--font-size-sm);color:var(--color-dark)}.subscription-card-remove-button{padding:var(--spacing-xs) var(--spacing-md);background:transparent;color:var(--color-dark);border-radius:var(--corner-radius);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap}.subscription-card-remove-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.subscription-card-no-payment-method{font-size:var(--font-size-base);color:var(--color-dark);margin:0 0 var(--spacing-md) 0;font-style:italic}.subscription-card-add-payment-button{padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);color:var(--color-lightest);border:none;border-radius:var(--corner-radius);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm)}.subscription-card-add-payment-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}.subscription-card-stop-subscription{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.subscription-card-stop-subscription-link{font-size:var(--font-size-xs);color:var(--color-medium);text-decoration:none;font-weight:400}.subscription-card-stop-subscription-link:focus{outline:2px solid var(--color-medium);outline-offset:2px;border-radius:var(--corner-radius)}@media(max-width:768px){.subscription-card{padding:var(--card-padding-sm)}.subscription-card-client-name{font-size:var(--font-size-xl)}.subscription-card-section-header{flex-direction:column;align-items:flex-start}.subscription-card-change-plan-button,.subscription-card-remove-button,.subscription-card-add-payment-button{width:100%}.subscription-card-payment-method-item{flex-direction:column;align-items:flex-start}}.upcoming-bookings{background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);border-radius:var(--corner-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);width:100%;overflow:visible}.upcoming-bookings-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-darkest);margin:0 0 var(--spacing-lg) 0}.upcoming-bookings-table{width:100%;border-collapse:collapse;table-layout:auto}.upcoming-bookings-table thead{background-color:#b9a5901a}.upcoming-bookings-table th{text-align:left;padding:var(--spacing-md);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--color-darkest);white-space:nowrap}.upcoming-bookings-table th:nth-child(4){text-align:center;width:60px}.upcoming-bookings-table th:last-child{text-align:center;width:1%}.upcoming-bookings-table tbody tr{border-bottom:1px solid rgba(185,165,144,.15)}.upcoming-bookings-table tbody tr:last-child{border-bottom:none}.upcoming-bookings-table td{padding:var(--spacing-md);color:var(--color-dark);font-size:var(--font-size-sm)}.upcoming-bookings-table td:first-child,.upcoming-bookings-table td:nth-child(2){white-space:nowrap}.upcoming-bookings-table td:nth-child(4){text-align:center}.upcoming-bookings-table td:last-child{text-align:center;white-space:nowrap}.booking-status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;cursor:help}.booking-status-dot.confirmed{background-color:#22c55e}.booking-status-dot.pending{background-color:#f59e0b}.booking-status-dot.cancelled{background-color:#ef4444}.booking-cards-mobile{display:none}.booking-actions{display:flex;gap:var(--spacing-xs);justify-content:center;align-items:center;flex-wrap:nowrap}.booking-button{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--corner-radius);font-weight:600;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;flex-shrink:0}.booking-button-reschedule{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);color:var(--color-lightest);box-shadow:var(--shadow-sm)}.booking-button-cancel{background-color:transparent;color:var(--color-dark)}.booking-button:focus{outline:2px solid var(--color-medium);outline-offset:2px}@media(max-width:1400px){.upcoming-bookings{padding:var(--spacing-md);overflow:visible}.upcoming-bookings-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.upcoming-bookings-table{display:none}.booking-cards-mobile{display:block}}@media(max-width:1400px){.booking-card-mobile{background:#ffffff80;border-radius:var(--corner-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid rgba(185,165,144,.2)}.booking-card-mobile:last-child{margin-bottom:0}.booking-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.booking-card-main-info{flex:1;min-width:0}.booking-card-type{font-size:var(--font-size-base);font-weight:600;color:var(--color-darkest);margin:0 0 var(--spacing-xs) 0}.booking-card-datetime{display:flex;flex-direction:column;gap:2px}.booking-card-date{font-size:var(--font-size-sm);color:var(--color-dark);font-weight:500}.booking-card-time{font-size:var(--font-size-sm);color:var(--color-medium)}.booking-card-status-container{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.booking-card-expand-btn{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-dark);display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);transition:background-color .2s ease}.booking-card-expand-btn:hover{background-color:#b9a59026}.booking-card-expand-btn svg{width:20px;height:20px;transition:transform .2s ease}.booking-card-expand-btn.expanded svg{transform:rotate(180deg)}.booking-card-details{max-height:0;overflow:hidden;transition:max-height .3s ease,margin-top .3s ease}.booking-card-details.expanded{max-height:200px;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(185,165,144,.2)}.booking-card-actions{display:flex;gap:var(--spacing-sm);width:100%}.booking-card-actions .booking-button{flex:1;padding:var(--spacing-sm);font-size:var(--font-size-sm);text-align:center;justify-content:center}.booking-button-reschedule{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%)}.booking-button-cancel{background-color:#b9a59026;color:var(--color-darkest)}}.book-button{padding:var(--spacing-md) var(--button-padding-x);background:linear-gradient(135deg,#4a90e2,#6b46c1);color:var(--color-lightest);border:none;border-radius:var(--radius-md);font-weight:700;font-size:var(--font-size-lg);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-xl);position:relative;overflow:hidden;text-transform:none;letter-spacing:.3px}.book-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:width .6s,height .6s}.book-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-2xl)}.book-button:hover:before{width:400px;height:400px}.book-button:active{transform:translateY(-2px) scale(1);box-shadow:var(--shadow-xl)}.book-button:focus{outline:3px solid var(--color-medium);outline-offset:3px}.book-button-text{display:inline}.book-button-icon{display:none;align-items:center;justify-content:center}@media(max-width:768px){.book-button{width:64px;height:64px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.book-button-text{display:none}.book-button-icon{display:flex}.book-button:hover{transform:translateY(-4px) scale(1.1)}}:root{--color-lightest: #F6F3EC;--color-light: #ECE4DA;--color-medium: #B9A590;--color-dark: #574C3F;--color-darkest: #36302A;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--corner-radius: 8px;--radius-md: 8px;--radius-lg: 12px;--button-padding-x: 2rem;--button-padding-y: 1rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 2px 4px rgba(54, 48, 42, .08);--shadow-md: 0 4px 12px rgba(54, 48, 42, .08);--shadow-lg: 0 6px 16px rgba(54, 48, 42, .12);--shadow-xl: 0 8px 24px rgba(54, 48, 42, .15);--shadow-2xl: 0 12px 32px rgba(54, 48, 42, .2);--touch-target-min: 44px;--menu-width-open: 280px;--menu-width-collapsed: 80px;--menu-transition-duration: .3s}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-lightest);background-color:var(--color-darkest);width:100%;min-height:100vh;overflow-x:hidden}body{position:relative}h1,h2,h3,h4,h5,h6{font-family:Manrope,sans-serif;color:var(--color-lightest);font-weight:600;line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-4xl);font-weight:700}h2{font-size:var(--font-size-3xl);font-weight:700}h3{font-size:var(--font-size-2xl);font-weight:600}h4{font-size:var(--font-size-xl);font-weight:600}h5{font-size:var(--font-size-lg);font-weight:600}h6{font-size:var(--font-size-base);font-weight:600}p{font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0}a{color:var(--color-lightest);text-decoration:none}a:hover{text-decoration:underline}*:focus-visible{outline:2px solid var(--color-medium);outline-offset:2px}button,a,input,select,textarea{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(max-width:768px){html{font-size:14px}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}}@media(max-width:480px){html{font-size:14px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}}.booking-calendar-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-lg);display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px)}.booking-calendar-layout{display:grid;grid-template-columns:300px 1fr 280px;gap:var(--spacing-lg);background-color:var(--color-dark);border-radius:var(--corner-radius);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.booking-calendar-section{display:flex;flex-direction:column}.event-details-panel{padding:var(--spacing-md);background-color:var(--color-darkest);border-radius:var(--corner-radius);border:1px solid var(--color-medium)}.event-details-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.event-title{font-size:var(--font-size-xl);color:var(--color-lightest);font-family:Manrope,sans-serif;font-weight:600;line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm)}.event-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.event-duration{font-size:var(--font-size-sm);font-family:Manrope,sans-serif;color:var(--color-light)}.event-description{font-size:var(--font-size-sm);color:var(--color-light);font-family:Manrope,sans-serif;line-height:var(--line-height-relaxed)}.month-grid-panel{padding:var(--spacing-md);background-color:var(--color-darkest);border-radius:var(--corner-radius);border:1px solid var(--color-medium)}.month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.month-title{font-size:var(--font-size-lg);color:var(--color-lightest);font-family:Manrope,sans-serif;font-weight:600;line-height:var(--line-height-tight)}.month-nav-btn{background:transparent;border:1px solid var(--color-medium);color:var(--color-lightest);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--corner-radius);cursor:pointer;font-size:var(--font-size-lg);font-family:Manrope,sans-serif;transition:all .2s ease;min-height:auto;min-width:auto}.month-nav-btn:hover{background-color:var(--color-medium);color:var(--color-darkest)}.month-nav-btn:focus-visible{outline:2px solid var(--color-medium);outline-offset:2px}.calendar-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.weekday-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.weekday-header{text-align:center;font-size:var(--font-size-sm);font-family:Manrope,sans-serif;font-weight:600;color:var(--color-medium);padding:var(--spacing-sm)}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);font-size:var(--font-size-sm);font-family:Manrope,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:transparent;color:var(--color-lightest);min-height:auto;min-width:auto}.calendar-day:focus-visible{outline:2px solid var(--color-medium);outline-offset:2px}.calendar-day.empty{cursor:default;pointer-events:none}.calendar-day.available{border-color:var(--color-medium);color:var(--color-lightest)}.calendar-day.available:hover{background-color:var(--color-medium);color:var(--color-darkest);transform:scale(1.05)}.calendar-day.unavailable{color:var(--color-medium);opacity:.4;cursor:not-allowed}.calendar-day.selected{background-color:var(--color-medium);color:var(--color-darkest);border-color:var(--color-medium);font-weight:600}.calendar-day.today{border-color:var(--color-light);border-width:2px}.time-slots-panel{padding:var(--spacing-md);background-color:var(--color-darkest);border-radius:var(--corner-radius);border:1px solid var(--color-medium);display:flex;flex-direction:column;gap:var(--spacing-md);overflow:hidden}.time-slots-header{border-bottom:1px solid var(--color-medium);padding-bottom:var(--spacing-md)}.time-slots-title{font-size:var(--font-size-lg);color:var(--color-lightest);font-family:Manrope,sans-serif;font-weight:600;line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.time-slots-date{font-size:var(--font-size-xs);font-family:Manrope,sans-serif;color:var(--color-medium);line-height:var(--line-height-normal)}.time-slots-list{display:flex;flex-direction:column;gap:var(--spacing-sm);overflow:visible}.time-slot-btn{background-color:transparent;border:1px solid var(--color-medium);color:var(--color-lightest);padding:var(--spacing-md);border-radius:var(--corner-radius);cursor:pointer;font-size:var(--font-size-sm);font-family:Manrope,sans-serif;font-weight:500;transition:all .2s ease;text-align:center;min-height:auto;min-width:auto;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.time-slot-btn:focus-visible{outline:2px solid var(--color-medium);outline-offset:2px}.time-slot-indicator{width:8px;height:8px;background-color:#4ade80;border-radius:50%;flex-shrink:0}.time-slot-btn:hover{background-color:var(--color-medium);color:var(--color-darkest);transform:translateY(-1px)}.time-slot-btn:active{transform:translateY(0)}@media(max-width:1280px){.booking-calendar-layout{grid-template-columns:1fr;gap:var(--spacing-md)}.event-details-section{order:1}.month-grid-section{order:2}.time-slots-section{order:3}}@media(max-width:768px){.booking-calendar-container,.booking-calendar-layout{padding:var(--spacing-md)}}:root{--app-transition-duration: .3s;--page-transition-duration: .25s;--app-section-gap: var(--spacing-xl);--app-component-margin: var(--spacing-lg)}.app-layout{position:relative;min-height:100vh;width:100%;transition:width var(--app-transition-duration) ease}.app-main{position:absolute;left:var(--menu-width-open);top:0;right:0;bottom:0;padding:var(--spacing-xl);overflow-x:hidden;overflow-y:auto;background-color:var(--color-darkest);transition:left var(--app-transition-duration) ease,width var(--app-transition-duration) ease,right var(--app-transition-duration) ease,padding var(--app-transition-duration) ease}.page-content{animation:pageEnter var(--page-transition-duration) ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-layout.menu-open .app-main{left:var(--menu-width-open)}.app-layout.menu-collapsed .app-main{left:var(--menu-width-collapsed)}.app-section{width:100%;margin-bottom:var(--app-component-margin);transition:width var(--app-transition-duration) ease,max-width var(--app-transition-duration) ease,min-width var(--app-transition-duration) ease}.app-section:last-child{margin-bottom:0}.dash-container{display:flex;flex-direction:column;gap:var(--app-section-gap);width:100%;transition:width var(--app-transition-duration) ease,gap var(--app-transition-duration) ease}.dash-top-section{display:flex;gap:var(--app-section-gap);width:100%;transition:width var(--app-transition-duration) ease,gap var(--app-transition-duration) ease}.dash-bookings-container{flex:1;min-width:0;transition:width var(--app-transition-duration) ease,max-width var(--app-transition-duration) ease,min-width var(--app-transition-duration) ease,flex-basis var(--app-transition-duration) ease}.dash-last-clean-container{flex-shrink:0;transition:width var(--app-transition-duration) ease,max-width var(--app-transition-duration) ease,min-width var(--app-transition-duration) ease}.dash-book-button-container{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);z-index:50;transition:right var(--app-transition-duration) ease,bottom var(--app-transition-duration) ease}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-darkest);padding:var(--spacing-xl);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-medium);border-top-color:var(--color-lightest);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-lightest);font-size:var(--font-size-lg);margin-top:var(--spacing-lg);text-align:center}@media(max-width:768px){:root{--app-section-gap: var(--spacing-lg);--app-component-margin: var(--spacing-md);--mobile-top-padding: 72px}.app-main{left:0;padding:var(--mobile-top-padding) var(--spacing-md) var(--spacing-md) var(--spacing-md);transition:left var(--app-transition-duration) ease,width var(--app-transition-duration) ease,right var(--app-transition-duration) ease,padding var(--app-transition-duration) ease}.app-layout.menu-open .app-main,.app-layout.menu-collapsed .app-main{left:0}.dash-container{gap:var(--spacing-lg);width:100%;transition:width var(--app-transition-duration) ease,gap var(--app-transition-duration) ease}.dash-top-section{flex-direction:column;gap:var(--spacing-lg);width:100%;transition:width var(--app-transition-duration) ease,gap var(--app-transition-duration) ease}.dash-bookings-container,.dash-last-clean-container{width:100%;max-width:100%;transition:width var(--app-transition-duration) ease,max-width var(--app-transition-duration) ease,min-width var(--app-transition-duration) ease,flex-basis var(--app-transition-duration) ease}.dash-last-clean-container{order:-1}.dash-book-button-container{bottom:var(--spacing-lg);right:var(--spacing-lg);transition:right var(--app-transition-duration) ease,bottom var(--app-transition-duration) ease}.app-section{width:100%;max-width:100%;transition:width var(--app-transition-duration) ease,max-width var(--app-transition-duration) ease,min-width var(--app-transition-duration) ease}.loading-container{padding:var(--mobile-top-padding) var(--spacing-md) var(--spacing-md) var(--spacing-md)}.loading-spinner{width:40px;height:40px;border-width:2px}.loading-text{font-size:var(--font-size-base)}}
