.warning-card-backdrop{position:fixed;inset:0;height:100vh;height:100dvh;background-color:#36302a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.warning-card{background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);width:100%;max-width:500px;box-shadow:var(--shadow-2xl);overflow:hidden;animation:slideUp .3s ease-out}.warning-card-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-main-bg);border-bottom:2px solid rgba(54,48,42,.1)}.warning-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#dc26261a;color:#dc2626;flex-shrink:0}.warning-card-icon svg{width:24px;height:24px}.warning-card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;line-height:var(--line-height-tight)}.warning-card-body{padding:var(--spacing-lg)}.warning-card-message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text);margin:0}.warning-card-actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-main-bg);border-top:2px solid rgba(54,48,42,.1)}.warning-card-button{flex:1;padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--corner-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);border:2px solid transparent;line-height:var(--line-height-normal)}.warning-card-button--cancel{background-color:var(--color-secondary-bg);color:var(--color-text);border-color:#36302a33}.warning-card-button--cancel:hover{background-color:var(--color-main-bg);border-color:#36302a4d;box-shadow:var(--shadow-sm)}.warning-card-button--cancel:active{transform:scale(.98)}.warning-card-button--danger{background-color:#dc2626;color:var(--color-secondary-bg);border-color:#dc2626}.warning-card-button--danger:hover{background-color:#b91c1c;border-color:#b91c1c;box-shadow:var(--shadow-md)}.warning-card-button--danger:active{transform:scale(.98)}.warning-card-button--primary{background-color:var(--color-accent);color:var(--color-secondary-bg);border-color:var(--color-accent)}.warning-card-button--primary:hover{background-color:#02a066;border-color:#02a066;box-shadow:var(--shadow-md)}.warning-card-button--primary:active{transform:scale(.98)}@media(max-width:768px){.warning-card-backdrop{padding:var(--spacing-md);align-items:flex-end}.warning-card{max-width:100%;border-radius:var(--corner-radius) var(--corner-radius) 0 0;margin-bottom:0}.warning-card-header{padding:var(--spacing-md)}.warning-card-icon{width:40px;height:40px}.warning-card-icon svg{width:20px;height:20px}.warning-card-title{font-size:var(--font-size-h5)}.warning-card-body{padding:var(--spacing-md)}.warning-card-message{font-size:var(--font-size-sm)}.warning-card-actions{flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-sm)}.warning-card-button{width:100%;font-size:var(--font-size-base);min-height:56px}}aside{position:fixed;left:0;top:0;height:100vh;height:100dvh;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;height:100dvh;background:linear-gradient(180deg,var(--color-secondary-bg) 0%,var(--color-main-bg) 100%);padding:var(--spacing-xl) 0;box-shadow:var(--shadow-sm);overflow:hidden;touch-action:pan-y;overscroll-behavior:contain}.menu-header{padding:0 var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-lg);opacity:1;transition:opacity .2s ease;touch-action:none;flex-shrink:0}@media(min-width:769px){aside.sidebar-open{width:auto;min-width:var(--menu-width-open);max-width:min(400px,90vw)}.menu-nav.menu-open{width:max-content;min-width:100%}.menu-nav.menu-open .menu-header{padding-right:calc(40px + 2 * var(--spacing-lg) + var(--spacing-sm))}}.menu-nav.menu-collapsed .menu-header{opacity:0;pointer-events:none}.menu-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0;position:relative;display:inline-block}.menu-beta-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-secondary-bg);background:var(--color-text);padding:.15rem .35rem;border-radius:3px;margin-left:.5rem;vertical-align:super;letter-spacing:.05em}@media(min-width:769px){.menu-header .menu-title{font-size:var(--font-size-base)}.menu-header .menu-beta-badge{font-size:.7rem;padding:.1rem .25rem;margin-left:.35rem}}.menu-list{list-style:none;padding:0;margin:0;flex:1 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.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;box-sizing:border-box;width:calc(100% - 2 * var(--spacing-sm));padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);font-family:Manrope,sans-serif;line-height:var(--line-height-normal);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:#36302a1a;color:var(--color-text)}.menu-link.active{background-color:#02bc7d26;color:var(--color-text);font-weight:var(--font-weight-semibold)}.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-list button.menu-link{border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.menu-list button.menu-link:hover{background-color:#36302a1a;color:var(--color-text)}.menu-list button.menu-link:focus{outline:2px solid var(--color-accent);outline-offset:2px}.menu-icon .menu-flag{font-size:1.25rem;line-height:1;display:inline-block;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.menu-nav.menu-collapsed .menu-item-signout{display:none}.menu-toggle-button{position:absolute;top:var(--spacing-xl);z-index:1001;background:var(--color-text);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;touch-action:none;-webkit-tap-highlight-color:transparent;overflow:hidden;user-select:none;-webkit-user-select:none}.menu-toggle-button:hover{box-shadow:var(--shadow-md)}.menu-toggle-button:focus{outline:2px solid var(--color-accent);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}.app-layout .menu-toggle-button{position:fixed;top:var(--spacing-xl);z-index:1001}.app-layout.menu-open .menu-toggle-button{left:calc(var(--menu-actual-width, var(--menu-width-open)) - 40px - var(--spacing-lg) - var(--spacing-lg));right:auto;transform:none}.app-layout.menu-collapsed .menu-toggle-button{left:calc((var(--menu-width-collapsed) - 40px) / 2);right:auto;transform:none}.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-secondary-bg);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{display:block;width:100vw;height:100vh;height:100dvh;z-index:9999;transform:translateZ(0);visibility:visible;pointer-events:auto;transition:transform var(--menu-transition-duration) ease}aside.sidebar-collapsed{display:none!important}.menu-nav{height:100vh;height:100dvh;padding:var(--spacing-md) 0 calc(var(--safe-area-inset-bottom) + var(--spacing-lg));overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:contain}.menu-header{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);margin-bottom:var(--spacing-sm);flex-shrink:0;touch-action:none}.menu-toggle-button{touch-action:none}.menu-list{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs);touch-action:pan-y}.menu-item{flex:0 0 auto}.menu-link{padding:var(--spacing-md) var(--spacing-lg);font-size:clamp(1rem,3.5vw,1.125rem);font-weight:var(--font-weight-medium);min-height:52px;display:flex;align-items:center;margin-bottom:var(--spacing-xs)}.menu-icon{width:22px;height:22px}.menu-nav.menu-collapsed .menu-item-signout{display:flex}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%;gap:var(--spacing-sm)}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-item-signout .menu-link{justify-content:center;width:auto;min-width:var(--touch-target-min)}.menu-toggle-button{position:fixed!important;top:calc(var(--safe-area-inset-top, 0px) + var(--spacing-lg))!important;right:var(--spacing-lg)!important;left:auto!important;transform:none!important;z-index:10000!important;width:var(--menu-toggle-height-mobile, 48px);height:var(--menu-toggle-height-mobile, 48px);box-shadow:var(--shadow-lg);visibility:visible;pointer-events:auto;transition:box-shadow .2s ease,width var(--menu-transition-duration) ease,height var(--menu-transition-duration) ease}aside.sidebar-open .menu-toggle-button,aside.sidebar-collapsed .menu-toggle-button{right:var(--spacing-lg)!important;left:auto!important;transform:none!important}}.loading-screen-overlay{position:fixed;inset:0;height:100vh;height:100dvh;background-color:#36302ab3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-screen-content{background:var(--color-secondary-bg);padding:3rem 4rem;border-radius:12px;box-shadow:0 10px 40px #36302a4d;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 rgba(54,48,42,.1);border-top:4px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:var(--font-size-lg);color:var(--color-text);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif;line-height:var(--line-height-normal);margin:0;text-align:center}@media(max-width:768px){.loading-screen-content{padding:var(--spacing-xl) var(--spacing-2xl)}.loading-spinner-large{width:50px;height:50px}.loading-message{font-size:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-medium)}}.google-auth-container{display:flex;align-items:stretch;justify-content:center;min-height:100vh;min-height:100dvh;padding:0;background-color:var(--color-main-bg)}.google-auth-card{background:var(--color-secondary-bg);border-radius:0;padding:var(--spacing-2xl);box-shadow:var(--shadow-xl);border:none;max-width:480px;width:100%;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100dvh}.google-auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-accent)}.google-auth-header{margin-bottom:var(--spacing-2xl);flex-shrink:0}.google-auth-logo{font-size:var(--font-size-h1);margin-bottom:var(--spacing-lg);line-height:1;display:block}.google-auth-flag{font-size:24px;line-height:1;display:block;-webkit-user-select:none;user-select:none}.google-auth-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--spacing-md) 0;letter-spacing:-.02em;line-height:var(--line-height-tight)}.google-auth-subtitle{font-size:var(--font-size-base);color:var(--color-text);opacity:.7;margin:0;font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);max-width:100%}.google-auth-button{width:100%;padding:var(--button-padding-y) var(--button-padding-x);background:#fff;color:#3c4043;border:2px solid #dadce0;border-radius:var(--corner-radius);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);line-height:var(--line-height-normal);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--touch-target-min);font-family:inherit}.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:active{transform:scale(.98);box-shadow:var(--shadow-sm);border-color:silver}@media(hover:hover){.google-auth-button:hover{box-shadow:var(--shadow-md);border-color:#b0b0b0}.google-auth-button:hover:before{width:300px;height:300px}}.google-auth-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.google-auth-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.google-auth-icon{width:20px;height:20px;flex-shrink:0}.google-auth-icon svg{width:100%;height:100%}.magic-link-button .google-auth-icon svg{color:var(--color-text);opacity:.8}.google-auth-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;flex-shrink:0;margin-top:auto;padding-top:var(--spacing-xl)}@media(max-width:768px){.google-auth-container{padding:0;min-height:100vh;min-height:100dvh}.google-auth-card{padding:calc(var(--safe-area-inset-top) + var(--spacing-xl)) var(--spacing-lg) calc(var(--safe-area-inset-bottom) + var(--spacing-xl)) var(--spacing-lg);max-width:100%;border-radius:0}.google-auth-header{margin-bottom:var(--spacing-xl);padding-top:var(--spacing-md)}.google-auth-title{font-size:var(--login-card-mobile-title-size);font-weight:var(--login-card-mobile-title-weight);letter-spacing:-.02em;line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm)}.google-auth-subtitle{font-size:var(--login-card-mobile-subtitle-size);font-weight:var(--login-card-mobile-subtitle-weight);line-height:var(--line-height-relaxed);opacity:.75}.google-auth-logo{font-size:var(--login-card-mobile-logo-size);margin-bottom:var(--spacing-md)}.google-auth-button{font-size:var(--login-card-mobile-button-size);font-weight:var(--login-card-mobile-button-weight);padding:var(--spacing-lg) var(--spacing-xl);min-height:56px;line-height:var(--line-height-normal)}.google-auth-icon{width:24px;height:24px;flex-shrink:0}.google-auth-buttons{gap:var(--spacing-md);padding-top:var(--spacing-lg)}}.email-sign-in{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md)}.email-sign-in-collapsed{margin-top:var(--spacing-xs)}.email-sign-in-trigger{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.85;background:none;border:none;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);min-height:auto;text-decoration:underline;text-underline-offset:2px}.email-sign-in-trigger:hover:not(:disabled){opacity:1;color:var(--color-accent)}.email-sign-in-trigger:disabled{opacity:.5;cursor:not-allowed}.email-sign-in-back{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.8;background:none;border:none;cursor:pointer;padding:0 0 var(--spacing-sm) 0;min-height:auto;text-decoration:none;align-self:center}.email-sign-in-back:hover{opacity:1;color:var(--color-accent)}.email-sign-in-description{font-size:var(--font-size-base);color:var(--color-text);opacity:.85;margin:0;line-height:var(--line-height-relaxed)}.email-sign-in-form{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.email-sign-in-label{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:center;margin:0}.email-sign-in-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-family:inherit;color:var(--color-input-text);background-color:var(--color-secondary-bg);border:2px solid var(--color-border-strong);border-radius:var(--corner-radius);min-height:var(--touch-target-min);transition:border-color .2s ease,box-shadow .2s ease}.email-sign-in-input:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.email-sign-in-input::placeholder{color:var(--color-text);opacity:.5}.email-sign-in-error{font-size:var(--font-size-small);color:var(--color-error-text);margin:0;padding:var(--spacing-xs) 0}.email-sign-in-button{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:inherit;color:var(--color-secondary-bg);background:var(--color-accent);border:none;border-radius:var(--corner-radius);cursor:pointer;min-height:var(--touch-target-min);transition:all .2s ease;box-shadow:var(--shadow-md)}.email-sign-in-button:hover:not(:disabled){box-shadow:var(--shadow-lg)}.email-sign-in-button:active:not(:disabled){transform:scale(.98)}.email-sign-in-button:disabled{opacity:.6;cursor:not-allowed}.email-sign-in-sent{padding:var(--spacing-md) 0}.email-sign-in-sent-text{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-relaxed)}.email-sign-in-link{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-accent);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);min-height:auto;text-decoration:underline}.email-sign-in-link:hover{color:var(--color-accent-darker)}:root{--color-main-bg: #ECE4DA;--color-text: #36302A;--color-secondary-bg: #F6F3EC;--color-lightest: #F6F3EC;--color-light: #ECE4DA;--color-accent: #02BC7D;--color-accent-lighter: #f0f9f4;--color-accent-light: #86efac;--color-accent-darker: #15803d;--color-border: rgba(54, 48, 42, .15);--color-border-light: rgba(54, 48, 42, .08);--color-border-subtle: rgba(54, 48, 42, .1);--color-border-strong: rgba(54, 48, 42, .3);--color-overlay: rgba(54, 48, 42, .02);--color-overlay-hover: rgba(54, 48, 42, .1);--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #dc2626;--color-input-text: #36302A;--color-input-invalid: #dc2626;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--corner-radius: 10px;--button-padding-x: 2rem;--button-padding-y: 1rem;--font-size-base: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-h1: clamp(1.875rem, 1.6rem + 1.5vw, 2.5rem);--font-size-h2: clamp(1.625rem, 1.4rem + 1vw, 2rem);--font-size-h3: clamp(1.375rem, 1.2rem + .75vw, 1.75rem);--font-size-h4: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--font-size-h5: clamp(1.125rem, 1rem + .25vw, 1.25rem);--font-size-h6: clamp(1rem, .95rem + .15vw, 1.125rem);--font-size-small: clamp(.875rem, .8rem + .25vw, 1rem);--font-size-xs: clamp(.875rem, .8rem + .25vw, 1rem);--font-size-sm: clamp(.9375rem, .85rem + .3vw, 1.0625rem);--font-size-lg: clamp(1.25rem, 1.1rem + .5vw, 1.375rem);--font-size-xl: clamp(1.5rem, 1.3rem + .6vw, 1.75rem);--font-size-2xl: clamp(1.875rem, 1.6rem + 1vw, 2.25rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--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;--menu-toggle-height-mobile: 48px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--mobile-footer-spacing: 100px;--mobile-footer-spacing-with-safe-area: calc(var(--mobile-footer-spacing) + var(--safe-area-inset-bottom));--login-card-mobile-title-size: clamp(2rem, 5vw, 2.5rem);--login-card-mobile-subtitle-size: clamp(1.125rem, 3.5vw, 1.25rem);--login-card-mobile-button-size: clamp(1.125rem, 3.5vw, 1.25rem);--login-card-mobile-logo-size: clamp(2.5rem, 6vw, 3rem);--login-card-mobile-title-weight: 700;--login-card-mobile-subtitle-weight: 500;--login-card-mobile-button-weight: 600}[data-theme=dark]{--color-main-bg: #1a1816;--color-text: #ece4da;--color-secondary-bg: #252220;--color-lightest: #252220;--color-light: #1a1816;--color-accent: #02BC7D;--color-accent-lighter: #0d2818;--color-accent-light: #15803d;--color-accent-darker: #86efac;--color-border: rgba(236, 228, 218, .2);--color-border-light: rgba(236, 228, 218, .1);--color-border-subtle: rgba(236, 228, 218, .12);--color-border-strong: rgba(236, 228, 218, .35);--color-overlay: rgba(236, 228, 218, .04);--color-overlay-hover: rgba(236, 228, 218, .1);--color-error-bg: #3f1f1f;--color-error-border: #7f2a2a;--color-error-text: #fca5a5;--color-input-text: #ece4da;--color-input-invalid: #fca5a5}[data-theme=dark]{--shadow-sm: 0 2px 4px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 6px 16px rgba(0, 0, 0, .35);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .4);--shadow-2xl: 0 12px 32px rgba(0, 0, 0, .45)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:clamp(16px,1rem + .25vw,18px);-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background-color:var(--color-main-bg);width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}body{position:relative}h1,h2,h3,h4,h5,h6{font-family:Manrope,sans-serif;color:var(--color-text);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold)}h6{font-size:var(--font-size-h6);font-weight:var(--font-weight-semibold)}p{font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0}a{color:var(--color-text);text-decoration:none}a:hover{text-decoration:underline}*:focus{outline:none}*{caret-color:transparent}input,textarea,select,[contenteditable=true]{caret-color:var(--color-input-text)}input:focus-visible,textarea:focus-visible,select:focus-visible,[contenteditable=true]:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);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}}.login-page{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--color-main-bg);padding:var(--spacing-2xl) var(--spacing-lg);padding-bottom:calc(var(--spacing-2xl) + var(--spacing-xl));box-sizing:border-box}.login-page-content{width:100%;max-width:480px;display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative;margin-top:auto;margin-bottom:auto}.login-page-content .google-auth-container{min-height:auto;align-items:center;padding:0;height:auto}.login-page-content .google-auth-card{min-height:auto;height:auto;border-radius:var(--corner-radius);padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);justify-content:flex-start}.login-additional-buttons{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm)}@media(max-width:768px){.login-page{padding:calc(var(--safe-area-inset-top) + var(--spacing-lg)) var(--spacing-md);padding-bottom:calc(var(--safe-area-inset-bottom) + var(--spacing-2xl) + var(--spacing-2xl) + var(--spacing-lg));align-items:center;justify-content:center}.login-page-content{max-width:100%;gap:var(--spacing-lg);margin-top:auto;margin-bottom:0;min-height:auto}.login-page-content .google-auth-container{min-height:auto;height:auto}.login-page-content .google-auth-card{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-radius:var(--corner-radius);min-height:auto;height:auto;justify-content:flex-start}.login-page-content .google-auth-header{margin-bottom:var(--spacing-xl)}.login-page-content .google-auth-buttons{margin-top:var(--spacing-lg);padding-bottom:0}.login-additional-buttons{gap:var(--spacing-md);margin-top:var(--spacing-md);padding-bottom:var(--spacing-sm)}}@media(max-width:768px){.login-additional-buttons .google-auth-button{min-height:56px;padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--login-card-mobile-button-size);font-weight:var(--login-card-mobile-button-weight);font-family:Manrope,sans-serif;width:100%}}.polling-status-bar{width:100%;background-color:var(--color-accent-lighter, #f0f9f4);border-radius:var(--corner-radius-sm, 4px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px);box-shadow:var(--shadow-sm)}.polling-indicator{display:flex;align-items:center;gap:var(--spacing-sm, 8px);font-size:var(--font-size-sm, 14px);color:var(--color-accent-darker, #15803d)}.polling-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-accent, #22c55e);opacity:.6;transition:all .3s ease}.polling-dot.active{opacity:1;animation:pulse 1.5s infinite;background-color:var(--color-accent-bright, #16a34a)}.polling-text{font-weight:500;color:var(--color-accent-darker, #15803d)}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.booking-calendar-container{width:100%;max-width:var(--page-content-max-width);margin-left:auto;margin-right:auto;padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-lg);position:relative;overflow:visible;box-sizing:border-box;margin-bottom:0;padding-bottom:0}.booking-calendar-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);overflow:visible;flex:1;min-width:0;min-height:0;box-sizing:border-box}.booking-calendar-section{display:flex;flex-direction:column;overflow:visible;min-width:0;margin-bottom:0;padding-bottom:0;box-sizing:border-box;width:100%}@media(min-width:1024px){.booking-calendar-container{max-width:var(--page-content-max-width-wide);padding:var(--spacing-xl) var(--spacing-xl) 0 var(--spacing-xl);gap:var(--spacing-xl)}}@media(min-width:1440px){.booking-calendar-container{max-width:var(--page-content-max-width-ultrawide)}}@media(min-width:1024px)and (max-width:1400px){.booking-calendar-layout{grid-template-columns:minmax(280px,320px) 1fr;gap:var(--spacing-lg);padding:var(--spacing-xl)}.event-details-section{order:1}.month-grid-section{order:2}.time-slots-section{order:3;grid-column:1 / -1}.time-slots-panel{padding:var(--spacing-lg)}.time-slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}}@media(min-width:1401px){.booking-calendar-layout{grid-template-columns:minmax(300px,340px) minmax(400px,2fr) minmax(260px,300px);gap:var(--spacing-xl);padding:var(--spacing-2xl)}.booking-calendar-section.event-details-section,.booking-calendar-section.month-grid-section,.booking-calendar-section.time-slots-section{min-width:0;width:100%}.month-grid-panel{width:100%;padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg)}.calendar-grid{width:100%}.weekday-headers{width:100%;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.days-grid{width:100%;gap:var(--spacing-sm)}.calendar-day{min-height:40px;min-width:40px;aspect-ratio:1}.time-slots-panel{width:100%;padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg)}.time-slots-list{width:100%;display:flex;flex-direction:column}.time-slot-btn{width:100%;justify-content:flex-start;padding:var(--spacing-md) var(--spacing-lg)}.event-details-section .event-details-panel{width:100%;padding:var(--spacing-lg)}.booking-calendar-actions{padding-top:var(--spacing-xl);margin-top:var(--spacing-lg)}}.month-grid-panel{padding:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);overflow:visible;margin-bottom:0;min-width:0;box-sizing:border-box}.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-text);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.02em}.month-nav-btn{background:transparent;border:none;color:var(--color-text);opacity:.75;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--corner-radius);cursor:pointer;font-size:1.25rem;font-weight:400;transition:color .2s ease,opacity .2s ease;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center}.month-nav-btn:hover{opacity:1;color:var(--color-accent)}.month-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent);border-radius:6px}.month-nav-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.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-weight:var(--font-weight-medium);color:var(--color-text);opacity:.65;padding:var(--spacing-sm);text-transform:uppercase;letter-spacing:.03em}.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-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease,color .2s ease;border:none;background:transparent;color:var(--color-text);min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.calendar-day:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent)}.calendar-day.empty{cursor:default;pointer-events:none;color:var(--color-text);opacity:.4}.calendar-day.unavailable{cursor:default;pointer-events:none;position:relative;color:var(--color-text);opacity:.5;background:#36302a0a}.calendar-day.unavailable:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0,transparent 3px,rgba(220,38,38,.4) 3px,rgba(220,38,38,.4) 6px);border-radius:inherit;pointer-events:none}.calendar-day.available{background:#02bc7d0f;border:1px solid rgba(2,188,125,.2);color:var(--color-text)}.calendar-day.selected{background-color:var(--color-accent);color:var(--color-secondary-bg);font-weight:var(--font-weight-semibold)}.calendar-day.today:not(.selected){background:#02bc7d1f;color:var(--color-text)}.no-available-dates{text-align:center;padding:var(--spacing-2xl);color:var(--color-text);opacity:.7}.no-available-dates p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.calendar-beyond-limit-message{text-align:center;padding:var(--spacing-2xl);color:var(--color-text)}.calendar-beyond-limit-message p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-sm) 0}.calendar-beyond-limit-message p:last-child{margin-bottom:0}.calendar-beyond-limit-hint{font-size:var(--font-size-small);opacity:.8}.time-slots-panel{padding:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);display:flex;flex-direction:column;gap:var(--spacing-md);overflow:visible;margin-bottom:0;min-width:0;box-sizing:border-box}.time-slots-header{padding-bottom:var(--spacing-md)}.time-slots-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs);letter-spacing:-.02em}.time-slots-date{font-size:var(--font-size-sm);color:var(--color-text);opacity:.65;line-height:var(--line-height-normal)}.time-slots-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.time-slots-list.timeslots-scrollable{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:calc(6 * var(--touch-target-min) + 5 * var(--spacing-sm));scrollbar-width:none;-ms-overflow-style:none}.time-slots-list.timeslots-scrollable::-webkit-scrollbar{display:none}.time-slots-empty-message{padding:1rem;color:var(--color-text);opacity:.7;text-align:center}.time-slot-btn{background:#36302a0f;border:none;color:var(--color-text);padding:var(--spacing-md);border-radius:var(--corner-radius);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color .2s ease,color .2s ease;text-align:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.time-slot-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent)}.time-slot-indicator{width:6px;height:6px;background-color:var(--color-accent);border-radius:50%;flex-shrink:0}.time-slot-btn:hover{background:#36302a1f;color:var(--color-text)}.time-slot-btn.selected{background-color:var(--color-accent);color:var(--color-secondary-bg);font-weight:var(--font-weight-semibold)}.time-slot-btn.selected .time-slot-indicator{background-color:var(--color-secondary-bg)}@media(max-width:1023px){.booking-calendar-layout{grid-template-columns:1fr;gap:var(--spacing-md);padding:var(--spacing-lg)}.event-details-section{order:1}.month-grid-section{order:2}.time-slots-section{order:3}.booking-calendar-section{width:100%;max-width:100%}}.booking-worker-note{width:100%;max-width:100%;margin-top:var(--spacing-md)}.booking-worker-note-details{background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-sm)}.booking-worker-note-summary{cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);list-style:none;padding:var(--spacing-xs) 0;-webkit-user-select:none;user-select:none}.booking-worker-note-summary::-webkit-details-marker{display:none}.booking-worker-note-summary::marker{display:none}.booking-worker-note-summary:before{content:"";display:inline-block;width:0;height:0;margin-right:var(--spacing-sm);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color-text);opacity:.6;transition:transform .2s ease;vertical-align:middle}.booking-worker-note-details[open] .booking-worker-note-summary:before{transform:rotate(180deg)}.booking-worker-note-content{padding-top:var(--spacing-md);padding-bottom:var(--spacing-xs)}.booking-worker-note-textarea{width:100%;min-height:72px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-family:inherit;line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);border:1px solid rgba(54,48,42,.2);border-radius:var(--corner-radius);resize:vertical;box-sizing:border-box}.booking-worker-note-textarea:focus{outline:none;box-shadow:0 0 0 2px var(--color-accent);border-color:var(--color-accent)}.booking-worker-note-textarea[aria-invalid=true]{border-color:var(--color-error, #dc2626)}.booking-worker-note-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-top:var(--spacing-xs);min-height:1.25rem}.booking-worker-note-error{font-size:var(--font-size-xs);color:var(--color-error, #dc2626);flex:1}.booking-worker-note-counter{font-size:var(--font-size-xs);color:var(--color-text);opacity:.6;flex-shrink:0}.booking-calendar-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);margin-top:var(--spacing-md);width:100%;max-width:100%;margin-left:0;margin-right:0;margin-bottom:0;padding-bottom:0;box-sizing:border-box}.booking-calendar-actions .next-button,.booking-calendar-actions .action-button{width:100%;max-width:100%}@media(max-width:1024px){.booking-calendar-container{padding:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);min-height:auto;margin-bottom:0;padding-bottom:0}.booking-calendar-layout{padding:var(--spacing-lg)}.month-grid-panel,.time-slots-panel{padding:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);margin-bottom:0}}@media(max-width:768px){.booking-calendar-container{padding:var(--spacing-sm) var(--spacing-sm) 0 var(--spacing-sm);min-height:auto;margin-bottom:0;padding-bottom:0}.booking-calendar-layout{padding:var(--spacing-md);gap:var(--spacing-md)}.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)}.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);font-weight:var(--font-weight-semibold)}.days-grid{gap:2px}.calendar-day{aspect-ratio:1}.time-slots-panel{padding:var(--spacing-sm) var(--spacing-sm) 0 var(--spacing-sm);max-height:none;margin-bottom:0}.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);padding-bottom:var(--spacing-sm)}.time-slots-list.timeslots-scrollable{max-height:calc(6 * var(--touch-target-min) + 5 * var(--spacing-xs));overflow-y:auto;-webkit-overflow-scrolling:touch}.time-slot-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);width:100%}.time-slot-indicator{width:6px;height:6px}.booking-calendar-actions{padding-top:var(--spacing-md);margin-top:var(--spacing-sm);justify-content:stretch;margin-bottom:0;padding-bottom:0}.booking-calendar-actions .action-button{width:100%}}@media(max-width:480px){.booking-calendar-container{padding:var(--spacing-xs) var(--spacing-xs) 0 var(--spacing-xs);margin-bottom:0;padding-bottom:0}.booking-calendar-layout{padding:var(--spacing-sm);gap:var(--spacing-sm)}.month-grid-panel,.time-slots-panel{padding:var(--spacing-xs) var(--spacing-xs) 0 var(--spacing-xs);margin-bottom:0}.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:var(--font-size-xs);padding:4px 2px;font-weight:var(--font-weight-semibold)}.days-grid{gap:2px}.calendar-day{font-size:var(--font-size-xs)}.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);margin-bottom:0;padding-bottom:0}}@media(min-width:1024px){.month-title{font-size:clamp(1rem,1rem + .3vw,1.125rem)}.weekday-header{font-size:clamp(.75rem,.7rem + .15vw,.8125rem)}.calendar-day{font-size:clamp(.8125rem,.75rem + .2vw,.875rem)}.time-slots-title{font-size:clamp(1rem,1rem + .3vw,1.125rem)}.time-slots-date{font-size:clamp(.6875rem,.65rem + .15vw,.75rem)}.time-slot-btn{font-size:clamp(.8125rem,.75rem + .2vw,.875rem)}}@media(min-width:1280px){.month-title{font-size:clamp(.9375rem,.9rem + .25vw,1.0625rem)}.weekday-header{font-size:clamp(.6875rem,.65rem + .1vw,.75rem)}.calendar-day{font-size:clamp(.75rem,.7rem + .15vw,.8125rem)}.time-slots-title{font-size:clamp(.9375rem,.9rem + .25vw,1.0625rem)}.time-slots-date{font-size:clamp(.625rem,.6rem + .1vw,.6875rem)}.time-slot-btn{font-size:clamp(.75rem,.7rem + .15vw,.8125rem)}}@media(max-width:768px)and (orientation:landscape){.booking-calendar-container{min-height:auto}.time-slots-panel{max-height:300px}.calendar-day{min-height:var(--touch-target-min)}}.event-details-panel{padding:var(--spacing-md);background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);overflow:visible;min-width:0;box-sizing:border-box}.event-details-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.event-title{font-size:var(--font-size-xl);color:var(--color-text);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm);overflow-wrap:break-word;word-break:break-word}.event-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.event-duration{font-size:var(--font-size-sm);color:var(--color-text);opacity:.75}.event-price{margin-left:1rem;font-size:var(--font-size-sm);color:var(--color-text);opacity:.75}.event-description{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-relaxed)}.event-availability-info{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);opacity:.7}@media(max-width:1024px){.event-details-panel{padding:var(--spacing-md)}}@media(max-width:768px){.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)}}@media(max-width:480px){.event-details-panel{padding:var(--spacing-xs)}.event-title{font-size:var(--font-size-base)}}@media(min-width:1024px){.event-title{font-size:clamp(1rem,1rem + .3vw,1.25rem)}.event-duration,.event-description{font-size:clamp(.8125rem,.75rem + .2vw,.875rem)}.event-availability-info{font-size:clamp(.75rem,.7rem + .15vw,.8125rem)!important}}@media(min-width:1280px){.event-title{font-size:clamp(.9375rem,.9rem + .25vw,1.125rem)}.event-duration,.event-description{font-size:clamp(.75rem,.7rem + .15vw,.8125rem)}.event-availability-info{font-size:clamp(.6875rem,.65rem + .1vw,.75rem)!important}}.next-button{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;border:none;border-radius:var(--corner-radius);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:440px;min-height:var(--touch-target-min);letter-spacing:.02em;line-height:var(--line-height-normal);touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:auto;transform-origin:center;background:var(--color-accent);color:var(--color-secondary-bg);box-shadow:var(--shadow-md)}.next-button:active{transform:scale(.98);box-shadow:var(--shadow-sm)}@media(hover:hover){.next-button:hover{transform:scale(1.02)}}.next-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.next-button-full-width{width:100%}@media(max-width:768px){.next-button{font-size:var(--login-card-mobile-button-size);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;padding:var(--spacing-xl) var(--spacing-2xl);min-width:120px;min-height:calc(var(--touch-target-min) + 12px);border-radius:var(--corner-radius);width:100%;letter-spacing:.02em;line-height:1.5;box-shadow:var(--shadow-lg)}.next-button-full-width{width:100%}.next-button:active{transform:scale(.98);box-shadow:var(--shadow-sm)}@media(hover:hover){.next-button:hover{transform:scale(1.02)}}}.success-card-backdrop{position:fixed;inset:0;height:100vh;height:100dvh;background-color:#36302a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.success-card{background-color:var(--color-secondary-bg);border-radius:var(--corner-radius);width:100%;max-width:500px;box-shadow:var(--shadow-2xl);overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.success-card-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-main-bg);border-bottom:2px solid rgba(54,48,42,.1)}.success-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#02bc7d1a;color:var(--color-accent);flex-shrink:0}.success-card-icon svg{width:24px;height:24px}.success-card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;line-height:var(--line-height-tight)}.success-card-body{padding:var(--spacing-lg)}.success-card-message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text);margin:0}.success-card-actions{display:flex;justify-content:center;padding:var(--spacing-lg);background-color:var(--color-main-bg);border-top:2px solid rgba(54,48,42,.1)}.success-card-button{padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--corner-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);min-width:120px;border:2px solid var(--color-accent);line-height:var(--line-height-normal);background-color:var(--color-accent);color:var(--color-secondary-bg)}.success-card-button:hover{background-color:#02a066;border-color:#02a066;box-shadow:var(--shadow-md);transform:translateY(-2px)}.success-card-button:active{transform:translateY(0)}@media(max-width:768px){.success-card-backdrop{padding:var(--spacing-md);align-items:flex-end}.success-card{max-width:100%;border-radius:var(--corner-radius) var(--corner-radius) 0 0;margin-bottom:0}.success-card-header{padding:var(--spacing-md)}.success-card-icon{width:40px;height:40px}.success-card-icon svg{width:20px;height:20px}.success-card-title{font-size:var(--font-size-h5)}.success-card-body{padding:var(--spacing-md)}.success-card-message{font-size:var(--font-size-sm)}.success-card-actions{padding:var(--spacing-md)}.success-card-button{width:100%;font-size:var(--font-size-base);min-height:56px}}.reschedule-modal-backdrop{position:fixed;inset:0;height:100vh;height:100dvh;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);overflow-y:auto}.reschedule-modal-content{background:var(--color-secondary-bg);border-radius:var(--corner-radius);width:100%;max-width:1200px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;box-shadow:var(--shadow-2xl);overflow:hidden}.reschedule-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.reschedule-modal-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;font-family:Manrope,sans-serif}.reschedule-modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text);opacity:.7;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);transition:background-color .2s,opacity .2s}.reschedule-modal-close:hover{background-color:var(--color-overlay-hover);opacity:1}.reschedule-modal-body{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;min-height:0}.reschedule-modal-loading,.reschedule-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text);opacity:.7}.reschedule-modal-error{color:var(--color-error-text);opacity:1}.reschedule-modal-retry{margin-top:var(--spacing-md);padding:var(--button-padding-y) var(--button-padding-x);background-color:var(--color-accent);color:var(--color-secondary-bg);border:none;border-radius:var(--corner-radius);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-md)}.reschedule-modal-retry:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.reschedule-modal-info{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-overlay);border-radius:var(--corner-radius);border:1px solid var(--color-border-light)}.reschedule-modal-info p{margin:var(--spacing-sm) 0;color:var(--color-text);font-size:var(--font-size-base);font-family:Manrope,sans-serif}.reschedule-modal-duration{font-size:var(--font-size-small);color:var(--color-text);opacity:.7}.reschedule-modal-error-message{margin-bottom:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--corner-radius);color:var(--color-error-text);font-size:var(--font-size-small);font-family:Manrope,sans-serif}.reschedule-modal-calendar{margin-bottom:var(--spacing-xl);flex:1;display:flex;flex-direction:column;min-height:0;overflow:visible}.reschedule-modal-calendar .booking-calendar-container{max-width:100%;padding:0;margin:0;flex:1;display:flex;flex-direction:column;min-height:0}.reschedule-modal-calendar .booking-calendar-layout{flex:1;min-height:500px;overflow:visible}@media(min-width:1401px){.reschedule-modal-content{max-width:1400px}.reschedule-modal-calendar .booking-calendar-layout{min-height:600px}}@media(min-width:1024px)and (max-width:1400px){.reschedule-modal-content{max-width:1100px}.reschedule-modal-calendar .booking-calendar-layout{min-height:550px}}.reschedule-modal-actions{display:flex;gap:var(--spacing-md);justify-content:space-between;padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}@media(max-width:768px){.reschedule-modal-backdrop{padding:0;align-items:flex-end}.reschedule-modal-content{max-height:95vh;max-height:95dvh;border-radius:var(--corner-radius) var(--corner-radius) 0 0}.reschedule-modal-header{padding:var(--spacing-lg)}.reschedule-modal-title{font-size:var(--font-size-h4)}.reschedule-modal-body{padding:var(--spacing-lg)}.reschedule-modal-actions{flex-direction:column}.reschedule-modal-actions>*{width:100%}.reschedule-modal-calendar .booking-calendar-layout{min-height:auto}}@media(min-width:769px)and (max-width:1023px){.reschedule-modal-content{max-width:800px}.reschedule-modal-calendar .booking-calendar-layout{min-height:auto}}.upcoming-bookings{background:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--card-padding);box-shadow:0 1px 3px #36302a14;width:100%;overflow:visible}.upcoming-bookings-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-lg) 0}.upcoming-bookings-empty{padding:2rem;text-align:center;color:var(--color-text);opacity:.7}.upcoming-bookings-table{width:100%;border-collapse:collapse;table-layout:auto;min-width:0}.upcoming-bookings-table thead{background-color:#36302a0d}.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-text);white-space:normal;word-break:break-word;overflow-wrap:break-word}.upcoming-bookings-table th:nth-child(1){min-width:6rem}.upcoming-bookings-table th:nth-child(2){min-width:8rem}.upcoming-bookings-table th:nth-child(3){min-width:7rem}.upcoming-bookings-table th:nth-child(4){min-width:7rem}.upcoming-bookings-table th:nth-child(5){text-align:center;min-width:4.5rem}.upcoming-bookings-table th:last-child{text-align:center;min-width:6rem}.upcoming-bookings-table tbody tr{border-bottom:1px solid rgba(54,48,42,.1)}.upcoming-bookings-table tbody tr:last-child{border-bottom:none}.upcoming-bookings-table td{padding:var(--spacing-md);color:var(--color-text);font-size:var(--font-size-sm);overflow-wrap:break-word;word-break:break-word}.upcoming-bookings-table td:first-child{min-width:0;max-width:14rem}.upcoming-bookings-table td:nth-child(2){white-space:normal;word-break:break-word;min-width:0}.upcoming-bookings-table td:nth-child(3){white-space:normal;word-break:break-word;min-width:0}.upcoming-bookings-table td:nth-child(5){text-align:center;white-space:nowrap}.upcoming-bookings-table td:last-child{text-align:center;white-space:nowrap;overflow:visible}.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-action-icon{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);transition:background-color .2s ease,color .2s ease}.booking-action-icon:hover:not(:disabled){background-color:#36302a1a}.booking-action-icon:disabled{opacity:.5;cursor:not-allowed}.booking-action-icon-cancel:hover:not(:disabled){color:#ef4444}.booking-action-icon:focus{outline:2px solid var(--color-accent);outline-offset:2px}.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:var(--color-text);color:var(--color-secondary-bg);box-shadow:var(--shadow-sm)}.booking-button-cancel{background-color:transparent;color:var(--color-text)}.booking-button:focus{outline:2px solid var(--color-accent);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:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid rgba(54,48,42,.15)}.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-text);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-text);font-weight:500}.booking-card-time{font-size:var(--font-size-sm);color:var(--color-text);opacity:.7}.booking-card-worker{font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;margin-top:var(--spacing-xs);display:block}.booking-card-status{display:inline-block;margin-top:var(--spacing-xs)}.booking-card-action-icons{display:flex;gap:var(--spacing-xs);align-items:center;flex-shrink:0}}.services-page{width:100%;max-width:var(--page-content-max-width);margin:0 auto}.services-section-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--spacing-xl) 0}.services-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);width:100%}@media(max-width:900px){.services-cards-grid{grid-template-columns:1fr}}.services-cta-wrapper{display:flex;justify-content:center;padding-top:var(--spacing-xl);margin-top:var(--spacing-md)}.services-card{display:flex;flex-direction:column;background:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-xl);box-shadow:0 1px 3px #36302a14;border:1px solid var(--color-border);transition:box-shadow .2s ease,border-color .2s ease}@media(hover:hover){.services-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}}.services-card--accent{background:var(--color-accent);border-color:transparent;color:var(--color-secondary-bg)}.services-card--accent .services-card-title,.services-card--accent .services-card-description,.services-card--accent .services-card-checklist-item,.services-card--accent .services-card-icon{color:var(--color-secondary-bg)}.services-card--accent .services-card-addons-btn{background:#fff3;color:var(--color-secondary-bg);border-color:#ffffff4d}.services-card--accent .services-card-addons-btn:hover{background:#ffffff40}.services-card-icon{width:40px;height:40px;color:var(--color-accent);margin-bottom:var(--spacing-md);flex-shrink:0}.services-card-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--spacing-sm) 0;line-height:1.3}.services-card-description{font-size:var(--font-size-base);color:var(--color-text);opacity:.85;line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg) 0;flex:1}.services-card-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.services-card-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-subtle)}.services-card--accent .services-card-checklist{border-top-color:#ffffff40}.services-card-checklist-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-small);color:var(--color-text);opacity:.9;line-height:1.4}.services-card-checklist-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--color-accent)}.services-card--accent .services-card-checklist-icon{color:var(--color-secondary-bg)}.services-card-addons-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--corner-radius);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;min-height:auto;text-align:center}.services-card-addons-btn:hover{background:var(--color-overlay-hover);border-color:var(--color-border-strong)}.services-card-addons-btn svg{width:14px;height:14px;flex-shrink:0}.services-card--accent .next-button{background:var(--color-secondary-bg);color:var(--color-accent)}.services-card--accent .next-button:hover{background:var(--color-lightest)}.add-card-step-column{width:100%}.add-card-step-column .booking-confirmation-actions{align-items:stretch}.add-card-step-column .booking-confirmation-btn{width:100%;max-width:none}.add-card-form{text-align:left;margin-bottom:var(--spacing-lg);width:100%;max-width:100%}.add-card-form .booking-confirmation-btn{margin-top:var(--spacing-lg);width:100%;max-width:none;min-height:var(--touch-target-min);font-size:clamp(var(--font-size-sm),.9rem + .3vw,var(--font-size-base));font-weight:var(--font-weight-semibold);border-radius:var(--corner-radius);padding:clamp(var(--spacing-md),1rem + .5vw,var(--spacing-xl)) var(--spacing-lg)}.add-card-form>div{width:100%;margin-bottom:var(--spacing-lg);min-height:7.5rem}.add-card-form>div iframe{width:100%!important;min-height:clamp(8.75rem,10vw + 6rem,10rem)}.add-card-step-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);padding:var(--spacing-md);border-radius:var(--corner-radius);margin-bottom:var(--spacing-md)}.add-card-step-error-pre{white-space:pre-line}.add-card-step-config-error{color:var(--color-error-text);margin-bottom:var(--spacing-md)}.add-card-step-actions{margin-top:var(--spacing-md)}.error-alert{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--corner-radius);color:var(--color-error-text)}.error-alert-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.error-alert-message{flex:1;white-space:pre-line;line-height:var(--line-height-normal)}.error-alert-dismiss{background:none;border:none;color:var(--color-error-text);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;min-width:auto;min-height:auto}.error-alert-dismiss:hover{opacity:.7}.error-alert-dismiss:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.service-and-addons-picker{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-xl) 0 var(--spacing-xl);max-width:var(--page-content-max-width);margin:0 auto;width:100%;box-sizing:border-box;padding-bottom:0}.service-selection{display:flex;flex-direction:column;gap:var(--spacing-lg)}.service-selection h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-md);text-align:center;line-height:var(--line-height-tight)}.service-selection p{font-size:var(--font-size-base);color:var(--color-text);opacity:.7;margin-bottom:var(--spacing-xl);line-height:var(--line-height-normal);text-align:center}.service-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.service-option{display:block;background-color:var(--color-secondary-bg);border:2px solid rgba(54,48,42,.25);border-radius:var(--corner-radius);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--shadow-md)}.service-option:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.service-option:has(input[type=radio]:checked){background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:var(--shadow-lg)}.service-option:has(input[type=radio]:checked) label{color:var(--color-secondary-bg);font-weight:var(--font-weight-bold)}.service-option input[type=radio]{display:none}.service-option label{display:block;padding:var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;color:var(--color-text);cursor:pointer;line-height:var(--line-height-normal);text-align:center}.addons-selection{display:flex;flex-direction:column;gap:var(--spacing-lg)}.addons-selection h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-md);text-align:center;line-height:var(--line-height-tight)}.addons-selection p{font-size:var(--font-size-base);color:var(--color-text);opacity:.7;margin-bottom:var(--spacing-xl);line-height:var(--line-height-normal);text-align:center}.addons-list{display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:flex-start}.addons-list.addons-scrollable{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-height:calc(6 * var(--touch-target-min) + 5 * var(--spacing-sm));scrollbar-width:none;-ms-overflow-style:none;padding-bottom:var(--spacing-md)}.addons-list.addons-scrollable::-webkit-scrollbar{display:none}.addon-pill{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-secondary-bg);border:2px solid rgba(54,48,42,.25);border-radius:var(--corner-radius);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min);width:100%;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);box-shadow:var(--shadow-md)}.addon-name{flex:1;text-align:left}.addon-time{font-size:var(--font-size-xs);opacity:.7;font-weight:var(--font-weight-medium);white-space:nowrap}.addon-pill:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.addon-pill.selected{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-secondary-bg);box-shadow:var(--shadow-md);font-weight:var(--font-weight-bold)}.service-info-banner{background-color:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center}.service-info-banner p{color:var(--color-text);opacity:.6;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);font-family:Manrope,sans-serif;font-style:normal;margin:0;line-height:var(--line-height-relaxed)}.service-picker-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-xl);margin-top:var(--spacing-xl);margin-bottom:0;padding-bottom:0}.service-picker-dashboard-btn{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;border:2px solid rgba(54,48,42,.2);border-radius:var(--corner-radius);background-color:transparent;color:var(--color-text);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min);min-width:120px;letter-spacing:.02em;line-height:var(--line-height-normal);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.service-picker-dashboard-btn:active{background-color:#36302a1a;border-color:var(--color-text);transform:scale(.98)}@media(hover:hover){.service-picker-dashboard-btn:hover{border-color:#36302a59;transform:scale(1.02)}}.service-picker-dashboard-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.service-option:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.addon-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.service-and-addons-picker .loading-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text);opacity:.7;font-size:var(--font-size-base);font-family:Manrope,sans-serif;font-weight:var(--font-weight-medium)}@media(max-width:768px){.service-and-addons-picker{padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);gap:var(--spacing-xl);max-width:none;margin-bottom:0;padding-bottom:0}.service-selection h2,.addons-selection h2{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.service-option label{padding:var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.addons-list{gap:var(--spacing-sm)}.addons-list.addons-scrollable{max-height:calc(6 * var(--touch-target-min) + 5 * var(--spacing-xs));overflow-y:auto;-webkit-overflow-scrolling:touch}.addon-pill{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.service-picker-actions{flex-direction:column;align-items:stretch;justify-content:center;padding-top:var(--spacing-lg);margin-bottom:0;padding-bottom:0}.service-picker-dashboard-btn{width:100%;padding:var(--spacing-xl) var(--spacing-2xl);min-height:calc(var(--touch-target-min) + 12px)}.service-info-banner{padding:var(--spacing-xs) var(--spacing-sm)}.service-info-banner p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}}@media(max-width:480px){.service-and-addons-picker{padding:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);gap:var(--spacing-lg);margin-bottom:0;padding-bottom:0}.service-selection h2,.addons-selection h2{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold)}.service-option label{padding:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.addon-pill{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-height:var(--touch-target-min)}.addon-time{font-size:var(--font-size-xs)}}.back-button{position:relative;background:none;border:none;color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform-origin:center;line-height:var(--line-height-normal);min-height:var(--touch-target-min);width:fit-content;align-self:flex-start;max-width:200px}@media(hover:hover){.back-button:hover:not(:disabled){transform:scale(1.05)}}.back-button:active:not(:disabled){opacity:.7;transform:scale(.95)}.back-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.back-button-arrow{font-size:var(--font-size-h5);line-height:1;font-weight:var(--font-weight-bold);display:block;-webkit-user-select:none;user-select:none}@media(max-width:768px){.back-button{font-size:var(--font-size-base);padding:var(--spacing-xs) 0;min-height:44px}.back-button-arrow{font-size:var(--font-size-h5)}}.page-content .booking-error-inline--pre-line{white-space:pre-line}.page-content .booking-confirmation{width:100%;max-width:var(--page-content-max-width);margin:0 auto}.page-content .booking-confirmation-card{background:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid rgba(54,48,42,.1);text-align:center}.page-content .booking-confirmation-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-tight)}.page-content .booking-confirmation-details{background:var(--color-main-bg);border:1px solid rgba(54,48,42,.12);border-radius:var(--corner-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:left}.page-content .booking-confirmation-details-title{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.page-content .booking-confirmation-row{font-size:var(--font-size-sm);color:var(--color-text);margin:.25rem 0;line-height:var(--line-height-normal)}.page-content .booking-confirmation-row strong{font-weight:var(--font-weight-semibold)}.page-content .booking-confirmation-message{font-size:var(--font-size-base);color:var(--color-text);margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-normal)}.page-content .booking-confirmation-email-notice{font-size:var(--font-size-sm);color:var(--color-error-text);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-normal);font-weight:var(--font-weight-medium)}.page-content .booking-confirmation-redirect-hint{font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;margin:0 0 var(--spacing-xl) 0}.page-content .booking-confirmation-actions{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:stretch}.page-content .booking-confirmation-btn{font-family:Manrope,sans-serif;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);border-radius:var(--corner-radius);cursor:pointer;min-height:var(--touch-target-min);padding:var(--spacing-md) var(--spacing-xl);transition:box-shadow .2s ease,transform .1s ease;border:none;width:100%;max-width:none}.page-content .booking-confirmation-btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.page-content .booking-confirmation-btn-primary{background:var(--color-text);color:var(--color-secondary-bg);box-shadow:var(--shadow-sm)}.page-content .booking-confirmation-btn-primary:hover{box-shadow:var(--shadow-md)}.page-content .booking-confirmation-btn-secondary{background:transparent;color:var(--color-text);border:2px solid rgba(54,48,42,.2)}.page-content .booking-confirmation-btn-secondary:hover{border-color:var(--color-accent);background:#02bc7d14}.page-content .booking-confirmation-book-more{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);width:100%;max-width:none}.page-content .booking-confirmation-book-more-hint{font-size:var(--font-size-xs);color:var(--color-text);opacity:.8;margin:0;line-height:var(--line-height-normal)}@media(max-width:768px){.page-content .booking-confirmation-card{padding:var(--spacing-xl)}.page-content .booking-confirmation-title{font-size:var(--font-size-xl)}}: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:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-tight)}.last-clean-card{width:100%;max-width:100%;padding:var(--card-padding-sm);position:relative;z-index:1;box-sizing:border-box}.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-text) 0%,var(--color-text) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-secondary-bg);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;flex-shrink:0}.last-clean-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;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:var(--font-weight-medium);font-family:Manrope,sans-serif;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.last-clean-date{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);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:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-bold)}.last-clean-date{font-size:clamp(1.5rem,4vw,1.75rem);font-weight:var(--font-weight-bold)}.last-clean-icon{width:36px;height:36px;font-size:clamp(1.125rem,3.5vw,1.25rem)}.last-clean-label{font-size:clamp(.8125rem,2.5vw,.9375rem)}}.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);width:100%;box-sizing:border-box}.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:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-tight)}.subscription-card-service-date{font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;margin:0;line-height:var(--line-height-normal)}.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:var(--font-weight-semibold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0;line-height:var(--line-height-tight)}.subscription-card-section-content{font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;margin:0;line-height:var(--line-height-normal)}.subscription-card-change-plan-button{padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text) 100%);color:var(--color-secondary-bg);border:none;border-radius:var(--corner-radius);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);font-family:Manrope,sans-serif;line-height:var(--line-height-normal);cursor:pointer;box-shadow:var(--shadow-sm);min-height:var(--touch-target-min)}.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:var(--font-weight-medium);font-family:Manrope,sans-serif;color:var(--color-text);line-height:var(--line-height-normal)}.subscription-card-payment-method-expiry{font-size:var(--font-size-sm);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;line-height:var(--line-height-normal)}.subscription-card-remove-button{padding:var(--spacing-xs) var(--spacing-md);background:transparent;color:var(--color-text);border-radius:var(--corner-radius);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);font-family:Manrope,sans-serif;line-height:var(--line-height-normal);cursor:pointer;white-space:nowrap;min-height:var(--touch-target-min)}.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);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;margin:0 0 var(--spacing-md) 0;font-style:italic;line-height:var(--line-height-normal)}.subscription-card-add-payment-button{padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text) 100%);color:var(--color-secondary-bg);border:none;border-radius:var(--corner-radius);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);font-family:Manrope,sans-serif;line-height:var(--line-height-normal);cursor:pointer;box-shadow:var(--shadow-sm);min-height:var(--touch-target-min)}.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);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.6;text-decoration:none;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.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:clamp(1.375rem,4vw,1.75rem);font-weight:var(--font-weight-bold)}.subscription-card-service-date{font-size:clamp(1rem,3vw,1.125rem)}.subscription-card-section-title{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-semibold)}.subscription-card-section-content{font-size:clamp(1rem,3vw,1.125rem)}.subscription-card-change-plan-button,.subscription-card-add-payment-button{font-size:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-semibold);min-height:56px}.subscription-card-remove-button{font-size:clamp(.9375rem,2.5vw,1rem);min-height:44px}.subscription-card-payment-method-display{font-size:clamp(1rem,3vw,1.125rem)}.subscription-card-payment-method-expiry{font-size:clamp(.9375rem,2.5vw,1rem)}.subscription-card-no-payment-method{font-size:clamp(1rem,3vw,1.125rem)}.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}}.profile-cards{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;box-sizing:border-box}.profile-card{width:100%;box-sizing:border-box;background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:var(--corner-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .2s ease,background-color .2s ease}.profile-card:hover{box-shadow:var(--shadow-md);background:var(--color-overlay)}.profile-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.profile-card__title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-sm)}.profile-card__summary{font-size:var(--font-size-small);color:var(--color-text);line-height:var(--line-height-normal);opacity:.9}.profile-card--editing{cursor:default;box-shadow:var(--shadow-md)}.profile-card--editing:hover{background:var(--color-secondary-bg)}.profile-card__form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.profile-card__row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-card__row label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.profile-card__row input,.profile-card__row select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--corner-radius);background:var(--color-main-bg);color:var(--color-text);font-size:var(--font-size-base);min-height:var(--touch-target-min)}.profile-card__row input:focus,.profile-card__row select:focus{outline:2px solid var(--color-accent);outline-offset:0}.profile-card__readonly{font-size:var(--font-size-sm);color:var(--color-text)}.profile-card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-md)}.profile-card__actions button{padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--corner-radius);border:1px solid var(--color-border-strong);background:var(--color-secondary-bg);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);min-height:var(--touch-target-min);cursor:pointer}.profile-card__actions button:hover{background:var(--color-overlay-hover)}.profile-card__actions button[data-primary]{background:var(--color-accent);color:var(--color-main-bg);border-color:var(--color-accent)}.profile-card__actions button[data-primary]:hover{background:var(--color-accent-darker);border-color:var(--color-accent-darker)}.profile-card__errors{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-overlay);border-radius:var(--corner-radius);font-size:var(--font-size-small);color:var(--color-text)}.profile-card__errors ul{margin:0;padding-left:var(--spacing-lg)}.profile-card__hint{font-size:var(--font-size-xs);color:var(--color-text);opacity:.8;margin-top:var(--spacing-xs)}.profile-card--disabled{opacity:.7;cursor:not-allowed;pointer-events:none}.profile-card--disabled .profile-card__summary{font-style:italic}@media(max-width:768px){.profile-cards{gap:var(--spacing-md);width:100%;min-width:0}.profile-card{padding:var(--spacing-lg);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent}.profile-card__title{font-size:var(--font-size-h5)}.profile-card__summary{font-size:var(--font-size-small);line-height:var(--line-height-relaxed)}.profile-card__form{gap:var(--spacing-md);margin-top:var(--spacing-md)}.profile-card__row input,.profile-card__row select{min-height:var(--touch-target-min);padding:var(--spacing-md);font-size:16px}.profile-card__actions{gap:var(--spacing-md);margin-top:var(--spacing-lg)}.profile-card__actions button{min-height:var(--touch-target-min);padding:var(--button-padding-y) var(--button-padding-x);width:100%}}@media(max-width:480px){.profile-card{padding:var(--spacing-md)}.profile-card__actions button{padding:var(--spacing-md) var(--spacing-lg)}}.settings-section{margin-top:var(--spacing-xl)}.settings-section:first-of-type{margin-top:0}.settings-section-title{margin-bottom:var(--spacing-md)}.settings-button-group{display:flex;gap:var(--spacing-md);align-items:center}.settings-toggle-btn{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-secondary-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--corner-radius);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);transition:all .2s ease;min-height:var(--touch-target-min)}.settings-toggle-btn:hover{border-color:var(--color-border-strong)}.settings-toggle-btn--active{background:var(--color-accent);color:var(--color-secondary-bg);font-weight:var(--font-weight-semibold)}.settings-toggle-btn--active:hover{background:var(--color-accent-darker)}.action-button{padding:var(--button-padding-y) var(--button-padding-x);background-color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--corner-radius);color:var(--color-secondary-bg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);min-width:120px;line-height:var(--line-height-normal)}.action-button:hover:not(:disabled){background-color:var(--color-secondary-bg);color:var(--color-text);border-color:var(--color-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.action-button:active:not(:disabled){transform:translateY(0)}.action-button:disabled{background-color:#36302a33;border-color:#36302a33;color:var(--color-text);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-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif}.action-button--text:hover:not(:disabled){background-color:transparent;color:var(--color-accent);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%;font-size:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-semibold);min-height:56px}.action-button--text{font-size:clamp(.9375rem,2.5vw,1rem)}}.onboarding-page-content{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.onboarding-language-toggle{position:absolute;top:0;right:0;z-index:10;width:40px;height:40px;border:2px solid rgba(54,48,42,.15);border-radius:50%;background-color:var(--color-secondary-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:var(--shadow-sm);padding:0;min-height:auto;min-width:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.onboarding-language-toggle:hover{background-color:var(--color-secondary-bg);border-color:var(--color-accent);transform:scale(1.05);box-shadow:var(--shadow-md)}.onboarding-language-toggle:active{transform:scale(.95);box-shadow:var(--shadow-sm)}.onboarding-language-flag{font-size:var(--font-size-h5);line-height:1;display:block;-webkit-user-select:none;user-select:none}@media(max-width:768px){.onboarding-language-toggle{width:36px;height:36px;top:var(--spacing-xs);right:var(--spacing-xs)}.onboarding-language-flag{font-size:var(--font-size-base)}}.signup-form-container{width:100%;max-width:var(--page-content-max-width);margin:0 auto;padding:0 var(--spacing-lg) 0;touch-action:pan-y;min-height:100%}.signup-form-card{background:var(--color-secondary-bg);border-radius:var(--corner-radius);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;min-height:100%;width:100%;text-align:center}.signup-form-header{margin-bottom:var(--spacing-2xl);position:relative;padding-top:var(--spacing-md);padding-left:calc(40px + var(--spacing-sm));padding-right:calc(40px + var(--spacing-sm));display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}@media(max-width:768px){.signup-form-header{padding-left:calc(36px + var(--spacing-xs));padding-right:calc(36px + var(--spacing-xs))}}.signup-form-back-button-container{position:absolute;top:0;left:0;z-index:10}.signup-form-back-button-container .back-button{padding:var(--spacing-sm) 0;min-height:var(--touch-target-min)}.signup-form-title{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-lg) 0;text-align:center;letter-spacing:-.02em;line-height:1.2}.signup-form-progress-container{margin-top:var(--spacing-md);width:100%;display:flex;flex-direction:column;align-items:center}.signup-form-progress-bar{width:100%;height:4px;background-color:#36302a1a;border-radius:var(--corner-radius);overflow:hidden;margin-bottom:var(--spacing-sm)}.signup-form-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--corner-radius);transition:width .4s cubic-bezier(.4,0,.2,1)}.signup-form-step-indicator{text-align:center;font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;font-weight:var(--font-weight-medium);margin-top:var(--spacing-sm);line-height:var(--line-height-normal)}.signup-form-content{flex:1;min-height:300px;margin-bottom:var(--spacing-xl);touch-action:pan-y;-webkit-overflow-scrolling:touch;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.signup-form-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sfp-card{animation:fadeIn .3s ease;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;min-height:0;text-align:center}.sfp-card-footer{margin-top:auto;padding-top:var(--spacing-xl);display:flex;justify-content:center;width:100%;max-width:600px;align-self:center;flex-shrink:0}@media(min-width:769px){.sfp-card-footer{max-width:500px}}.sfp-card-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-md) 0;line-height:1.2;letter-spacing:-.01em;text-align:center}.sfp-card-description{font-size:var(--font-size-h5);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;margin:0 0 var(--spacing-xl) 0;line-height:1.5;text-align:center}.signup-form-step-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;color:var(--color-text);margin:0 0 var(--spacing-sm) 0;text-align:center}.signup-form-step-description{font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);opacity:.7;margin:0 0 var(--spacing-xl) 0;text-align:center}.sfp-form-fields{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);max-width:600px;width:100%;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;min-height:0;align-self:center;text-align:center}@media(max-width:768px){.sfp-form-fields{gap:var(--spacing-lg)}}.sfp-field-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center;width:100%}.sfp-apartment-fields-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);width:100%;text-align:center}.sfp-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;color:var(--color-text);margin-bottom:var(--spacing-sm);line-height:1.4;text-align:center}.sfp-input,.sfp-select,.sfp-textarea{width:100%;padding:var(--spacing-lg);font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);background-color:var(--color-secondary-bg);border:2px solid rgba(54,48,42,.2);border-radius:var(--corner-radius);transition:border-color .2s ease,box-shadow .2s ease;min-height:56px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:var(--line-height-normal)}.sfp-input:focus,.sfp-select:focus,.sfp-textarea:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.sfp-textarea{resize:vertical;min-height:100px;font-family:Manrope,sans-serif}.sfp-field-hint{font-size:var(--font-size-small);color:var(--color-text);opacity:.7;font-style:italic;text-align:center}@media(min-width:769px){.sfp-field-group{max-width:500px;margin-left:auto;margin-right:auto}.sfp-input,.sfp-select,.sfp-textarea{padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base)}}.sfp-radio-group{display:flex;justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap}.sfp-radio-label{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);padding:var(--spacing-lg) var(--spacing-xl);border:2px solid rgba(54,48,42,.2);border-radius:var(--corner-radius);transition:all .2s cubic-bezier(.4,0,.2,1);min-width:120px;min-height:var(--touch-target-min);background-color:var(--color-secondary-bg);-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm);transform-origin:center;line-height:var(--line-height-normal)}.sfp-radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.sfp-radio-label:has(.sfp-radio:checked){border-color:var(--color-accent)!important;background-color:var(--color-accent)!important;color:var(--color-secondary-bg)!important;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-md)!important;transform-origin:center}.sfp-radio-label:active:not(:has(.sfp-radio:checked)){border-color:var(--color-text);background-color:#36302a1a;box-shadow:var(--shadow-sm);transform:scale(.98)}@media(hover:hover){.sfp-radio-label:hover:not(:has(.sfp-radio:checked)){transform:scale(1.03)}.sfp-radio-label:hover:has(.sfp-radio:checked){transform:scale(1.03)}}.sfp-radio:focus-visible+span,.sfp-radio-label:has(.sfp-radio:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}@media(min-width:769px){.sfp-radio-label{min-width:180px;padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.sfp-radio-label:has(.sfp-radio:checked){font-weight:var(--font-weight-bold)}}.sfp-field-group:has(.sfp-slider){width:100%;max-width:100%}.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:#36302a33!important;outline:none!important;cursor:pointer!important;padding:0!important;margin:0!important;border:none!important;touch-action:pan-x;-webkit-tap-highlight-color:transparent}.sfp-slider::-webkit-slider-track{height:4px!important;background:#36302a33!important;border:none!important;border-radius:var(--corner-radius)!important}.sfp-slider::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;background:var(--color-secondary-bg)!important;border:2px solid var(--color-text)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important;transform:translateY(0)!important}.sfp-slider::-moz-range-track{height:4px!important;background:#36302a33!important;border:none!important;border-radius:var(--corner-radius)!important}.sfp-slider::-moz-range-thumb{width:18px!important;height:18px!important;background:var(--color-secondary-bg)!important;border:2px solid var(--color-text)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important}.sfp-slider-value{text-align:center;font-size:clamp(3rem,8vw,4rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin:var(--spacing-xl) 0 var(--spacing-md) 0;letter-spacing:-.03em;line-height:1}.sfp-slider-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-small);color:var(--color-text);opacity:.7;font-weight:var(--font-weight-medium)}@media(min-width:769px){.sfp-field-group:has(.sfp-slider){max-width:500px;margin-left:auto;margin-right:auto}.sfp-slider{height:6px!important;min-height:6px!important;max-height:6px!important}.sfp-slider::-webkit-slider-track{height:6px!important}.sfp-slider::-webkit-slider-thumb{width:22px!important;height:22px!important}.sfp-slider::-moz-range-track{height:6px!important}.sfp-slider::-moz-range-thumb{width:22px!important;height:22px!important}}.sfp-field-group:has(.sfp-bathroom-slider),.sfp-field-group:has(.sfp-tidiness-slider){width:100%;max-width:100%}.sfp-bathroom-slider,.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:#36302a33!important;outline:none!important;cursor:pointer!important;padding:0!important;margin:0!important;border:none!important;touch-action:pan-x;-webkit-tap-highlight-color:transparent}.sfp-bathroom-slider::-webkit-slider-track,.sfp-tidiness-slider::-webkit-slider-track{height:4px!important;background:#36302a33!important;border:none!important;border-radius:var(--corner-radius)!important}.sfp-bathroom-slider::-webkit-slider-thumb,.sfp-tidiness-slider::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:18px!important;height:18px!important;background:var(--color-secondary-bg)!important;border:2px solid var(--color-text)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important;transform:translateY(0)!important}.sfp-bathroom-slider::-moz-range-track,.sfp-tidiness-slider::-moz-range-track{height:4px!important;background:#36302a33!important;border:none!important;border-radius:var(--corner-radius)!important}.sfp-bathroom-slider::-moz-range-thumb,.sfp-tidiness-slider::-moz-range-thumb{width:18px!important;height:18px!important;background:var(--color-secondary-bg)!important;border:2px solid var(--color-text)!important;border-radius:50%!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important}.sfp-bathroom-value{text-align:center;font-size:clamp(2.5rem,7vw,3.5rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin:var(--spacing-xl) 0 var(--spacing-md) 0;letter-spacing:-.02em;line-height:1}.sfp-bathroom-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-small);color:var(--color-text);opacity:.7;font-weight:var(--font-weight-medium)}.sfp-tidiness-value{text-align:center;font-size:clamp(2rem,6vw,2.5rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin:var(--spacing-xl) 0 var(--spacing-md) 0;letter-spacing:-.01em;line-height:1.2}.sfp-tidiness-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-md);font-size:var(--font-size-small);color:var(--color-text);opacity:.7;font-weight:var(--font-weight-medium)}@media(min-width:769px){.sfp-field-group:has(.sfp-bathroom-slider),.sfp-field-group:has(.sfp-tidiness-slider){max-width:500px;margin-left:auto;margin-right:auto}.sfp-bathroom-slider,.sfp-tidiness-slider{height:6px!important;min-height:6px!important;max-height:6px!important}.sfp-bathroom-slider::-webkit-slider-track,.sfp-tidiness-slider::-webkit-slider-track{height:6px!important}.sfp-bathroom-slider::-webkit-slider-thumb,.sfp-tidiness-slider::-webkit-slider-thumb{width:22px!important;height:22px!important}.sfp-bathroom-slider::-moz-range-track,.sfp-tidiness-slider::-moz-range-track{height:6px!important}.sfp-bathroom-slider::-moz-range-thumb,.sfp-tidiness-slider::-moz-range-thumb{width:22px!important;height:22px!important}}.sfp-checkbox-label{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base);font-family:Manrope,sans-serif;color:var(--color-text);line-height:var(--line-height-normal);text-align:center;min-height:var(--touch-target-min)}.sfp-checkbox{min-width:20px;min-height:20px;width:20px;height:20px;cursor:pointer}@media(min-width:769px){.sfp-checkbox{width:22px;height:22px;min-width:22px;min-height:22px}}.sfp-equipment-availability{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);margin-top:var(--spacing-md)}.sfp-equipment-intro{font-size:var(--font-size-base);color:var(--color-text);opacity:.8;text-align:center;line-height:var(--line-height-relaxed);margin:0;max-width:500px}.sfp-equipment-questions{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);width:100%}.sfp-equipment-question{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);width:100%}.sfp-equipment-question-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:center;margin:0;line-height:var(--line-height-normal)}.sfp-equipment-yesno{width:100%;max-width:320px;justify-content:center}.sfp-equipment-required-hint{font-size:var(--font-size-small);color:var(--color-text);opacity:.8;text-align:center;margin:0 0 var(--spacing-sm) 0}.sfp-price-options{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:600px}.sfp-price-option{border:2px solid rgba(54,48,42,.15);border-radius:var(--corner-radius);padding:var(--spacing-xl);background-color:var(--color-secondary-bg);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);min-height:var(--touch-target-min)}.sfp-price-option-selected{border-color:var(--color-accent)!important;background-color:#02bc7d14!important;box-shadow:var(--shadow-md)!important}.sfp-price-option-selected .sfp-price-full{color:var(--color-text)}.sfp-price-option-selected .sfp-price-reduced{color:var(--color-accent)}.sfp-price-option:active:not(.sfp-price-option-selected){border-color:#36302a4d;background-color:#36302a0d;box-shadow:var(--shadow-sm);transform:scale(.98)}@media(hover:hover){.sfp-price-option:hover:not(.sfp-price-option-selected){border-color:#36302a40;box-shadow:var(--shadow-md);transform:scale(1.01)}.sfp-price-option:hover.sfp-price-option-selected{box-shadow:var(--shadow-lg);transform:scale(1.01)}}@media(min-width:769px){.sfp-price-options{max-width:500px;margin-left:auto;margin-right:auto}.sfp-price-option{padding:var(--spacing-2xl)}}.sfp-first-cleaning-note-global{text-align:center;font-size:var(--font-size-base);color:var(--color-text);opacity:.8;font-weight:var(--font-weight-medium);font-style:normal;padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-lg);background-color:#36302a0d;border-radius:var(--corner-radius);border:1px solid rgba(54,48,42,.15);line-height:var(--line-height-relaxed)}.sfp-price-option-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0;text-align:center;line-height:1.3}.sfp-price-option-price-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin:0}.sfp-price-option-price-section>*{flex-shrink:0;flex-grow:0}.sfp-price-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.7;text-align:center;margin:0 0 var(--spacing-xs) 0}.sfp-price-full{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2;text-align:center;letter-spacing:normal!important;font-stretch:normal!important;transform:none!important;white-space:nowrap;display:inline-block;margin:0}.sfp-price-full>span{display:inline-block;letter-spacing:normal!important;font-stretch:normal!important;transform:none!important;white-space:nowrap}.sfp-price-reduced-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.sfp-price-reduced{font-size:clamp(1.3125rem,1.12rem + 1.05vw,1.75rem);font-weight:var(--font-weight-semibold);color:var(--color-accent);line-height:1.2;text-align:center;margin:0}.sfp-price-tax-note{font-size:var(--font-size-small);font-weight:var(--font-weight-normal);color:var(--color-text);opacity:.6;line-height:1.3;text-align:center;margin:0}.sfp-price-option-duration-section{text-align:center;margin:0;padding-top:var(--spacing-xs);border-top:1px solid rgba(54,48,42,.1);width:100%}.sfp-price-option-duration{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.7;margin:var(--spacing-sm) 0 0 0}.sfp-price-option-bonus-note{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-accent);background-color:#02bc7d14;border:1px solid rgba(2,188,125,.2);border-radius:var(--corner-radius);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0 0 0;line-height:1.35;text-align:center}.sfp-price-option-selected .sfp-price-option-bonus-note{background-color:#02bc7d1f;border-color:#02bc7d4d}.sfp-price-option-two-workers-note{font-size:.75rem;font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.85;background-color:#36302a0f;border:1px solid rgba(54,48,42,.15);border-radius:var(--corner-radius);padding:var(--spacing-xs) var(--spacing-sm);margin:var(--spacing-sm) 0 0 0;line-height:1.3;text-align:center}.sfp-price-option-selected .sfp-price-option-two-workers-note{background-color:#36302a14;border-color:#36302a33}.sfp-price-option-description{font-size:var(--font-size-small);color:var(--color-text);opacity:.6;margin:0;line-height:1.4;text-align:center}.sfp-loading,.sfp-error{text-align:center;padding:var(--spacing-lg);margin:var(--spacing-lg) 0;border-radius:var(--corner-radius)}.sfp-loading{background-color:#36302a0d;color:var(--color-text)}.sfp-error{background-color:#dc35451a;color:var(--color-text);border:1px solid rgba(220,53,69,.2)}.sfp-google-auth-wrapper{width:100%;max-width:600px;margin-bottom:var(--spacing-sm);display:flex;flex-direction:column;align-items:center;text-align:center}.sfp-google-auth-block{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);width:100%;max-width:320px}.sfp-google-auth-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.85;margin:0;line-height:1.4}.sfp-google-auth-wrapper .google-auth-button{width:100%;max-width:320px;min-height:52px;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-xl);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sfp-google-auth-wrapper .google-auth-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.sfp-google-auth-wrapper .google-auth-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm);border-color:silver}@media(hover:hover){.sfp-google-auth-wrapper .google-auth-button:hover:not(:disabled){transform:scale(1.02)}}@media(min-width:769px){.sfp-google-auth-wrapper{max-width:500px;margin-left:auto;margin-right:auto}.sfp-google-auth-block{max-width:100%}.sfp-google-auth-wrapper .google-auth-button{max-width:100%;min-height:var(--touch-target-min)}.sfp-email-sign-in-wrapper{max-width:500px;margin-left:auto;margin-right:auto}}@media(max-width:768px){.sfp-google-auth-wrapper{margin-bottom:var(--spacing-md)}.sfp-google-auth-block{max-width:280px}.sfp-google-auth-wrapper .google-auth-button{max-width:280px;min-height:52px;font-size:clamp(.9375rem,3.5vw,1.0625rem)}}.sfp-auth-divider{font-size:var(--font-size-small);color:var(--color-text);opacity:.7;margin:var(--spacing-md) 0;text-align:center}.sfp-email-sign-in-wrapper{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center}.sfp-card-footer{display:flex;flex-direction:column;gap:var(--spacing-md)}.sfp-google-auth-wrapper{width:100%;margin-bottom:0}.sfp-google-auth-block,.sfp-google-auth-wrapper .google-auth-button{width:100%;max-width:100%}.sfp-auth-divider{margin:0}.sfp-email-sign-in-wrapper{width:100%;max-width:100%}@media(max-width:768px){.sfp-card-footer{padding-bottom:var(--spacing-2xl)}}.signup-form-footer{padding-top:var(--spacing-xl);margin-top:auto;border-top:1px solid rgba(54,48,42,.15);display:flex;justify-content:center;width:100%}.signup-form-button-group{display:flex;justify-content:center;align-items:center;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:var(--font-weight-bold);font-family:Manrope,sans-serif;border:none;border-radius:var(--corner-radius);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:140px;min-height:var(--touch-target-min);letter-spacing:.02em;line-height:var(--line-height-normal);touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:auto;transform-origin:center}.signup-form-button-primary{background:var(--color-accent);color:var(--color-secondary-bg);box-shadow:var(--shadow-md)}.signup-form-button-primary:active{transform:scale(.98);box-shadow:0 2px 4px #02bc7d33}@media(hover:hover){.signup-form-button-primary:hover{transform:scale(1.02)}}.signup-form-button-secondary{background-color:transparent;color:var(--color-text);border:2px solid rgba(54,48,42,.2);border-radius:var(--corner-radius)}.signup-form-button-secondary:active{background-color:#36302a1a;border-color:var(--color-text);transform:scale(.98)}@media(hover:hover){.signup-form-button-secondary:hover{transform:scale(1.02)}}.signup-form-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media(min-width:769px){.signup-form-button{min-width:180px}}@media(min-width:769px){.signup-form-container{max-width:min(var(--page-content-max-width),640px)}.signup-form-card{max-width:100%;padding:var(--spacing-2xl) var(--spacing-2xl)}.signup-form-header{max-width:100%}.signup-form-title{max-width:100%;padding-left:.5rem;padding-right:.5rem;font-size:var(--font-size-h1)}.signup-form-progress-container{max-width:100%}.signup-form-content{margin-bottom:var(--spacing-2xl)}.sfp-card-title{font-size:var(--font-size-h2);margin-bottom:var(--spacing-lg)}.sfp-card-description{font-size:var(--font-size-h5);margin-bottom:var(--spacing-2xl)}.sfp-form-fields{max-width:500px;gap:var(--spacing-2xl)}}@media(min-width:1024px){.signup-form-card{padding:var(--spacing-2xl) 3rem}}@media(max-width:768px){.signup-form-container{max-width:100%;padding:0;margin:0;width:100%;min-height:auto;height:auto;overflow:visible;position:relative;touch-action:pan-y}.signup-form-card{width:100%;padding:calc(var(--safe-area-inset-top) + var(--spacing-md)) var(--spacing-md) calc(var(--mobile-footer-spacing-with-safe-area));border-radius:0;min-height:auto;height:auto;overflow:visible;display:flex;flex-direction:column;box-sizing:border-box;padding-bottom:0}.signup-form-card:has(.sfp-form-fields-step3){padding-bottom:0}.signup-form-header{padding-top:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-shrink:0}.signup-form-back-button-container{position:absolute;top:0;left:0;z-index:10}.signup-form-back-button-container .back-button{font-size:var(--font-size-base);min-height:44px}.signup-form-title{font-size:clamp(1.75rem,5vw,2rem);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);line-height:1.3;letter-spacing:-.02em}.signup-form-progress-bar{height:4px}.signup-form-step-indicator{font-size:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif}.signup-form-content{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-bottom:0;padding-bottom:0;min-height:0;overflow:visible;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:100%}.signup-form-content:has(.sfp-form-fields-step3){min-height:auto}.sfp-card-title{font-size:clamp(1.75rem,5vw,2rem);font-weight:var(--font-weight-bold);text-align:center;line-height:1.3;letter-spacing:-.02em;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-xs)}.sfp-card-description{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif;text-align:center;line-height:1.6;margin-bottom:var(--spacing-xl);color:var(--color-text);opacity:.7}.signup-form-step-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);text-align:center}.signup-form-step-description{font-size:var(--font-size-h5);font-weight:var(--font-weight-medium);text-align:center}.sfp-form-fields{align-items:center;text-align:center;gap:var(--spacing-xl);width:100%;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.sfp-form-fields-step3{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.sfp-form-fields .sfp-field-group:nth-child(n+4){margin-top:calc(var(--spacing-xl) * .5)}.sfp-field-group{align-items:center;text-align:center;width:100%;gap:var(--spacing-sm);margin-bottom:0}.sfp-apartment-fields-group{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.sfp-apartment-fields-group .sfp-field-group{margin-top:0}.sfp-label{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;text-align:center;margin-bottom:var(--spacing-sm);line-height:1.5;letter-spacing:-.01em;color:var(--color-text)}.sfp-input,.sfp-select,.sfp-textarea{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif;padding:var(--spacing-xl);min-height:64px;text-align:left;line-height:1.5;letter-spacing:.01em}.sfp-field-hint{font-size:clamp(.9375rem,2.5vw,1rem);font-weight:var(--font-weight-medium);font-family:Manrope,sans-serif;text-align:center}.sfp-radio-group{gap:var(--spacing-lg);justify-content:center;margin-top:var(--spacing-sm)}.sfp-radio-label{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;padding:var(--spacing-xl) var(--spacing-2xl);min-width:140px;min-height:56px;line-height:1.5;flex:1;max-width:200px}.sfp-radio-label:has(.sfp-radio:checked){font-weight:var(--font-weight-bold)}.sfp-slider{height:6px!important;min-height:6px!important;max-height:6px!important;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.sfp-slider::-webkit-slider-track{height:6px!important}.sfp-slider::-webkit-slider-thumb{width:24px!important;height:24px!important}.sfp-slider::-moz-range-track{height:6px!important}.sfp-slider::-moz-range-thumb{width:24px!important;height:24px!important}.sfp-slider-value{font-size:clamp(2.5rem,8vw,3.5rem);font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0 var(--spacing-md) 0;line-height:1;letter-spacing:-.03em}.sfp-slider-labels{font-size:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;text-align:center;justify-content:center}.sfp-bathroom-slider,.sfp-tidiness-slider{height:6px!important;min-height:6px!important;max-height:6px!important;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.sfp-bathroom-slider::-webkit-slider-track,.sfp-tidiness-slider::-webkit-slider-track{height:6px!important}.sfp-bathroom-slider::-webkit-slider-thumb,.sfp-tidiness-slider::-webkit-slider-thumb{width:24px!important;height:24px!important}.sfp-bathroom-slider::-moz-range-track,.sfp-tidiness-slider::-moz-range-track{height:6px!important}.sfp-bathroom-slider::-moz-range-thumb,.sfp-tidiness-slider::-moz-range-thumb{width:24px!important;height:24px!important}.sfp-bathroom-value{font-size:clamp(2.25rem,7vw,3rem);font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0 var(--spacing-md) 0;line-height:1;letter-spacing:-.02em}.sfp-bathroom-labels{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.sfp-tidiness-value{font-size:clamp(1.75rem,6vw,2.25rem);font-weight:var(--font-weight-bold);margin:var(--spacing-lg) 0 var(--spacing-md) 0;line-height:1.2;letter-spacing:-.01em}.sfp-tidiness-labels{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-align:center;justify-content:center}.sfp-checkbox-label{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;justify-content:center}.sfp-card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-xl);width:100%;max-width:600px;position:relative;z-index:1;flex-shrink:0}.sfp-card:has(.sfp-form-fields-step3) .sfp-card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);padding-bottom:0}.sfp-price-option{padding:var(--spacing-lg);gap:var(--spacing-sm)}.sfp-price-option-price-section{gap:var(--spacing-xs)}.sfp-price-option-title{font-size:clamp(1.125rem,4vw,1.25rem)}.sfp-price-option-duration-section{padding-top:var(--spacing-xs);margin-top:var(--spacing-xs)}.sfp-first-cleaning-note-global{padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.signup-form-button{font-size:clamp(1.125rem,3.5vw,1.25rem);font-weight:var(--font-weight-bold);font-family:Manrope,sans-serif;padding:var(--spacing-xl) var(--spacing-2xl);min-width:120px;min-height:56px;border-radius:var(--corner-radius);width:100%;letter-spacing:.02em;line-height:1.5}.signup-form-button-primary{box-shadow:0 2px 8px #02bc7d40}.signup-form-button-primary:active{transform:scale(.98);box-shadow:0 2px 4px #02bc7d33}@media(hover:hover){.signup-form-button-primary:hover{transform:scale(1.02)}}.sfp-price-options{gap:var(--spacing-md)}.sfp-price-option{padding:var(--spacing-lg)}.sfp-price-option-title{font-size:clamp(1.125rem,4vw,1.25rem);margin-bottom:var(--spacing-md)}.sfp-price-option-price-section{gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.sfp-price-label{font-size:clamp(.75rem,2.5vw,.875rem)}.sfp-price-full{font-size:clamp(2rem,7vw,2.5rem);color:var(--color-text);letter-spacing:normal!important;font-stretch:normal!important;transform:none!important;white-space:nowrap}.sfp-price-reduced{font-size:clamp(1.4rem,4.9vw,1.75rem)}.sfp-price-tax-note{font-size:clamp(.75rem,2.5vw,.875rem)}.sfp-price-option-duration{font-size:clamp(.9375rem,3.5vw,1rem)}.sfp-price-option-bonus-note{font-size:clamp(.8125rem,2.8vw,.9375rem);padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-xs)}.sfp-price-option-description{font-size:clamp(.875rem,3vw,1rem)}.sfp-first-cleaning-note-global{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md)}.sfp-label,.sfp-input,.sfp-select,.sfp-textarea,.sfp-radio-label{font-size:clamp(1rem,4vw,1.125rem)}.sfp-price-option-description{font-size:clamp(.9375rem,3.5vw,1.0625rem)}.sfp-google-auth-wrapper .google-auth-button{padding:var(--spacing-md) var(--spacing-xl);min-height:52px}.sfp-google-auth-wrapper .google-auth-icon{width:20px;height:20px}}.terms-validation-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);padding:var(--spacing-md);border-radius:var(--corner-radius);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);line-height:1.5;animation:shake .4s ease-in-out}.terms-validation-error strong{font-weight:var(--font-weight-semibold)}.sfp-field-error{color:var(--color-error-text);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);line-height:1.4}.sfp-input-error{border-color:var(--color-error-border)!important;box-shadow:0 0 0 1px var(--color-error-border)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.terms-agreement-section{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.terms-checkbox-wrapper{display:flex;align-items:flex-start;gap:var(--spacing-md);position:relative;padding-left:2rem;cursor:pointer;-webkit-user-select:none;user-select:none}.terms-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.terms-checkbox-wrapper:before{content:"";position:absolute;left:0;top:.125rem;width:1.25rem;height:1.25rem;border:2px solid var(--color-border-strong);border-radius:4px;background-color:var(--color-main-bg);transition:all .2s ease;flex-shrink:0}.terms-checkbox-wrapper:after{content:"";position:absolute;left:.4375rem;top:.3125rem;width:.375rem;height:.625rem;border:solid var(--color-main-bg);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}.terms-checkbox-wrapper:has(.terms-checkbox:checked):before{background-color:var(--color-accent);border-color:var(--color-accent)}.terms-checkbox-wrapper:has(.terms-checkbox:checked):after{transform:rotate(45deg) scale(1)}.terms-checkbox-wrapper:hover:before{border-color:var(--color-accent)}.terms-checkbox-wrapper:has(.terms-checkbox:focus-visible):before{outline:2px solid var(--color-accent);outline-offset:2px}.terms-label{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.6;cursor:pointer;padding-left:0;display:inline}.terms-required{color:var(--color-error-text);font-weight:var(--font-weight-semibold);margin-left:.125rem}.terms-link{background:none;border:none;color:var(--color-accent);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;line-height:inherit;transition:color .2s ease}.terms-link:hover{color:var(--color-accent-darker)}.terms-checkbox-error:before{border-color:var(--color-error-text)!important;background-color:var(--color-error-bg)!important}.terms-checkbox-error .terms-label{color:var(--color-error-text)}.terms-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-theme=dark] .terms-modal-overlay{background-color:#000000bf}.terms-modal-content{background:var(--color-main-bg);border-radius:var(--corner-radius);box-shadow:var(--shadow-2xl);border:1px solid var(--color-border);max-width:50rem;width:100%;max-height:90vh;display:flex;flex-direction:column;margin:auto}.terms-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.terms-modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.terms-modal-close{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text);opacity:.7;padding:0;width:2rem;height:2rem;min-width:auto;min-height:auto;display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);transition:all .2s ease}.terms-modal-close:hover{background-color:var(--color-overlay-hover);opacity:1}.terms-modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1;text-align:left}.terms-text-content{font-size:var(--font-size-sm);line-height:1.7;color:var(--color-text);text-align:left}.terms-text-content h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);color:var(--color-text)}.terms-text-content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-text)}.terms-text-content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--color-text)}.terms-text-content p,.terms-text-content ul,.terms-text-content li{color:var(--color-text)}.terms-text-content ul{margin-left:var(--spacing-lg);margin-bottom:var(--spacing-md);padding-left:0}.terms-text-content li{margin-bottom:var(--spacing-xs)}.terms-text-content p{margin-bottom:var(--spacing-md)}.terms-text-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}.terms-text-content strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.terms-modal-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center}.terms-modal-cancel{background:none;border:none;color:var(--color-text);opacity:.7;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--corner-radius);transition:all .2s ease;min-height:auto}.terms-modal-cancel:hover{background-color:var(--color-overlay-hover);opacity:1}@media(max-width:768px){.terms-modal-content{max-height:95vh;margin:0}.terms-modal-header,.terms-modal-body,.terms-modal-footer{padding:var(--spacing-md)}.terms-modal-footer{flex-direction:column-reverse;gap:var(--spacing-sm)}.terms-modal-footer .action-button{width:100%}.terms-modal-cancel{width:100%;text-align:center}}.landing-section{width:100%}.landing-section-inner{max-width:1200px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg);box-sizing:border-box}.page-content.landing-page{max-width:100%;padding-left:0;padding-right:0;padding-top:0}main.app-main .app-main-content .page-content.landing-page{padding-top:0}.landing-page{overflow-x:hidden;padding:0;min-height:100vh;background:var(--color-main-bg)}.landing-section-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-md);text-align:center}.landing-section-lead{font-size:var(--font-size-lg);color:var(--color-text);opacity:.9;text-align:center;max-width:640px;margin:0 auto var(--spacing-xl);line-height:var(--line-height-relaxed)}.landing-section-cta{display:inline-flex;align-items:center;justify-content:center;margin:var(--spacing-lg) auto 0;padding:var(--spacing-md) var(--spacing-xl);background:var(--color-accent);color:#fff;font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:var(--corner-radius);transition:transform .2s,box-shadow .2s}.landing-section-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);color:#fff}.landing-headline{position:relative;margin:0;padding:0;background:linear-gradient(135deg,#3a6b52,#4d8c6a,#5fa87d)}.landing-hero-gradient{--landing-hero-from: #3a6b52;--landing-hero-to: #5fa87d}.landing-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:center;padding:var(--spacing-md) clamp(var(--spacing-md),4vw,var(--spacing-2xl));color:#fff;font-family:Manrope,sans-serif;pointer-events:none}.landing-header-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);width:100%;max-width:1920px;margin:0 auto;min-height:48px;padding:var(--spacing-sm) var(--spacing-lg);border-radius:9999px;background:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-sizing:border-box}.landing-header-logo{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--spacing-lg);background:transparent;color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.25;text-decoration:none;letter-spacing:-.02em;transition:color .2s,opacity .2s;box-sizing:border-box}.landing-header-logo:hover{color:#fff;opacity:.9}.landing-header-nav{display:flex;align-items:center;gap:var(--spacing-2xl);flex-shrink:0}.landing-header-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.25;min-height:44px;padding:0 2px;opacity:.95;box-sizing:border-box}.landing-header-link:hover{opacity:1;text-decoration:underline}.landing-header-lang{display:inline-flex;align-items:center;font-size:var(--font-size-sm);line-height:1.25;min-height:44px;padding:0 4px;opacity:.9;flex-shrink:0;box-sizing:border-box}.landing-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--spacing-xl);background:#fff;color:var(--color-accent);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:1.25;text-decoration:none;border-radius:9999px;transition:color .2s,box-shadow .2s;box-sizing:border-box;flex-shrink:0}.landing-header-cta:hover{color:var(--color-accent-darker);box-shadow:var(--shadow-md)}.landing-header-menu-btn{display:none;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;border:none;border-radius:var(--corner-radius);background:#ffffff40;color:#fff;cursor:pointer;transition:background .2s;flex-shrink:0;box-sizing:border-box}.landing-header-menu-btn:hover{background:#fff6}.landing-header-menu-btn-icon{position:relative;display:block;width:22px;height:2px;background:currentColor;border-radius:1px;box-shadow:0 8px 0 currentColor;transition:transform .2s,box-shadow .2s,background .2s}.landing-header-menu-btn-icon:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:currentColor;border-radius:1px;transition:transform .2s}.landing-header--menu-open .landing-header-menu-btn-icon{box-shadow:none;transform:translateY(8px) rotate(45deg)}.landing-header--menu-open .landing-header-menu-btn-icon:after{bottom:0;transform:rotate(-90deg)}.landing-header-drawer{display:none;pointer-events:auto}.landing-header-drawer[hidden]{visibility:hidden}@media(max-width:768px){.landing-header{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:stretch}.landing-header-inner{padding:var(--spacing-sm) var(--spacing-md)}.landing-header-nav,.landing-header-lang,.landing-header-cta{display:none!important}.landing-header-menu-btn{display:inline-flex}.landing-header-logo{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-base)}.landing-header-drawer{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-md);width:100%;max-width:1920px;margin-left:auto;margin-right:auto;pointer-events:auto;max-height:0;overflow:hidden;opacity:0;margin-top:0;padding:0 var(--spacing-lg);background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:0 0 var(--corner-radius) var(--corner-radius);transition:max-height .3s ease,opacity .2s ease,padding .2s ease,margin .2s ease;box-sizing:border-box}.landing-header-drawer[hidden]{display:none!important;padding:0;margin-top:0}.landing-header--menu-open .landing-header-drawer{max-height:80vh;opacity:1;padding:var(--spacing-lg);margin-top:var(--spacing-sm)}.landing-header--menu-open .landing-header-drawer[hidden]{display:flex;visibility:visible}.landing-header-drawer-nav{display:flex;flex-direction:column;gap:var(--spacing-xs)}.landing-header-drawer-link{display:block;padding:var(--spacing-md);color:#fff;text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--corner-radius);transition:background .2s}.landing-header-drawer-link:hover{background:#ffffff26}.landing-header-drawer-lang{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:#fff;opacity:.9}.landing-header-drawer-cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);margin-top:var(--spacing-sm);background:#fff;color:var(--color-accent);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-decoration:none;border-radius:9999px;transition:color .2s,box-shadow .2s}.landing-header-drawer-cta:hover{color:var(--color-accent-darker);box-shadow:var(--shadow-md)}}@media(max-width:480px){.landing-header{padding:var(--spacing-sm) var(--spacing-md)}.landing-header-inner{padding:var(--spacing-xs) var(--spacing-sm)}.landing-header-lang{display:none}.landing-header-cta{font-size:.7rem;padding:var(--spacing-sm) var(--spacing-sm);white-space:normal;text-align:center;line-height:1.2}}.landing-hero{position:relative;min-height:90vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);background:linear-gradient(135deg,#3a6b52,#4d8c6a,#5fa87d);color:#fff;overflow:hidden;font-family:Manrope,sans-serif}.landing-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.landing-hero-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto auto auto;gap:var(--spacing-2xl);align-items:center;padding:6rem var(--spacing-2xl) 3rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.landing-hero-headline{grid-column:1;grid-row:1;max-width:520px;text-align:left}.landing-hero-visual{grid-column:2;grid-row:1 / -1;align-self:center}.landing-hero-price-block{grid-column:1;grid-row:2}.landing-hero-ctas{grid-column:1;grid-row:3}.landing-hero-stats{grid-column:1;grid-row:4}.landing-hero-trustpilot{grid-column:1;grid-row:5}.landing-hero-benefits{grid-column:1;grid-row:6}.landing-hero-benefits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-md);max-width:520px}.landing-hero-benefits-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.landing-hero-benefits-item--double{gap:var(--spacing-sm)}.landing-hero-benefits-row{display:flex;align-items:flex-start;gap:var(--spacing-md);text-align:left}.landing-hero-benefits-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.landing-hero-benefits-icon svg{width:100%;height:100%}.landing-hero-benefits-icon--check{color:#fffffff2}.landing-hero-benefits-icon--minus{color:#f5c6cb}.landing-hero-benefits-text{font-size:var(--font-size-base);color:#fff;line-height:1.45;padding-top:2px;opacity:.95}.landing-hero-benefits-text--minus{font-size:var(--font-size-sm);opacity:.85}.landing-hero-benefits-carousel{display:none}.landing-hero-eyebrow{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:#00000040;border-radius:9999px;font-size:clamp(.65rem,1vw + .5rem,.8rem);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-md);opacity:.95;color:#fff}.landing-hero-title{font-size:clamp(1.5rem,4vw + 1.25rem,3.25rem);font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--spacing-lg);color:#fff}.landing-hero-description{font-size:clamp(.95rem,1.2vw + .85rem,1.25rem);line-height:1.5;opacity:.95;margin-bottom:var(--spacing-xl);color:#fff}.landing-hero-price-wrap,.landing-hero-price-block{margin-bottom:var(--spacing-lg);cursor:default}.landing-hero-price{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:#fff}.landing-hero-price-hint{display:block;font-size:var(--font-size-sm);color:#ffffffb3;margin-top:var(--spacing-xs);max-height:0;overflow:hidden;opacity:0;transition:max-height .2s ease,opacity .2s ease,margin .2s ease}.landing-hero-price-wrap:hover .landing-hero-price-hint,.landing-hero-price-block:hover .landing-hero-price-hint{max-height:6em;opacity:1}.landing-hero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.landing-hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);min-height:var(--touch-target-min);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:Manrope,sans-serif;border-radius:9999px;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;border:none}.landing-hero-btn-primary{background:#fff;color:var(--color-accent)}.landing-hero-btn-primary:hover{color:var(--color-accent-darker);transform:translateY(-1px);box-shadow:var(--shadow-md)}.landing-hero-btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8)}.landing-hero-btn-secondary:hover{background:#ffffff26;border-color:#fff}.landing-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);margin-top:var(--spacing-2xl);align-items:stretch}.landing-hero-stats-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;min-height:5.5rem;width:100%;box-sizing:border-box}.landing-hero-stats-item .landing-hero-stats-value{min-height:2.25rem;margin-bottom:var(--spacing-xs)}.landing-hero-stats-item-stars .landing-hero-stats-stars{min-height:2.25rem;display:inline-flex;align-items:center}.landing-hero-stats-item-stars{gap:var(--spacing-xs)}.landing-hero-stats-stars{display:inline-flex;align-items:center;gap:3px}.landing-hero-star-icon{width:1rem;height:1rem;color:#fff;opacity:.95}.landing-hero-stats-google{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#ffffffe6;letter-spacing:.01em;line-height:1.35}.landing-hero-stats-value{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.landing-hero-stats-label{font-size:var(--font-size-sm);line-height:1.35;opacity:.9}.landing-hero-trustpilot{margin-top:var(--spacing-lg);min-width:120px;max-width:200px}.landing-hero-trustpilot .trustpilot-widget{display:block}.landing-hero-trustpilot .trustpilot-widget a{font-size:0;line-height:0;opacity:0;position:absolute;width:1px;height:1px;clip:rect(0,0,0,0)}.landing-hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.landing-hero-image-wrap{position:relative;width:100%;max-width:420px}.landing-hero-image{width:100%;height:auto;border-radius:var(--corner-radius);display:block;box-shadow:var(--shadow-2xl)}.landing-hero-card{position:absolute;bottom:var(--spacing-lg);right:var(--spacing-lg);left:var(--spacing-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-secondary-bg);border-radius:var(--corner-radius);box-shadow:var(--shadow-xl);color:var(--color-text)}.landing-hero-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;background:var(--color-accent-lighter);color:var(--color-accent);border-radius:var(--corner-radius)}.landing-hero-card-avatar{display:none}.landing-hero-card-body{flex:1;min-width:0}.landing-hero-card-name,.landing-hero-card-role{display:none}.landing-hero-card-desc{font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;line-height:var(--line-height-normal)}@media(max-width:1200px){.landing-hero-inner{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media(max-width:900px){.landing-hero-inner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding-top:3.5rem;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);padding-bottom:var(--spacing-xl)}.landing-hero-visual{order:1;display:none}.landing-hero-image-wrap{overflow:hidden;width:100%;max-width:180px;margin:0 auto;aspect-ratio:1;border-radius:50%}.landing-hero-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.landing-hero-card{display:none}.landing-hero-headline{order:2;flex:0 0 auto;width:100%;max-width:none;text-align:center}.landing-hero-headline .landing-hero-title{margin-bottom:var(--spacing-sm)}.landing-hero-headline .landing-hero-description{margin-bottom:0}.landing-hero-ctas{order:3;flex:0 0 auto;width:100%;justify-content:center}.landing-hero-btn-secondary{display:none}.landing-hero-price-block{order:4;flex:0 0 auto;width:100%;text-align:center;margin-bottom:0}.landing-hero-benefits{order:5;flex:0 0 auto;width:100%;max-width:100%}.landing-hero-benefits-list-wrap{display:none}.landing-hero-stats{order:6;flex:0 0 auto;width:100%;text-align:center;margin-top:0;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.landing-hero-stats-item{text-align:center;align-items:center}.landing-hero-stats-item-stars{align-items:center}.landing-hero-trustpilot{order:7;flex:0 0 auto;margin-top:0;margin-left:auto;margin-right:auto}.landing-hero-benefits-carousel{display:block;width:100%}.landing-hero-benefits-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:0;padding-bottom:var(--spacing-sm);scrollbar-width:none}.landing-hero-benefits-track::-webkit-scrollbar{display:none}.landing-hero-benefits-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:100%;display:flex;gap:12px;padding:0;box-sizing:border-box}.landing-hero-benefits-card{flex:1 1 0;min-width:0;padding:var(--spacing-md);background:#ffffff1f;border-radius:var(--corner-radius);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);box-sizing:border-box}.landing-hero-benefits-card-icon{color:#fffffff2}.landing-hero-benefits-card-icon svg{width:40px;height:40px}.landing-hero-benefits-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;margin:0;line-height:1.3}.landing-hero-benefits-dots{display:flex;justify-content:center;gap:8px;margin-top:var(--spacing-md)}.landing-hero-benefits-dot{width:8px;height:8px;border-radius:50%;background:#fff6;transition:background .2s ease}.landing-hero-benefits-dot--active{background:#fff}}@media(max-width:768px){.landing-hero{min-height:85vh}.landing-hero-inner{padding-top:3.5rem;padding-bottom:var(--spacing-xl);padding-left:var(--spacing-md);padding-right:var(--spacing-md);gap:var(--spacing-sm)}.landing-hero-visual{max-width:180px}.landing-hero-image-wrap{max-width:160px}.landing-hero-stats{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}}@media(max-width:480px){.landing-hero{min-height:auto;padding-top:var(--spacing-md);padding-bottom:var(--spacing-lg)}.landing-hero-inner{padding-top:3rem;padding-left:var(--spacing-md);padding-right:var(--spacing-md);padding-bottom:var(--spacing-xl);gap:var(--spacing-sm)}.landing-hero-ctas{flex-direction:column;width:100%}.landing-hero-btn{width:100%;justify-content:center}.landing-hero-visual{max-width:160px}.landing-hero-image-wrap{max-width:140px;margin-left:auto;margin-right:auto}.landing-hero-stats{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}}.landing-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-2xl);background:linear-gradient(135deg,#1a3d32,#2d5a4a);color:#fff}.landing-stats-item{text-align:center}.landing-stats-value{display:block;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin-bottom:var(--spacing-xs)}.landing-stats-label{font-size:var(--font-size-sm);opacity:.9}@media(max-width:768px){.landing-stats{grid-template-columns:1fr;gap:var(--spacing-lg)}}.landing-problem{background:var(--color-secondary-bg)}.landing-problem .landing-section-title,.landing-problem .landing-section-lead{text-align:center}.landing-solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.landing-solution-card{padding:var(--spacing-xl);background:var(--color-secondary-bg);border-radius:var(--corner-radius);border:1px solid var(--color-border);text-align:center}.landing-solution-icon{font-size:2rem;display:block;margin-bottom:var(--spacing-md)}.landing-solution-card-title{font-size:var(--font-size-h5);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-sm)}.landing-solution-card-desc{font-size:var(--font-size-sm);color:var(--color-text);opacity:.85;line-height:1.5}.landing-solution .landing-section-cta{display:block;text-align:center;max-width:200px}@media(max-width:900px){.landing-solution-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media(max-width:768px){.landing-solution-grid{gap:var(--spacing-md)}.landing-solution-card{padding:var(--spacing-md)}}@media(max-width:600px){.landing-solution-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}}@media(max-width:480px){.landing-solution-grid{gap:var(--spacing-md)}}.landing-portal{background:#f5f3ef}.landing-portal .landing-section-inner{padding:clamp(var(--spacing-xl),6vw,3rem) var(--spacing-lg);max-width:1200px}.landing-portal-content{animation:portalFadeInUp .5s ease-out both}@keyframes portalFadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.landing-portal-content{animation:none}}.landing-portal-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:clamp(var(--spacing-xl),5vw,2.5rem);align-items:center;max-width:100%;margin:0 auto}.landing-portal-header{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.landing-portal-mobile-slider,.landing-portal-slide{display:contents}.landing-portal-slide-1 .landing-portal-highlight-1{grid-column:1;grid-row:2}.landing-portal-slide-1 .landing-portal-mockup-1{grid-column:2;grid-row:2}.landing-portal-slide-2 .landing-portal-highlight-2{grid-column:1;grid-row:3}.landing-portal-slide-2 .landing-portal-mockup-2{grid-column:2;grid-row:3}.landing-portal-pill{display:inline-block;padding:.35rem .9rem;background:#3a6b5224;color:var(--color-accent);font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;border-radius:9999px;width:fit-content}.landing-portal-title{font-size:clamp(1.5rem,2.2vw + 1.1rem,2.25rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0;line-height:1.22;letter-spacing:-.03em}.landing-portal-lead{font-size:clamp(.9375rem,.8vw + .85rem,1.0625rem);color:var(--color-text);opacity:.88;line-height:1.6;margin:0;max-width:28em}.landing-portal-highlight{padding:var(--spacing-lg) var(--spacing-xl);background:#fff;border-radius:12px;border-left:4px solid var(--color-accent);box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s ease,transform .2s ease}.landing-portal-highlight:hover{box-shadow:0 6px 20px #0000000f;transform:translate(2px)}@media(prefers-reduced-motion:reduce){.landing-portal-highlight:hover{transform:none}}.landing-portal-highlight-stat{display:block;font-size:1.375rem;font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:-.02em;margin-bottom:.25rem}.landing-portal-highlight-desc{font-size:var(--font-size-sm);color:var(--color-text);opacity:.88;line-height:1.5;margin:0}.landing-portal-mockup-wrap{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.landing-portal-mockup-inner{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 10px 32px #00000014,0 4px 12px #0000000a;transition:transform .25s ease,box-shadow .25s ease;background:#fff}.landing-portal-mockup-wrap:hover .landing-portal-mockup-inner{transform:translateY(-2px);box-shadow:0 16px 40px #0000001a,0 6px 16px #0000000f}@media(prefers-reduced-motion:reduce){.landing-portal-mockup-inner{transition:none}.landing-portal-mockup-wrap:hover .landing-portal-mockup-inner{transform:none}}.landing-portal-mockup-img{width:100%;height:auto;max-width:100%;display:block;vertical-align:middle}.landing-portal-mockup-caption{font-size:.875rem;color:var(--color-text);opacity:.8;text-align:center;margin:0;font-weight:var(--font-weight-medium)}@media(max-width:900px){.landing-portal-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:var(--spacing-2xl);align-items:stretch}.landing-portal-header{order:1;text-align:center;align-items:center}.landing-portal-slide-1 .landing-portal-highlight-1,.landing-portal-slide-1 .landing-portal-mockup-1,.landing-portal-slide-2 .landing-portal-highlight-2,.landing-portal-slide-2 .landing-portal-mockup-2{grid-column:1;grid-row:auto}.landing-portal-lead{margin-left:auto;margin-right:auto;text-align:center}.landing-portal-pill{margin:0 auto}.landing-portal-slide-1 .landing-portal-highlight-1{order:2}.landing-portal-slide-1 .landing-portal-mockup-1{order:3}.landing-portal-slide-2 .landing-portal-highlight-2{order:4}.landing-portal-slide-2 .landing-portal-mockup-2{order:5}.landing-portal-slide-1 .landing-portal-mockup-1,.landing-portal-slide-2 .landing-portal-mockup-2{max-width:100%}}@media(max-width:640px){.landing-portal .landing-section-inner{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(max-width:480px){.landing-portal .landing-section-inner{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.landing-portal-title{font-size:1.35rem}.landing-portal-highlight{padding:var(--spacing-md) var(--spacing-lg)}.landing-portal-highlight-stat{font-size:1.25rem}.landing-portal-header{gap:var(--spacing-md)}}@media(max-width:640px){.landing-portal-mobile-slider{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;min-height:80vh;grid-column:1;grid-row:2;order:2;padding:0 var(--spacing-md);box-sizing:border-box}.landing-portal-mobile-header{flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:100%;text-align:center;align-items:center}.landing-portal-mobile-header .landing-portal-pill,.landing-portal-mobile-header .landing-portal-title{margin:0}.landing-portal-mobile-header .landing-portal-lead{margin:0;max-width:100%}.landing-portal-mobile-lead-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;width:100%;max-width:100%}.landing-portal-mobile-lead-line{margin:0;font-size:inherit;line-height:1.4;max-width:100%}.landing-portal-mobile-slider--step .landing-portal-mobile-lead-list{max-height:0;min-height:0;overflow:hidden;margin:0;padding:0;opacity:0;visibility:hidden}.landing-portal-mobile-slider--step .landing-portal-mobile-header{gap:var(--spacing-sm)}.landing-portal-mobile-content{flex:0 0 0;min-height:0;max-height:0;overflow:hidden;opacity:0;width:100%;position:relative}.landing-portal-mobile-content.landing-portal-mobile-content--expanded{flex:1 1 0;min-height:0;max-height:80vh}.landing-portal-step-scene{position:absolute;inset:0;display:block;width:100%;padding:0;box-sizing:border-box}.landing-portal-step-scene-panel{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;padding:0}.landing-portal-step-scene .landing-portal-mockup-inner{width:100%;height:100%;max-height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:transparent}.landing-portal-step-scene .landing-portal-mockup-img{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:contain;object-position:center}.landing-portal-step-scene-card{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);z-index:1;padding:var(--spacing-md) var(--spacing-lg);margin:0;border-radius:12px;border-left:4px solid var(--color-accent);box-shadow:0 8px 24px #0000001f;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-portal-step-scene-card .landing-portal-highlight-stat{display:block}.landing-portal-step-scene-card .landing-portal-highlight-desc{margin:.25rem 0 0}.landing-portal-step-scene-card .landing-portal-mockup-caption{font-size:.8125rem;margin:.5rem 0 0;text-align:center;opacity:.9;font-weight:var(--font-weight-medium)}}@media(max-width:640px)and (prefers-reduced-motion:reduce){.landing-portal-intro-scene--static{position:relative;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;align-items:center;text-align:center;padding:var(--spacing-md) 0}}.landing-proof{background:var(--color-secondary-bg)}.landing-proof .landing-section-inner{display:flex;flex-direction:column;align-items:center}.landing-proof .elfsight-app-c028bb89-826a-44ae-a5c9-22f254800d80{width:100%;margin-top:var(--spacing-lg)}.landing-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.landing-testimonial-card{padding:var(--spacing-xl);background:var(--color-secondary-bg);border-radius:var(--corner-radius);border:1px solid var(--color-border);margin:0}.landing-testimonial-quote{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text);margin-bottom:var(--spacing-lg)}.landing-testimonial-author{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text);opacity:.9}.landing-testimonial-author strong{font-weight:var(--font-weight-semibold)}@media(max-width:900px){.landing-testimonials-grid{grid-template-columns:1fr}}.landing-about{background:var(--color-secondary-bg)}.landing-about-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:center}.landing-about-img{width:100%;height:auto;border-radius:var(--corner-radius);display:block}.landing-about-content .landing-section-title{text-align:left}.landing-about-text{color:var(--color-text);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}@media(max-width:900px){.landing-about-inner{grid-template-columns:1fr;gap:var(--spacing-xl)}.landing-about-visual{order:-1;max-width:400px;margin:0 auto}.landing-about-content .landing-section-title,.landing-about-content .landing-section-lead,.landing-about-text{text-align:center}.landing-about-content .landing-section-title{margin-left:auto;margin-right:auto}}@media(max-width:600px){.landing-about-visual{max-width:360px}}.landing-faq-list{margin:var(--spacing-xl) 0 0;padding:0;list-style:none;max-width:720px;margin-left:auto;margin-right:auto}.landing-faq-item{padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border)}.landing-faq-item:last-child{border-bottom:none}.landing-faq-question{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-sm)}.landing-faq-answer{font-size:var(--font-size-sm);color:var(--color-text);opacity:.9;line-height:1.6;margin:0}@media(max-width:900px){.landing-faq-list{padding-left:0;padding-right:0}}@media(max-width:480px){.landing-faq-question,.landing-faq-answer{font-size:var(--font-size-sm)}}.landing-cta{background:linear-gradient(135deg,#1a3d32,#2d5a4a);color:#fff}.landing-cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);align-items:center}.landing-cta-img{width:100%;height:auto;border-radius:var(--corner-radius);display:block}.landing-cta-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:#fff}.landing-cta-text{font-size:var(--font-size-lg);opacity:.95;margin-bottom:var(--spacing-xl);line-height:1.6}.landing-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);background:#fff;color:#1a3d32;font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:var(--corner-radius);transition:transform .2s,box-shadow .2s}.landing-cta-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);color:#1a3d32}.landing-cta-link{display:inline-block;margin-top:var(--spacing-md);color:#fffffff2;text-decoration:underline;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.landing-cta-link:hover{color:#fff}@media(max-width:900px){.landing-cta-inner{grid-template-columns:1fr;gap:var(--spacing-xl);text-align:center}.landing-cta-visual{order:-1;max-width:360px;margin:0 auto}.landing-cta-content{display:flex;flex-direction:column;align-items:center}.landing-cta-title,.landing-cta-text{text-align:center}}@media(max-width:768px){.landing-cta-btn{width:100%;max-width:320px;justify-content:center}}@media(max-width:480px){.landing-cta-btn{max-width:none;width:100%}.landing-cta-link{text-align:center}}.landing-footer{background:var(--color-text);color:var(--color-main-bg)}.landing-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.landing-footer-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:inherit;text-decoration:none}.landing-footer-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.landing-footer-link{color:inherit;text-decoration:none;font-size:var(--font-size-sm);opacity:.9}.landing-footer-link:hover{opacity:1;text-decoration:underline}.landing-footer-copy{width:100%;margin:var(--spacing-md) 0 0;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.2);font-size:var(--font-size-small);opacity:.8}@media(max-width:600px){.landing-footer-inner{flex-direction:column;text-align:center;gap:var(--spacing-md)}.landing-footer-nav{flex-direction:column;align-items:center}}@media(max-width:480px){.landing-footer-inner{padding-top:var(--spacing-lg)}}@media(max-width:1200px){.landing-section-inner{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media(max-width:768px){.landing-section-inner{padding:var(--spacing-xl) var(--spacing-md)}}@media(max-width:480px){.landing-section-inner{padding:var(--spacing-lg) var(--spacing-md)}}@media(max-width:600px){.landing-section-title{font-size:var(--font-size-h3)}.landing-section-lead{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}}:root{--app-transition-duration: .3s;--page-transition-duration: .25s;--page-content-max-width: clamp(320px, 92vw, 900px);--page-content-max-width-wide: 1200px;--page-content-max-width-ultrawide: 1440px;--bp-mobile: 768px;--bp-desktop: 1024px;--bp-wide: 1280px;--bp-ultrawide: 1440px;--app-section-gap: var(--spacing-xl);--app-component-margin: var(--spacing-lg);--page-content-padding-bottom: 4rem}.app-layout{position:relative;min-height:100vh;min-height:100dvh;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:0 var(--spacing-xl);overflow-x:hidden;overflow-y:auto;background-color:var(--color-main-bg);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y;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-main.app-main-onboarding{left:0;right:0}.app-main-content{width:100%;min-height:100%;box-sizing:border-box}main.app-main .app-main-content .page-content,.page-content{animation:pageEnter var(--page-transition-duration) ease-out;min-height:auto;width:100%;max-width:var(--page-content-max-width);margin-left:auto;margin-right:auto;padding-top:var(--spacing-xl);padding-bottom:var(--page-content-padding-bottom);box-sizing:border-box}@media(min-width:1024px){main.app-main .app-main-content .page-content.page-content-wide{max-width:var(--page-content-max-width-wide)}}@media(min-width:1440px){main.app-main .app-main-content .page-content.page-content-wide{max-width:var(--page-content-max-width-ultrawide)}}@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}.booking-page-header{display:flex;align-items:center;justify-content:flex-start;position:relative;margin-bottom:var(--spacing-xl);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:var(--touch-target-min);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;font-family:Manrope,sans-serif;font-weight:var(--font-weight-semibold);color:var(--color-text)}.dash-container h1,.app-section h1{margin-left:0;margin-right: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;flex-direction:column;align-items:stretch;gap:var(--app-section-gap);width:100%;min-width:0;transition:width var(--app-transition-duration) ease,gap var(--app-transition-duration) ease}.dash-bookings-container{flex:1 1 auto;min-width:0;overflow:auto;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}@media(min-width:1401px){.dash-bookings-container{min-width:480px}}.dash-book-button-wrapper{display:flex;justify-content:center;padding-top:var(--spacing-md)}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background-color:var(--color-main-bg);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-text);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-text);font-size:var(--font-size-lg);font-family:Manrope,sans-serif;font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);margin-top:var(--spacing-lg);text-align:center}.error-inline{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);padding:var(--spacing-md);border-radius:var(--corner-radius);margin-bottom:var(--spacing-md);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.error-inline.error-inline--with-margin-top{margin-top:var(--spacing-md)}.error-inline button{margin-left:var(--spacing-sm);text-decoration:underline;background:none;border:none;color:inherit;cursor:pointer;font-size:inherit;padding:0;min-width:auto;min-height:auto}@media(max-width:1280px){.dash-top-section{flex-direction:column;gap:var(--app-section-gap);width:100%}.dash-bookings-container{width:100%;max-width:100%}}@media(max-width:768px){:root{--app-section-gap: var(--spacing-lg);--app-component-margin: var(--spacing-md);--mobile-top-padding: calc(var(--safe-area-inset-top, 0px) + var(--spacing-lg) + var(--menu-toggle-height-mobile, 48px));--page-content-padding-bottom: calc(var(--safe-area-inset-bottom, 0px) + 4rem)}.app-layout{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden}.app-layout.menu-open{height:100vh;height:100dvh;overflow:hidden}html.body-menu-open{overflow:hidden;position:fixed;width:100%;height:100%;left:0;top:0}body.body-menu-open{overflow:hidden!important;position:fixed;width:100%;height:100vh;height:100dvh;top:0;left:0;touch-action:none}.app-layout.menu-open .app-main{display:none}.app-main{left:0;padding-left:max(var(--spacing-md),var(--safe-area-inset-left));padding-right:max(var(--spacing-md),var(--safe-area-inset-right));touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;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}main.app-main .app-main-content .page-content,.page-content{width:100%;max-width:100%;min-height:0;padding-top:var(--mobile-top-padding);padding-bottom:var(--page-content-padding-bottom);padding-left:0;padding-right:0}.app-layout.menu-collapsed .app-main{left:0;display:block}.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{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-book-button-wrapper{padding-top:var(--spacing-lg)}.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:clamp(1rem,3vw,1.125rem);font-weight:var(--font-weight-medium)}.booking-page-header{margin-left:calc(-1 * var(--spacing-lg));margin-right:calc(-1 * var(--spacing-lg));padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);width:calc(100% + 2 * var(--spacing-lg));max-width:none!important;margin-bottom:var(--spacing-lg);min-height:var(--touch-target-min);justify-content:flex-start}.booking-page-header .action-button{padding:var(--spacing-sm) 0;min-width:auto;min-height:auto;width:auto!important;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}}@media(max-width:480px){.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));margin-bottom:var(--spacing-md)}.booking-page-header .action-button{font-size:var(--font-size-sm)}}.error-boundary-root{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:2rem;text-align:center}.error-boundary-title{font-size:2rem;margin-bottom:1rem;color:var(--color-error-text)}.error-boundary-dev-box{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--corner-radius);padding:1rem;margin-bottom:1rem;max-width:600px}.error-boundary-dev-message{font-weight:var(--font-weight-bold);margin-bottom:.5rem;color:var(--color-error-text)}.error-boundary-dev-code{font-size:.9rem;color:var(--color-text);opacity:.85}.error-boundary-details{margin-top:1rem;text-align:left}.error-boundary-summary{cursor:pointer;margin-bottom:.5rem}.error-boundary-pre{font-size:.8rem;overflow:auto;background-color:var(--color-secondary-bg);padding:.5rem;border-radius:4px;border:1px solid var(--color-border);color:var(--color-text)}.error-boundary-button{padding:.75rem 1.5rem;font-size:1rem;background-color:var(--color-accent);color:var(--color-secondary-bg);border:none;border-radius:var(--corner-radius);cursor:pointer;font-weight:var(--font-weight-semibold)}.error-boundary-button:hover{background-color:var(--color-accent-darker)}
