.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;position:relative;display:inline-block}.menu-beta-badge{display:inline-block;font-size:.5rem;font-weight:700;color:var(--color-lightest);background:var(--color-dark);padding:.15rem .35rem;border-radius:3px;margin-left:.5rem;vertical-align:super;letter-spacing:.05em}.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}}.loading-screen-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-screen-content{background:#fff;padding:3rem 4rem;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.loading-spinner-large{width:60px;height:60px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:1.1rem;color:#333;font-weight:500;margin:0;text-align:center}@media(max-width:768px){.loading-screen-content{padding:2rem 3rem}.loading-spinner-large{width:50px;height:50px}.loading-message{font-size:1rem}}: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:visible;text-transform:none;letter-spacing:.3px;opacity:0;visibility:hidden;pointer-events:none}.book-button-visible{opacity:1;visibility:visible;pointer-events:auto;animation:slideInFromLeft .5s cubic-bezier(.4,0,.2,1)}.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}.book-button-glow-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:inherit;pointer-events:none;opacity:0;z-index:-1}.book-button-mounted .book-button-glow-ring{animation:glowPulse 1.5s ease-out}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes glowPulse{0%{opacity:0;box-shadow:0 0 #fff0}30%{opacity:.6;box-shadow:0 0 0 6px #fff3,0 0 0 12px #4a90e226}60%{opacity:.5;box-shadow:0 0 0 8px #ffffff26,0 0 0 16px #4a90e21a}to{opacity:0;box-shadow:0 0 0 12px #fff0,0 0 0 20px #4a90e200}}@media(max-width:768px){.book-button{width:auto;min-width:200px;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:visible;transition:all .6s cubic-bezier(.4,0,.2,1)}.book-button:not(.book-button-mobile-expanded){width:64px;height:64px;padding:0;border-radius:50%;min-width:64px}.book-button-text{display:inline;opacity:1;white-space:nowrap;transition:opacity .3s ease}.book-button:not(.book-button-mobile-expanded) .book-button-text{display:none;opacity:0}.book-button-icon{display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease .3s}.book-button:not(.book-button-mobile-expanded) .book-button-icon{display:flex;opacity:1}.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;flex-direction:column;align-items:stretch;gap:var(--spacing-lg);min-height:calc(100vh - 200px);position:relative}.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}}.booking-calendar-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--color-medium);width:100%;max-width:1200px;margin-left:auto;margin-right:auto}@media(max-width:1024px){.booking-calendar-container{padding:var(--spacing-md);min-height:auto}.booking-calendar-layout{padding:var(--spacing-lg)}.month-grid-panel,.time-slots-panel,.event-details-panel{padding:var(--spacing-md)}}@media(max-width:768px){.booking-calendar-container{padding:var(--spacing-sm);min-height:auto}.booking-calendar-layout{padding:var(--spacing-md);gap:var(--spacing-md)}.event-details-panel{padding:var(--spacing-sm)}.event-title{font-size:var(--font-size-lg)}.event-duration,.event-description{font-size:var(--font-size-xs)}.month-grid-panel{padding:var(--spacing-sm)}.month-header{margin-bottom:var(--spacing-md)}.month-title{font-size:var(--font-size-base)}.month-nav-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.calendar-grid{gap:var(--spacing-xs)}.weekday-headers{gap:2px;margin-bottom:var(--spacing-xs)}.weekday-header{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.days-grid{gap:2px}.calendar-day{font-size:var(--font-size-xs);min-height:var(--touch-target-min);min-width:var(--touch-target-min);aspect-ratio:1}.calendar-day.available:hover{transform:none}.time-slots-panel{padding:var(--spacing-sm);max-height:400px;overflow-y:auto}.time-slots-header{padding-bottom:var(--spacing-sm)}.time-slots-title{font-size:var(--font-size-base)}.time-slots-date{font-size:var(--font-size-xs)}.time-slots-list{gap:var(--spacing-xs)}.time-slot-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:var(--touch-target-min);width:100%}.time-slot-btn:hover{transform:none}.time-slot-indicator{width:6px;height:6px}.booking-calendar-actions{padding-top:var(--spacing-md);margin-top:var(--spacing-sm);justify-content:stretch}.booking-calendar-actions .action-button{width:100%}}@media(max-width:480px){.booking-calendar-container{padding:var(--spacing-xs)}.booking-calendar-layout{padding:var(--spacing-sm);gap:var(--spacing-sm)}.event-details-panel,.month-grid-panel,.time-slots-panel{padding:var(--spacing-xs)}.event-title{font-size:var(--font-size-base)}.month-title{font-size:var(--font-size-sm)}.month-nav-btn{padding:var(--spacing-xs);font-size:var(--font-size-sm)}.weekday-header{font-size:10px;padding:4px 2px}.calendar-day{font-size:11px}.time-slots-title{font-size:var(--font-size-sm)}.time-slot-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.booking-calendar-actions{padding-top:var(--spacing-sm)}}@media(max-width:768px)and (orientation:landscape){.booking-calendar-container{min-height:auto}.time-slots-panel{max-height:300px}.calendar-day{min-height:36px}}.service-and-addons-picker{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-xl);max-width:800px;margin:0 auto}.service-selection{display:flex;flex-direction:column;gap:var(--spacing-lg)}.service-selection h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-lightest);margin-bottom:var(--spacing-md)}.service-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.service-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-dark);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.service-option:hover{background-color:var(--color-medium);border-color:var(--color-medium);box-shadow:var(--shadow-md)}.service-option input[type=radio]{width:20px;height:20px;min-width:20px;min-height:20px;cursor:pointer;accent-color:var(--color-medium)}.service-option input[type=radio]:checked{accent-color:var(--color-lightest)}.service-option:has(input[type=radio]:checked){background-color:var(--color-medium);border-color:var(--color-lightest);box-shadow:var(--shadow-lg)}.service-option label{font-size:var(--font-size-base);color:var(--color-lightest);cursor:pointer;flex:1;line-height:var(--line-height-normal)}.addons-selection{display:flex;flex-direction:column;gap:var(--spacing-lg)}.addons-selection h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-lightest);margin-bottom:var(--spacing-md)}.addons-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.addon-pill{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-dark);border:2px solid var(--color-medium);border-radius:var(--radius-lg);color:var(--color-lightest);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.addon-pill:hover{background-color:var(--color-medium);border-color:var(--color-lightest);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.addon-pill.selected{background-color:var(--color-medium);border-color:var(--color-lightest);box-shadow:var(--shadow-md);color:var(--color-lightest)}.addon-pill:active{transform:translateY(0)}.service-picker-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--color-medium)}@media(max-width:768px){.service-and-addons-picker{padding:var(--spacing-lg);gap:var(--spacing-xl)}.service-selection h2,.addons-selection h2{font-size:var(--font-size-xl)}.service-option{padding:var(--spacing-md)}.addons-list{gap:var(--spacing-sm)}.addon-pill{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs)}.service-picker-actions{justify-content:stretch}}@media(max-width:480px){.service-and-addons-picker{padding:var(--spacing-md);gap:var(--spacing-lg)}.service-selection h2,.addons-selection h2{font-size:var(--font-size-lg)}}.action-button{padding:var(--button-padding-y) var(--button-padding-x);background-color:var(--color-medium);border:2px solid var(--color-medium);border-radius:var(--radius-md);color:var(--color-lightest);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);min-width:120px;font-family:inherit}.action-button:hover:not(:disabled){background-color:var(--color-lightest);color:var(--color-darkest);border-color:var(--color-lightest);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.action-button:active:not(:disabled){transform:translateY(0)}.action-button:disabled{background-color:var(--color-dark);border-color:var(--color-dark);color:var(--color-medium);cursor:not-allowed;opacity:.5}.action-button--full-width{width:100%}.action-button--text{background-color:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);min-width:auto;color:var(--color-lightest);font-size:var(--font-size-sm);font-weight:500}.action-button--text:hover:not(:disabled){background-color:transparent;color:var(--color-medium);border:none;box-shadow:none;transform:none;text-decoration:underline}.action-button--text:active:not(:disabled){transform:none}.action-button--text:disabled{background-color:transparent;border:none;opacity:.5}@media(max-width:768px){.action-button:not(.action-button--text){width:100%}}.error-alert{padding:1rem;margin-bottom:1rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.error-alert-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.error-alert-message{flex:1;white-space:pre-line;line-height:1.5}.error-alert-dismiss{background:none;border:none;color:#c33;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.error-alert-dismiss:hover{opacity:.7}.error-alert-dismiss:focus{outline:2px solid #c33;outline-offset:2px}.booking-page-header{display:flex;align-items:center;justify-content:flex-start;position:relative;margin-bottom:var(--spacing-lg);margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));padding-left:var(--spacing-xl);padding-right:var(--spacing-xl);min-height:2.5rem;width:calc(100% + 2 * var(--spacing-xl));max-width:none!important;box-sizing:border-box}.booking-page-header .action-button{margin:0;padding:var(--spacing-sm) 0;min-width:auto;min-height:auto}@media(max-width:768px){.booking-page-header{margin-left:calc(-1 * var(--spacing-md));margin-right:calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md);width:calc(100% + 2 * var(--spacing-md));max-width:none!important;margin-bottom:var(--spacing-md);justify-content:flex-start}.booking-page-header .action-button{padding:var(--spacing-xs) 0;min-width:auto;min-height:auto;width:auto!important}}.sfp-card{animation:fadeIn .3s ease}.sfp-card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-darkest);margin:0 0 var(--spacing-sm) 0}.sfp-card-description{font-size:var(--font-size-base);color:var(--color-dark);margin:0 0 var(--spacing-lg) 0}.signup-form-step-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-darkest);margin:0 0 var(--spacing-sm) 0}.signup-form-step-description{font-size:var(--font-size-base);color:var(--color-dark);margin:0 0 var(--spacing-xl) 0}.sfp-form-fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sfp-field-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sfp-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-darkest);margin-bottom:var(--spacing-xs)}.sfp-input,.sfp-select,.sfp-textarea{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);color:var(--color-darkest);background-color:var(--color-lightest);border:2px solid var(--color-medium);border-radius:var(--corner-radius);transition:border-color .2s ease,box-shadow .2s ease}.sfp-input:focus,.sfp-select:focus,.sfp-textarea:focus{outline:2px solid var(--color-medium);outline-offset:2px;border-color:var(--color-dark);box-shadow:var(--shadow-sm)}.sfp-textarea{resize:vertical;min-height:100px;font-family:inherit}.sfp-field-hint{font-size:var(--font-size-xs);color:var(--color-dark);font-style:italic}.sfp-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base);color:var(--color-darkest)}.sfp-checkbox{min-width:var(--touch-target-min);min-height:var(--touch-target-min);width:20px;height:20px;cursor:pointer}.sfp-radio-group{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.sfp-radio-label{position:relative;display:flex;align-items:center;cursor:pointer;font-size:var(--font-size-base);color:var(--color-darkest);padding:var(--spacing-md) var(--spacing-lg);padding-left:calc(var(--spacing-md) + 16px + var(--spacing-sm));border:2px solid var(--color-medium);border-radius:var(--corner-radius);transition:all .2s ease;min-width:120px;background-color:var(--color-lightest);-webkit-user-select:none;user-select:none}.sfp-radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.sfp-radio-label:before{content:"";position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--color-medium);border-radius:50%;background-color:var(--color-lightest);transition:all .2s ease;flex-shrink:0;box-sizing:border-box}.sfp-radio-label:after{content:"";position:absolute;left:calc(var(--spacing-md) + 8px);top:50%;transform:translate(-50%,-50%) scale(0);width:6px;height:6px;border-radius:50%;background-color:var(--color-darkest);transition:transform .15s ease}.sfp-radio-label:hover{border-color:var(--color-dark);background-color:#b9a5900d}.sfp-radio-label:hover:before{border-color:var(--color-dark)}.sfp-radio-label:has(.sfp-radio:checked){border-color:var(--color-darkest);background-color:#b9a5901a;font-weight:600}.sfp-radio-label:has(.sfp-radio:checked):before{border-color:var(--color-darkest)}.sfp-radio-label:has(.sfp-radio:checked):after{transform:translate(-50%,-50%) scale(1)}.sfp-radio:focus-visible+span,.sfp-radio-label:has(.sfp-radio:focus-visible){outline:2px solid var(--color-dark);outline-offset:2px}.sfp-slider{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:4px!important;min-height:4px!important;max-height:4px!important;min-width:100%!important;background:var(--color-medium)!important;outline:none!important;cursor:pointer!important;padding:0!important;margin:0!important;border:none!important}.sfp-slider::-webkit-slider-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-slider::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important;transform:translateY(0)!important}.sfp-slider::-moz-range-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-slider::-moz-range-thumb{width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important}.sfp-slider-value{text-align:center;font-size:3rem;font-weight:700;color:var(--color-darkest);margin:var(--spacing-xl) 0;letter-spacing:-.02em}.sfp-slider-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-dark);font-weight:500}@media(max-width:768px){.sfp-slider-value{font-size:2.5rem}}.sfp-bathroom-slider{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:4px!important;min-height:4px!important;max-height:4px!important;min-width:100%!important;background:var(--color-medium)!important;outline:none!important;cursor:pointer!important;padding:0!important;margin:0!important;border:none!important}.sfp-bathroom-slider::-webkit-slider-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-bathroom-slider::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important;transform:translateY(0)!important}.sfp-bathroom-slider::-moz-range-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-bathroom-slider::-moz-range-thumb{width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important}.sfp-bathroom-value{text-align:center;font-size:2rem;font-weight:700;color:var(--color-darkest);margin:var(--spacing-md) 0}.sfp-bathroom-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-dark);font-weight:500}.sfp-tidiness-slider{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:4px!important;min-height:4px!important;max-height:4px!important;min-width:100%!important;background:var(--color-medium)!important;outline:none!important;cursor:pointer!important;padding:0!important;margin:0!important;border:none!important}.sfp-tidiness-slider::-webkit-slider-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-tidiness-slider::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important;transform:translateY(0)!important}.sfp-tidiness-slider::-moz-range-track{height:4px!important;background:var(--color-medium)!important;border:none!important;border-radius:2px!important}.sfp-tidiness-slider::-moz-range-thumb{width:18px!important;height:18px!important;background:#fff!important;border:2px solid var(--color-darkest)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:0 2px 4px #0003!important}.sfp-tidiness-value{text-align:center;font-size:1.5rem;font-weight:600;color:var(--color-darkest);margin:var(--spacing-md) 0}.sfp-tidiness-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-dark);font-weight:500}@media(max-width:768px){.sfp-bathroom-value{font-size:1.5rem}.sfp-bathroom-labels{font-size:.65rem}.sfp-tidiness-value{font-size:1.25rem}.sfp-tidiness-labels{font-size:.65rem}}:root{--signup-top-spacing: .75rem}.signup-form-container{width:100%;max-width:800px;margin:0 auto;padding:0 var(--spacing-lg) var(--spacing-lg)}.signup-form-card{background:linear-gradient(180deg,var(--color-lightest) 0%,var(--color-light) 100%);border-radius:var(--corner-radius);padding:var(--signup-top-spacing) var(--spacing-2xl) var(--spacing-2xl);box-shadow:var(--shadow-md)}.signup-form-header{margin-bottom:var(--spacing-xs)}.signup-form-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-darkest);margin:0 0 var(--spacing-xs) 0;text-align:center}.signup-form-progress-container{margin-top:var(--spacing-sm)}.signup-form-progress-bar{width:100%;height:8px;background-color:var(--color-medium);border-radius:var(--corner-radius);overflow:hidden;margin-bottom:var(--spacing-sm)}.signup-form-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-dark) 0%,var(--color-darkest) 100%);transition:width .3s ease}.signup-form-step-indicator{text-align:center;font-size:var(--font-size-sm);color:var(--color-dark);font-weight:500}.signup-form-content{min-height:300px;margin-bottom:var(--spacing-lg)}.signup-form-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.signup-form-placeholder{padding:var(--spacing-xl);background-color:#b9a5901a;border-radius:var(--corner-radius);text-align:center;color:var(--color-dark);font-style:italic;box-shadow:var(--shadow-sm)}.signup-form-footer{border-top:2px solid var(--color-medium);padding-top:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.signup-form-button-group{display:flex;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.signup-form-button{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);font-weight:600;border:none;border-radius:var(--corner-radius);cursor:pointer;transition:all .2s ease;min-width:120px;min-height:var(--touch-target-min)}.signup-form-button-primary{background:linear-gradient(135deg,var(--color-dark) 0%,var(--color-darkest) 100%);color:var(--color-lightest);box-shadow:var(--shadow-sm)}.signup-form-button-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.signup-form-button-primary:active{transform:translateY(0)}.signup-form-button-secondary{background-color:transparent;color:var(--color-dark);border:2px solid var(--color-medium)}.signup-form-button-secondary:hover{background-color:var(--color-medium);color:var(--color-lightest)}@media(max-width:768px){.signup-form-container{padding:var(--spacing-md)}.signup-form-card{padding:var(--spacing-lg)}.signup-form-title{font-size:var(--font-size-2xl)}.signup-form-button-group{flex-direction:column}.signup-form-button{width:100%}}: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: var(--spacing-lg)}.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)}}
