@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Lora:wght@400;500;600;700&display=swap";:root{--color-off-white: #FDFBF7;--color-warm-grey: #E8E4DE;--color-deep-navy: #0F1419;--color-eco-green: #083d77;--color-eco-green-light: #1e88e5;--color-eco-green-dark: #052a54;--color-soft-gold: #F4A261;--color-accent-teal: #1565c0;--color-accent-sage: #64b5f6;--color-earth: #8B6F5A;--color-earth-light: #A68A75;--color-earth-dark: #6D5745;--color-white: #FFFFFF;--color-black: #000000;--gradient-primary: linear-gradient(135deg, #083d77 0%, #1e88e5 100%);--gradient-blue: linear-gradient(135deg, #083d77 0%, #1e88e5 100%);--gradient-gold: linear-gradient(135deg, #F4A261 0%, #E76F51 100%);--gradient-hero: linear-gradient(135deg, rgba(45, 106, 79, .05) 0%, rgba(82, 183, 136, .08) 100%);--gradient-overlay: linear-gradient(180deg, rgba(253, 251, 247, 0) 0%, rgba(253, 251, 247, .8) 100%);--font-primary: "Montserrat", system-ui, -apple-system, sans-serif;--font-display: "Lora", Georgia, serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-2xl: 8rem;--max-width: 100%;--section-padding: 2rem 1rem;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .2s ease;--shadow-sm: 0 2px 8px rgba(8, 61, 119, .08);--shadow-md: 0 4px 16px rgba(8, 61, 119, .12);--shadow-lg: 0 8px 24px rgba(8, 61, 119, .15);--shadow-xl: 0 12px 32px rgba(8, 61, 119, .18);--shadow-3d: 0 20px 40px rgba(8, 61, 119, .2), 0 0 0 1px rgba(8, 61, 119, .08);--shadow-colored: 0 8px 32px rgba(30, 136, 229, .25);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0}.dark-mode{--color-off-white: #0F1419;--color-warm-grey: #2a3441;--color-deep-navy: #E8E6E3;--color-white: #1a2229;--color-black: #FFFFFF;--color-eco-green: #1e88e5;--color-eco-green-light: #64b5f6;--color-eco-green-dark: #1565c0;--color-soft-gold: #FFB84D;--color-accent-teal: #42a5f5;--color-accent-sage: #90caf9;--color-earth: #B89878;--color-earth-light: #C9A890;--color-earth-dark: #8B6F5A;--gradient-primary: linear-gradient(135deg, #1e88e5 0%, #64b5f6 100%);--gradient-gold: linear-gradient(135deg, #FFB84D 0%, #F4A261 100%);--gradient-hero: linear-gradient(135deg, rgba(15, 20, 25, .9) 0%, rgba(26, 34, 41, .95) 100%);--gradient-overlay: linear-gradient(180deg, rgba(15, 20, 25, 0) 0%, rgba(15, 20, 25, .8) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .7);--shadow-3d: 0 20px 40px rgba(0, 0, 0, .6), 0 0 0 1px rgba(30, 136, 229, .3);--shadow-colored: 0 8px 32px rgba(30, 136, 229, .4)}.dark-mode body{background:#0f1419;background:linear-gradient(135deg,#0f1419,#1a2229);color:var(--color-deep-navy)}.dark-mode body:before{background-image:radial-gradient(circle at 20% 50%,rgba(30,136,229,.05) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(100,181,246,.03) 0%,transparent 50%)}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;padding:0;font-family:var(--font-primary);background-color:#fff;color:var(--color-deep-navy);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-width:320px;position:relative;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(30,136,229,.03) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(100,181,246,.02) 0%,transparent 50%);pointer-events:none;z-index:0}#root{width:100%;min-height:100vh;margin:0;padding:0;position:relative;z-index:1}img,picture,video,svg{max-width:100%;height:auto}img,video{display:block}picture{display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-deep-navy)}h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:600;letter-spacing:-.01em}h3{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500}h4{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500}p{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.7;color:var(--color-deep-navy);opacity:.9}a{color:var(--color-deep-navy);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-eco-green)}button{font-family:var(--font-primary);cursor:pointer;border:none;outline:none;transition:var(--transition-smooth)}.btn{padding:1rem 2.5rem;font-size:1rem;font-weight:600;border-radius:0!important;cursor:pointer;transition:var(--transition-smooth);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:#0d406e!important;color:#fff!important;box-shadow:0 4px 16px #0d406e66,0 2px 8px #0003;position:relative;border-radius:0!important}.btn-primary:hover{background:#0a3256!important;color:#fff!important;transform:translateY(-3px);box-shadow:0 8px 32px #0d406e80,0 4px 16px #00000040}.dark-mode .btn-primary{background:#0d406e;color:#fff!important}.dark-mode .btn-primary:hover{background:#0a3256;color:#fff!important}.btn-secondary{background:var(--color-eco-green-light);color:#fff!important}.btn-secondary:hover{background:var(--color-eco-green-dark);color:#fff!important;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dark-mode .btn-secondary,.dark-mode .btn-secondary:hover{color:#fff!important}.btn-outline{background:transparent;color:#083d77;border:2px solid #083d77;position:relative;overflow:hidden}.btn-outline:hover{background:#1e88e5;color:var(--color-white);border-color:#1e88e5;transform:translateY(-3px);box-shadow:0 6px 24px #1e88e559}.btn-glow,.btn.btn-glow{background:var(--color-eco-green)!important;color:var(--color-white)!important}@media(hover:none)and (pointer:coarse){.btn{min-height:48px;min-width:48px}}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}.full-width{width:100%;margin:0;padding:0}.section{padding:var(--section-padding);width:100%}.text-center{text-align:center}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.grid{display:grid}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@media(min-width:768px){:root{--section-padding: 3rem 1.5rem}.container{padding:0 1.5rem}.btn{padding:.875rem 2rem;font-size:.95rem}}@media(min-width:1024px){:root{--max-width: 1400px;--section-padding: 4rem 2rem}.container{padding:0 2rem}.btn{padding:1rem 2.5rem;font-size:1rem}}@media(min-width:1440px){:root{--max-width: 1400px;--section-padding: 5rem 2rem}body{font-size:17px}}@media(min-width:1920px){:root{--max-width: 1600px;--section-padding: 6rem 3rem}body{font-size:18px}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-off-white)}::-webkit-scrollbar-thumb{background:#083d77;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#1e88e5}.text-earth{color:var(--color-earth)}.text-earth-light{color:var(--color-earth-light)}.text-earth-dark{color:var(--color-earth-dark)}.border-earth{border-color:var(--color-earth)}.border-earth-subtle{border-color:#8b6f5a33}.divider-earth{border-top:2px solid rgba(139,111,90,.2);margin:2rem 0}.divider-earth-thin{border-top:1px solid rgba(139,111,90,.15);margin:1rem 0}.underline-earth{text-decoration:underline;text-decoration-color:var(--color-earth);text-decoration-thickness:2px;text-underline-offset:.2em}.hover-earth:hover{color:var(--color-earth);transition:color .3s ease}.hover-border-earth:hover{border-color:var(--color-earth);transition:border-color .3s ease}.bg-earth-subtle{background-color:#8b6f5a0d}.bg-earth-hover:hover{background-color:#8b6f5a14;transition:background-color .3s ease}.dark-mode .text-earth{color:var(--color-earth)}.dark-mode .border-earth-subtle{border-color:#b8987840}.dark-mode .divider-earth{border-top-color:#b8987840}.dark-mode .divider-earth-thin{border-top-color:#b8987833}.dark-mode .bg-earth-subtle{background-color:#b8987814}.dark-mode .bg-earth-hover:hover{background-color:#b898781f}.store-info-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:storeModalFadeIn .3s ease;touch-action:none;overscroll-behavior:contain}@keyframes storeModalFadeIn{0%{opacity:0}to{opacity:1}}.store-info-modal{background:#fff;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;overflow-x:hidden;border-radius:0;position:relative;animation:storeModalSlideUp .3s ease;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.store-info-modal::-webkit-scrollbar{display:none}@keyframes storeModalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.store-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:8px;transition:all .2s;z-index:1}.store-close:hover{background:#f3f4f6;color:#374151}.store-header{text-align:center;padding:1rem 1rem .75rem;background:linear-gradient(135deg,#0d406e,#1a5a96);border-radius:0}.store-icon{width:64px;height:64px;background:#fff;border-radius:0;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#0d406e;box-shadow:0 4px 12px #0d406e4d}.store-logo{width:80px;height:auto;margin:0 auto .5rem;display:flex;align-items:center;justify-content:center;background:#fff;padding:.5rem;border-radius:0;box-shadow:0 2px 8px #0000001a}.store-logo img{width:100%;height:auto;object-fit:contain}.store-header h2{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .25rem}.store-header p{font-size:.813rem;color:#c9ddf0;margin:0}.store-content{padding:1rem}.store-section{display:flex;gap:.75rem;margin-bottom:.875rem}.store-section:last-child{margin-bottom:0}.section-icon{width:32px;height:32px;background:#f3f4f6;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0d406e}.section-icon svg{width:16px;height:16px}.section-content h3{font-size:.75rem;font-weight:600;color:#6b7280;margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.5px}.section-content p{font-size:.875rem;color:#374151;margin:0;line-height:1.4}.section-content a{color:#0d406e;text-decoration:none}.section-content a:hover{text-decoration:underline}.directions-link{display:inline-block;margin-top:.25rem;font-weight:600}.hours-grid{display:flex;flex-direction:column;gap:.25rem}.hours-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem}.hours-row .day{color:#374151;min-width:max-content;font-weight:500}.hours-row .time{color:#6b7280;font-weight:500;text-align:right;margin-left:auto;flex-shrink:0;white-space:nowrap}.store-benefits{background:#f0fdf4;padding:.75rem 1rem;border-top:1px solid #e5e7eb}.store-benefits h4{font-size:.75rem;font-weight:600;color:#166534;margin:0 0 .5rem}.store-benefits ul{list-style:none;padding:0;margin:0}.store-benefits li{display:flex;align-items:center;gap:.4rem;font-size:.813rem;color:#15803d;padding:.15rem 0}.store-benefits li svg{color:#22c55e}.store-cta{width:100%;padding:1rem;background:#0d406e;color:#fff;border:none;border-radius:0;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.store-cta:hover{background:linear-gradient(135deg,#0a3256,#072540)}@media(max-width:768px){.store-info-overlay{padding:0;align-items:flex-end}.store-info-modal{max-width:100%;max-height:90vh;border-radius:0}.store-cta{border-radius:0}}.dark-mode .store-info-modal{background:#1f2937}.dark-mode .store-header{background:linear-gradient(135deg,#0d406e,#1a5a96)}.dark-mode .store-header h2{color:#fff}.dark-mode .store-header p{color:#c9ddf0}.dark-mode .section-icon{background:#374151}.dark-mode .section-content h3{color:#9ca3af}.dark-mode .section-content p,.dark-mode .hours-row .day{color:#d1d5db}.dark-mode .hours-row .time{color:#9ca3af}.dark-mode .store-benefits{background:#064e3b;border-color:#374151}.dark-mode .store-benefits h4{color:#a7f3d0}.dark-mode .store-benefits li{color:#6ee7b7}.wizard-step{animation:stepFadeIn .3s ease}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-description{color:#6b7280;font-size:.938rem;margin:0 0 1.5rem;line-height:1.5}.step-address .address-search-section{margin-bottom:1rem}.step-address .input-field{margin-top:1.5rem;margin-bottom:.5rem}.step-address .input-field label{font-size:.75rem;color:#6b7280;letter-spacing:.02em}.step-address .search-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem}.step-address .search-label svg{color:#3b82f6}.step-address .selected-address{display:flex;align-items:center;gap:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:0;padding:1rem;margin-top:1rem}.step-address .address-text{flex:1}.step-address .address-line{font-size:.938rem;color:#374151}.step-address .change-address-btn{background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:600;cursor:pointer;padding:.25rem .5rem}.step-address .change-address-btn:hover{text-decoration:underline}.step-address .manual-entry-link{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;margin-bottom:1.5rem;display:block}.step-address .manual-entry-link:hover{color:#1d4ed8}.step-address .manual-entry-form{margin-bottom:1rem}.step-address .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.step-address .address-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.step-address .address-divider:before,.step-address .address-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.step-address .address-divider span{color:#9ca3af;font-size:.813rem;text-transform:uppercase;font-weight:500}.step-address .dropoff-section{margin-top:1rem}.step-address .dropoff-btn{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#083d77,#0a4a8f);border:2px solid #083d77;border-radius:0;cursor:pointer;transition:all .2s;text-align:left}.step-address .dropoff-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #083d774d}.step-address .dropoff-icon{width:48px;height:48px;background:#fff;border-radius:0;display:flex;align-items:center;justify-content:center;color:#083d77}.step-address .dropoff-content{flex:1;display:flex;flex-direction:column}.step-address .dropoff-title{font-size:1rem;font-weight:600;color:#fff}.step-address .dropoff-subtitle{font-size:.813rem;color:#ffffffd9}.step-address .dropoff-btn>svg{color:#fff;stroke:#fff}.step-schedule .schedule-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.step-schedule .schedule-section:last-of-type{border-bottom:none;padding-bottom:0}.step-schedule .section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--color-deep-navy, #0f1419);margin-bottom:1rem}.step-schedule .section-title svg{color:#3b82f6}.step-schedule .time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.step-schedule .time-slot-card{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:0;padding:.875rem;cursor:pointer;transition:all .2s;text-align:center}.step-schedule .time-slot-card:hover{border-color:#3b82f6}.step-schedule .time-slot-card.selected{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f60d,#3b82f61a)}.step-schedule .time-slot-card .slot-day{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem}.step-schedule .time-slot-card .slot-time{font-size:.75rem;color:#6b7280}.step-schedule .time-slot-card .next-badge{position:absolute;top:-8px;right:-8px;background:#22c55e;color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:0;text-transform:uppercase}.step-schedule .show-more-btn{display:block;width:100%;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:2px dashed #d1d5db;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.step-schedule .show-more-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#3b82f60d}.dark-mode .step-schedule .show-more-btn{border-color:#4b5563;color:#9ca3af}.dark-mode .step-schedule .show-more-btn:hover{border-color:#60a5fa;color:#60a5fa;background:#60a5fa1a}.step-schedule .instructions-section{margin-top:1rem}.step-schedule .instructions-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.75rem;display:block}.step-schedule .instructions-options{display:flex;flex-wrap:wrap;gap:.5rem}.step-schedule .instruction-option{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:0;background:#fff;font-size:.813rem;color:#374151;cursor:pointer;transition:all .2s}.step-schedule .instruction-option:hover{border-color:#3b82f6}.step-schedule .instruction-option.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.step-schedule .frequency-section{margin-top:0}.step-schedule .frequency-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.step-schedule .frequency-option{padding:1rem;border:2px solid #e5e7eb;border-radius:0;background:#fff;cursor:pointer;transition:all .2s;text-align:center}.step-schedule .frequency-option:hover{border-color:#3b82f6}.step-schedule .frequency-option.selected{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f60d,#3b82f61a)}.step-schedule .frequency-option .freq-title{font-size:.938rem;font-weight:600;color:#374151}.step-schedule .frequency-option .freq-discount{font-size:.75rem;color:#22c55e;margin-top:.25rem}.step-services{display:flex;flex-direction:column;gap:.75rem;height:100%}.step-services .services-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;flex:1;min-height:0}.step-services .categories-panel{display:flex;flex-direction:column;flex:1;min-height:0}.step-services .categories-grid{display:flex;flex-direction:column;gap:.375rem;flex:1}.step-services .category-card{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#fff;border:2px solid #e5e7eb;cursor:pointer;transition:all .15s ease;text-align:left;flex:1}.step-services .category-card:hover{border-color:#0d406e;background:#f8fafc}.step-services .category-card.selected{border-color:#0d406e;background:#f0f6fc}.step-services .category-card-icon{width:36px;height:36px;background:#0d406e;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.step-services .category-card-icon svg{width:18px;height:18px}.step-services .category-card-name{flex:1;font-size:.9375rem;font-weight:600;color:#1f2937;text-align:left}.step-services .category-card-check{width:20px;height:20px;background:#0d406e;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.step-services .items-panel{border:2px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;overflow:hidden}.step-services .items-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#0d406e;border-bottom:none}.step-services .items-panel-header h4{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.step-services .close-panel-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#fffc;display:flex;align-items:center;justify-content:center}.step-services .close-panel-btn:hover{color:#fff}.step-services .items-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.step-services .subcategory-section{border-bottom:1px solid #e5e7eb}.step-services .subcategory-section:last-child{border-bottom:none}.step-services .subcategory-header{padding:.75rem 1.25rem;background:#f1f5f9;font-size:.8125rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.step-services .items-grid{display:flex;flex-direction:column}.step-services .service-item-card{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid #f1f5f9;transition:background .15s}.step-services .service-item-card:last-child{border-bottom:none}.step-services .service-item-card:hover{background:#f8fafc}.step-services .service-item-card.in-cart{background:#f0fdf4}.step-services .service-item-info{flex:1;min-width:0}.step-services .service-item-name{font-size:.9375rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-services .service-item-price{font-size:.8125rem;color:#64748b;margin-top:.25rem;font-weight:500}.step-services .service-item-actions{flex-shrink:0;margin-left:1rem}.step-services .add-item-btn{padding:.5rem 1rem;background:#0d406e;color:#fff;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.step-services .add-item-btn:hover{background:#0a3459}.step-services .quantity-controls{display:flex;align-items:center;gap:.5rem}.step-services .qty-btn{width:30px;height:30px;border:2px solid #0D406E;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#0d406e;transition:all .15s}.step-services .qty-btn:hover{background:#0d406e;color:#fff}.step-services .qty-value{min-width:24px;text-align:center;font-weight:700;font-size:1rem;color:#1e293b}.step-services .items-panel-empty{border:2px dashed #cbd5e1;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1.25rem;color:#64748b;gap:.625rem;height:100%}.step-services .items-panel-empty>svg{color:#94a3b8;width:40px;height:40px}.step-services .items-panel-empty>p{margin:0;font-size:.9375rem;font-weight:500;color:#475569}.step-services .skip-services-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:.375rem;width:100%}.step-services .skip-divider{margin:0;font-size:.6875rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.step-services .skip-message{margin:0;font-size:.875rem;color:#475569;font-weight:500}.step-services .skip-btn{margin-top:.375rem;padding:.5rem 1.25rem;background:#d97706;border:none;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.step-services .cart-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#0d406e;color:#fff;margin:0 -1.5rem -1rem}.step-services .cart-summary-info{display:flex;align-items:center;gap:.75rem}.step-services .cart-badge{background:#fff;color:#0d406e;font-size:.875rem;font-weight:700;padding:.25rem .625rem;min-width:28px;text-align:center}.step-services .cart-label{font-size:.9375rem;font-weight:500}.step-services .cart-summary-total{display:flex;align-items:center;gap:.625rem}.step-services .cart-summary-total .cart-total-label{font-size:.875rem;font-weight:500}.step-services .cart-summary-total .cart-total-value{font-size:1.25rem;font-weight:700}.step-services .services-category-selection{display:flex;flex-direction:column;gap:.75rem}.step-services .services-section-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0}.step-services .categories-grid-simple{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.step-services .category-view-prices{background:none;border:none;color:#c17b3e;font-size:.65rem;cursor:pointer;padding:.25rem 0;text-decoration:none;margin-top:.25rem;font-weight:500;transition:all .2s ease}.step-services .category-view-prices:hover{color:#a5632e;text-decoration:underline}.step-services .category-card-simple{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem .5rem;background:#fff;border:2px solid #e5e7eb;cursor:pointer;transition:all .15s ease;text-align:center;position:relative}.step-services .category-card-simple:hover{border-color:#0d406e;background:#f8fafc}.step-services .category-card-simple.selected{border-color:#0d406e;background:#f0f6fc}.step-services .category-card-simple .category-card-icon{width:36px;height:36px;background:#0d406e;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%}.step-services .category-card-simple .category-card-icon svg{width:18px;height:18px}.step-services .category-card-simple .category-card-name{font-size:.75rem;font-weight:600;color:#1f2937;line-height:1.2}.step-services .category-card-simple .category-card-check{position:absolute;top:.5rem;right:.5rem;width:22px;height:22px;background:#22c55e;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%}.step-services .selected-categories-summary{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0}.step-services .selected-categories-summary .summary-label{font-size:.875rem;font-weight:600;color:#166534}.step-services .selected-categories-summary .summary-categories{font-size:.875rem;color:#15803d}.step-services .skip-divider-line{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.step-services .skip-divider-line:before,.step-services .skip-divider-line:after{content:"";flex:1;height:1px;background:#e5e7eb}.step-services .skip-divider-line span{font-size:.7rem;color:#9ca3af;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.step-services .skip-content{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem;text-align:center}.step-services .skip-note{margin:0;font-size:.75rem;color:#6b7280}@media(max-width:600px){.step-services .services-layout{grid-template-columns:1fr;gap:1rem}.step-services .categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.step-services .categories-grid-simple{grid-template-columns:repeat(2,1fr);gap:.5rem}.step-services .category-card-simple{padding:.75rem .5rem}.step-services .category-card-simple .category-card-name{font-size:.7rem}.step-services .category-view-prices{font-size:.6rem}.step-services .category-card{flex-direction:column;text-align:center;padding:1rem .75rem;gap:.5rem;position:relative}.step-services .category-card-icon{width:36px;height:36px}.step-services .category-card-name{font-size:.8125rem;text-align:center}.step-services .category-card-check{position:absolute;top:.375rem;right:.375rem;width:18px;height:18px}.step-services .items-panel{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;border:none}.step-services .items-panel-empty{display:none}.step-services .cart-summary-bar{margin:0 -1rem -1rem;padding:.875rem 1rem}}.step-contact .customer-type-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f3f4f6;padding:.25rem;border-radius:0}.step-contact .type-btn{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:0;font-size:.938rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.step-contact .type-btn.active{background:#fff;color:#374151;box-shadow:0 1px 3px #0000001a}.step-contact .company-fields{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.step-summary .summary-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;padding:1rem;margin-bottom:1rem}.step-summary .summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.step-summary .summary-title{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.step-summary .edit-btn{background:none;border:none;color:#3b82f6;font-size:.813rem;font-weight:600;cursor:pointer}.step-summary .edit-btn:hover{text-decoration:underline}.step-summary .summary-content{font-size:.938rem;color:#374151;line-height:1.5}.step-summary .summary-content strong{display:block;margin-bottom:.25rem}.step-summary .promo-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.step-summary .promo-input-group{display:flex;gap:.75rem}.step-summary .promo-input{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:0;font-size:1rem;text-transform:uppercase}.step-summary .promo-input:focus{outline:none;border-color:#3b82f6}.step-summary .promo-apply-btn{padding:.75rem 1.25rem;background:#374151;color:#fff;border:none;border-radius:0;font-weight:600;cursor:pointer;transition:background .2s}.step-summary .promo-apply-btn:hover{background:#1f2937}.step-summary .promo-applied{display:flex;align-items:center;gap:.5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:0;padding:.75rem 1rem;margin-top:.75rem}.step-summary .promo-applied svg{color:#22c55e}.step-summary .promo-applied span{font-size:.875rem;color:#166534}.step-summary .promo-remove{margin-left:auto;background:none;border:none;color:#dc2626;font-size:.813rem;cursor:pointer}.step-summary .promo-error{color:#dc2626;font-size:.813rem;margin-top:.5rem}.step-summary .totals-section{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:0}.step-summary .total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.938rem;color:#374151}.step-summary .total-row.discount{color:#22c55e}.step-summary .total-row.final{padding-top:.75rem;margin-top:.5rem;border-top:1px solid #bfdbfe;font-size:1.125rem;font-weight:700;color:#1e40af}.step-payment .payment-info-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:0;padding:1rem;margin-bottom:1.5rem;display:flex;gap:.75rem}.step-payment .payment-info-banner svg{flex-shrink:0;color:#b45309}.step-payment .payment-info-banner .info-content h4{font-size:.938rem;font-weight:600;color:#92400e;margin:0 0 .25rem}.step-payment .payment-info-banner .info-content p{font-size:.813rem;color:#a16207;margin:0;line-height:1.5}.step-payment .estimate-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:0;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.step-payment .estimate-banner svg{color:#22c55e}.step-payment .estimate-banner .estimate-text{flex:1}.step-payment .estimate-banner .estimate-text p{font-size:.813rem;color:#166534;margin:0}.step-payment .estimate-banner .estimate-amount{font-size:1.25rem;font-weight:700;color:#166534}.step-payment .card-fields{margin-top:1rem}.step-payment .card-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.step-payment .card-number-field{position:relative}.step-payment .card-number-field .card-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#9ca3af}@media(max-width:768px){.step-address .form-row{grid-template-columns:1fr}.step-schedule .time-slots-grid{grid-template-columns:repeat(2,1fr)}.step-schedule .frequency-options{grid-template-columns:1fr}.step-summary .promo-input-group{flex-direction:column}.step-payment .card-row{grid-template-columns:1fr}}.dark-mode .step-address .selected-address{background:#064e3b;border-color:#10b981}.dark-mode .step-address .dropoff-btn{background:linear-gradient(135deg,#422006,#78350f);border-color:#ca8a04}.dark-mode .step-address .dropoff-title{color:#fff}.dark-mode .step-address .dropoff-subtitle{color:#fcd34d}.dark-mode .step-schedule .time-slot-card{background:#374151;border-color:#4b5563}.dark-mode .step-schedule .time-slot-card .slot-day{color:#f9fafb}.dark-mode .step-services .category-header{background:#374151;border-color:#4b5563}.dark-mode .step-services .category-title{color:#f9fafb}.dark-mode .step-services .cart-summary{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}.dark-mode .step-summary .summary-section{background:#374151;border-color:#4b5563}.dark-mode .step-summary .summary-content{color:#d1d5db}.dark-mode .step-payment .payment-info-banner{background:linear-gradient(135deg,#78350f,#92400e);border-color:#ca8a04}.step-payment .deposit-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;padding:1rem;margin-bottom:1.5rem}.step-payment .deposit-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.step-payment .deposit-row:first-child{padding-top:0;border-bottom:1px solid #e2e8f0;padding-bottom:.75rem;margin-bottom:.5rem}.step-payment .deposit-row span:first-child{color:#374151;font-size:.938rem}.step-payment .deposit-amount{font-size:1.25rem;font-weight:700;color:#1a1a2e}.step-payment .deposit-row.secondary span{color:#6b7280;font-size:.875rem}.step-payment .stripe-card-field{margin-bottom:1rem}.step-payment .stripe-card-field label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.step-payment .stripe-card-container{background:#fff;border:1px solid #d1d5db;border-radius:0;padding:1rem;transition:border-color .2s,box-shadow .2s}.step-payment .stripe-card-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.step-payment .stripe-card-container.error{border-color:#ef4444}.step-payment .stripe-card-container.complete{border-color:#22c55e}.step-payment .payment-processing{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:0;margin:1rem 0}.step-payment .payment-processing p{margin:0;color:#0369a1;font-weight:500}.step-payment .processing-spinner .spinner{animation:spin 1s linear infinite;color:#0369a1}.step-payment .stripe-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:.75rem;background:#f8fafc;border-radius:0}.step-payment .stripe-badge span{font-size:.75rem;color:#6b7280}.dark-mode .step-payment .deposit-summary{background:#1f2937;border-color:#374151}.dark-mode .step-payment .deposit-row:first-child{border-color:#374151}.dark-mode .step-payment .deposit-row span:first-child{color:#d1d5db}.dark-mode .step-payment .deposit-amount{color:#f9fafb}.dark-mode .step-payment .stripe-card-container{background:#1f2937;border-color:#374151}.dark-mode .step-payment .stripe-card-container:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.dark-mode .step-payment .payment-processing{background:#1e3a5f;border-color:#3b82f6}.dark-mode .step-payment .payment-processing p{color:#93c5fd}.dark-mode .step-payment .stripe-badge{background:#1f2937}.dark-mode .step-payment .stripe-badge span{color:#9ca3af}.step-payment .service-charge-terms{background:#fef2f2;border:1px solid #fecaca;border-radius:0;padding:1rem;margin-bottom:1.5rem}.step-payment .terms-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.step-payment .terms-checkbox-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:#1a1a2e;cursor:pointer}.step-payment .terms-text{font-size:.813rem;color:#374151;line-height:1.5}.step-payment .terms-text a{color:#2563eb;text-decoration:underline}.step-payment .terms-text a:hover{color:#1d4ed8}.dark-mode .step-payment .service-charge-terms{background:#451a1a;border-color:#7f1d1d}.dark-mode .step-payment .terms-text{color:#d1d5db}.dark-mode .step-payment .terms-text a{color:#93c5fd}.view-prices-link{display:block;background:none;border:none;color:#3b82f6;font-size:.8rem;cursor:pointer;padding:0;margin-top:.25rem;text-decoration:underline}.view-prices-link:hover{color:#1d4ed8}.price-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d406e66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000}.price-modal{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:450px;background:#f8fafc;box-shadow:-8px 0 30px #0d406e33;z-index:1001;display:flex;flex-direction:column;overflow:hidden}.price-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:3px solid #C17B3E;background:#0d406e;flex-shrink:0}.price-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#fff}.price-modal-close{background:#ffffff1a;border:none;cursor:pointer;padding:.35rem;color:#fff;border-radius:4px;display:flex;align-items:center;transition:background .2s ease;justify-content:center}.price-modal-close:hover{background:#fff3;color:#fff}.price-modal-content{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.price-modal-note{font-size:.8rem;color:#5a5a5a;text-align:center;padding:.75rem 1rem;margin:0 0 1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb;font-weight:500;font-style:italic}.price-modal-subcategory{background:#fff;margin-bottom:.75rem;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.price-modal-subcategory-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#fff;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:#0d406e;transition:all .2s ease}.price-modal-subcategory-header:hover{background:#f8fafc;color:#c17b3e}.price-modal-expand-icon{color:#0d406e;transition:all .3s ease;flex-shrink:0}.price-modal-subcategory-header:hover .price-modal-expand-icon{color:#c17b3e}.price-modal-expand-icon.expanded{transform:rotate(180deg)}.price-modal-items{overflow:hidden;border-top:2px solid #0D406E}.price-modal-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.85rem 1rem;border-bottom:1px solid #f0f0f0;gap:.75rem;background:#fafafa;transition:background .2s ease}.price-modal-item:nth-child(2n){background:#fff}.price-modal-item:hover{background:#f0f6fc}.price-modal-item:last-child{border-bottom:none}.price-modal-item-name{flex:1;font-size:.85rem;color:#374151;line-height:1.3}.price-modal-item-pricing{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.price-modal-item-price{font-size:.95rem;font-weight:700;color:#0d406e}.price-modal-item-unit{font-size:.7rem;color:#6b7280}@media(max-width:480px){.price-modal{max-width:100%}}.booking-wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:wizardFadeIn .3s ease;overflow:hidden;touch-action:none;overscroll-behavior:contain}@keyframes wizardFadeIn{0%{opacity:0}to{opacity:1}}.booking-wizard-modal{background:var(--color-white, #ffffff);width:100%;max-width:680px;height:90vh;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;border-radius:0;position:relative;animation:wizardSlideUp .3s ease;margin:auto;overscroll-behavior:contain;touch-action:auto}@keyframes wizardSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-wizard-modal .wizard-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.booking-wizard-modal .wizard-header h2{font-size:1.125rem;font-weight:600;color:var(--color-deep-navy, #0f1419);margin:0}.booking-wizard-modal .wizard-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:0;transition:all .2s}.booking-wizard-modal .wizard-close:hover{background:#f3f4f6;color:#374151}.booking-wizard-modal .wizard-progress{height:4px;background:#e5e7eb}.booking-wizard-modal .wizard-progress-bar{height:100%;background:linear-gradient(135deg,#0d406e,#1a5a96);transition:width .3s ease}.booking-wizard-modal .wizard-step-title{padding:1.25rem 1.5rem 0}.booking-wizard-modal .wizard-step-title h3{font-size:1.5rem;font-weight:700;color:var(--color-deep-navy, #0f1419);margin:0}.booking-wizard-modal .wizard-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem 1.5rem;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;position:relative;scrollbar-width:none;-ms-overflow-style:none}.booking-wizard-modal .wizard-body::-webkit-scrollbar{display:none}.booking-wizard-modal .wizard-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#fafafa;border-radius:0}.booking-wizard-modal .wizard-footer:has(.wizard-btn:only-child){justify-content:flex-end}.wizard-btn{padding:1.125rem 1.5rem;border-radius:0;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:120px;min-height:52px}.wizard-btn.primary{background:#0d406e;color:#fff;border:none;box-shadow:0 4px 14px #0d406e4d}.wizard-btn.primary:hover:not(:disabled){background:#0a3256;transform:translateY(-2px);box-shadow:0 6px 20px #0d406e66}.wizard-btn.primary:disabled{background:#0d406e;color:#fff;cursor:not-allowed;transform:none;opacity:.7}.wizard-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.wizard-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.wizard-btn .button-loading{display:flex;align-items:center;gap:.5rem}.wizard-btn .spinner{animation:spin .8s linear infinite}.wizard-error-banner{background:#fef2f2;color:#dc2626;padding:.75rem 1.5rem;font-size:.875rem;text-align:center}.wizard-form-group{margin-bottom:1.25rem}.wizard-form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.wizard-form-group input,.wizard-form-group select,.wizard-form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:0;font-size:1rem;transition:border-color .2s,box-shadow .2s}.wizard-form-group input:focus,.wizard-form-group select:focus,.wizard-form-group textarea:focus{outline:none;border-color:#0d406e;box-shadow:0 0 0 3px #0d406e1a}.wizard-form-group input.error,.wizard-form-group select.error{border-color:#dc2626}.wizard-form-group .error-message{color:#dc2626;font-size:.813rem;margin-top:.375rem;position:relative;z-index:1}.wizard-section{margin-bottom:1.5rem}.wizard-section-header{font-size:1rem;font-weight:600;color:var(--color-deep-navy, #0f1419);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.wizard-section-header svg{color:#0d406e}.wizard-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.wizard-card{background:#fff;border:2px solid #e5e7eb;border-radius:0;padding:1rem;cursor:pointer;transition:all .2s;text-align:center}.wizard-card:hover{border-color:#0d406e;transform:translateY(-2px)}.wizard-card.selected{border-color:#0d406e;background:linear-gradient(135deg,#0d406e0d,#0d406e1a)}.wizard-card.selected:after{content:"";position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;background:#22c55e;border-radius:50%}.wizard-card-title{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem}.wizard-card-subtitle{font-size:.75rem;color:#6b7280}.wizard-toggle-group{display:flex;gap:.5rem;flex-wrap:wrap}.wizard-toggle-btn{padding:.625rem 1rem;border:2px solid #e5e7eb;border-radius:0;background:#fff;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.wizard-toggle-btn:hover{border-color:#0d406e}.wizard-toggle-btn.active{background:#0d406e;border-color:transparent;color:#fff}.wizard-radio-group{display:flex;flex-direction:column;gap:.75rem}.wizard-radio-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:0;cursor:pointer;transition:all .2s}.wizard-radio-option:hover{border-color:#0d406e}.wizard-radio-option.selected{border-color:#0d406e;background:#0d406e0d}.wizard-radio-option input[type=radio]{width:20px;height:20px;accent-color:#0D406E}.wizard-radio-option label{flex:1;cursor:pointer;font-size:.938rem;color:#374151}.wizard-info-banner{background:linear-gradient(135deg,#f0f4f8,#e0e9f2);border:1px solid #c5d5e8;border-radius:0;padding:1rem;margin-bottom:1.5rem;display:flex;gap:.75rem}.wizard-info-banner svg{flex-shrink:0;color:#0d406e}.wizard-info-banner p{margin:0;font-size:.875rem;color:#0d406e;line-height:1.5}.wizard-confirmation{text-align:center;padding:clamp(1.25rem,2.2vw,2rem) clamp(1rem,3vw,2rem);max-width:520px;margin:0 auto}.wizard-confirmation .confirmation-icon{margin-bottom:clamp(.75rem,1.8vw,1.25rem)}.wizard-confirmation .confirmation-icon svg{width:clamp(56px,10vw,72px);height:auto;filter:drop-shadow(0 4px 12px rgba(34,197,94,.3))}.wizard-confirmation h2{font-size:clamp(1.35rem,2.8vw,1.75rem);font-weight:700;color:#22c55e;margin:0 0 clamp(.5rem,1.4vw,.875rem)}.wizard-confirmation .booking-id{font-size:.813rem;color:#6b7280;margin:0 0 clamp(.75rem,1.6vw,1.1rem);font-family:SF Mono,Monaco,Inconsolata,monospace;background:#f3f4f6;display:inline-block;padding:clamp(.4rem,.8vw,.5rem) clamp(.75rem,1.8vw,1rem);border-radius:4px;border:1px solid #e5e7eb}.wizard-confirmation .confirmation-message{font-size:clamp(.9rem,1.4vw,1rem);color:#374151;margin:0 0 clamp(.9rem,2vw,1.4rem);line-height:1.5}.wizard-confirmation .confirmation-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;padding:clamp(.75rem,1.6vw,1rem) clamp(.9rem,2vw,1.25rem);margin-bottom:clamp(.75rem,1.6vw,1.1rem);text-align:left}.wizard-confirmation .detail-item{display:flex;justify-content:space-between;align-items:center;padding:clamp(.4rem,1.1vw,.65rem) 0}.wizard-confirmation .detail-item:not(:last-child){border-bottom:1px solid #e5e7eb}.wizard-confirmation .detail-label{font-size:.875rem;color:#6b7280}.wizard-confirmation .detail-value{font-size:.875rem;font-weight:600;color:#1f2937;text-align:right}.wizard-confirmation .payment-note{font-size:.875rem;color:#6b7280;margin:0 0 clamp(.9rem,2vw,1.4rem);padding:clamp(.75rem,1.6vw,.95rem);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:0;line-height:1.5}.wizard-confirmation .wizard-btn.primary{width:100%;max-width:200px;padding:clamp(.75rem,1.8vw,1rem) clamp(1.25rem,3vw,2rem);font-size:clamp(.95rem,1.6vw,1rem);background:#0d406e;margin:0 auto;display:block}.wizard-confirmation .wizard-btn.primary:hover{background:#0a3256;transform:translateY(-2px)}.booking-wizard-modal.confirmation-modal{height:auto;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);overflow:hidden}@media(max-height:760px){.wizard-confirmation{padding:.85rem .9rem}.wizard-confirmation h2{font-size:1.2rem}.wizard-confirmation .confirmation-message{font-size:.85rem}.wizard-confirmation .detail-label,.wizard-confirmation .detail-value,.wizard-confirmation .payment-note{font-size:.78rem}.wizard-confirmation .confirmation-icon{margin-bottom:.6rem}.wizard-confirmation .confirmation-icon svg{width:52px}.wizard-confirmation .confirmation-details{padding:.65rem .85rem;margin-bottom:.75rem}.wizard-confirmation .detail-item{padding:.35rem 0}.wizard-confirmation .payment-note{padding:.65rem;margin-bottom:.85rem}.wizard-confirmation .wizard-btn.primary{padding:.7rem 1.5rem}}@media(max-height:640px){.wizard-confirmation{padding:.7rem .8rem}.wizard-confirmation h2{font-size:1.1rem}.wizard-confirmation .confirmation-message,.wizard-confirmation .booking-id{margin-bottom:.75rem}}@media(max-width:768px){.booking-wizard-overlay{padding:0;align-items:flex-end}.booking-wizard-modal{max-width:100%;max-height:95vh;min-height:80vh;border-radius:0}.booking-wizard-modal .wizard-header{padding:1rem}.booking-wizard-modal .wizard-step-title{padding:1rem 1rem 0}.booking-wizard-modal .wizard-step-title h3{font-size:1.25rem}.booking-wizard-modal .wizard-body{padding:1rem}.booking-wizard-modal .wizard-footer{padding:1rem;flex-direction:column}.wizard-btn{width:100%}.wizard-cards-grid{grid-template-columns:repeat(2,1fr)}.wizard-toggle-group{flex-direction:column}.wizard-toggle-btn{width:100%;text-align:center}}.dark-mode .booking-wizard-overlay{background:#000000d9}.dark-mode .booking-wizard-modal{background:#1f2937}.dark-mode .booking-wizard-modal .wizard-header{border-color:#374151}.dark-mode .booking-wizard-modal .wizard-header h2,.dark-mode .booking-wizard-modal .wizard-step-title h3{color:#f9fafb}.dark-mode .booking-wizard-modal .wizard-footer{background:#111827;border-color:#374151}.dark-mode .wizard-form-group label{color:#d1d5db}.dark-mode .wizard-form-group input,.dark-mode .wizard-form-group select,.dark-mode .wizard-form-group textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.dark-mode .wizard-card{background:#374151;border-color:#4b5563}.dark-mode .wizard-card-title{color:#f9fafb}.dark-mode .wizard-card-subtitle{color:#9ca3af}.dark-mode .wizard-toggle-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.dark-mode .wizard-radio-option{border-color:#4b5563}.dark-mode .wizard-radio-option label{color:#d1d5db}.dark-mode .wizard-info-banner{background:linear-gradient(135deg,#1e3a5f,#0a3256);border-color:#0d406e}.dark-mode .wizard-info-banner p{color:#bfdbfe}@media(min-width:769px){.booking-wizard-modal{height:auto;max-height:90vh}.booking-wizard-modal .wizard-header{padding:1rem 1.5rem}.booking-wizard-modal .wizard-step-title{padding:1rem 1.5rem 0}.booking-wizard-modal .wizard-step-title h3{font-size:1.35rem}.booking-wizard-modal .wizard-body{padding:.75rem 1.5rem}.booking-wizard-modal .wizard-footer{padding:1rem 1.5rem}.wizard-form-group{margin-bottom:.875rem}.wizard-form-group label{margin-bottom:.375rem;font-size:.8125rem}.wizard-form-group input,.wizard-form-group select,.wizard-form-group textarea{padding:.625rem .875rem}.step-description{margin:0 0 1rem;font-size:.875rem}.step-address .address-divider{margin:1rem 0}.step-address .dropoff-section{margin-top:.5rem}.step-address .dropoff-btn{padding:.75rem 1rem}.step-address .dropoff-icon{width:40px;height:40px}.step-address .manual-entry-form{margin-bottom:.5rem}.wizard-btn{padding:.875rem 1.5rem;min-height:46px}}@media(prefers-reduced-motion:reduce){.booking-wizard-overlay,.booking-wizard-modal{animation:none}.wizard-btn,.wizard-card,.wizard-toggle-btn{transition:none}}.header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;background:#ffffff80;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:all .4s cubic-bezier(.4,0,.2,1);border-bottom:1px solid rgba(8,61,119,.1);box-shadow:0 4px 30px #083d7714,0 8px 60px #1e88e50d,0 2px 8px #00000008}.header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.header.scrolled{background:#fff9;backdrop-filter:blur(25px) saturate(200%);-webkit-backdrop-filter:blur(25px) saturate(200%);box-shadow:0 8px 40px #083d771a,0 12px 80px #1e88e514,0 4px 12px #0000000a;border-bottom:1px solid rgba(30,136,229,.15)}.header-container{max-width:1400px;margin:0 auto;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;position:relative}.logo{display:flex;align-items:center;justify-content:center;text-decoration:none;transition:opacity .3s ease}.logo-center{justify-self:center}.logo:hover{opacity:.8}.logo-image{height:55px;width:auto;display:block;transition:all .3s ease;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.header.scrolled .logo-image{height:50px}.logo-text{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--color-deep-navy);letter-spacing:-.02em;line-height:1;display:none}.logo-subtitle{font-family:var(--font-primary);font-size:.7rem;font-weight:400;color:#083d77;letter-spacing:.15em;text-transform:uppercase;margin-top:.15rem;display:none}.nav-desktop{display:none;align-items:center;gap:1.5rem}.nav-left{justify-self:start}.nav-link{position:relative;font-size:.95rem;font-weight:500;color:var(--color-deep-navy);text-decoration:none;transition:color .3s ease;padding:.5rem 0}.nav-link:hover{color:#083d77}.nav-link.active{color:#083d77;font-weight:600;position:relative}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gradient-blue);border-radius:0}.nav-underline{position:absolute;bottom:0;left:0;right:0;height:2px;background:#083d77;transition:all .3s ease}.nav-link:not(.active) .nav-underline{transform:scaleX(0)}.nav-link:hover .nav-underline{transform:scaleX(1)}.header-ctas{justify-self:end;display:none!important;align-items:center;gap:1rem;visibility:hidden}.header-ctas .btn{border-radius:0}.btn-header{padding:.75rem 1.75rem;font-size:.9rem;white-space:nowrap;border-radius:0!important}.mobile-menu-btn{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:absolute;left:1rem;top:50%;transform:translateY(-50%)}.btn-mobile-header{display:flex;position:absolute;right:1rem;top:50%;transform:translateY(-50%);padding:.4rem .75rem;font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:0!important;background:#0d406e!important;color:#fff!important}.btn-mobile-header:hover,.btn-mobile-header:active,.btn-mobile-header:focus{transform:translateY(-50%)}.mobile-menu-btn span{display:block;width:100%;height:2px;background:var(--color-deep-navy);transition:all .3s ease;transform-origin:center}.mobile-menu-btn.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:100vw;max-width:100%;background:var(--color-white);box-shadow:-4px 0 24px #00000026;z-index:999;overflow-y:auto;-webkit-overflow-scrolling:touch;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-right:env(safe-area-inset-right)}.mobile-nav{padding:4.5rem 1rem 2rem;display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 4.5rem);min-height:calc(100dvh - 4.5rem)}.mobile-nav-link{font-size:1.1rem;font-weight:500;color:var(--color-deep-navy);text-decoration:none;padding:.75rem;border-radius:var(--radius-md);transition:all .3s ease;display:block}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--color-off-white);color:#083d77;transform:translate(8px)}.mobile-ctas{display:flex;flex-direction:column;gap:1rem;margin-top:auto;padding-top:2rem;padding-bottom:2rem;border-top:1px solid var(--color-warm-grey)}.mobile-ctas .btn{border-radius:0}.btn-mobile{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:.9rem}.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background:#25d366;color:var(--color-white);text-decoration:none;font-weight:600;border:none;transition:all .3s ease;box-shadow:0 4px 12px #25d3664d}.btn-whatsapp:hover{background:#20ba5a;box-shadow:0 6px 20px #25d36666;transform:translateY(-2px)}.btn-whatsapp svg{width:20px;height:20px;flex-shrink:0}@media(min-width:768px){.header-container{display:grid;grid-template-columns:1fr auto 1fr;padding:1rem 1.5rem;gap:1.5rem;justify-content:initial}.logo-image{height:65px}.header.scrolled .logo-image{height:60px}.logo-text{font-size:1.5rem}.logo-subtitle{font-size:.65rem}.nav-desktop{display:flex}.header-ctas{display:flex!important;visibility:visible}.mobile-menu-btn{display:none;position:static;transform:none}.btn-mobile-header{display:none!important;visibility:hidden;pointer-events:none}.mobile-menu{max-width:400px}.mobile-nav{padding:5rem 1.5rem 2rem}.mobile-nav-link{font-size:1.25rem;padding:1rem}.btn-mobile{padding:1rem 2rem;font-size:1rem}.btn-header{padding:.65rem 1.5rem;font-size:.85rem}}@media(min-width:1024px){.header-container{padding:1.25rem 2rem;gap:2rem}.logo-image{height:75px}.header.scrolled .logo-image{height:70px}.logo-text{font-size:1.75rem}.logo-subtitle{font-size:.7rem}.nav-desktop{gap:2.5rem}.btn-header{padding:.75rem 1.75rem;font-size:.9rem}.mobile-nav{padding:6rem 2rem 2rem}.mobile-menu-btn{width:28px;height:20px}}@media(min-width:1440px){.header-container{gap:2.5rem}}.dark-mode .header{background:#0f141980;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(30,136,229,.15);box-shadow:0 4px 30px #0006,0 8px 60px #0000004d,0 2px 8px #1e88e51a}.dark-mode .header:before{background:linear-gradient(180deg,rgba(111,216,156,.05) 0%,transparent 100%)}.dark-mode .header.scrolled{background:#0f141999;backdrop-filter:blur(25px) saturate(200%);-webkit-backdrop-filter:blur(25px) saturate(200%);box-shadow:0 8px 40px #00000080,0 12px 80px #0006,0 4px 12px #1e88e526;border-bottom:1px solid rgba(30,136,229,.2)}.dark-mode .logo-text{color:var(--color-deep-navy)}.dark-mode .logo-subtitle{color:#1e88e5}.dark-mode .nav-link{color:var(--color-deep-navy)}.dark-mode .nav-link:hover,.dark-mode .nav-link.active{color:#1e88e5}.dark-mode .mobile-menu-btn span{background:var(--color-deep-navy)}.dark-mode .mobile-menu{background:#0f1419fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-4px 0 24px #0009;border-left:1px solid rgba(111,216,156,.15);height:100vh;height:100dvh}.dark-mode .mobile-nav-link{color:var(--color-deep-navy)}.dark-mode .mobile-nav-link:hover,.dark-mode .mobile-nav-link.active{background:#1e88e51a;color:#1e88e5}.dark-mode .mobile-ctas{border-top:1px solid rgba(111,216,156,.2)}.btn-header[href="/locations"],.btn-mobile[href="/locations"]{display:none}.premium-btn-wrapper{display:inline-block}.premium-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 2rem;font-family:var(--font-primary);font-size:1rem;font-weight:600;text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.22,1,.36,1);isolation:isolate}.premium-btn-content{position:relative;z-index:2;display:flex;align-items:center}.premium-btn-icon{position:relative;z-index:2;display:flex;align-items:center;font-size:1.25rem}.premium-btn-primary{background:#0d406e;color:var(--color-white);box-shadow:0 4px 16px #0d406e4d,0 8px 32px #0d406e26}.premium-btn-primary:hover{background:#0a3558;box-shadow:0 8px 24px #0d406e66,0 16px 48px #0d406e40}.premium-btn-primary:active{box-shadow:0 2px 8px #0d406e4d,0 4px 16px #0d406e33}.premium-btn-outline{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-earth);border:2px solid var(--color-earth);box-shadow:0 4px 12px #8b6f5a14}.premium-btn-outline:hover{background:#8b6f5a1a;box-shadow:0 8px 20px #8b6f5a2e;border-color:var(--color-earth-dark)}.premium-btn-outline:active{background:#8b6f5a26}.premium-btn-ghost{background:transparent;color:var(--color-earth);box-shadow:none}.premium-btn-ghost:hover{background:#8b6f5a14;color:var(--color-earth-dark)}.premium-btn-ghost:active{background:#8b6f5a1f}.premium-btn-small{padding:.75rem 1.5rem;font-size:.9rem}.premium-btn-default{padding:.875rem 1.5rem;font-size:.95rem}.premium-btn-large{padding:1rem 2rem;font-size:1rem}.dark-mode .premium-btn-primary{background:#1e88e5;box-shadow:0 4px 16px #1e88e559,0 8px 32px #1e88e533}.dark-mode .premium-btn-primary:hover{box-shadow:0 8px 24px #1e88e573,0 16px 48px #1e88e54d}.dark-mode .premium-btn-outline{background:#0f141999;border-color:var(--color-earth);color:var(--color-earth)}.dark-mode .premium-btn-outline:hover{background:#b8987826;border-color:var(--color-earth-light)}.dark-mode .premium-btn-ghost{color:var(--color-earth)}.dark-mode .premium-btn-ghost:hover{background:#b898781f;color:var(--color-earth-light)}@media(min-width:768px){.premium-btn{width:auto}.premium-btn-default{padding:1rem 2rem;font-size:1rem}}@media(min-width:1024px){.premium-btn-large{padding:1.25rem 3rem;font-size:1.1rem}}.search-input-wrapper{position:relative;width:100%}.input-field{position:relative;border-bottom:2px solid #0D406E;margin:15px 0;border-top:none;border-left:none;border-right:none;outline:none;box-shadow:none}.input-field:focus-within{border-top:none;border-left:none;border-right:none;outline:none;box-shadow:none}.input-field label{position:absolute;top:50%;left:0;transform:translateY(-50%);color:#0f1419;font-size:16px;pointer-events:none;transition:.15s ease}.input-field input{width:100%;height:40px;background:transparent;border:none!important;outline:none!important;font-size:16px;color:#0f1419;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0!important;margin:0!important;text-indent:0!important}.input-field input:invalid,.input-field input:required,.input-field input:focus,.input-field input:active{box-shadow:none!important;outline:none!important;border:none!important}.input-field input:-webkit-autofill,.input-field input:-webkit-autofill:hover,.input-field input:-webkit-autofill:focus,.input-field input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;box-shadow:0 0 0 30px #fff inset!important;border:none!important;outline:none!important}.input-field input:focus~label,.input-field input:not(:placeholder-shown)~label{font-size:.75rem;top:0;transform:translateY(-100%)}.cursor{display:inline-block;width:2px;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(max-width:1023px){.hero .input-field{border-bottom-color:#0d406e}.hero .input-field input{color:#0f1419}.hero .input-field input::placeholder{color:#6b7280}.hero .input-field label{color:#0f1419}.hero .input-field input:focus~label,.hero .input-field input:not(:placeholder-shown)~label{color:#6b7280}}.dark-mode .input-field{border-bottom-color:#4b5563}.dark-mode .input-field label{color:#d1d5db}.dark-mode .input-field input{color:#f3f4f6}.dark-mode .input-field input:focus~label{color:#9ca3af}.hero{position:relative;width:100%;height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:visible;padding-top:0}.hero-left{position:relative;width:100%;flex:0 0 45%;padding:1rem 0 1.5rem;display:flex;flex-direction:column;justify-content:center;background:#fff;z-index:5;order:2}.hero-right{position:relative;width:100%;flex:0 0 55%;min-height:0;order:1;opacity:1;overflow:hidden;z-index:1}.hero-right:before{content:"";position:absolute;top:0;left:-2px;bottom:0;width:300px;background:linear-gradient(to right,#fff,#fffffff2 15%,#fffc,#ffffff80,#fff3 75%,#fff0);pointer-events:none;z-index:2;display:none}.hero-right:after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,#fff0,#ffffff26,#ffffff59,#fff9,#ffffffd9,#fff);pointer-events:none;z-index:2;display:block}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-video__media{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-video-overlay{display:flex!important;position:absolute!important;bottom:0;left:0;right:0;padding:1.5rem 1rem;z-index:10;align-items:center;justify-content:center;text-align:center}.hero-video-fade{display:none;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;background:linear-gradient(to bottom,#000000bf,#000000a6,#000c);z-index:1;pointer-events:none}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(82,183,136,.3) 50%,transparent 100%);box-shadow:0 0 20px #52b78833}.hero-background{position:absolute;top:0;left:0;width:100%;height:120%;background:radial-gradient(circle at 20% 30%,rgba(82,183,136,.25) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(244,162,97,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(45,106,79,.12) 0%,transparent 70%),radial-gradient(circle at 40% 80%,rgba(149,213,178,.15) 0%,transparent 60%),linear-gradient(135deg,#fdfbf7,#f0f7f4);z-index:0}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,rgba(248,248,245,.3) 100%)}.floating-garment{position:absolute;right:-10%;top:20%;transform:translateY(-50%);opacity:.2;z-index:1;display:none}.garment-icon{color:#083d77;transform-style:preserve-3d;perspective:1000px}.garment-icon svg{width:100px;height:100px}.garment-glow{display:none}.particle{position:absolute;background:#1e88e5;border-radius:50%;opacity:.3;pointer-events:none;filter:blur(1px)}.laundry-icon{position:absolute;color:#083d77;opacity:.12;pointer-events:auto;transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:1;cursor:pointer}.laundry-icon svg{display:block;width:28px;height:28px}.laundry-icon:hover{opacity:.35}.laundry-icon:nth-child(2n){color:var(--color-earth)}.laundry-icon:nth-child(2n):hover{opacity:.35}.hero-content{position:relative;z-index:10;width:100%;padding:0}.hero-container{max-width:100%;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.hero-label{display:inline-block;padding:.5rem 1.5rem;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:0;font-size:.9rem;font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 4px 16px #083d774d,0 8px 32px #1e88e533,0 0 40px #1e88e526;transition:all .3s ease;position:relative;overflow:hidden}.hero-label:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.hero-label:hover{box-shadow:0 6px 24px #1e88e559;transform:translateY(-2px)}.hero-label:hover:before{left:100%}.hero-title{font-size:1.25rem;font-weight:700;line-height:1.25;color:var(--color-deep-navy)!important;max-width:900px;margin:0;text-shadow:none;position:relative;z-index:10}.hero-highlight{color:#ccc;position:relative;display:inline-block;text-decoration:underline;text-decoration-color:#ccc;text-decoration-thickness:3px;text-underline-offset:.15em}.hero-description{font-size:.875rem;line-height:1.4;color:var(--color-deep-navy)!important;opacity:.85;max-width:700px;margin:0;text-shadow:none;position:relative;z-index:10}.hero-search-row{margin-top:.75rem;margin-left:0;width:100%;max-width:600px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.hero-search-row .input-field{flex:1;margin-bottom:0}.hero-search-row .search-button{background:#0d406e;color:#fff;border:none;padding:10px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:42px;width:100%;display:flex;align-items:center;justify-content:center}.hero-search-row .search-button:hover{background:#0a3256;transform:translateY(-2px)}.hero-search-row .search-button:disabled{background:#0d406e80;cursor:not-allowed;opacity:.6}.hero-search-row .search-button:disabled:hover{transform:none}.hero-postcode-error{margin-top:.5rem;color:#dc2626;font-size:.875rem;font-weight:500;animation:slideDown .3s ease}.hero-service-error{margin-top:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#ff98001a,#ff98000d);border:2px solid rgba(255,152,0,.3);border-radius:8px;display:flex;align-items:center;gap:.75rem;animation:slideDown .3s ease;max-width:600px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hero-service-error svg{color:#f57c00;flex-shrink:0}.hero-service-error p{flex:1;margin:0;font-size:.95rem;color:var(--color-deep-navy);font-weight:500;opacity:1}.hero-service-error button{background:transparent;border:none;color:var(--color-deep-navy);opacity:.6;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;flex-shrink:0}.hero-service-error button:hover{opacity:1}.hero-ctas{display:flex;flex-direction:column;gap:1rem;margin-top:8px;flex-wrap:wrap;margin-left:0;width:100%;max-width:600px}.hero-ctas .premium-btn-wrapper{width:100%}.hero-ctas .premium-btn{width:100%;height:42px;padding:0 2rem;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:2px solid #0D406E!important;color:#0d406e!important;box-shadow:none!important}.hero-ctas .premium-btn:hover{background:#0d406e!important;border-color:#0d406e!important;color:#fff!important}.hero-ctas .btn{border-radius:0}.btn-hero{padding:1.25rem 3rem;font-size:1.05rem;font-weight:600;box-shadow:var(--shadow-lg)}.btn-hero svg{transition:transform .3s ease}.btn-hero:hover svg{transform:translate(4px)}.hero-trust{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid rgba(139,111,90,.2)}.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;color:var(--color-deep-navy);padding:.5rem 1rem;background:linear-gradient(135deg,rgba(30,136,229,.08) 0%,transparent 100%);border-radius:var(--radius-md);transition:all .3s ease}.trust-item:hover{background:linear-gradient(135deg,#1e88e51f,#083d7714);transform:translateY(-2px)}.trust-item svg{color:#083d77;flex-shrink:0}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:none;flex-direction:column;align-items:center;gap:.5rem;z-index:3}.scroll-line{width:2px;height:40px;background:var(--gradient-blue);border-radius:0;transform-origin:top;box-shadow:0 4px 12px #1e88e54d}.scroll-text{font-size:.75rem;font-weight:600;background:var(--gradient-blue);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem}@media(min-width:768px){.hero-content{padding:3rem 0}.hero-container{padding:0 1.5rem}.hero-search-row{flex-direction:row;align-items:flex-end;gap:16px}.hero-search-row .search-button{width:auto}.hero-ctas{flex-direction:row}.hero-ctas .premium-btn-wrapper,.hero-ctas .premium-btn{width:100%}.hero-video-overlay{padding:2rem 1.5rem}.floating-garment{display:block;opacity:.4;right:5%}.garment-icon svg{width:140px;height:140px}.laundry-icon{opacity:.2}.hero-trust{flex-direction:row;flex-wrap:wrap;gap:1.5rem}}@media(min-width:1024px){.hero{height:auto;max-height:none;min-height:100vh;flex-direction:row}.hero-left{width:60%;flex:none;min-height:100vh;padding:6rem 0 4rem;background:#fff;z-index:2;order:1}.hero-right{position:relative;width:40%;flex:none;min-height:100vh;height:auto;max-height:none;order:2;z-index:1}.hero-right:before{display:block;width:300px}.hero-right:after{display:none}.hero-content{padding:8rem 0 4rem}.hero-container{padding:0 2rem 0 3rem;align-items:flex-start;text-align:left;gap:1.5rem}.hero-search-row{margin-top:2rem}.hero-video-overlay,.hero-video-fade{display:none!important}.hero-left .hero-title{display:block!important;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;color:var(--color-deep-navy)!important;text-shadow:none}.hero-description{font-size:clamp(.9rem,1.1vw,1.05rem);line-height:1.5;color:var(--color-deep-navy)!important;text-shadow:none;opacity:.85}.hero-ctas .premium-btn{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid #0D406E;color:#0d406e!important}.hero-ctas .premium-btn:hover{background:#0d406e;border-color:#0d406e;color:#fff!important}.floating-garment{opacity:.6;right:10%;top:50%}.garment-icon svg{width:180px;height:180px}.scroll-indicator{display:flex}.hero-trust{gap:2rem}}@media(min-width:1440px){.hero-container{max-width:1200px;padding:0 4rem 0 5rem}.hero-title{font-size:clamp(1.75rem,3vw,2.25rem);max-width:800px}.hero-description{font-size:clamp(.95rem,1.2vw,1.15rem);max-width:650px}.hero-search-row,.hero-ctas{max-width:600px}}.dark-mode .hero-left{background:linear-gradient(135deg,#0f1419,#1a2229,#1a2229)}.dark-mode .hero-title{color:#f8f8f5!important}.dark-mode .hero-description{color:#e8e8e5!important;opacity:.9}.dark-mode .hero-right:before{background:linear-gradient(to right,#0f1419,#0f1419f2,#0f1419cc,#0f141980,#0f141933,#0f141900)}.dark-mode .hero-right:after{background:linear-gradient(to bottom,#0f141900,#0f141926,#0f141959,#0f141999,#0f1419d9,#0f1419)}.dark-mode .hero-background{background:radial-gradient(circle at 20% 30%,rgba(111,216,156,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,178,77,.1) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(82,183,136,.08) 0%,transparent 70%),radial-gradient(circle at 40% 80%,rgba(168,230,207,.1) 0%,transparent 60%),linear-gradient(135deg,#0f1419,#1a2229)}.dark-mode .hero-overlay{background:linear-gradient(180deg,transparent 0%,rgba(15,20,25,.4) 100%)}.dark-mode .hero-ctas .premium-btn{background:transparent;border-color:#60a5fa;color:#60a5fa!important}.dark-mode .hero-ctas .premium-btn:hover{background:#60a5fa;border-color:#60a5fa;color:#0f1419!important}.dark-mode .hero-label{background:var(--gradient-primary);color:#0f1419;box-shadow:0 4px 16px #6fd89c66}.dark-mode .hero-label:hover{box-shadow:0 6px 24px #6fd89c80}.dark-mode .hero-highlight{color:#ccc;text-decoration-color:#ccc}.dark-mode .trust-item{background:linear-gradient(135deg,rgba(30,136,229,.1) 0%,transparent 100%);color:#e8e8e5}.dark-mode .trust-item:hover{background:linear-gradient(135deg,#1e88e52e,#083d771f)}.dark-mode .trust-item svg{color:#1e88e5}.dark-mode .hero-trust{border-top:2px solid rgba(184,152,120,.25)}.dark-mode .scroll-line{background:var(--gradient-blue);box-shadow:0 4px 12px #1e88e559}.dark-mode .scroll-text{background:var(--gradient-blue);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dark-mode .garment-icon{color:var(--color-eco-green)}.dark-mode .garment-glow{display:none}.dark-mode .particle{background:var(--color-eco-green);opacity:.4}.dark-mode .laundry-icon{color:#1e88e5;opacity:.28}.dark-mode .laundry-icon:hover{opacity:.4}.dark-mode .laundry-icon:nth-child(2n){color:var(--color-earth)}.dark-mode .laundry-icon:nth-child(2n):hover{opacity:.4}.dark-mode .hero-video-fade{background:linear-gradient(to bottom,#0f1419cc,#0f1419b3,#0f1419d9)}.dark-mode .hero-video-overlay .hero-title{color:#f8f8f5!important}.dark-mode .hero-video-overlay .hero-highlight{color:#ccc!important}.how-it-works{width:100%;padding:3rem 0;background:#fff;position:relative}.how-container{max-width:1200px;margin:0 auto;padding:0 1rem}.how-header{text-align:center;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.how-header h2{margin:0 0 1rem;font-size:2.5rem;color:var(--color-deep-navy)}.section-description{font-size:1.1rem;color:#666;line-height:1.6}.how-steps{display:grid;grid-template-columns:1fr;gap:3rem;position:relative;margin-bottom:2rem}.step-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon-wrapper{margin-bottom:1.5rem;display:flex;align-items:flex-end;justify-content:center}.step-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#083d77;border-radius:50%}.step-icon svg{width:48px;height:48px}.step-icon img{height:180px;width:auto;object-fit:contain}.step-icon img.clean-icon{height:350px}.step-icon svg.book-icon,.step-icon svg.clean-icon{width:180px;height:180px}.step-icon.no-bg{background:transparent}.step-title{font-size:1.5rem;font-weight:600;color:var(--color-deep-navy);margin:0 0 1rem}.step-description{font-size:1rem;line-height:1.6;color:#666;margin:0;max-width:350px}.step-arrow{display:none}.section-cta{text-align:center;margin-top:3rem}@media(min-width:768px){.how-it-works{padding:4rem 0}.how-container{padding:0 1.5rem}.how-header{margin-bottom:2.5rem}.how-header h2{font-size:2rem}.how-steps{grid-template-columns:repeat(2,1fr);gap:3rem}.step-icon{width:120px;height:120px}.step-icon svg{width:56px;height:56px}.step-icon img{height:220px;width:auto}.step-icon img.clean-icon{height:420px}.step-icon svg.book-icon{width:220px;height:220px}.step-title{font-size:1.75rem}.step-description{font-size:1.05rem}}@media(min-width:1024px){.how-it-works{padding:5rem 0}.how-container{padding:0 2rem}.how-header{margin-bottom:3.5rem}.how-header h2{font-size:2.5rem}.how-steps{grid-template-columns:repeat(3,1fr);gap:4rem;margin-bottom:3rem}.step-icon-wrapper{margin-bottom:2rem}.step-icon{width:140px;height:140px}.step-icon svg{width:64px;height:64px}.step-icon img{height:260px;width:auto}.step-icon img.clean-icon{height:500px}.step-icon svg.book-icon{width:260px;height:260px}.step-title{font-size:2rem}.step-description{font-size:1.1rem}.section-cta{margin-top:3rem}}.dark-mode .how-it-works{background:linear-gradient(180deg,#0f1419,#1a2229)}.dark-mode .step-icon{background:#083d77}.dark-mode .step-card h3{color:#fff}.dark-mode .step-card p{color:#fffc;opacity:1}.promo-banner{width:100%;padding:1.5rem 0;background:linear-gradient(135deg,var(--color-deep-navy) 0%,#152433 100%);position:relative;overflow:hidden}.promo-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 50%,rgba(30,136,229,.18) 0%,transparent 55%),radial-gradient(circle at 80% 50%,rgba(100,181,246,.12) 0%,transparent 55%);pointer-events:none}.promo-banner__container{position:relative;z-index:1;max-width:var(--max-width);margin:0 auto;padding:0 .75rem;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:stretch}.promo-banner__item{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-lg);background:#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px #00000026;min-height:90px}.promo-banner__icon{width:38px;height:38px;border-radius:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#1e88e540;border:1px solid rgba(30,136,229,.4);flex-shrink:0}.promo-banner__icon svg{width:18px;height:18px;stroke:#fff}.promo-banner__icon.promo-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#083d77;border:1px solid rgba(8,61,119,.4);border-radius:50%;color:var(--color-white);margin-bottom:.75rem;transition:all .3s ease}.promo-banner__title{color:var(--color-white);font-weight:600;letter-spacing:-.01em;font-size:.95rem;line-height:1.2}.promo-banner__subtitle{margin-top:.25rem;color:#ffffffbf;font-size:.85rem;line-height:1.4}.promo-banner__cta{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;margin-top:1rem}.promo-banner__cta .btn{white-space:nowrap}@media(min-width:768px){.promo-banner{padding:1.75rem 0}.promo-banner__container{padding:0 1rem;gap:1rem}.promo-banner__title{font-size:1rem}.promo-banner__subtitle{font-size:.9rem}}@media(min-width:900px){.promo-banner{padding:2.25rem 0}.promo-banner__container{padding:0 2rem;grid-template-columns:repeat(3,1fr);gap:2rem}.promo-banner__item{padding:1.25rem;gap:1rem}.promo-banner__icon{width:44px;height:44px}.promo-banner__icon svg{width:20px;height:20px}.promo-banner__title{font-size:1.05rem}.promo-banner__subtitle{font-size:.95rem}}.dark-mode .promo-banner{background:linear-gradient(135deg,#0f1419,#1a2229)}.dark-mode .promo-banner__item{background:#ffffff0a;border-color:#1e88e52e}.dark-mode .promo-banner__icon{background:#1e88e533;border-color:#1e88e559}.dark-mode .promo-banner__icon svg{stroke:#64b5f6}.dark-mode .promo-banner__title{color:#fff}.dark-mode .promo-banner__subtitle{color:#fffc}.services-grid-section{width:100%;padding:3rem 0;background:#fff;position:relative}.services-grid-section .services-container{max-width:100%;margin:0 auto;padding:0 1rem}.services-header{text-align:center;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.services-header h2{margin-bottom:1rem}.services-grid-section .services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem}.services-grid-section .service-card{padding:1rem .75rem;background:var(--color-white);display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.services-grid-section .service-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1abc9c,#16a085);border-radius:50%;color:var(--color-white);margin-bottom:1rem;box-shadow:0 4px 16px #1abc9c4d;transition:all .3s ease}.services-grid-section .service-icon svg{width:24px;height:24px}.services-grid-section .service-card h3{font-size:.9rem;font-weight:600;margin:0 0 .5rem;color:var(--color-deep-navy)}.services-grid-section .service-description{font-size:.75rem;line-height:1.5;color:var(--color-deep-navy);opacity:.75;margin:0 0 .75rem;flex-grow:1}.services-grid-section .service-price{font-family:var(--font-display);font-size:1rem;font-weight:700;background:linear-gradient(135deg,#1abc9c,#16a085);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.services-grid-section .service-features{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:.4rem;padding-top:1rem;border-top:1px solid var(--color-warm-grey)}.services-grid-section .service-features li{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--color-deep-navy);text-align:left}.services-grid-section .service-features svg{color:var(--color-eco-green);flex-shrink:0;width:12px;height:12px}.services-grid-cta{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:nowrap;padding-top:1rem}.services-grid-cta .btn{min-width:180px;text-align:center}.services-cta .btn-primary{background:#2d9d78!important;color:#fff!important}.services-cta .btn-primary:hover{background:#248a68!important}.services-grid-cta .btn-outline-dark,.services-cta .btn-outline-dark{background:transparent;color:#0d406e;border:2px solid #0D406E}.services-grid-cta .btn-outline-dark:hover{background:#0d406e;color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px #0d406e4d}@media(min-width:768px){.services-grid-section{padding:4rem 0}.services-grid-section .services-container{padding:0 1.5rem}.services-header{margin-bottom:2.5rem}.services-grid-section .services-grid{grid-template-columns:repeat(4,1fr)!important;gap:1.5rem}.services-grid-section .service-card{padding:1.25rem 1rem}.services-grid-section .service-icon{width:54px;height:54px}.services-grid-section .service-icon svg{width:26px;height:26px}.services-grid-section .service-card h3{font-size:1rem}.services-grid-section .service-description{font-size:.8rem}.services-grid-section .service-features li{font-size:.75rem}}@media(min-width:1024px){.services-grid-section{padding:5rem 0}.services-grid-section .services-container{padding:0 2rem}.services-header{margin-bottom:3rem}.services-grid-section .services-grid{grid-template-columns:repeat(4,1fr)!important;gap:2rem;margin-bottom:3rem}.services-grid-section .service-card{padding:1.5rem 1rem}.services-grid-section .service-icon{width:60px;height:60px;margin-bottom:1.25rem}.services-grid-section .service-icon svg{width:28px;height:28px}.services-grid-section .service-card h3{font-size:1.15rem}.services-grid-section .service-description{font-size:.875rem;margin-bottom:1rem}.services-grid-section .service-price{font-size:1.25rem}.services-grid-section .service-features{padding-top:1.25rem;gap:.5rem}.services-grid-section .service-features li{font-size:.85rem;gap:.5rem}.services-grid-section .service-features svg{width:14px;height:14px}}.dark-mode .services-grid-section{background:linear-gradient(180deg,#0f1419,#1a2229)}.dark-mode .service-card{background:#1a2229e6}.dark-mode .service-card h3{color:#fff}.dark-mode .service-description{color:#fffc;opacity:1}.dark-mode .service-price{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dark-mode .service-features{border-top:1px solid rgba(30,136,229,.2)}.dark-mode .service-features li{color:#ffffffd9}.dark-mode .service-features svg{color:var(--color-eco-green)}.dark-mode .service-icon{background:var(--gradient-primary)}.dark-mode .services-cta .btn-primary{background:#1e88e5!important;color:#fff!important}.dark-mode .services-cta .btn-primary:hover{background:#1976d2!important}.dark-mode .services-cta .btn-outline-dark{background:#ffffff1a;color:#fff;border:2px solid #ffffff}.dark-mode .services-cta .btn-outline-dark:hover{background:#fff;color:#0d406e}.reviews-section{width:100%;padding:3rem 0;background-image:linear-gradient(180deg,#ffffffa6,#ffffff8c,#ffffffa6),url(/assets/shirtsHanging-B-V8dOf1.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;position:relative;overflow:hidden}.reviews-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(255,255,255,.2) 100%);pointer-events:none}.reviews-container{max-width:1400px;margin:0 auto;padding:0 1rem;position:relative;z-index:1}.reviews-header{text-align:center;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.reviews-header h2{font-size:clamp(1.75rem,4vw,2.75rem);color:var(--color-deep-navy);margin:0 0 1rem;font-weight:700;line-height:1.2;text-shadow:0 1px 2px rgba(255,255,255,.8)}.reviews-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:var(--color-deep-navy);margin:0;line-height:1.6;opacity:.85;text-shadow:0 1px 2px rgba(255,255,255,.8)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.testimonial-card{background:#d0dfed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.25rem 1rem;box-shadow:0 4px 6px #0000001a,0 10px 25px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;gap:.75rem;border:1px solid rgba(255,255,255,.4)}.testimonial-card.large-with-avatar,.testimonial-card.large-quote{padding:1.5rem 1.25rem}.testimonial-card.medium-quote,.testimonial-card.medium-stars,.testimonial-card.medium-avatar{padding:1.25rem 1rem}.testimonial-card.small-stars,.testimonial-card.small-avatar{padding:1rem .875rem}.testimonial-card.stacked-avatars{padding:1.25rem 1rem;align-items:center;text-align:center}.quote-icon{color:#1a2a3a;width:32px;height:32px;flex-shrink:0;opacity:.2;align-self:flex-start}.testimonial-stars{display:flex;gap:.2rem;flex-shrink:0}.star-icon{color:#ffc107;width:14px;height:14px}.card-text{font-size:.875rem;line-height:1.5;color:#1a2a3a;margin:0;flex-grow:1;font-weight:500}.card-text.large{font-size:.95rem;line-height:1.6;font-weight:600}.card-author{display:flex;flex-direction:column;gap:.2rem;margin-top:auto}.card-author strong{font-size:.8rem;font-weight:700;color:#0d1821}.card-author span{font-size:.7rem;color:#2d3e50;opacity:.9}.card-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;flex-shrink:0;box-shadow:0 4px 12px #667eea40;overflow:hidden;position:relative}.card-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.card-avatar.large{width:48px;height:48px;font-size:1rem}.card-avatar.medium{width:40px;height:40px;font-size:.9rem}.card-avatar.small{width:32px;height:32px;font-size:.75rem}.card-avatar.mini{width:28px;height:28px;font-size:.65rem}.stacked-avatars{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.section-cta{text-align:center;margin-top:2rem}@media(min-width:768px){.reviews-section{padding:4rem 0}.reviews-container{padding:0 1.5rem}.reviews-header{margin-bottom:3rem}.testimonials-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.testimonial-card{padding:1.5rem 1.25rem}.card-text{font-size:.9rem}.star-icon{width:15px;height:15px}}@media(min-width:1024px){.reviews-section{padding:5rem 0}.reviews-container{padding:0 2rem}.reviews-header{margin-bottom:3rem}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;grid-auto-flow:dense}.testimonial-card.large-with-avatar{grid-column:span 2}.testimonial-card.large-quote{grid-row:span 2}.testimonial-card.small-stars,.testimonial-card.small-avatar{padding:1.25rem 1rem}.testimonial-card.medium-quote,.testimonial-card.medium-stars,.testimonial-card.medium-avatar{padding:1.5rem 1.25rem}.card-text{font-size:.9rem}.card-text.large{font-size:1rem}.star-icon{width:16px;height:16px}.section-cta{margin-top:3rem}}@media(min-width:1440px){.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:0 auto 2rem}.testimonial-card.large-with-avatar{grid-column:span 2}.testimonial-card.large-quote{grid-row:span 2}}.dark-mode .reviews-section{background:linear-gradient(180deg,#1a2229,#0f1419,#1a2229)}.dark-mode .reviews-section:before{background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%)}.dark-mode .reviews-header h2{color:#fff}.dark-mode .reviews-subtitle{color:#ffffffb3}.dark-mode .testimonial-card{background:#1a2229e6;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px #0000004d,0 10px 25px #0003}.dark-mode .testimonial-card:hover{background:#1a2229;border-color:#ffffff1f;box-shadow:0 12px 20px #0006,0 20px 40px #0000004d}.dark-mode .quote-icon{color:#ffffff1a}.dark-mode .card-text{color:#fffffff2}.dark-mode .card-author strong{color:#fff}.dark-mode .card-author span{color:#fff9}.dark-mode .card-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66}.locations-section{width:100%;padding:3rem 0;background:#fff}.locations-container{max-width:1400px;margin:0 auto;padding:0 .75rem}.locations-header{text-align:center;margin-bottom:2rem}.locations-content{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.locations-map{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);height:100%;min-height:250px;display:flex;align-items:center;justify-content:center;order:2}.map-placeholder{width:100%;height:100%;position:relative}.pin{animation:bounce 2s infinite;cursor:pointer;transition:transform .3s ease}.pin:hover{transform:scale(1.2)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.locations-cards{display:flex;flex-direction:column;gap:1.5rem;order:1}.location-card{position:relative;padding:1.25rem;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .4s ease;display:flex;flex-direction:column;gap:1rem}.location-card:hover{box-shadow:var(--shadow-lg)}.location-card-single{padding:2rem 1rem;align-items:center;text-align:center}.location-pin-icon{margin-bottom:1rem;color:var(--color-eco-green);display:flex;align-items:center;justify-content:center}.location-pin-icon svg{width:40px;height:40px}.location-number{position:absolute;top:1.25rem;right:1.25rem;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#27ae60,#229954);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.location-card h3{font-size:1.25rem;margin:0;color:var(--color-deep-navy);padding-right:3rem}.location-card-single h3{font-size:1.5rem;padding-right:0;margin-bottom:1rem}.directions-button{margin-top:1.5rem}.directions-button .btn{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:.9rem}.location-info{display:flex;flex-direction:column;gap:.75rem;width:100%}.location-card-single .location-info{max-width:500px;margin:0 auto}.info-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--color-deep-navy);opacity:.8}.info-item svg{color:var(--color-eco-green);flex-shrink:0;margin-top:.1rem;width:16px;height:16px}.info-item a{color:var(--color-eco-green);text-decoration:none;transition:opacity .3s ease}.info-item a:hover{opacity:.7;text-decoration:underline}.locations-cta{text-align:center;margin-top:2rem}@media(min-width:768px){.locations-section{padding:4rem 0}.locations-container{padding:0 1.5rem}.locations-header{margin-bottom:3rem}.locations-content{gap:2rem}.locations-map{min-height:350px}.location-card{padding:1.75rem}.location-number{width:36px;height:36px;font-size:1rem}.location-card h3{font-size:1.35rem}.info-item{font-size:.9rem}.info-item svg{width:18px;height:18px}}@media(min-width:1024px){.locations-section{padding:6rem 0}.locations-container{padding:0 2rem}.locations-header{margin-bottom:4rem}.locations-content{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem}.locations-map{min-height:500px;order:0}.locations-cards{order:0}.location-card{padding:2rem}.location-card-single{padding:3rem}.location-number{top:1.5rem;right:1.5rem;width:40px;height:40px;font-size:1.1rem}.location-card h3{font-size:1.5rem}.location-card-single h3{font-size:2rem;margin-bottom:1.5rem}.info-item{font-size:.95rem;gap:.75rem}.directions-button .btn{padding:1rem 2rem;font-size:1rem}}.dark-mode .locations-section{background:#0f1419}.dark-mode .locations-map{background:#1a2229e6;box-shadow:var(--shadow-md)}.dark-mode .location-card{background:#1a2229cc;border:1px solid rgba(30,136,229,.2)}.dark-mode .location-card:hover{background:#1a2229;border-color:#1e88e54d;box-shadow:var(--shadow-colored)}.dark-mode .location-card h3{color:var(--color-deep-navy)}.dark-mode .location-number{background:var(--color-eco-green);color:#0f1419}.dark-mode .location-pin-icon{color:var(--color-eco-green)}.dark-mode .info-item{color:var(--color-deep-navy);opacity:.85}.dark-mode .info-item svg{color:var(--color-eco-green)}.dark-mode .info-item a{color:var(--color-eco-green)}.cta-banner{position:relative;width:100%;padding:3rem .75rem;background:linear-gradient(135deg,var(--color-deep-navy) 0%,#152433 100%);overflow:hidden}.cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 50%,rgba(30,136,229,.15) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(100,181,246,.1) 0%,transparent 50%);z-index:0}.cta-content{position:relative;z-index:2;max-width:900px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.cta-banner h2{font-size:clamp(2.5rem,5vw,4rem);color:#fff;margin:0;font-weight:600}.cta-banner p{font-size:clamp(1.1rem,2vw,1.35rem);color:#e8e4de;margin:0;max-width:600px}.cta-buttons{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap;justify-content:center;flex-direction:row;width:auto;max-width:100%}.btn-cta{padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:1rem}.btn-cta.btn-primary{justify-content:center;min-width:160px;position:relative;padding-right:1.5rem;background:#2d9d78!important;color:#fff!important}.btn-cta.btn-primary:hover{background:#248a68!important}.btn-outline-light{background:#ffffff1a;color:#fff!important;border:2px solid #ffffff}.btn-outline-light:hover{background:#fff;color:#0d406e!important;transform:translateY(-2px)}.btn-cta svg{transition:transform .3s ease;display:inline-flex;align-items:center;vertical-align:middle;flex-shrink:0;width:16px;height:16px}.btn-cta.btn-primary svg{position:relative;right:auto;margin-left:.5rem}.btn-cta:hover svg{transform:translate(4px)}.cta-features{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center;flex-direction:column;align-items:center}.cta-feature{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.85rem;font-weight:500}.cta-feature svg{color:#2d9d78;flex-shrink:0;width:18px;height:18px}.cta-shape{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(30,136,229,.15) 0%,transparent 70%);pointer-events:none;z-index:1}.cta-shape-1{width:300px;height:300px;top:-200px;left:-100px;animation:float 8s infinite ease-in-out}.cta-shape-2{width:350px;height:350px;bottom:-250px;right:-150px;animation:float 10s infinite ease-in-out reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@media(min-width:768px){.cta-banner{padding:5rem 1.5rem}.cta-content{gap:1.5rem}.btn-cta{padding:1rem 2rem;font-size:1rem}.cta-features{gap:1.5rem;margin-top:2rem}.cta-feature{font-size:.95rem}.cta-feature svg{width:20px;height:20px}}@media(min-width:1024px){.cta-banner{padding:8rem 2rem}.cta-content{gap:2rem}.btn-cta{padding:1.25rem 3rem;font-size:1.1rem}.cta-features{gap:3rem;flex-direction:row}.cta-feature{font-size:1rem;gap:.75rem}.cta-feature svg{width:24px;height:24px}.cta-shape-1{width:400px;height:400px}.cta-shape-2{width:500px;height:500px}}.dark-mode .cta-banner{background:linear-gradient(135deg,#0f1419,#1a2229)}.dark-mode .cta-overlay{background:radial-gradient(circle at 20% 50%,rgba(30,136,229,.2) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(100,181,246,.15) 0%,transparent 50%)}.dark-mode .cta-banner h2{color:var(--color-deep-navy)}.dark-mode .cta-banner p{color:var(--color-deep-navy);opacity:.85}.dark-mode .cta-feature{color:var(--color-deep-navy)}.dark-mode .cta-feature svg{color:var(--color-eco-green)}.dark-mode .btn-outline-light{border-color:var(--color-eco-green);color:var(--color-eco-green)}.dark-mode .btn-outline-light:hover{background:var(--color-eco-green);color:#0f1419}.dark-mode .cta-shape{background:radial-gradient(circle,rgba(30,136,229,.2) 0%,transparent 70%)}.footer{width:100%;background:var(--color-deep-navy);color:var(--color-off-white);padding:3rem 0 1.5rem;margin-top:4rem;position:relative;box-shadow:0 -4px 30px #0000001a,0 -8px 60px #0000000d}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(30,136,229,.3) 50%,transparent 100%);box-shadow:0 0 20px #1e88e533}.footer-container{max-width:1400px;margin:0 auto;padding:0 1rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-column{display:flex;flex-direction:column;gap:1rem}.footer-logo{display:flex;flex-direction:column;text-decoration:none;margin-bottom:.5rem;transition:opacity .3s ease}.footer-logo:hover{opacity:.8}.footer-logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-white);letter-spacing:-.02em;line-height:1}.footer-logo-subtitle{font-family:var(--font-primary);font-size:.7rem;font-weight:500;color:#60a5fa;letter-spacing:.15em;text-transform:uppercase;margin-top:.25rem}.footer-tagline{font-size:.95rem;line-height:1.6;color:#d1d5db;margin-bottom:1rem}.footer-certifications{display:flex;gap:1rem;margin-top:.5rem}.cert-badge{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#60a5fa1a;border:1px solid #60A5FA;border-radius:var(--radius-md);font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.footer-heading{font-family:var(--font-primary);font-size:1rem;font-weight:600;color:var(--color-white);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-link{color:#d1d5db;text-decoration:none;font-size:.95rem;transition:all .3s ease;display:inline-block;position:relative}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#60a5fa;transition:width .3s ease}.footer-link:hover{color:#60a5fa;transform:translate(4px)}.footer-link:hover:after{width:100%}.footer-contact{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.footer-contact p{font-size:.9rem;color:#d1d5db;margin:0}.footer-contact strong{color:#f3f4f6;font-weight:600}.footer-contact a{color:#60a5fa;text-decoration:none;transition:opacity .3s ease}.footer-contact a:hover{opacity:.8;text-decoration:underline}.footer-whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;margin-top:1rem;background:#25d366;color:#fff!important;text-decoration:none;font-weight:600;font-size:.95rem;border:none;transition:all .2s ease;box-shadow:none}.footer-whatsapp-btn:hover{background:#1faf5a;box-shadow:none;transform:translateY(-1px);color:#fff!important}.footer-whatsapp-btn svg{width:20px;height:20px;flex-shrink:0;color:#fff!important}.dark-mode .footer-whatsapp-btn{background:#25d366;color:#fff!important;box-shadow:none}.dark-mode .footer-whatsapp-btn:hover{background:#1faf5a;color:#fff!important}.dark-mode .footer-whatsapp-btn svg{color:#fff!important}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.5rem}.footer-copyright,.footer-made{font-size:.8rem;color:#9ca3af;margin:0}@media(min-width:768px){.footer{padding:3.5rem 0 1.75rem}.footer-container{padding:0 1.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer-logo-text{font-size:1.5rem}.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left;gap:1rem}.footer-copyright,.footer-made{font-size:.875rem}}@media(min-width:1024px){.footer{padding:4rem 0 2rem}.footer-container{padding:0 2rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;margin-bottom:3rem}.footer-logo-text{font-size:1.75rem}}@media(min-width:1440px){.footer-grid{gap:4rem}}.dark-mode .footer{background:#0f1419;color:#e5e7eb;box-shadow:0 -4px 30px #0009,0 -8px 60px #0006}.dark-mode .footer:before{background:linear-gradient(90deg,transparent 0%,rgba(30,136,229,.4) 50%,transparent 100%);box-shadow:0 0 30px #1e88e54d}.dark-mode .footer-logo-text{color:#f3f4f6}.dark-mode .footer-logo-subtitle{color:#60a5fa}.dark-mode .footer-tagline{color:#9ca3af}.dark-mode .footer-heading{color:#f3f4f6}.dark-mode .footer-link{color:#d1d5db}.dark-mode .footer-link:hover{color:#60a5fa}.dark-mode .footer-link:after{background:#60a5fa}.dark-mode .footer-contact p{color:#d1d5db}.dark-mode .footer-contact strong{color:#f3f4f6}.dark-mode .footer-contact a{color:#60a5fa}.dark-mode .footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.dark-mode .footer-copyright,.dark-mode .footer-made{color:#9ca3af}.dark-mode .cert-badge{background:#60a5fa26;border-color:#60a5fa;color:#60a5fa}.floating-laundry-icons{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.page-laundry-icon{position:absolute;color:var(--color-eco-green);opacity:.08;pointer-events:auto;transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:1;cursor:pointer}.page-laundry-icon svg{display:block;width:24px;height:24px}.page-laundry-icon:hover{opacity:.35}.page-laundry-icon:nth-child(3n){color:var(--color-earth)}.page-laundry-icon:nth-child(3n):hover{opacity:.35}@media(min-width:768px){.page-laundry-icon{opacity:.12}.page-laundry-icon svg{width:28px;height:28px}}@media(min-width:1024px){.page-laundry-icon{opacity:.2}.page-laundry-icon svg{width:32px;height:32px}}.dark-mode .page-laundry-icon{color:var(--color-eco-green);opacity:.25}.dark-mode .page-laundry-icon:hover{opacity:.4}.dark-mode .page-laundry-icon:nth-child(3n){color:var(--color-earth)}.dark-mode .page-laundry-icon:nth-child(3n):hover{opacity:.4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;overscroll-behavior:contain;pointer-events:auto}.service-modal{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:600px;height:100vh;height:100dvh;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:9999;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;pointer-events:auto}.modal-header{padding:var(--spacing-sm) var(--spacing-md);min-height:45px;background:#fff;color:var(--color-deep-navy);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-shrink:0;border-bottom:1px solid var(--color-off-white)}.modal-header h2{margin:0;font-size:1.15rem;font-family:var(--font-primary);font-weight:600}.modal-close{background:transparent;border:none;color:var(--color-deep-navy);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;border-radius:4px}.modal-close:hover{background:var(--color-off-white)}.modal-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-sm);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;pointer-events:auto;touch-action:pan-y;position:relative;z-index:1}.modal-pricing-note{font-size:.8rem;color:var(--color-deep-navy);text-align:center;padding:var(--spacing-sm);margin:0 0 var(--spacing-sm) 0;background:#e8f4f8;border-radius:6px;border-left:3px solid var(--color-deep-navy);font-weight:500}.modal-subcategory{background:#fff;margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-sm);overflow:hidden}.modal-subcategory-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:none;cursor:pointer;transition:all .3s ease;gap:var(--spacing-xs)}.modal-subcategory-header:hover{background:var(--color-off-white)}.modal-subcategory-header h3{margin:0;font-size:.95rem;color:var(--color-deep-navy);font-family:var(--font-primary);font-weight:600;flex:1;text-align:left}.modal-item-count{font-size:.7rem;color:var(--color-warm-grey);background:var(--color-off-white);padding:.25rem .5rem;font-weight:500;white-space:nowrap}.modal-expand-icon{color:var(--color-deep-navy);transition:transform .3s ease;flex-shrink:0}.modal-expand-icon.expanded{transform:rotate(180deg)}.modal-items{border-top:1px solid var(--color-off-white);overflow:hidden}.modal-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-off-white);gap:var(--spacing-sm);transition:background .2s ease}.modal-item:hover{background:#4caf500d}.modal-item:last-child{border-bottom:none}.modal-item-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.modal-item-name{font-size:.85rem;color:var(--color-deep-navy);font-weight:500;line-height:1.3}.modal-item-notes{font-size:.7rem;color:var(--color-warm-grey);font-style:italic;line-height:1.3}.modal-item-pricing{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.modal-item-price{font-size:.9rem;font-weight:700;color:var(--color-eco-green);white-space:nowrap}.modal-item-unit{font-size:.65rem;color:var(--color-warm-grey);white-space:nowrap}.modal-notes{background:#4caf501a;padding:var(--spacing-sm);margin-top:var(--spacing-sm);border-left:4px solid var(--color-eco-green)}.modal-notes h4{margin:0 0 .5rem;font-size:.85rem;color:var(--color-deep-navy);font-family:var(--font-primary)}.modal-notes ul{margin:0;padding-left:var(--spacing-md);list-style:disc}.modal-notes li{margin-bottom:.25rem;color:var(--color-deep-navy);line-height:1.4;font-size:.75rem}.modal-notes li:last-child{margin-bottom:0}.modal-no-results{text-align:center;padding:var(--spacing-2xl) var(--spacing-md)}.modal-no-results svg{color:var(--color-warm-grey);margin-bottom:var(--spacing-md);opacity:.5}.modal-no-results h3{margin:0 0 var(--spacing-xs);color:var(--color-deep-navy);font-size:1.25rem}.modal-no-results p{margin:0;color:var(--color-warm-grey);font-size:.95rem}.modal-footer{padding:1rem 1.25rem 1.25rem;background:#fff;border-top:1px solid var(--color-off-white);display:flex;gap:var(--spacing-xs);flex-shrink:0}.modal-btn-primary,.modal-btn-secondary{flex:1;padding:1rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;font-family:var(--font-primary);transition:all .3s ease;display:flex;align-items:center;justify-content:center;border:2px solid transparent;text-align:center;border-radius:6px}.modal-btn-primary{background:linear-gradient(135deg,#0d406e,#0a3558);color:#fff;box-shadow:0 4px 12px #0d406e40}.modal-btn-primary:hover{background:linear-gradient(135deg,#0a3558,#082a45);transform:translateY(-2px);box-shadow:0 6px 20px #0d406e66}.modal-btn-secondary{background:transparent;color:var(--color-deep-navy);border-color:var(--color-deep-navy)}.modal-btn-secondary:hover{background:var(--color-deep-navy);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(min-width:768px){.service-modal{width:60%}.modal-header{padding:var(--spacing-sm) var(--spacing-md);min-height:50px}.modal-header h2{font-size:1.2rem}.modal-search,.modal-content,.modal-subcategory-header{padding:var(--spacing-sm) var(--spacing-md)}.modal-subcategory-header h3{font-size:1rem}.modal-item{padding:var(--spacing-sm) var(--spacing-md)}.modal-item-name{font-size:.9rem}.modal-item-price{font-size:.95rem}.modal-footer{padding:var(--spacing-sm) var(--spacing-md)}}@media(min-width:1024px){.service-modal{width:50%;max-width:650px}}@media(min-width:1440px){.service-modal{width:40%;max-width:700px}}@media(prefers-reduced-motion:reduce){.modal-subcategory-header,.modal-expand-icon,.modal-btn-primary,.modal-btn-secondary{transition:none}.modal-expand-icon.expanded{transform:none}}.modal-search-input:focus,.modal-subcategory-header:focus,.modal-close:focus{outline:3px solid var(--color-eco-green);outline-offset:2px}.services-content{padding:var(--spacing-2xl) var(--spacing-md);background:var(--color-off-white);min-height:60vh}.services-container{max-width:100%;margin:0 auto;padding:0 var(--spacing-md)}.services-intro{text-align:center;margin-bottom:var(--spacing-2xl)}.services-intro h2{font-size:2rem;color:var(--color-deep-navy);font-family:var(--font-display);margin:0 0 var(--spacing-sm)}.services-intro p{font-size:1.1rem;color:var(--color-warm-grey);margin:0}.services-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.service-card{background:#fff;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;border:1px solid #f0f0f0;width:100%;text-align:left;cursor:pointer;padding:0;font-family:inherit}.service-card-image{width:100%;height:200px;overflow:hidden;background:#f5f5f5}.service-card-image img{width:100%;height:100%;object-fit:cover}.service-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-eco-green)}.service-card-body{padding:var(--spacing-md);display:flex;flex-direction:column;flex:1}.service-card-body h3{margin:0 0 var(--spacing-sm);font-size:1.1rem;color:#2c2c2c;font-family:var(--font-primary);font-weight:600;line-height:1.3}.service-description{color:#5c5c5c;font-size:.85rem;line-height:1.5;margin:0 0 var(--spacing-md);flex:1}.learn-more-link{color:#2c2c2c;font-size:.85rem;font-family:var(--font-primary);font-weight:500;text-decoration:underline;transition:color .2s ease;display:inline-block}.service-card:hover .learn-more-link{color:var(--color-eco-green)}.services-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;background:#0d406e;margin-top:2rem}.services-cta h2{margin:0 0 1rem;font-size:1.75rem;color:#fff;font-family:var(--font-display);font-weight:600}.services-cta p{margin:0 0 1.5rem;font-size:1rem;color:#ffffffe6;max-width:500px}.cta-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.services-cta .btn-primary,.services-cta .btn-secondary{padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;font-family:var(--font-primary);transition:all .3s ease;display:inline-block;border:2px solid transparent;cursor:pointer}.services-cta .btn-primary{background:#fff;color:#0d406e}.services-cta .btn-primary:hover{background:#f0f4f8;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.services-cta .btn-secondary{background:transparent;color:#fff;border-color:#fff}.services-cta .btn-secondary:hover{background:#fff;color:#0d406e;transform:translateY(-2px)}@media(min-width:768px){.services-content{padding:var(--spacing-2xl)}.services-container{padding:0 var(--spacing-lg)}.services-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.service-card-image{height:220px}.service-card-body h3{font-size:1.2rem}.service-description{font-size:.9rem}.services-intro h2{font-size:2.25rem}}@media(min-width:1024px){.services-content{padding:var(--spacing-2xl) var(--spacing-md)}.services-container{padding:0;max-width:100%;margin:0 auto}.services-grid{grid-template-columns:repeat(3,1fr)!important;gap:var(--spacing-md)}.service-card-image{height:240px}.service-card-body{padding:var(--spacing-md) var(--spacing-lg)}.service-card-body h3{font-size:1.25rem}.service-description{font-size:.9rem}.services-cta h2,.services-intro h2{font-size:2.5rem}}@media(min-width:1440px){.services-content{padding:var(--spacing-2xl) var(--spacing-lg)}.services-grid{gap:var(--spacing-lg)}.service-card-image{height:260px}.service-card-body h3{font-size:1.3rem}.service-description{font-size:.95rem}}@media(min-width:1920px){.services-content{padding:var(--spacing-2xl) var(--spacing-xl)}.services-grid{gap:var(--spacing-xl)}.service-card-image{height:280px}.service-card-body h3{font-size:1.4rem}.service-description{font-size:1rem}}@media print{.services-cta,.view-pricing-btn{display:none}.service-card{page-break-inside:avoid}}@media(prefers-reduced-motion:reduce){.service-card,.view-pricing-btn,.btn-primary,.btn-secondary{transition:none}.service-card:hover,.view-pricing-btn:hover{transform:none}}.service-card,.view-pricing-btn{will-change:transform}.service-card:focus,.view-pricing-btn:focus{outline:3px solid var(--color-eco-green);outline-offset:2px}.page{width:100%;min-height:100vh;display:flex;flex-direction:column}.page main{flex:1;width:100%}.page-hero{width:100%;min-height:45vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:6rem .75rem 2.5rem;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(30,136,229,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(244,162,97,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(100,181,246,.12) 0%,transparent 70%);z-index:0}.page-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(180deg,transparent 0%,rgba(240,247,244,.4) 100%);z-index:0;pointer-events:none}.page-hero-content{position:relative;z-index:1;max-width:900px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.page-hero h1{font-size:clamp(2.5rem,6vw,4.5rem);color:var(--color-deep-navy);margin:0;position:relative}.page-hero h1:after{content:"";position:absolute;bottom:-.2em;left:50%;transform:translate(-50%);width:60%;height:2px;background:var(--color-earth);border-radius:0;opacity:.4}.page-description{font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.7;color:var(--color-deep-navy);opacity:.85;max-width:700px;margin:0}.page-content{max-width:1200px;margin:0 auto;padding:2rem .75rem}.page-content h2{margin-bottom:2rem}.page-content p{margin-bottom:1rem}.form-grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.page-hero{min-height:50vh;padding:8rem 1.5rem 4rem}.page-hero-content{gap:1.5rem}.page-content{padding:3rem 1.5rem}.page-content p{margin-bottom:1.5rem}.form-grid-2{grid-template-columns:1fr 1fr;gap:1rem}.page-content>div>div{padding:2rem 1.5rem!important}}@media(min-width:1024px){.page-hero{min-height:60vh;padding:10rem 2rem 6rem}.page-content{padding:5rem 2rem}}.dark-mode .page-hero{background:linear-gradient(135deg,#0f1419,#1a2229,#1a2229)}.dark-mode .page-hero:before{background:radial-gradient(circle at 20% 30%,rgba(30,136,229,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,178,77,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(100,181,246,.12) 0%,transparent 70%)}.dark-mode .page-hero:after{background:linear-gradient(180deg,transparent 0%,rgba(15,20,25,.5) 100%)}.dark-mode .page-hero h1{color:var(--color-deep-navy)}.dark-mode .page-hero h1:after{background:var(--color-earth);opacity:.5}.dark-mode .page-description{color:var(--color-deep-navy);opacity:.9}.dark-mode .page-content{background:transparent}.dark-mode .page-content h2{color:var(--color-deep-navy)}.dark-mode .page-content p{color:var(--color-deep-navy);opacity:.85}.about-story{padding:4rem 1rem;background:var(--color-off-white)}.about-story-container{max-width:900px;margin:0 auto}.about-story-content{text-align:center}.about-story-content h2{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);color:var(--color-deep-navy);margin:0 0 1.5rem;position:relative;display:inline-block}.about-story-content h2:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--color-earth);opacity:.6}.about-story-text{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem}.about-story-text p{font-family:var(--font-primary);font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.8;color:var(--color-deep-navy);opacity:.85;margin:0;text-align:left}.about-timeline{position:relative;background:#fff;padding:5rem 0;overflow:hidden}.about-timeline:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(8,61,119,.1),transparent)}.about-timeline-container{max-width:1400px;margin:0 auto}.about-timeline-header{text-align:center;padding:0 1rem;margin-bottom:3rem}.about-timeline-header h2{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);color:var(--color-deep-navy);margin:0 0 .75rem}.about-timeline-header p{font-family:var(--font-primary);font-size:clamp(1rem,1.5vw,1.1rem);color:var(--color-deep-navy);opacity:.7;margin:0}.timeline-track{position:relative;overflow:hidden;padding:2rem 0;cursor:grab;touch-action:pan-y pinch-zoom}.timeline-track:active{cursor:grabbing}@supports (scroll-behavior: smooth){.timeline-track{scroll-behavior:smooth}}.timeline-line{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:2px;background:linear-gradient(90deg,transparent,rgba(8,61,119,.15),rgba(8,61,119,.15),transparent);min-width:200%;margin-left:-50%;z-index:0;pointer-events:none}.timeline-items{display:flex;flex-direction:row;gap:2rem;padding:3rem 1.5rem;min-width:max-content;position:relative}.timeline-item{position:relative;flex:0 0 280px;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.timeline-item.in-view{opacity:1;transform:translateY(0)}.timeline-item:nth-child(odd){padding-bottom:4rem;align-self:flex-start}.timeline-item:nth-child(2n){padding-top:4rem;align-self:flex-end}.timeline-dot{position:absolute;left:50%;transform:translate(-50%);width:16px;height:16px;background:#fff;border:3px solid rgba(8,61,119,.2);transition:all .4s ease;z-index:2}.timeline-item:nth-child(odd) .timeline-dot{bottom:0}.timeline-item:nth-child(2n) .timeline-dot{top:0}.timeline-item.in-view .timeline-dot{border-color:#083d77;background:#083d77;box-shadow:0 0 0 5px #083d7726}.timeline-item:before{content:"";position:absolute;left:50%;width:2px;background:#083d771a;transform:translate(-50%);transition:background .4s ease}.timeline-item:nth-child(odd):before{bottom:16px;height:calc(4rem - 16px)}.timeline-item:nth-child(2n):before{top:16px;height:calc(4rem - 16px)}.timeline-item.in-view:before{background:#083d774d}.timeline-card{background:#fff;padding:1.5rem;border:1px solid rgba(8,61,119,.08);box-shadow:0 4px 16px #083d770f;transition:all .4s ease}.timeline-item.in-view .timeline-card{box-shadow:0 8px 32px #083d771a;border-color:#083d771a}.timeline-item:hover .timeline-card{transform:translateY(-4px);box-shadow:0 12px 40px #083d7726}.timeline-year{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#083d77;line-height:1;margin:0 0 .75rem;letter-spacing:-.02em}.timeline-card h3{font-family:var(--font-display);font-size:1.15rem;color:var(--color-deep-navy);margin:0 0 .5rem;line-height:1.3}.timeline-card p{font-family:var(--font-primary);font-size:.875rem;line-height:1.7;color:var(--color-deep-navy);opacity:.75;margin:0}.timeline-drag-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;color:var(--color-deep-navy);opacity:.4;font-size:.85rem;font-family:var(--font-primary);transition:opacity .3s ease}.timeline-drag-hint svg{width:20px;height:20px;animation:dragHintSlide 2s ease-in-out infinite}@keyframes dragHintSlide{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}.about-heritage{padding:5rem 1rem;background:var(--color-off-white);overflow:visible}.about-heritage-container{max-width:1400px;margin:0 auto;overflow:visible}.about-heritage-header{text-align:center;margin-bottom:4rem}.about-heritage-header h2{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);color:var(--color-deep-navy);margin:0 0 1rem}.about-heritage-header p{font-family:var(--font-primary);font-size:clamp(1rem,1.5vw,1.1rem);color:var(--color-deep-navy);opacity:.7;max-width:600px;margin:0 auto}.heritage-photo-grid{position:relative;display:flex;justify-content:center;align-items:center;min-height:200px;padding:2rem 1rem;width:100%;overflow:visible}.heritage-photo{position:absolute;overflow:hidden;background:#083d77;box-shadow:0 10px 40px #083d7726,0 4px 12px #0000001a;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,z-index 0s;animation:photoStackIn .8s cubic-bezier(.34,1.56,.64,1) backwards}.heritage-photo:nth-child(1){animation-delay:.1s}.heritage-photo:nth-child(2){animation-delay:.15s}.heritage-photo:nth-child(3){animation-delay:.2s}.heritage-photo:nth-child(4){animation-delay:.25s}.heritage-photo:nth-child(5){animation-delay:.3s}@keyframes photoStackIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.heritage-photo:nth-child(1){width:140px;height:105px;z-index:5;left:calc(50% - 155px);top:50%;margin-top:-52px}.heritage-photo:nth-child(2){width:140px;height:105px;z-index:4;left:calc(50% - 100px);top:50%;margin-top:-65px}.heritage-photo:nth-child(3){width:140px;height:105px;z-index:3;left:calc(50% - 70px);top:50%;margin-top:-40px}.heritage-photo:nth-child(4){width:140px;height:105px;z-index:2;left:calc(50% - 40px);top:50%;margin-top:-58px}.heritage-photo:nth-child(5){width:140px;height:105px;z-index:1;left:calc(50% + 15px);top:50%;margin-top:-48px}.heritage-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.heritage-photo:hover{z-index:10!important;transform:scale(1.08);box-shadow:0 25px 60px #083d7740,0 10px 20px #00000026}.heritage-photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(15,20,25,.8) 100%);opacity:0;transition:opacity .4s ease}.heritage-photo:hover .heritage-photo-overlay{opacity:1}.heritage-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;color:#fff;transform:translateY(20px);opacity:0;transition:all .4s ease}.heritage-photo:hover .heritage-photo-caption{transform:translateY(0);opacity:1}.heritage-photo-caption h4{font-family:var(--font-display);font-size:1rem;margin:0 0 .15rem;font-weight:500}.heritage-photo-caption span{font-family:var(--font-primary);font-size:.75rem;opacity:.8}.heritage-photo.featured{width:280px;height:220px}.about-values{padding:5rem 1rem;background:#fff}.about-values-container{max-width:1100px;margin:0 auto}.about-values-header{text-align:center;margin-bottom:3rem}.about-values-header h2{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);color:var(--color-deep-navy);margin:0}.values-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.value-card{padding:2rem;background:var(--color-off-white);border:1px solid rgba(8,61,119,.06);transition:all .4s ease}.value-card:hover{box-shadow:0 8px 24px #083d771a;border-color:#083d771f}.value-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#083d77,#1e88e5);color:#fff;margin-bottom:1.25rem}.value-icon svg{width:24px;height:24px}.value-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--color-deep-navy);margin:0 0 .75rem}.value-card p{font-family:var(--font-primary);font-size:.95rem;line-height:1.7;color:var(--color-deep-navy);opacity:.75;margin:0}@media(min-width:768px){.about-story{padding:6rem 2rem}.about-story-text p{text-align:center}.about-timeline{padding:6rem 0}.timeline-items{gap:2.5rem;padding:4rem 2rem}.timeline-item{flex:0 0 320px}.timeline-card{padding:1.75rem}.timeline-card h3{font-size:1.25rem}.timeline-card p{font-size:.9rem}.timeline-year{font-size:1.6rem}.about-heritage{padding:6rem 2rem}.heritage-photo-grid{min-height:280px}.heritage-photo:nth-child(1){width:200px;height:150px;left:calc(50% - 360px);margin-top:-75px}.heritage-photo:nth-child(2){width:200px;height:150px;left:calc(50% - 220px);margin-top:-85px}.heritage-photo:nth-child(3){width:200px;height:150px;left:calc(50% - 100px);margin-top:-65px}.heritage-photo:nth-child(4){width:200px;height:150px;left:calc(50% + 20px);margin-top:-80px}.heritage-photo:nth-child(5){width:200px;height:150px;left:calc(50% + 160px);margin-top:-70px}.heritage-photo.featured{width:220px;height:165px}.about-values{padding:6rem 2rem}.values-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(min-width:1024px){.about-story{padding:8rem 2rem}.about-story-text{flex-direction:row;gap:3rem}.about-story-text p{flex:1;text-align:left}.about-timeline{padding:8rem 0}.timeline-items{gap:3rem;padding:4rem 3rem}.timeline-item{flex:0 0 360px}.timeline-card{padding:2rem}.timeline-card h3{font-size:1.3rem}.timeline-card p{font-size:.95rem}.timeline-year{font-size:1.75rem}.timeline-drag-hint{display:none}.about-heritage{padding:8rem 2rem}.heritage-photo-grid{min-height:320px;padding:3rem}.heritage-photo:nth-child(1){width:280px;height:210px;left:calc(50% - 560px);margin-top:-105px}.heritage-photo:nth-child(2){width:280px;height:210px;left:calc(50% - 340px);margin-top:-115px}.heritage-photo:nth-child(3){width:280px;height:210px;left:calc(50% - 140px);margin-top:-95px}.heritage-photo:nth-child(4){width:280px;height:210px;left:calc(50% + 60px);margin-top:-110px}.heritage-photo:nth-child(5){width:280px;height:210px;left:calc(50% + 280px);margin-top:-100px}.heritage-photo.featured{width:300px;height:225px}.about-values{padding:8rem 2rem}.values-grid{grid-template-columns:repeat(3,1fr)}}.dark-mode .about-story{background:#1a2229}.dark-mode .about-story-content h2{color:#e8e4de}.dark-mode .about-story-content h2:after{background:var(--color-soft-gold)}.dark-mode .about-story-text p{color:#c8c4be}.dark-mode .about-timeline{background:#0f1419}.dark-mode .about-timeline:before{background:linear-gradient(90deg,transparent,rgba(30,136,229,.2),transparent)}.dark-mode .about-timeline-header h2,.dark-mode .about-timeline-header p{color:#e8e4de}.dark-mode .timeline-line{background:#1e88e526}.dark-mode .timeline-item:before{background:#1e88e533}.dark-mode .timeline-item.in-view:before{background:#1e88e566}.dark-mode .timeline-drag-hint{color:#a8a4a0}.dark-mode .timeline-dot{background:#1a2229;border-color:#1e88e54d}.dark-mode .timeline-item.in-view .timeline-dot{background:#1e88e5;border-color:#1e88e5;box-shadow:0 0 0 5px #1e88e533}.dark-mode .timeline-card{background:#1a2229;border-color:#1e88e51a;box-shadow:0 4px 16px #0000004d}.dark-mode .timeline-item.in-view .timeline-card{box-shadow:0 8px 32px #0006}.dark-mode .timeline-year{color:#1e88e5}.dark-mode .timeline-card h3{color:#e8e4de}.dark-mode .timeline-card p{color:#a8a4a0}.dark-mode .about-heritage{background:#1a2229}.dark-mode .about-heritage-header h2,.dark-mode .about-heritage-header p{color:#e8e4de}.dark-mode .heritage-photo{background:#2a3239;box-shadow:0 10px 40px #0000004d,0 4px 12px #0003}.dark-mode .heritage-photo:hover{box-shadow:0 25px 60px #0006,0 10px 20px #0000004d}.dark-mode .about-values{background:#0f1419}.dark-mode .about-values-header h2{color:#e8e4de}.dark-mode .value-card{background:#1a2229;border-color:#1e88e51a}.dark-mode .value-card:hover{box-shadow:0 8px 24px #0000004d;border-color:#1e88e533}.dark-mode .value-card h3{color:#e8e4de}.dark-mode .value-card p{color:#a8a4a0}@media(prefers-reduced-motion:reduce){.timeline-item{opacity:1;transform:none}.timeline-item.in-view{transition:none}.timeline-drag-hint svg{animation:none}.heritage-photo{animation:none}.heritage-photo img,.heritage-photo-overlay,.heritage-photo-caption,.value-card,.timeline-card,.timeline-dot{transition:none}.heritage-photo:hover img{transform:none}}.timeline-card:focus-within,.heritage-photo:focus-within,.value-card:focus-within{outline:3px solid #1e88e5;outline-offset:2px}.heritage-photo img{will-change:transform}.timeline-item{will-change:opacity,transform}.privacy-content{max-width:900px}.privacy-intro{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.08)}.privacy-intro h2{font-size:1.75rem;color:var(--color-deep-navy);margin-bottom:1.5rem}.privacy-intro p{color:var(--color-deep-navy);opacity:.85;line-height:1.8}.privacy-toc{display:flex;flex-direction:column;gap:.5rem;margin-bottom:3rem;padding:1.5rem;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.toc-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:transparent;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.toc-item:hover{background:#1e88e50a;border-color:var(--color-eco-green);transform:translate(4px)}.toc-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-eco-green);color:#fff;border-radius:50%;font-size:.85rem;font-weight:600;flex-shrink:0}.toc-title{flex:1;font-size:.95rem;color:var(--color-deep-navy);font-weight:500}.toc-arrow{color:var(--color-eco-green);opacity:.6;transition:all .2s ease}.toc-item:hover .toc-arrow{opacity:1;transform:translate(4px)}.privacy-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.06);scroll-margin-top:100px}.privacy-section:last-of-type{border-bottom:none}.privacy-section h2{font-size:1.5rem;color:var(--color-deep-navy);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-eco-green);display:inline-block}.privacy-section h3{font-size:1.15rem;color:var(--color-deep-navy);margin-top:2rem;margin-bottom:1rem}.privacy-section h4{font-size:1rem;color:var(--color-deep-navy);margin-top:1.5rem;margin-bottom:.75rem}.privacy-section p{color:var(--color-deep-navy);opacity:.85;line-height:1.8;margin-bottom:1rem}.privacy-section ul{list-style:none;padding:0;margin:1rem 0}.privacy-section ul li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--color-deep-navy);opacity:.85;line-height:1.7}.privacy-section ul li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--color-eco-green);border-radius:50%}.privacy-section ul ul{margin-top:.5rem;margin-left:.5rem}.privacy-section ul ul li:before{width:4px;height:4px;background:var(--color-earth)}.privacy-section a{color:var(--color-eco-green);text-decoration:none;font-weight:500;transition:color .2s ease}.privacy-section a:hover{color:var(--color-deep-navy);text-decoration:underline}.data-types-list li{padding:1rem 1rem 1rem 2rem;background:#1e88e508;border-radius:var(--radius-md);margin-bottom:.75rem}.data-types-list li strong{color:var(--color-deep-navy)}.purposes-table{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.purpose-item{padding:1.25rem;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-eco-green)}.purpose-item h4{margin-top:0;margin-bottom:.75rem;color:var(--color-deep-navy)}.purpose-item p{margin-bottom:.5rem;font-size:.9rem}.purpose-item p:last-child{margin-bottom:0}.legal-rights-list li{padding:1rem 1rem 1rem 2rem;background:#64b5f60d;border-radius:var(--radius-md);margin-bottom:.75rem}.glossary-list li{padding:1rem 1rem 1rem 2rem;background:#f4a2610d;border-radius:var(--radius-md);margin-bottom:.75rem}.privacy-updated{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.08);text-align:center}.privacy-updated p{color:var(--color-deep-navy);opacity:.6;font-size:.9rem;font-style:italic}@media(max-width:768px){.privacy-toc{padding:1rem}.toc-item{padding:.875rem 1rem}.toc-title{font-size:.875rem}.privacy-section h2{font-size:1.25rem}.privacy-section h3{font-size:1.05rem}.purpose-item,.data-types-list li,.legal-rights-list li,.glossary-list li{padding:1rem}}.dark-mode .privacy-intro{border-bottom-color:#ffffff1a}.dark-mode .privacy-toc{background:#ffffff08;box-shadow:none;border:1px solid rgba(255,255,255,.08)}.dark-mode .toc-item{border-color:#ffffff14}.dark-mode .toc-item:hover{background:#1e88e51a}.dark-mode .toc-title{color:var(--color-white)}.dark-mode .privacy-section{border-bottom-color:#ffffff14}.dark-mode .privacy-section h2,.dark-mode .privacy-section h3,.dark-mode .privacy-section h4{color:var(--color-white)}.dark-mode .privacy-section p,.dark-mode .privacy-section ul li{color:var(--color-white);opacity:.85}.dark-mode .data-types-list li,.dark-mode .legal-rights-list li,.dark-mode .glossary-list li{background:#ffffff08}.dark-mode .data-types-list li strong,.dark-mode .legal-rights-list li strong,.dark-mode .glossary-list li strong{color:var(--color-white)}.dark-mode .purpose-item{background:#ffffff08;box-shadow:none}.dark-mode .purpose-item h4{color:var(--color-white)}.dark-mode .privacy-updated{border-top-color:#ffffff14}.dark-mode .privacy-updated p{color:var(--color-white)}.slot-picker{margin:1rem 0}.slot-picker--loading,.slot-picker--error,.slot-picker--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:#f9fafb;border-radius:0;text-align:center}.slot-picker__spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--color-gold, #c9a227);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.slot-picker--error{background:#fef2f2;color:#dc2626}.slot-picker__step{margin-bottom:1.5rem}.slot-picker__step-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.slot-picker__step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-gold, #c9a227);color:#fff;font-weight:700;font-size:.875rem;border-radius:50%}.slot-picker__step-header h3{font-size:1rem;font-weight:600;color:var(--color-text, #1a1a2e);margin:0}.slot-picker__selected-date{margin-left:auto;font-size:.875rem;color:var(--color-gold, #c9a227);font-weight:500}.slot-picker__calendar-wrapper{display:flex;align-items:center;gap:1rem;position:relative}.slot-picker__calendar-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-gold, #c9a227);color:#fff;border-radius:0;flex-shrink:0}.slot-picker__date-input{flex:1;max-width:200px;padding:.875rem 1rem;font-size:1rem;font-family:var(--font-primary, inherit);border:2px solid #e5e7eb;border-radius:0;background:#fff;color:var(--color-text, #1a1a2e);cursor:pointer;transition:all .2s ease}.slot-picker__date-input:hover{border-color:var(--color-gold, #c9a227)}.slot-picker__date-input:focus{outline:none;border-color:var(--color-gold, #c9a227);box-shadow:0 0 0 3px #c9a22726}.slot-picker__date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}.slot-picker__date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.slot-picker__date-display{font-size:.95rem;font-weight:500;color:var(--color-gold, #c9a227);white-space:nowrap}.slot-picker__date-warning{margin-top:.75rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:0;color:#dc2626;font-size:.875rem}.slot-picker__times{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.slot-picker__no-slots{grid-column:1 / -1;text-align:center;padding:2rem;color:#6b7280;background:#f9fafb;border-radius:0}.slot-picker__time-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:0;cursor:pointer;transition:all .2s ease;position:relative}.slot-picker__time-btn:hover:not(:disabled){border-color:var(--color-gold, #c9a227);box-shadow:0 2px 8px #00000014}.slot-picker__time-btn--selected{background:#c9a2271a;border-color:var(--color-gold, #c9a227)}.slot-picker__time-btn--full{opacity:.5;cursor:not-allowed;background:#f9fafb}.slot-picker__time-btn--low{background:#fbbf2414;border-color:#fbbf24}.slot-picker__time-range{font-size:1rem;font-weight:600;color:var(--color-text, #1a1a2e)}.slot-picker__time-availability{font-size:.75rem;color:#6b7280;margin-top:.25rem}.slot-picker__time-availability.low{color:#d97706;font-weight:600}.slot-picker__time-availability.full{color:#dc2626;font-weight:600}.slot-picker__time-check{position:absolute;top:.5rem;right:.5rem;color:var(--color-gold, #c9a227)}.slot-picker__toggle-btn{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;background:transparent;border:2px dashed #d1d5db;border-radius:0;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.slot-picker__toggle-btn:hover{border-color:var(--color-gold, #c9a227);color:var(--color-gold, #c9a227);background:#c9a2270d}.slot-picker__toggle-btn svg{flex-shrink:0}.slot-picker__summary{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#8baf9b26;border:1px solid var(--color-eco-green, #8baf9b);border-radius:0;color:var(--color-text, #1a1a2e)}.slot-picker__summary svg{color:var(--color-eco-green, #8baf9b);flex-shrink:0}.slot-picker__summary strong{color:var(--color-gold, #c9a227)}@media(min-width:1024px){.slot-picker{margin:.5rem 0}.slot-picker--loading,.slot-picker--error,.slot-picker--empty{padding:2rem 1.5rem}.slot-picker__step{margin-bottom:1rem}.slot-picker__step-header{gap:.5rem;margin-bottom:.75rem}.slot-picker__step-number{width:24px;height:24px;font-size:.75rem}.slot-picker__step-header h3{font-size:.9rem}.slot-picker__date-input{padding:.625rem .875rem;font-size:.9rem}.slot-picker__date-display{font-size:.85rem}.slot-picker__times{grid-template-columns:1fr 1fr;gap:.5rem}.slot-picker__time-btn{padding:.625rem .5rem}.slot-picker__time-range{font-size:.85rem}.slot-picker__time-availability{font-size:.7rem}.slot-picker__summary{padding:.75rem 1rem;font-size:.875rem}.slot-picker__summary svg{width:16px;height:16px}}@media(min-width:1280px){.slot-picker__times{gap:.625rem}.slot-picker__time-btn{padding:.75rem}.slot-picker__time-range{font-size:.9rem}}@media(max-width:768px){.slot-picker__calendar-wrapper{flex-wrap:wrap}.slot-picker__date-input{max-width:none;width:100%}.slot-picker__date-display{width:100%;margin-top:.5rem}.slot-picker__times{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.slot-picker__time-btn{padding:.75rem}.slot-picker__time-range{font-size:.875rem}.slot-picker__step-header{flex-wrap:wrap}.slot-picker__selected-date{margin-left:0;width:100%;padding-left:2.25rem}}@media(max-width:480px){.slot-picker__times{grid-template-columns:1fr 1fr}.slot-picker__calendar-icon{width:40px;height:40px}}.dark-mode .slot-picker__date-input{background:#2d2d44;border-color:#3d3d54;color:#fff}.dark-mode .slot-picker__date-input:hover{border-color:var(--color-gold, #c9a227)}.dark-mode .slot-picker__date-input:focus{border-color:var(--color-gold, #c9a227);box-shadow:0 0 0 3px #c9a22733}.dark-mode .slot-picker__date-input::-webkit-calendar-picker-indicator{filter:invert(1)}.dark-mode .slot-picker__date-warning{background:#ef44441a;border-color:#ef4444}.dark-mode .slot-picker__time-btn{background:#2d2d44;border-color:#3d3d54}.dark-mode .slot-picker__time-btn:hover:not(:disabled){border-color:var(--color-gold, #c9a227)}.dark-mode .slot-picker__time-btn--selected{background:#c9a22733}.dark-mode .slot-picker__time-range{color:#fff}.dark-mode .slot-picker__scroll-btn{background:#2d2d44;border-color:#3d3d54;color:#9ca3af}.dark-mode .slot-picker__scroll-btn:hover{background:#3d3d54;color:var(--color-gold, #c9a227)}.dark-mode .slot-picker--loading,.dark-mode .slot-picker--empty{background:#2d2d44;color:#9ca3af}.dark-mode .slot-picker__no-slots{background:#1a1a2e;color:#9ca3af}.dark-mode .slot-picker__summary{background:#8baf9b1a;color:#fff}.dark-mode .slot-picker__step-header h3{color:#fff}.dark-mode .slot-picker__toggle-btn{border-color:#4b5563;color:#9ca3af}.dark-mode .slot-picker__toggle-btn:hover{border-color:var(--color-gold, #c9a227);color:var(--color-gold, #c9a227);background:#c9a2271a}.booking-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.booking-overlay__content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 2rem;max-width:400px}.booking-overlay__logo{width:180px;height:auto;margin-bottom:2rem}.booking-overlay__logo img{width:100%;height:auto;object-fit:contain}.booking-overlay__status{margin-bottom:1.5rem}.booking-overlay__spinner{width:60px;height:60px}.booking-overlay__spinner svg{width:100%;height:100%;animation:rotate 1.5s linear infinite}.booking-overlay__spinner circle{stroke:var(--color-eco-green, #8baf9b);stroke-linecap:round;stroke-dasharray:90,150;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.booking-overlay__check{width:70px;height:70px}.booking-overlay__check svg{width:100%;height:100%}.booking-overlay__check circle{stroke:#10b981;stroke-width:2;fill:#10b9811a}.booking-overlay__check path{stroke:#10b981;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.booking-overlay__error{width:70px;height:70px}.booking-overlay__error svg{width:100%;height:100%}.booking-overlay__error circle{stroke:#ef4444;stroke-width:2;fill:#ef44441a}.booking-overlay__error path{stroke:#ef4444;stroke-width:3;stroke-linecap:round}.booking-overlay__title{font-size:1.5rem;font-weight:600;color:var(--color-deep-navy, #0D406E);margin:0 0 .5rem}.booking-overlay__subtitle{font-size:1rem;color:#6b7280;margin:0;line-height:1.5}.booking-overlay__dots{display:flex;gap:.5rem;margin-top:1.5rem}.booking-overlay__dot{width:10px;height:10px;background:var(--color-eco-green, #8baf9b);border-radius:50%}.booking-overlay__email-notice{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1.25rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#059669;font-size:.9rem;font-weight:500}.booking-overlay__email-notice svg{flex-shrink:0}@media(max-width:480px){.booking-overlay__content{padding:2rem 1.5rem}.booking-overlay__logo{width:140px}.booking-overlay__title{font-size:1.25rem}.booking-overlay__subtitle{font-size:.9rem}.booking-overlay__spinner,.booking-overlay__check,.booking-overlay__error{width:50px;height:50px}}.dark-mode .booking-overlay{background:#0f1419f2}.dark-mode .booking-overlay__title{color:#f3f4f6}.dark-mode .booking-overlay__subtitle{color:#9ca3af}.page-hero--compact{padding:9.5rem 1rem 2rem!important;min-height:auto!important}.page-hero--compact .page-hero-content{padding:0;gap:.5rem}.page-hero--compact h1{margin-bottom:.25rem}.page-hero--compact h1:after{display:none}.page-hero--compact .page-description{max-width:600px;margin:0 auto}.collection-form-section{padding:1.5rem 1rem;background:#fff}.collection-form-container{max-width:1400px;margin:0 auto}.collection-form-grid{display:grid;grid-template-columns:1fr;gap:2rem}.collection-form-column{display:flex;flex-direction:column;gap:1rem;background:var(--color-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.column-title{font-size:1.25rem;color:var(--color-deep-navy);margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-eco-green)}.form-label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.9rem;color:var(--color-deep-navy)}.form-label .required{color:#ef4444}.form-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}.info-box{padding:1rem;background:#8baf9b1a;border-radius:var(--radius-md);border:1px solid var(--color-eco-green);margin-top:auto}.info-box h4{margin:0 0 .5rem;color:var(--color-eco-green);font-size:.95rem}.info-box ul{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6}.info-box li{margin-bottom:.25rem}.submit-btn{width:100%;justify-content:center;padding:1rem!important;font-size:1rem!important;margin-top:.5rem}.address-search-wrapper{margin-bottom:.5rem}.address-search-wrapper .search-input-wrapper{width:100%}.address-search-wrapper .input-field{width:100%;position:relative;border-bottom:none!important;margin:0!important}.address-search-wrapper .input-field input{width:100%;height:auto!important;padding:.75rem 1rem!important;border:2px solid var(--color-warm-grey)!important;border-radius:var(--radius-md)!important;font-size:.95rem!important;background:var(--color-white)!important;color:var(--color-deep-navy)!important}.address-search-wrapper .input-field input::placeholder{color:#9ca3af;opacity:1}.address-search-wrapper .input-field input:focus{border-color:var(--color-eco-green)!important;box-shadow:0 0 0 3px #8baf9b26!important;outline:none!important}.address-search-wrapper .input-field label{display:none!important}.address-search-wrapper .address-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:#fff;border:1px solid var(--color-warm-grey);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:250px;overflow-y:auto}.selected-address{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#8baf9b1a;border:1px solid var(--color-eco-green);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-deep-navy);margin-top:.5rem}.selected-address svg{color:var(--color-eco-green);flex-shrink:0;margin-top:2px}@media(min-width:768px){.page-hero--compact{padding:9.5rem 1.5rem 2rem!important}.collection-form-section{padding:1.5rem}.form-grid-2{grid-template-columns:1fr 1fr}.collection-form-column{padding:2rem}}@media(min-width:1024px){.page-hero--compact{padding:8.5rem 2rem 1.5rem!important}.collection-form-section{padding:1rem 2rem 1.5rem}.collection-form-grid{grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.collection-form-column{padding:1.5rem;gap:.875rem}.column-title{font-size:1.1rem;margin-bottom:.25rem}.form-label{font-size:.85rem;margin-bottom:.25rem}.collection-form-column input,.collection-form-column textarea{padding:.625rem .875rem!important;font-size:.9rem!important}.info-box{padding:.875rem}.info-box h4{font-size:.9rem}.info-box ul{font-size:.8rem}.submit-btn{padding:.875rem!important;font-size:.95rem!important}}@media(min-width:1280px){.collection-form-grid{gap:2.5rem}.collection-form-column{padding:2rem;gap:1rem}.column-title{font-size:1.25rem}.form-label{font-size:.9rem}.collection-form-column input,.collection-form-column textarea{padding:.75rem 1rem!important;font-size:.95rem!important}.info-box{padding:1rem}.submit-btn{padding:1rem!important;font-size:1rem!important}}.booking-hero{background:#fff}.booking-hero:before{background:radial-gradient(circle at 30% 40%,rgba(30,136,229,.2) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(244,162,97,.15) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(100,181,246,.12) 0%,transparent 60%)}.booking-form-section{width:100%;padding:3rem 0;background:#fff}.booking-form-container{max-width:1400px;margin:0 auto;padding:0 1rem}.booking-grid{display:grid;grid-template-columns:1fr;gap:2rem}.booking-form-wrapper{background:var(--color-white);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg)}.booking-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-section h3{font-size:1.35rem;color:var(--color-deep-navy);margin:0;padding-bottom:.75rem;border-bottom:2px solid rgba(30,136,229,.2);position:relative}.form-section h3:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--gradient-primary);border-radius:0}.form-row{display:grid;grid-template-columns:1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:var(--color-deep-navy)}.form-group input,.form-group select,.form-group textarea{padding:1rem;border:2px solid var(--color-warm-grey);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-primary);color:var(--color-deep-navy);transition:all .3s ease;background:var(--color-white)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-eco-green);box-shadow:0 0 0 4px #1e88e526;background:linear-gradient(135deg,var(--color-white) 0%,rgba(30,136,229,.02) 100%)}.form-group textarea{resize:vertical;min-height:100px}.services-grid{display:grid;grid-template-columns:1fr;gap:1rem}.service-checkbox{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-off-white) 0%,rgba(30,136,229,.03) 100%);border:2px solid rgba(30,136,229,.2);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.service-checkbox:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(30,136,229,.1) 0%,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.service-checkbox:hover{border-color:var(--color-eco-green);background:linear-gradient(135deg,var(--color-white) 0%,rgba(30,136,229,.08) 100%);transform:translateY(-2px);box-shadow:0 4px 12px #1e88e526}.service-checkbox:hover:before{opacity:1}.service-checkbox.selected{background:var(--gradient-primary);border-color:var(--color-eco-green);color:var(--color-white);box-shadow:0 6px 20px #1e88e54d;transform:translateY(-2px)}.checkbox-icon{width:24px;height:24px;border:2px solid currentColor;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.service-checkbox.selected .checkbox-icon{background:var(--color-white);border-color:var(--color-white);color:var(--color-eco-green)}.service-checkbox span{font-size:.95rem;font-weight:500}.booking-info-wrapper{display:flex;flex-direction:column;gap:2rem}.booking-info-card{background:linear-gradient(135deg,var(--color-white) 0%,rgba(30,136,229,.03) 100%);border-radius:var(--radius-xl);padding:2rem 1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1.5rem;border:1px solid rgba(30,136,229,.1);transition:all .3s ease}.booking-info-card:hover{box-shadow:var(--shadow-colored);border-color:#1e88e533;transform:translateY(-4px)}.info-icon{width:64px;height:64px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:var(--color-white);border-radius:50%;box-shadow:0 8px 24px #1e88e540;transition:all .3s ease}.info-icon svg{width:40px;height:40px}.booking-info-card:hover .info-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 32px #1e88e559}.booking-info-card h3{font-size:1.5rem;color:var(--color-deep-navy);margin:0;text-align:center}.info-highlight{font-size:1.25rem;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin:0;line-height:1.6}.info-details{display:flex;flex-direction:column;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--color-warm-grey)}.info-item{display:flex;gap:1rem;align-items:flex-start}.info-item svg{color:var(--color-eco-green);flex-shrink:0;margin-top:.25rem}.info-item strong{display:block;font-size:1rem;color:var(--color-deep-navy);margin-bottom:.25rem}.info-item p{font-size:.95rem;color:var(--color-deep-navy);opacity:.8;margin:0;line-height:1.6}.expectations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.expectations-list li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--color-deep-navy)}.expectations-list svg{color:var(--color-eco-green);flex-shrink:0}.btn-large{padding:1.1rem 2rem;font-size:1rem;font-weight:600;width:100%;justify-content:center;margin-top:1rem}.btn-full{width:100%;justify-content:center}.booking-info-wrapper{order:-1}@media(min-width:768px){.booking-form-section{padding:3rem 0}.booking-form-container{padding:0 1.5rem}.booking-form-wrapper{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:repeat(2,1fr)}.booking-info-card{padding:2rem 1.5rem}}@media(min-width:1024px){.booking-form-section{padding:4rem 0}.booking-form-container{padding:0 2rem}.booking-grid{grid-template-columns:1.5fr 1fr;gap:3rem}.booking-form-wrapper{padding:3rem}.form-section h3{font-size:1.5rem}.booking-info-wrapper{order:0}.booking-info-card{padding:2.5rem}.booking-info-card h3{font-size:1.75rem}.btn-large{padding:1.25rem 3rem;font-size:1.1rem}.info-icon{width:80px;height:80px}.info-icon svg{width:48px;height:48px}}.invoice-management{padding:1.5rem}.invoice-tabs{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:0}.invoice-tabs .tabs-left{display:flex;gap:.5rem}.btn-refresh{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;font-size:.813rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s;margin-bottom:.5rem}.btn-refresh:hover{background:#e2e8f0;color:#1e293b}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-refresh svg.spinning{animation:spin 1s linear infinite}.tab-btn{padding:.75rem 1.25rem;background:none;border:none;font-size:.938rem;font-weight:500;color:#6b7280;cursor:pointer;position:relative;transition:color .2s}.tab-btn:hover{color:#374151}.tab-btn.active{color:#1a1a2e;font-weight:600}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#1a1a2e}.invoice-content{background:#fff;border:1px solid #e5e7eb;border-radius:0;min-height:400px}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.invoice-table th{background:#f9fafb;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.invoice-table td{font-size:.938rem}.deposit-badge{display:inline-block;padding:.25rem .5rem;background:#dcfce7;color:#166534;font-size:.813rem;font-weight:600;border-radius:0}.amount-due{color:#dc2626}.amount-paid{color:#16a34a}.status-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:0;text-transform:capitalize}.status-badge.status-pending_payment{background:#fef3c7;color:#92400e}.status-badge.status-paid{background:#dcfce7;color:#166534}.status-badge.status-failed{background:#fee2e2;color:#991b1b}.status-badge.status-draft{background:#f3f4f6;color:#4b5563}.status-badge.status-confirmed{background:#dbeafe;color:#1e40af}.status-badge.status-pending{background:#fef3c7;color:#92400e}.status-badge.status-completed{background:#dcfce7;color:#166534}.status-badge.status-cancelled{background:#fee2e2;color:#991b1b}.deposit-badge.no-deposit{background:#f3f4f6;color:#6b7280}.invoice-status-info{display:flex;flex-direction:column;gap:.25rem}.invoice-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;border-radius:0}.invoice-badge.no-invoice{background:#fef3c7;color:#92400e}.invoice-badge.invoice-pending_payment{background:#dbeafe;color:#1e40af}.invoice-badge.invoice-paid{background:#dcfce7;color:#166534}.invoice-number{font-size:.7rem;color:#6b7280;font-family:monospace}.invoice-table tbody tr.has-invoice{background:#f8fafc}.invoice-table tbody tr.has-invoice:hover{background:#f1f5f9}.btn-view-existing{padding:.5rem 1rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:0}.btn-view-existing:hover{background:#e2e8f0;color:#1e293b}.btn-create-invoice{padding:.5rem 1rem;background:#0d406e;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.btn-create-invoice:hover{background:#0a3558}.btn-charge{padding:.5rem 1rem;background:#16a34a;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.btn-charge:hover:not(:disabled){background:#15803d}.btn-charge:disabled{opacity:.5;cursor:not-allowed}.invoice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419cc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto;overscroll-behavior:contain;animation:modalFadeIn .25s ease}.invoice-modal{background:#fff;width:100%;max-width:640px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;border-radius:0;box-shadow:0 25px 50px -12px #00000059,0 10px 30px -5px #0003;margin:auto;overscroll-behavior:contain;position:relative;animation:modalSlideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:linear-gradient(to bottom,#fff,#fafbfc)}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1a1a2e}.close-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;border-radius:0;transition:background .2s}.close-btn:hover{color:#374151;background:#f3f4f6}.modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:0}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0;border-radius:0}.customer-summary{background:#f9fafb;padding:1rem;margin-bottom:1.5rem;border:1px solid #e5e7eb;border-radius:0}.customer-summary h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .5rem}.customer-summary p{margin:.25rem 0;font-size:.938rem;color:#374151}.line-items-section{margin-bottom:1.5rem}.line-items-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.line-item-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:center}.line-item-row .description-input{flex:2;min-width:0}.line-item-row input{padding:.625rem;border:1px solid #d1d5db;font-size:.875rem;border-radius:0}.line-item-row input:focus{outline:none;border-color:#3b82f6}.qty-input{width:60px;text-align:center}.price-input-wrapper{position:relative;display:flex;align-items:center;width:100px}.currency-symbol{position:absolute;left:.625rem;color:#6b7280;font-size:.875rem;pointer-events:none}.price-input{width:100%;padding-left:1.5rem!important}.line-total{width:80px;font-weight:600;color:#374151;text-align:right;flex-shrink:0}.remove-item-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ef4444;cursor:pointer;padding:0;flex-shrink:0;border-radius:0;transition:background .2s}.remove-item-btn:hover{color:#dc2626;background:#fee2e2}.line-item-row .remove-placeholder{width:32px;flex-shrink:0}.add-item-btn{background:none;border:1px dashed #d1d5db;color:#6b7280;padding:.625rem;width:100%;font-size:.875rem;cursor:pointer;transition:all .2s;margin-top:.5rem;border-radius:0}.add-item-btn:hover{border-color:#9ca3af;color:#374151;background:#f9fafb}.discount-section,.notes-section{margin-bottom:1.5rem}.discount-section label,.notes-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.discount-section input,.notes-section textarea{padding:.625rem;border:1px solid #d1d5db;font-size:.875rem;border-radius:0}.discount-section input:focus,.notes-section textarea:focus{outline:none;border-color:#3b82f6}.discount-section input{width:120px}.notes-section textarea{width:100%;resize:vertical;font-family:inherit;min-height:60px}.invoice-totals{background:#f9fafb;padding:1rem;border:1px solid #e5e7eb;border-radius:0}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.938rem}.total-row.total{border-top:1px solid #e5e7eb;padding-top:.75rem;margin-top:.5rem;font-weight:600}.total-row.remainder{border-top:2px solid #1a1a2e;padding-top:.75rem;margin-top:.5rem;font-weight:700}.remainder-amount{color:#dc2626;font-size:1.125rem}.invoice-management .btn-secondary{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;font-size:.938rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:0}.invoice-management .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.invoice-management .btn-primary{padding:.625rem 1.25rem;background:#0d406e;color:#fff;border:none;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.invoice-management .btn-primary:hover:not(:disabled){background:#0a3558}.invoice-management .btn-primary:disabled,.invoice-management .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.invoice-management{padding:1rem}.invoice-tabs{flex-wrap:wrap}.tab-btn{padding:.5rem 1rem;font-size:.875rem}.invoice-table{display:block;overflow-x:auto}.line-item-row{flex-wrap:wrap;gap:.5rem;padding:1rem;background:#f9fafb;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:0;position:relative}.line-item-row .description-input{flex:1 1 100%}.line-item-row .qty-input,.line-item-row .price-input-wrapper{width:calc(33% - .5rem)}.line-item-row .line-total{width:auto;flex:1}.line-item-row .remove-item-btn{position:absolute;top:.5rem;right:.5rem}.invoice-modal{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:0}}.approval-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:0;text-transform:capitalize}.approval-badge.approved{background:#dcfce7;color:#166534}.approval-badge.disputed{background:#fee2e2;color:#991b1b}.approval-badge.pending{background:#fef3c7;color:#92400e}.approval-badge.expired{background:#dbeafe;color:#1e40af}.approval-badge.not-sent{background:#f3f4f6;color:#6b7280}.btn-send-approval{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0;white-space:nowrap}.btn-send-approval:hover:not(:disabled){background:#2563eb}.btn-send-approval:disabled{opacity:.6;cursor:not-allowed}.waiting-approval{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.btn-charge.disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}.countdown-timer{font-size:.75rem;color:#6b7280;font-weight:500;font-variant-numeric:tabular-nums}.dispute-info{display:flex;align-items:center;gap:.5rem}.dispute-label{font-size:.75rem;color:#991b1b;font-weight:500}.btn-view-dispute{padding:.375rem;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-size:.75rem;font-weight:500;cursor:pointer;border-radius:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-view-dispute:hover{background:#fee2e2;border-color:#fca5a5}.btn-edit-resend{padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0;white-space:nowrap}.btn-edit-resend:hover:not(:disabled){background:#d97706}.btn-edit-resend:disabled{opacity:.6;cursor:not-allowed}.edit-modal{max-width:640px}.edit-modal .modal-body{padding:1.25rem 1.5rem}.edit-modal .modal-header.edit-header{background:linear-gradient(135deg,#1a1a2e,#2d2d4a);padding:1.25rem 1.5rem;border-bottom:none}.edit-modal .header-content{display:flex;align-items:center;gap:1rem}.edit-modal .modal-header h3{color:#fff;margin:0}.invoice-number-badge{display:inline-block;padding:.25rem .75rem;background:#ffffff26;color:#ffffffe6;font-size:.75rem;font-weight:500;border-radius:0;font-family:monospace}.edit-modal .close-btn{color:#ffffffb3}.edit-modal .close-btn:hover{color:#fff;background:#ffffff1a}.edit-customer-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;margin-bottom:1rem}.customer-avatar{width:44px;height:44px;background:linear-gradient(135deg,#1a1a2e,#3b3b5c);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:600;flex-shrink:0}.customer-details{display:flex;flex-direction:column;gap:.125rem}.customer-name{font-weight:600;color:#1e293b;font-size:.938rem}.customer-email{font-size:.813rem;color:#64748b}.dispute-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:0;margin-bottom:1.25rem;overflow:hidden}.dispute-alert-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fee2e2;color:#991b1b;font-weight:600;font-size:.813rem}.dispute-alert-header svg{color:#dc2626}.dispute-alert-body{padding:1rem}.disputed-items-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.disputed-item-tag{display:inline-block;padding:.25rem .625rem;background:#fff;border:1px solid #fca5a5;color:#b91c1c;font-size:.75rem;font-weight:500;border-radius:0}.dispute-reason-text{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid #fecaca;color:#7f1d1d;font-size:.813rem;font-style:italic}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-header h4{margin:0;font-size:.875rem;font-weight:600;color:#374151}.line-items-header{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem}.line-items-header span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.header-description{flex:2;min-width:0}.header-qty{width:56px;text-align:center}.header-price{width:90px}.header-total{width:70px;text-align:right}.header-action{width:32px}.edit-modal .line-item-row{display:flex;gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.edit-modal .line-item-row:last-of-type{border-bottom:none}.description-cell{flex:2;min-width:0;position:relative}.description-cell .description-input{width:100%}.disputed-tag{position:absolute;top:-6px;right:4px;padding:.125rem .375rem;background:#ef4444;color:#fff;font-size:.625rem;font-weight:600;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.edit-modal .line-item-row.disputed-item{background:#fff5f5;margin:.25rem -.5rem;padding:.625rem .5rem;border-radius:0;border:1px solid #fed7d7}.edit-modal .qty-input{width:56px}.edit-modal .price-input-wrapper{width:90px}.edit-modal .line-total{width:70px;font-size:.875rem}.edit-modal .remove-item-btn{width:28px;height:28px}.edit-modal .remove-placeholder{width:28px}.edit-modal .add-item-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;padding:.75rem;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-weight:500}.edit-modal .add-item-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.extras-row{display:flex;gap:1rem;margin:1.25rem 0}.extras-row .discount-section{flex:0 0 120px;margin-bottom:0}.extras-row .notes-section{flex:1;margin-bottom:0}.discount-input-wrapper{position:relative;display:flex;align-items:center}.discount-input-wrapper .currency-symbol{position:absolute;left:.625rem;color:#6b7280;font-size:.875rem;pointer-events:none}.discount-input-wrapper input{width:100%;padding:.625rem .625rem .625rem 1.5rem;border:1px solid #d1d5db;font-size:.875rem;border-radius:0}.extras-row .notes-section input{width:100%;padding:.625rem;border:1px solid #d1d5db;font-size:.875rem;border-radius:0}.extras-row label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:.375rem}.extras-row input:focus,.discount-input-wrapper input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.edit-modal .line-item-row input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b1a}.edit-modal .invoice-totals.edit-totals{background:#fff;border:1px solid #e2e8f0;border-radius:0;padding:0;overflow:hidden}.edit-totals .totals-grid{padding:1rem 1.25rem}.edit-totals .total-row{padding:.375rem 0}.edit-totals .total-row.total{border-top:1px solid #e5e7eb;padding-top:.625rem;margin-top:.375rem}.edit-totals .remainder-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#1a1a2e,#2d2d4a);color:#fff;font-weight:600}.edit-totals .remainder-row span:first-child{font-size:.875rem}.edit-totals .remainder-row .remainder-amount{font-size:1.25rem;color:#fbbf24}.edit-modal .modal-footer.edit-footer{background:#f8fafc;border-top:1px solid #e2e8f0}.edit-footer .btn-resend{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);padding:.75rem 1.5rem}.edit-footer .btn-resend:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.edit-footer .btn-resend svg{flex-shrink:0}.spinner-icon{animation:spin 1s linear infinite}.btn-resend{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-resend:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}@media(max-width:640px){.extras-row{flex-direction:column;gap:1rem}.extras-row .discount-section{flex:none;width:100%}.line-items-header{display:none}.edit-modal .line-item-row{flex-wrap:wrap;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;margin-bottom:.5rem}.description-cell{flex:1 1 100%;margin-bottom:.5rem}.edit-modal .qty-input,.edit-modal .price-input-wrapper,.edit-modal .line-total{flex:1;width:auto}}.dark-mode .invoice-content{background:#1f2937;border-color:#374151}.dark-mode .invoice-tabs{border-color:#374151}.dark-mode .tab-btn{color:#9ca3af}.dark-mode .tab-btn:hover{color:#d1d5db}.dark-mode .tab-btn.active{color:#f9fafb}.dark-mode .tab-btn.active:after{background:#f9fafb}.dark-mode .invoice-table th{background:#374151;color:#9ca3af}.dark-mode .invoice-table td{border-color:#374151}.dark-mode .invoice-modal{background:#1f2937}.dark-mode .modal-header{border-color:#374151}.dark-mode .modal-header h3{color:#f9fafb}.dark-mode .modal-footer,.dark-mode .customer-summary,.dark-mode .invoice-totals{background:#111827;border-color:#374151}.dark-mode .total-row.total,.dark-mode .total-row.remainder{border-color:#374151}.paid-invoice-actions{display:flex;gap:.5rem;align-items:center}.btn-view-invoice,.btn-download-pdf{padding:.5rem 1rem;font-size:.813rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;border-radius:0}.btn-view-invoice{background:#1a1a2e;color:#fff;border:none}.btn-view-invoice:hover{background:#2d2d4a}.btn-download-pdf{background:#fff;color:#1a1a2e;border:1px solid #1a1a2e}.btn-download-pdf:hover{background:#f5f5f5}.view-modal{max-width:600px;border-radius:0}.view-modal .modal-header.view-header{background:#1a1a2e;padding:1.25rem 1.5rem;border-bottom:none;border-radius:0}.view-modal .modal-header h3{color:#fff;margin:0}.view-modal .header-content{display:flex;align-items:center;gap:1rem}.view-modal .close-btn{color:#ffffffb3}.view-modal .close-btn:hover{color:#fff;background:#ffffff1a}.view-body{padding:1.25rem 1.5rem}.invoice-status-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border-radius:0;font-weight:600;font-size:.938rem;margin-bottom:1.25rem}.invoice-status-banner.paid{background:#dcfce7;color:#166534}.invoice-status-banner.pending_payment{background:#fef3c7;color:#92400e}.invoice-status-banner svg{flex-shrink:0}.view-section{margin-bottom:1.25rem}.view-section h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem}.view-customer-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0}.view-customer-card .customer-avatar{width:48px;height:48px;font-size:1.25rem}.view-customer-card .customer-details{gap:.25rem}.view-customer-card .customer-phone{font-size:.813rem;color:#64748b}.view-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;color:#6b7280;font-weight:500}.info-value{font-size:.938rem;color:#1e293b;font-weight:500}.view-line-items{background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;overflow:hidden}.view-line-items .line-items-header{display:grid;grid-template-columns:1fr 50px 80px 80px;gap:.5rem;padding:.75rem 1rem;background:#f3f4f6;border-bottom:1px solid #e5e7eb;margin-bottom:0}.view-line-items .line-items-header span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.line-item-view{display:grid;grid-template-columns:1fr 50px 80px 80px;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.line-item-view:last-child{border-bottom:none}.item-description{color:#374151;font-weight:500}.item-qty{text-align:center;color:#6b7280}.item-price{text-align:right;color:#6b7280}.item-total{text-align:right;font-weight:600;color:#1e293b}.view-totals{background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;padding:1rem;margin-top:1rem}.view-totals .total-row{padding:.375rem 0}.view-totals .total-row.total,.view-totals .total-row.remainder{margin-top:.5rem;padding-top:.625rem}.view-notes{margin:0;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;font-size:.875rem;color:#4b5563;font-style:italic}.view-footer{background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0}.view-footer .btn-secondary,.view-footer .btn-primary{border-radius:0}.dark-mode .view-modal .modal-body{background:#1f2937}.dark-mode .view-customer-card{background:#111827;border-color:#374151}.dark-mode .view-customer-card .customer-name{color:#f9fafb}.dark-mode .invoice-status-banner.paid{background:linear-gradient(135deg,#065f46,#047857);color:#d1fae5}.dark-mode .view-line-items{background:#111827;border-color:#374151}.dark-mode .view-line-items .line-items-header{background:#1f2937;border-color:#374151}.dark-mode .line-item-view{border-color:#374151}.dark-mode .item-description,.dark-mode .item-total{color:#f9fafb}.dark-mode .view-totals{background:#111827;border-color:#374151}.dark-mode .info-value{color:#f9fafb}.dark-mode .view-notes{background:#111827;border-color:#374151;color:#9ca3af}@media(max-width:640px){.paid-invoice-actions{flex-direction:column;gap:.375rem}.btn-view-invoice,.btn-download-pdf{width:100%;justify-content:center}.view-info-grid{grid-template-columns:1fr}.view-line-items .line-items-header,.line-item-view{grid-template-columns:1fr 40px 60px 60px;font-size:.813rem}}.refund-management{padding:1.5rem}.refund-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:0}.refund-tabs .tab-btn{padding:.75rem 1.25rem;background:none;border:none;font-size:.938rem;font-weight:500;color:#6b7280;cursor:pointer;position:relative;transition:color .2s}.refund-tabs .tab-btn:hover{color:#374151}.refund-tabs .tab-btn.active{color:#1a1a2e;font-weight:600}.refund-tabs .tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#1a1a2e}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;background:#ef4444;color:#fff;font-size:.75rem;font-weight:600;border-radius:0;margin-left:.5rem}.refund-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.refund-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1a1a2e}.btn-new-refund{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#dc2626;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.btn-new-refund:hover{background:#b91c1c}.refund-content{background:#fff;border:1px solid #e5e7eb;border-radius:0;min-height:400px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#6b7280}.loading-state .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#1a1a2e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 .5rem}.empty-state p{margin:0;font-size:.938rem}.refund-table{width:100%;border-collapse:collapse}.refund-table th,.refund-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.refund-table th{background:#f9fafb;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.refund-table td{font-size:.938rem}.customer-info{display:flex;flex-direction:column;gap:.125rem}.customer-info strong{color:#374151}.customer-info span{font-size:.813rem;color:#6b7280}.refund-amount{font-weight:600;color:#dc2626}.original-amount{font-size:.813rem;color:#6b7280;text-decoration:line-through}.refund-status{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:0;text-transform:capitalize}.refund-status.pending{background:#fef3c7;color:#92400e}.refund-status.approved{background:#dbeafe;color:#1e40af}.refund-status.processing{background:#e0e7ff;color:#3730a3}.refund-status.succeeded{background:#dcfce7;color:#166534}.refund-status.failed{background:#fee2e2;color:#991b1b}.refund-status.cancelled{background:#f3f4f6;color:#6b7280}.refund-type-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:0;background:#f3f4f6;color:#374151}.refund-type-badge.full{background:#fee2e2;color:#991b1b}.refund-type-badge.partial{background:#fef3c7;color:#92400e}.refund-type-badge.item_level{background:#dbeafe;color:#1e40af}.refund-actions{display:flex;gap:.5rem;align-items:center}.btn-process-refund{padding:.5rem 1rem;background:#16a34a;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.btn-process-refund:hover:not(:disabled){background:#15803d}.btn-process-refund:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-refund{padding:.5rem .75rem;background:#fff;color:#6b7280;border:1px solid #d1d5db;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:0}.btn-cancel-refund:hover:not(:disabled){background:#f3f4f6;color:#374151}.btn-view-refund{padding:.5rem 1rem;background:#0d406e;color:#fff;border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.btn-view-refund:hover{background:#0a3558}.refund-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419cc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto;overscroll-behavior:contain;animation:modalFadeIn .25s ease}.refund-modal{background:#fff;width:100%;max-width:640px;height:85vh;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;border-radius:0;box-shadow:0 25px 50px -12px #00000059,0 10px 30px -5px #0003;margin:auto;overscroll-behavior:contain;position:relative;animation:modalSlideUp .3s ease}.refund-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:0}.refund-modal .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.refund-modal .close-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:0;transition:all .2s}.refund-modal .close-btn:hover{color:#fff;background:#ffffff1a}.refund-modal .modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.refund-modal .modal-body::-webkit-scrollbar{width:8px}.refund-modal .modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0}.refund-modal .modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:0}.refund-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0;border-radius:0}.booking-search-section{margin-bottom:1.5rem;position:relative;z-index:100}.booking-search-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.refund-management .search-input-wrapper{position:relative;z-index:100}.refund-management .search-input-wrapper input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:0;font-size:.938rem}.refund-management .search-input-wrapper input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.refund-management .search-input-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280}.search-results{position:relative;width:100%;background:#fff;border:1px solid #d1d5db;border-radius:0;margin-top:4px;max-height:280px;overflow-y:auto;z-index:1;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a}.search-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f8fafc}.search-result-item .result-name{display:block;font-weight:600;font-size:15px;color:#1e293b;margin-bottom:4px}.search-result-item .result-details{display:block;font-size:13px;color:#64748b;line-height:1.5}.selected-booking-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:0;padding:1rem;margin-bottom:1.5rem}.selected-booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.selected-booking-header h4{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.btn-change-booking{padding:.25rem .5rem;background:none;border:1px solid #d1d5db;color:#6b7280;font-size:.75rem;cursor:pointer;border-radius:0;transition:all .2s}.btn-change-booking:hover{background:#f3f4f6;color:#374151}.booking-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.booking-detail-item{display:flex;flex-direction:column;gap:.125rem}.booking-detail-item .label{font-size:.75rem;color:#6b7280}.booking-detail-item .value{font-size:.875rem;font-weight:500;color:#1e293b}.refund-type-section{margin-bottom:1.5rem}.refund-type-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.refund-type-options{display:flex;gap:.5rem}.refund-type-option{flex:1;padding:.75rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:0;cursor:pointer;transition:all .2s;text-align:center}.refund-type-option:hover{border-color:#d1d5db}.refund-type-option.selected{border-color:#dc2626;background:#fef2f2}.refund-type-option .type-name{display:block;font-weight:600;color:#374151;margin-bottom:.25rem}.refund-type-option .type-desc{font-size:.75rem;color:#6b7280}.refund-amount-section{margin-bottom:1.5rem}.refund-amount-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.amount-input-wrapper{position:relative;display:flex;align-items:center;width:200px}.amount-input-wrapper .currency-symbol{position:absolute;left:.75rem;color:#6b7280;font-size:1rem;font-weight:500}.amount-input-wrapper input{width:100%;padding:.75rem 1rem .75rem 1.75rem;border:1px solid #d1d5db;border-radius:0;font-size:1rem;font-weight:600}.amount-input-wrapper input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.max-refund-hint{font-size:.813rem;color:#6b7280;margin-top:.375rem}.item-selection-section{margin-bottom:1.5rem}.item-selection-section h4{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.item-checkbox-list{display:flex;flex-direction:column;gap:.5rem}.item-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0;cursor:pointer;transition:all .2s}.item-checkbox:hover{background:#f3f4f6}.item-checkbox.checked{background:#fef2f2;border-color:#fca5a5}.item-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#dc2626}.item-checkbox .item-info{flex:1}.item-checkbox .item-name{font-weight:500;color:#374151}.item-checkbox .item-qty{font-size:.813rem;color:#6b7280}.item-checkbox .item-price{font-weight:600;color:#374151}.refund-reason-section{margin-bottom:1.5rem}.refund-reason-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.refund-reason-section select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:0;font-size:.938rem;background:#fff}.refund-reason-section select:focus{outline:none;border-color:#dc2626}.refund-reason-section textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:0;font-size:.938rem;font-family:inherit;min-height:80px;resize:vertical;margin-top:.75rem}.refund-reason-section textarea:focus{outline:none;border-color:#dc2626}.refund-summary{background:#0d406e;border-radius:0;padding:1rem;color:#fff}.refund-summary-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.938rem}.refund-summary-row.total{border-top:1px solid rgba(255,255,255,.2);padding-top:.75rem;margin-top:.5rem;font-weight:600}.refund-summary-row .label{color:#ffffffb3}.refund-summary-row .value{font-weight:500}.refund-summary-row.total .value{color:#fbbf24;font-size:1.125rem}.refund-management .btn-secondary{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;font-size:.938rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:0}.refund-management .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.refund-management .btn-primary{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s;border-radius:0}.refund-management .btn-primary:hover:not(:disabled){background:#b91c1c}.refund-management .btn-primary:disabled,.refund-management .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.refund-management{padding:1rem}.refund-tabs{flex-wrap:wrap}.refund-tabs .tab-btn{padding:.5rem 1rem;font-size:.875rem}.refund-header{flex-direction:column;gap:1rem;align-items:flex-start}.btn-new-refund{width:100%;justify-content:center}.refund-table{display:block;overflow-x:auto}.refund-type-options{flex-direction:column}.booking-details-grid{grid-template-columns:1fr}.refund-modal{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:0}.refund-actions{flex-direction:column;gap:.375rem}.refund-actions button{width:100%}}.dark-mode .refund-content{background:#1f2937;border-color:#374151}.dark-mode .refund-tabs{border-color:#374151}.dark-mode .refund-tabs .tab-btn{color:#9ca3af}.dark-mode .refund-tabs .tab-btn:hover{color:#d1d5db}.dark-mode .refund-tabs .tab-btn.active{color:#f9fafb}.dark-mode .refund-tabs .tab-btn.active:after{background:#f9fafb}.dark-mode .refund-table th{background:#374151;color:#9ca3af}.dark-mode .refund-table td{border-color:#374151}.dark-mode .customer-info strong{color:#f9fafb}.dark-mode .refund-modal{background:#1f2937}.dark-mode .refund-modal .modal-footer,.dark-mode .selected-booking-card{background:#111827;border-color:#374151}.dark-mode .selected-booking-header h4,.dark-mode .booking-detail-item .value{color:#f9fafb}.dark-mode .refund-type-option{background:#111827;border-color:#374151}.dark-mode .refund-type-option .type-name{color:#f9fafb}.dark-mode .refund-type-option.selected{background:#450a0a;border-color:#dc2626}.dark-mode .item-checkbox{background:#111827;border-color:#374151}.dark-mode .item-checkbox .item-name{color:#f9fafb}.dark-mode .item-checkbox.checked{background:#450a0a;border-color:#dc2626}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.admin-dashboard{--color-pending: #f59e0b;--color-confirmed: #10b981;--color-in-progress: #3b82f6;--color-completed: #8b9dc3;--color-cancelled: #ef4444}.dashboard-nav{background:var(--color-white);border-bottom:2px solid var(--color-warm-grey);position:sticky;top:64px;z-index:100;box-shadow:0 2px 8px #0000000d}.dashboard-nav-container{max-width:1800px;margin:0 auto;padding:0 2rem;display:flex;justify-content:center;gap:.5rem}@media(min-width:1400px){.dashboard-nav-container{padding:0 3rem}}.nav-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:none;background:transparent;font-family:var(--font-primary);font-size:1rem;font-weight:600;color:var(--color-deep-navy);opacity:.5;cursor:pointer;transition:all .3s ease;position:relative;border-radius:0}.nav-tab:hover{opacity:.8;background:#8baf9b14}.nav-tab.active{opacity:1;color:var(--color-eco-green);background:#8baf9b1a}.nav-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--color-eco-green);border-radius:0}.nav-tab svg{opacity:.7;flex-shrink:0}.nav-tab.active svg{opacity:1;color:var(--color-eco-green)}.nav-tab.logout-tab{margin-left:auto;color:#dc2626;opacity:.8}.nav-tab.logout-tab:hover{background:#dc262614;opacity:1;color:#dc2626}.nav-tab.logout-tab svg{opacity:.8;color:#dc2626}@media(max-width:480px){.nav-tab{padding:.875rem 1rem;font-size:.875rem;gap:.375rem}.nav-tab svg{width:18px;height:18px}}.admin-dashboard .page-hero{min-height:0;height:auto;padding:7rem 1rem 2rem;display:flex;align-items:center;justify-content:center}.admin-dashboard .page-hero h1{font-size:clamp(1.5rem,5vw,2.25rem);color:#fff;margin-bottom:.5rem}.admin-dashboard .page-hero h1:after{display:none}.admin-dashboard .page-hero p{color:#ffffffe6;font-size:.95rem;margin:0}.admin-dashboard .page-hero-content{gap:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:1rem}@media(min-width:768px){.admin-dashboard .page-hero{padding:7.5rem 1.5rem 2.5rem}.admin-dashboard .page-hero h1{font-size:2.5rem}}.dashboard-container{max-width:1800px;margin:0 auto;padding:1rem 2rem}@media(min-width:1400px){.dashboard-container{padding:1.5rem 3rem}}.dashboard-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.search-bar{position:relative;flex:1;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--color-deep-navy);opacity:.5;pointer-events:none}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1px solid var(--color-warm-grey);border-radius:0;font-size:1rem;font-family:var(--font-primary);background:var(--color-white);color:var(--color-deep-navy);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--color-eco-green);box-shadow:0 0 0 3px #8baf9b26}.search-input::placeholder{color:var(--color-deep-navy);opacity:.4}.search-clear{position:absolute;right:.75rem;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-deep-navy);opacity:.5;transition:opacity .2s}.search-clear:hover{opacity:1}.add-booking-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;white-space:nowrap}.dashboard-controls{display:flex;justify-content:space-between;align-items:stretch;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem;flex-direction:column}.view-toggle{display:flex;gap:0;background:var(--color-white);padding:4px;border-radius:0;box-shadow:0 1px 3px #00000014;width:100%;border:1px solid rgba(0,0,0,.06)}.view-toggle button{flex:1;padding:.625rem 1rem;border:none;background:transparent;border-radius:0;cursor:pointer;font-weight:600;font-size:.8rem;transition:all .2s ease;color:var(--color-deep-navy);opacity:.6}.view-toggle button:hover{opacity:1}.view-toggle button.active{background:var(--color-deep-navy);color:#fff;opacity:1;box-shadow:0 1px 3px #00000026}.filters{display:flex;gap:1rem;width:100%;flex-direction:column}.filters select{padding:.75rem 1.25rem;border:1px solid var(--color-warm-grey);border-radius:0;font-family:var(--font-primary);font-size:1rem;cursor:pointer;background:var(--color-white);color:var(--color-deep-navy)}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--color-white);padding:1rem;border-radius:0;box-shadow:0 2px 8px #0000000f;text-align:center;border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-eco-green)}.stat-card.stat-pending:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-card.stat-collections:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-card.stat-walkins:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.stat-card h3{font-size:1.75rem;color:var(--color-deep-navy);margin:0 0 .125rem;font-weight:700;letter-spacing:-.5px}.stat-card p{margin:0;color:var(--color-deep-navy);font-size:.7rem;font-weight:600;opacity:.5;text-transform:uppercase;letter-spacing:.5px}.collect-card{background:var(--color-white);padding:1.25rem;border-radius:0;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;transition:all .3s ease;cursor:pointer}.collect-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.collect-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa)}.deliver-card{background:var(--color-white);border-radius:0;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06);overflow:hidden;transition:all .3s ease;cursor:pointer}.deliver-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.bookings-list{display:grid;grid-template-columns:1fr;gap:1.5rem}.booking-card{background:var(--color-white);padding:1.5rem;border-radius:0;box-shadow:var(--shadow-md);cursor:pointer;transition:all .3s ease;border:1px solid rgba(149,213,178,.15)}.booking-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:var(--color-eco-green)}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-warm-grey)}.booking-type-badge{padding:.5rem 1rem;border-radius:0;font-weight:600;font-size:.875rem;text-transform:capitalize}.booking-type-badge[data-type=collection]{background:#8baf9b33;color:var(--color-eco-green)}.booking-type-badge[data-type=walk-in]{background:#daa52033;color:var(--color-gold)}.booking-status{padding:.5rem 1rem;border-radius:0;font-weight:600;font-size:.875rem;color:#fff;text-transform:capitalize}.booking-details h4{margin:0 0 1rem;color:var(--color-deep-navy);font-size:1.25rem;font-weight:600}.booking-details p{margin:.5rem 0;color:var(--color-deep-navy);font-size:.95rem;line-height:1.6;opacity:.8}.booking-details p strong{color:var(--color-deep-navy);font-weight:600;opacity:1}.booking-date{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-warm-grey);color:var(--color-deep-navy)!important;font-size:.875rem!important;opacity:.6!important}.no-bookings{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--color-white);border-radius:0;box-shadow:var(--shadow-md);color:var(--color-deep-navy);border:1px solid rgba(149,213,178,.15)}.calendar-view{background:var(--color-white);padding:1rem;border-radius:0;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06);overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-view::-webkit-scrollbar{height:6px}.calendar-view::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0}.calendar-view::-webkit-scrollbar-thumb{background:#ccc;border-radius:0}.calendar-view::-webkit-scrollbar-thumb:hover{background:#aaa}.calendar-month{text-align:center;margin-bottom:1rem;color:var(--color-deep-navy);font-size:1.25rem;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:1px;background:var(--color-warm-grey);border:1px solid var(--color-warm-grey);border-radius:0;overflow:hidden;min-width:500px}.calendar-header{background:var(--color-deep-navy);color:#fff;padding:.625rem .5rem;text-align:center;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.calendar-day{background:var(--color-white);min-height:70px;padding:.375rem;position:relative}.calendar-day.empty{background:var(--color-warm-grey);opacity:.3}.calendar-day.today{background:#8baf9b1a;border:2px solid var(--color-eco-green)}.day-number{font-weight:600;color:var(--color-deep-navy);margin-bottom:.25rem;font-size:.8rem;opacity:.6}.calendar-day.has-bookings .day-number{color:var(--color-deep-navy);font-weight:700;opacity:1}.booking-indicators{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.booking-count{font-size:.65rem;color:#fff;background:var(--color-deep-navy);padding:.2rem .4rem;border-radius:0;font-weight:600;text-align:center;white-space:nowrap}.calendar-day.has-bookings{cursor:pointer;transition:all .2s ease}.calendar-day.has-bookings:hover{background:#8baf9b26;transform:scale(1.02);box-shadow:0 2px 8px #0000001a}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:120px 2rem 2rem;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0f172ab3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:backdropFadeIn .25s ease}.modal-backdrop-click{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;cursor:pointer;z-index:-1}.booking-detail-modal{position:relative;background:var(--color-white);padding:0;border-radius:0;max-width:600px;width:100%;max-height:calc(100vh - 160px);display:flex;flex-direction:column;border:none;box-shadow:0 25px 50px -12px #00000059,0 10px 30px -5px #0003;z-index:100000;overscroll-behavior:contain;margin:0 auto;animation:modalSlideUp .3s ease}.booking-detail-modal h2{margin:0;color:var(--color-deep-navy);font-size:1.25rem;font-weight:600}.booking-detail-modal>h2:first-of-type{padding:1.5rem 1.75rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#0d406e,#1a5a96);border-radius:0;margin:0;color:#fff}.booking-detail-modal h2{color:#fff!important}.slot-modal>h2:first-of-type{display:none}.booking-detail-modal .modal-close{position:absolute;top:1.25rem;right:1.5rem;background:#ffffff1a;border:none;cursor:pointer;padding:.5rem;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:0;transition:all .2s;z-index:10}.booking-detail-modal .modal-close:hover{background:#fff3}.booking-detail-modal .detail-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1.75rem;overflow-y:auto;overflow-x:hidden;flex:1;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.booking-detail-modal .detail-grid::-webkit-scrollbar{width:8px}.booking-detail-modal .detail-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0}.booking-detail-modal .detail-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:0}.booking-detail-modal .detail-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.detail-item{display:flex;flex-direction:column}.detail-item.full-width{grid-column:1 / -1}.date-bookings-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;overflow-y:visible}.date-booking-item{background:var(--color-off-white);padding:1.25rem;border-radius:0;border:1px solid var(--color-warm-grey);cursor:pointer;transition:all .3s ease}.date-booking-item:hover{background:var(--color-warm-grey);border-color:var(--color-eco-green);transform:translate(5px);opacity:.9}.booking-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.date-booking-item h4{margin:.5rem 0;color:var(--color-deep-navy);font-size:1.125rem;font-weight:600}.date-booking-item p{margin:.375rem 0;color:var(--color-deep-navy);font-size:.875rem;line-height:1.5;opacity:.8}.date-booking-item p strong{color:var(--color-deep-navy);font-weight:600;margin-right:.25rem;opacity:1}.detail-item label{font-weight:600;color:var(--color-deep-navy);margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.detail-item p{margin:0;color:var(--color-deep-navy);font-size:1rem;line-height:1.6;opacity:.8}.manual-booking-modal{max-width:600px;width:95%}.booking-type-selector{display:flex;gap:.75rem;margin-bottom:1.25rem}.type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem;border:2px solid var(--color-warm-grey);border-radius:0;background:var(--color-white);cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.875rem;color:var(--color-deep-navy)}.type-btn:hover{border-color:var(--color-eco-green);background:#8baf9b0d}.type-btn.active{border-color:var(--color-eco-green);background:#8baf9b1a;color:var(--color-eco-green)}.type-btn svg{opacity:.7}.type-btn.active svg{opacity:1}.manual-booking-form{display:flex;flex-direction:column;gap:1rem}.form-section{border-bottom:1px solid var(--color-warm-grey);padding-bottom:1rem}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h3{margin:0 0 .625rem;font-size:.8rem;font-weight:600;color:var(--color-eco-green);text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--color-deep-navy)}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;border:1px solid var(--color-warm-grey);border-radius:0;font-size:.9rem;font-family:var(--font-primary);color:var(--color-deep-navy);background:var(--color-white);transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-eco-green)}.form-group textarea{resize:vertical;min-height:45px}.services-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.service-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--color-warm-grey);border-radius:0;cursor:pointer;transition:all .2s}.service-checkbox:hover{background:var(--color-off-white)}.service-checkbox input{width:16px;height:16px;accent-color:var(--color-eco-green)}.service-checkbox span{font-size:.85rem;color:var(--color-deep-navy)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--color-warm-grey);margin-top:.25rem}.form-actions .btn{padding:.5rem 1.25rem;font-size:.9rem}@media(min-width:768px){.dashboard-actions{flex-direction:row;align-items:center}.form-row,.services-grid{grid-template-columns:repeat(2,1fr)}.dashboard-container{padding:2rem 1rem}.dashboard-controls{flex-direction:row;align-items:center}.view-toggle,.filters{width:auto}.filters{flex-direction:row}.calendar-day{min-height:100px;padding:.5rem}.detail-grid{grid-template-columns:repeat(2,1fr)}.booking-detail-modal{padding:2rem}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{padding:1.25rem 1rem}.stat-card h3{font-size:2rem;margin:0 0 .25rem}.stat-card p{font-size:.7rem}}@media(min-width:1024px){.bookings-list{grid-template-columns:repeat(3,1fr)}}@media(min-width:1400px){.bookings-list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.user-management{width:100%}.user-management-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-deep-navy);opacity:.6}.user-management-header{margin-bottom:1.5rem}.user-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.user-stats .stat-card.stat-admins:before{background:linear-gradient(90deg,#10b981,#34d399)}.user-stats .stat-card.stat-staff:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.user-stats .stat-card.stat-active:before{background:linear-gradient(90deg,#22c55e,#4ade80)}.user-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.user-action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.add-user-btn,.add-existing-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;white-space:nowrap;font-size:.9rem}.add-existing-btn{border:2px solid var(--color-eco-green);color:var(--color-eco-green);background:transparent}.add-existing-btn:hover{background:#8baf9b1a}.form-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--color-deep-navy);opacity:.5}.users-list{display:grid;grid-template-columns:1fr;gap:1rem}.user-card{background:var(--color-white);border-radius:0;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06);padding:1.25rem;transition:all .3s ease}.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-eco-green)}.user-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-warm-grey)}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-eco-green),var(--color-deep-navy));display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0}.user-info{flex:1;min-width:0}.user-info h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-deep-navy);word-break:break-word}.user-meta{display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.role-badge.staff{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:0;font-size:.75rem;font-weight:600}.status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.user-card-body{margin-bottom:1rem}.user-card-body p{margin:.375rem 0;font-size:.875rem;color:var(--color-deep-navy);opacity:.7}.user-card-body p strong{opacity:1;font-weight:600;margin-right:.25rem}.user-card-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-warm-grey)}.btn-icon{width:40px;height:40px;border-radius:0;border:1px solid var(--color-warm-grey);background:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-deep-navy)}.btn-icon:hover{border-color:var(--color-eco-green);background:#8baf9b1a}.btn-icon.edit:hover{color:var(--color-eco-green)}.btn-icon.delete:hover{border-color:#ef4444;background:#ef44441a;color:#ef4444}.no-users{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--color-white);border-radius:0;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06)}.no-users svg{color:var(--color-deep-navy);opacity:.3;margin-bottom:1rem}.no-users p{color:var(--color-deep-navy);opacity:.6;font-size:1rem;margin:0}.user-modal{position:relative;background:var(--color-white);padding:1.5rem 1.25rem;border-radius:0;max-width:500px;width:95%;max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid rgba(149,213,178,.15);box-shadow:0 20px 60px #0000004d;z-index:10000}.user-modal h2{margin:0 0 .5rem;color:var(--color-eco-green);font-size:1.5rem}.modal-subtitle{margin:0 0 1.5rem;color:var(--color-deep-navy);opacity:.6;font-size:.95rem}.user-form{display:flex;flex-direction:column;gap:1.25rem}.role-selector{display:flex;gap:.75rem}.role-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border:2px solid var(--color-warm-grey);border-radius:0;background:var(--color-white);cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.9rem;color:var(--color-deep-navy);text-align:center}.role-btn:hover{border-color:var(--color-eco-green);background:#8baf9b0d}.role-btn.active{border-color:var(--color-eco-green);background:#8baf9b1a;color:var(--color-eco-green)}.role-btn svg{opacity:.7}.role-btn.active svg{opacity:1}.role-desc{font-size:.7rem;font-weight:400;opacity:.6;margin-top:.25rem}.status-selector{display:flex;gap:.75rem}.status-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border:2px solid var(--color-warm-grey);border-radius:0;background:var(--color-white);cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.9rem;color:var(--color-deep-navy)}.status-btn:hover{border-color:var(--color-eco-green)}.status-btn.active{border-color:#22c55e;background:#22c55e1a;color:#16a34a}.status-btn.active.inactive{border-color:#ef4444;background:#ef44441a;color:#dc2626}.delete-modal{text-align:center;max-width:400px}.delete-icon{width:80px;height:80px;border-radius:50%;background:#ef44441a;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#ef4444}.delete-modal h2{color:#ef4444}.delete-warning{margin:0 0 1.5rem;color:var(--color-deep-navy);line-height:1.6}.delete-warning strong{color:var(--color-deep-navy)}.form-actions.centered{justify-content:center}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:0;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(min-width:768px){.user-stats{grid-template-columns:repeat(4,1fr);gap:1rem}.user-actions{flex-direction:row;align-items:center}.users-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.user-modal{padding:2rem}}@media(min-width:1024px){.users-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.settings-tab{width:100%}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--color-deep-navy);opacity:.6}.settings-loading .spinner{width:40px;height:40px;border:3px solid var(--color-warm-grey);border-top-color:var(--color-eco-green);border-radius:50%;animation:spin 1s linear infinite}.settings-section{background:var(--color-white);border-radius:0;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06)}.settings-section h2{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-deep-navy)}.section-description{margin:0 0 1.5rem;color:var(--color-deep-navy);opacity:.6;font-size:.95rem;line-height:1.6}.section-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.section-actions{display:flex;gap:.75rem;flex-wrap:wrap}.section-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem}.section-actions .btn-secondary{background:#6b7280!important;color:#fff!important;border:none}.section-actions .btn-secondary:hover{background:#4b5563!important}.mode-toggle-card{background:var(--color-off-white);border-radius:0;padding:1.5rem;border:1px solid var(--color-warm-grey)}.mode-options{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.mode-option{text-align:center;padding:1.25rem;background:var(--color-white);border-radius:0;border:2px solid transparent;transition:all .3s ease;width:100%;max-width:280px;opacity:.5}.mode-option.active{opacity:1;border-color:var(--color-eco-green);background:#8baf9b1a}.mode-icon{margin-bottom:.75rem;color:var(--color-deep-navy);opacity:.7}.mode-option.active .mode-icon{color:var(--color-eco-green);opacity:1}.mode-option h3{margin:0 0 .375rem;font-size:1rem;color:var(--color-deep-navy)}.mode-option p{margin:0;font-size:.8rem;color:var(--color-deep-navy);opacity:.6}.mode-toggle-switch{display:flex;align-items:center;justify-content:center}.toggle-btn{position:relative;width:72px;height:36px;background:var(--color-warm-grey);border:none;border-radius:0;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{background:#d1d5db}.toggle-knob{position:absolute;top:3px;left:3px;width:30px;height:30px;background:var(--color-white);border-radius:0;box-shadow:0 2px 4px #0003;transition:all .3s ease}.toggle-btn.right .toggle-knob{left:39px}.toggle-btn.left{background:var(--color-eco-green)}.toggle-btn.right{background:#6b7280}.current-mode-badge{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-warm-grey);font-size:.9rem;color:var(--color-deep-navy);opacity:.7}.current-mode-badge strong{color:var(--color-eco-green);opacity:1}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.slot-card{background:var(--color-white);border:1px solid var(--color-warm-grey);border-radius:0;padding:1rem;transition:all .2s ease}.slot-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-eco-green)}.slot-card.disabled{opacity:.6;background:var(--color-off-white)}.slot-date{font-weight:600;color:var(--color-deep-navy);font-size:.9rem}.slot-status{font-size:.7rem;padding:.25rem .5rem;border-radius:0;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.slot-status.active{background:#d1fae5;color:#065f46}.slot-card__time{font-size:1.125rem;font-weight:700;color:var(--color-eco-green);margin-bottom:.375rem}.slot-card__service{font-size:.8rem;color:var(--color-deep-navy);opacity:.6;margin-bottom:1rem}.capacity-bar{height:8px;background:var(--color-warm-grey);border-radius:0;overflow:hidden;margin-bottom:.375rem}.capacity-fill{height:100%;background:var(--color-eco-green);transition:width .3s ease}.capacity-text{font-size:.75rem;color:var(--color-deep-navy);opacity:.6}.slot-card__actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-warm-grey)}.slot-service-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-warm-grey);padding-bottom:0;overflow-x:auto}.slot-service-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-family:var(--font-primary);font-size:.9rem;font-weight:600;color:var(--color-deep-navy);opacity:.6;cursor:pointer;transition:all .2s ease;white-space:nowrap}.slot-service-tab:hover{opacity:.9;background:#8baf9b0d}.slot-service-tab.active{opacity:1;color:var(--color-eco-green);border-bottom-color:var(--color-eco-green)}.slot-service-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--color-warm-grey);border-radius:0;font-size:.75rem;font-weight:700;color:var(--color-deep-navy)}.slot-service-tab.active .tab-count{background:var(--color-eco-green);color:#fff}.slots-calendar-table{background:var(--color-white);border-radius:0;border:1px solid var(--color-warm-grey);overflow:hidden}.slots-table{width:100%;border-collapse:collapse}.slots-table th{background:var(--color-off-white);padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-deep-navy);border-bottom:1px solid var(--color-warm-grey)}.slots-table th.date-column{width:160px}.slots-table tbody tr{border-bottom:1px solid var(--color-warm-grey)}.slots-table tbody tr:last-child{border-bottom:none}.slots-table tbody tr:hover{background:#8baf9b08}.date-cell{padding:1rem 1.25rem;vertical-align:top}.date-info{display:flex;flex-direction:column;gap:.25rem}.date-day{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--color-eco-green)}.date-full{font-size:.9rem;font-weight:600;color:var(--color-deep-navy)}.slots-cell{padding:.75rem 1.25rem}.time-slots-row{display:flex;flex-wrap:wrap;gap:.75rem}.time-slot-chip{display:flex;flex-direction:row;align-items:center;background:var(--color-white);border:1px solid var(--color-warm-grey);border-radius:0;padding:.625rem .875rem;min-width:200px;transition:all .2s ease}.time-slot-chip:hover{border-color:var(--color-eco-green);box-shadow:0 2px 8px #00000014}.time-slot-chip.inactive{opacity:.5;background:var(--color-off-white)}.time-slot-chip.full{border-color:#fecaca;background:#fef2f2}.chip-time{font-size:.95rem;font-weight:700;color:var(--color-eco-green);margin-bottom:.375rem}.time-slot-chip.full .chip-time{color:#dc2626}.chip-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.chip-status{font-size:.65rem;padding:.125rem .375rem;border-radius:0;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.chip-status.active{background:#d1fae5;color:#065f46}.chip-status.inactive{background:#f3f4f6;color:#6b7280}.chip-capacity{font-size:.75rem;color:var(--color-deep-navy);opacity:.6}.chip-actions{display:flex;gap:.375rem;padding-top:.375rem;border-top:1px solid var(--color-warm-grey)}.chip-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-off-white);border:none;border-radius:0;cursor:pointer;color:var(--color-deep-navy);opacity:.6;transition:all .2s ease}.chip-btn:hover{opacity:1;background:var(--color-warm-grey)}.chip-btn.delete:hover{background:#fef2f2;color:#dc2626}.chip-btn:disabled{opacity:.3;cursor:not-allowed}.chip-checkbox{display:flex;align-items:center;margin-right:.5rem}.chip-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-eco-green)}.chip-content{flex:1}.time-slot-chip.selected{border-color:var(--color-eco-green);background:#8baf9b1a}.slots-bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;background:var(--color-off-white);border:1px solid var(--color-warm-grey);border-radius:0;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.bulk-select{display:flex;align-items:center;gap:1rem}.select-all-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-deep-navy)}.select-all-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-eco-green)}.selected-count{font-size:.85rem;padding:.25rem .75rem;background:var(--color-eco-green);color:#fff;border-radius:0;font-weight:600}.bulk-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-small{padding:.5rem .875rem!important;font-size:.8rem!important;gap:.375rem!important}.btn-danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}.btn-danger:hover{background:#b91c1c!important;border-color:#b91c1c!important}@media(max-width:768px){.slots-bulk-actions{flex-direction:column;align-items:flex-start;padding:.75rem 1rem}.bulk-buttons{width:100%;justify-content:flex-start}.btn-small{padding:.4rem .625rem!important;font-size:.75rem!important}}@media(max-width:480px){.bulk-buttons{flex-direction:column;gap:.375rem}.bulk-buttons .btn{width:100%;justify-content:center}}@media(max-width:768px){.slot-service-tabs{margin-bottom:1rem}.slot-service-tab{padding:.625rem 1rem;font-size:.85rem}.slots-table th{padding:.75rem 1rem}.slots-table th.date-column{width:100px}.date-cell{padding:.75rem 1rem}.slots-cell{padding:.5rem .75rem}.time-slot-chip{min-width:120px;padding:.5rem .625rem}.chip-time{font-size:.85rem}}@media(max-width:480px){.slot-service-tab{padding:.5rem .75rem;font-size:.8rem}.slot-service-tab .tab-count{min-width:18px;height:18px;font-size:.65rem}.time-slots-row{flex-direction:column;gap:.5rem}.time-slot-chip{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.chip-info{margin-bottom:0}.chip-actions{border-top:none;padding-top:0;border-left:1px solid var(--color-warm-grey);padding-left:.5rem}}.empty-slots{text-align:center;padding:3rem 2rem;background:var(--color-off-white);border-radius:0;border:2px dashed var(--color-warm-grey)}.empty-slots svg{color:var(--color-deep-navy);opacity:.3;margin-bottom:1rem}.empty-slots h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-deep-navy)}.empty-slots p{margin:0 0 1.5rem;color:var(--color-deep-navy);opacity:.6;font-size:.95rem}.view-all-link{margin-top:1.5rem;text-align:center}.preset-info-card{text-align:center;padding:2rem;background:var(--color-off-white);border-radius:0;border:1px solid var(--color-warm-grey)}.preset-info-icon{color:var(--color-deep-navy);opacity:.4;margin-bottom:1rem}.preset-info-card h3{margin:0 0 .75rem;font-size:1.25rem;color:var(--color-deep-navy)}.preset-info-card>p{margin:0 0 1.5rem;color:var(--color-deep-navy);opacity:.6;font-size:.95rem;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}.preset-settings{display:flex;flex-direction:column;gap:.75rem;max-width:400px;margin:0 auto}.preset-setting{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-white);border-radius:0;border:1px solid var(--color-warm-grey)}.preset-setting .label{font-size:.875rem;color:var(--color-deep-navy);opacity:.6}.preset-setting .value{font-size:.875rem;font-weight:600;color:var(--color-deep-navy)}.slot-modal{max-width:560px;height:auto;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);display:flex;flex-direction:column;border-radius:0;overflow:hidden;margin-top:auto;margin-bottom:auto;padding:0!important;background:#fff}.slot-modal .modal-close{display:none!important}.slot-modal.wide{max-width:640px}.slot-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#0d406e,#1a5a96);border-radius:0;flex-shrink:0;margin:0;position:relative}.slot-modal .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff!important}.slot-modal .close-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:0;transition:all .2s}.slot-modal .close-btn:hover{color:#fff;background:#ffffff1a}.slot-modal form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.slot-modal .modal-body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.slot-modal .modal-body::-webkit-scrollbar{width:8px}.slot-modal .modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:0}.slot-modal .modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:0}.slot-modal .modal-body .form-group{margin-bottom:1.25rem}.slot-modal .modal-body .form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.slot-modal .modal-body .form-group input,.slot-modal .modal-body .form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:0;font-size:.938rem;background:#fff;box-sizing:border-box}.slot-modal .modal-body .form-group input:focus,.slot-modal .modal-body .form-group select:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 3px #1a1a2e1a}.slot-modal .modal-body .form-hint{font-size:.813rem;color:#6b7280;margin-top:.375rem}.slot-modal .modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.slot-modal .service-select-row{display:flex;gap:.75rem;align-items:stretch}.slot-modal .service-select-row select{flex:1}.slot-modal .service-select-row .btn-secondary{background:#0d406e!important;color:#fff!important;border:none!important;border-radius:0;padding:.75rem 1rem;font-weight:500}.slot-modal .service-select-row .btn-secondary:hover{background:#0a3558!important}.slot-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0;border-radius:0;margin-top:auto}.slot-modal .modal-footer .btn{padding:.625rem 1.25rem;font-size:.938rem;font-weight:500;border-radius:0;cursor:pointer;transition:all .2s}.slot-modal .modal-footer .btn-secondary{background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important}.slot-modal .modal-footer .btn-secondary:hover{background:#f9fafb!important;border-color:#9ca3af!important}.slot-modal .modal-footer .btn-primary{background:#0d406e!important;color:#fff!important;border:none!important}.slot-modal .modal-footer .btn-primary:hover{background:#0a3558!important}.slot-form{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 200px);overflow-y:auto;overscroll-behavior:contain;padding-right:.5rem}.slot-form::-webkit-scrollbar{width:6px}.slot-form::-webkit-scrollbar-track{background:#0000000d;border-radius:0}.slot-form::-webkit-scrollbar-thumb{background:#8baf9b66;border-radius:0}.slot-form::-webkit-scrollbar-thumb:hover{background:#8baf9b99}.day-checkbox{display:flex;align-items:center;gap:.375rem;padding:.625rem .875rem;background:#fff;border-radius:0;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:#374151;border:1px solid #d1d5db}.day-checkbox span{color:inherit}.day-checkbox:has(input:checked){background:#1a1a2e;border-color:#1a1a2e}.day-checkbox:has(input:checked) span{color:#fff!important}.time-slot-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-slot-row input[type=time]{width:110px;padding:.5rem;border:1px solid var(--color-warm-grey);border-radius:0;font-family:var(--font-primary);font-size:.875rem}.time-slot-row input[type=number]{width:70px;padding:.5rem;border:1px solid var(--color-warm-grey);border-radius:0;font-family:var(--font-primary);font-size:.875rem;text-align:center}.time-slot-row span{color:var(--color-deep-navy);opacity:.5;font-size:.875rem}.btn-small{padding:.5rem 1rem!important;font-size:.8rem!important}@media(min-width:768px){.settings-section{padding:2rem}.mode-options{flex-direction:row;justify-content:center}.mode-option{width:auto;flex:0 1 200px}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(min-width:1024px){.slots-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.service-select-row{display:flex;gap:.75rem;align-items:stretch}.service-select-row select{flex:1}.service-select-row .btn{flex-shrink:0;white-space:nowrap}.duration-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.duration-option{display:flex;align-items:center;justify-content:center;padding:.875rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:0;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:#374151;text-align:center}.duration-option span{color:inherit}.duration-option.active{background:#1a1a2e;border-color:#1a1a2e}.duration-option.active span{color:#fff!important;font-weight:600}.duration-option input{display:none}.service-type-selector{display:flex;gap:.75rem}.service-type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--color-off-white);border:2px solid transparent;border-radius:0;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:var(--color-deep-navy);text-align:center}.service-type-option:hover{background:#8baf9b1a;border-color:var(--color-warm-grey)}.service-type-option.active{background:#8baf9b26;border-color:var(--color-eco-green);color:var(--color-eco-green)}.service-type-option input{display:none}.service-type-option svg{opacity:.6}.service-type-option.active svg{opacity:1;color:var(--color-eco-green)}@media(max-width:480px){.duration-selector{grid-template-columns:1fr}.service-type-selector{flex-direction:column}}.admin-dashboard .btn-secondary,.settings-tab .btn-secondary,.modal-backdrop .btn-secondary,.view-all-link .btn-secondary,.service-select-row .btn-secondary{background:#0d406e!important;color:#fff!important;border:none!important}.admin-dashboard .btn-secondary:hover,.settings-tab .btn-secondary:hover,.modal-backdrop .btn-secondary:hover,.view-all-link .btn-secondary:hover,.service-select-row .btn-secondary:hover{background:#0a3558!important;color:#fff!important}.admin-dashboard .btn-primary,.settings-tab .btn-primary,.modal-backdrop .btn-primary{background:#0d406e!important;color:#fff!important;border:none!important}.admin-dashboard .btn-primary:hover,.settings-tab .btn-primary:hover,.modal-backdrop .btn-primary:hover{background:#0a3558!important;color:#fff!important}.booking-status-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:none;border-radius:0;font-size:.75rem;font-weight:600;color:#fff;cursor:pointer;text-transform:capitalize;transition:all .2s}.booking-status-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.booking-status-btn svg{opacity:.8}.quick-actions-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99998;background:#0f172ab3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:40px 20px 20px;animation:backdropFadeIn .2s ease;overflow:hidden}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.quick-actions-dropdown{position:relative!important;left:auto!important;top:auto!important;width:100%;max-width:400px;background:#fff;border-radius:0;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;max-height:calc(100vh - 80px);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);z-index:99999;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;touch-action:auto}.quick-actions-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.quick-actions-body::-webkit-scrollbar{display:none}.quick-actions-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-actions-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#0d406e,#1a5a96);color:#fff;position:relative}.quick-actions-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.quick-actions-header>div{display:flex;flex-direction:column;gap:.375rem}.quick-actions-header .customer-name{font-weight:700;font-size:1.25rem;letter-spacing:-.02em;display:block;color:#fff}.quick-actions-header .booking-id{font-size:.75rem;opacity:.8;font-family:SF Mono,Monaco,Cascadia Code,monospace;display:inline-block;color:#ffffffd9}.quick-actions-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;width:32px;height:32px;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s}.quick-actions-close:hover{background:#fff3}.quick-actions-status{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);font-size:.875rem;border-bottom:1px solid #e2e8f0}.quick-actions-status span:first-child{color:#64748b;font-weight:500}.quick-actions-status .status-value{font-weight:700;text-transform:capitalize;padding:.25rem .75rem;border-radius:0;font-size:.813rem}.quick-actions-divider{height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:0 1rem}.quick-actions-section{padding:1.25rem 1.5rem}.quick-actions-section .section-label{display:block;font-size:.688rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:.75rem}.invoice-status-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:0;padding:1rem}.invoice-status-card .invoice-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.invoice-status-card .invoice-number{font-weight:700;font-size:.875rem;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:#0d406e}.invoice-status-card .invoice-badge{padding:.25rem .625rem;border-radius:0;font-size:.688rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.invoice-badge.pending_payment{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.invoice-badge.paid{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.invoice-status-card .invoice-amount{font-size:.875rem;color:#64748b;margin-bottom:1rem;padding:.75rem;background:#fff;border-radius:0;text-align:center}.invoice-status-card .invoice-amount strong{color:#0d406e;font-size:1.125rem}.invoice-status-card .invoice-actions{display:flex;flex-direction:column;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:.875rem 1rem;border:none;border-radius:0;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn.create-invoice{background:linear-gradient(135deg,#0d406e,#1a5a96);color:#fff;box-shadow:0 2px 8px #0d406e4d}.action-btn.create-invoice:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d406e66}.action-btn.send-approval{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.action-btn.send-approval:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.action-btn.charge-payment{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.action-btn.charge-payment:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.action-btn.view-details{background:#fff;color:#0d406e;border:2px solid #e2e8f0;margin:1.25rem 1.5rem 1.5rem;width:calc(100% - 3rem)}.action-btn.view-details:hover{background:#f8fafc;border-color:#0d406e;transform:none}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.no-payment-info{padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:0;font-size:.813rem;color:#92400e;text-align:center;font-weight:500}.status-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.status-btn{padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:0;background:#fff;font-size:.813rem;font-weight:600;text-transform:capitalize;cursor:pointer;transition:all .2s ease}.status-btn:hover:not(:disabled){border-color:var(--status-color);color:var(--status-color);background:rgba(var(--status-color-rgb),.05);transform:translateY(-1px)}.status-btn.active{background:var(--status-color);border-color:var(--status-color);color:#fff;box-shadow:0 2px 8px #00000026}.status-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.status-btn:last-child:nth-child(odd){grid-column:span 2}.quick-invoice-modal{position:relative;width:100%;max-width:550px;max-height:calc(100vh - 140px);background:#fff;border-radius:0;display:flex;flex-direction:column;overflow:hidden;animation:modalSlide .3s ease;box-shadow:0 25px 50px -12px #00000059,0 10px 30px -5px #0003;margin:0 auto}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quick-invoice-header{display:flex!important;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background-color:#0d406e!important;color:#fff!important;flex-shrink:0;min-height:64px;width:100%;box-sizing:border-box;position:relative}.quick-invoice-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#fff!important;line-height:1.2}.quick-invoice-header .modal-close{background:#ffffff26;border:none;padding:.5rem;border-radius:0;cursor:pointer;color:#fff!important;display:flex;align-items:center;justify-content:center;transition:background .2s}.quick-invoice-header .modal-close:hover{background:#ffffff40}.quick-invoice-customer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.quick-invoice-customer .customer-avatar{width:44px;height:44px;background:linear-gradient(135deg,#0d406e,#1a5a96);color:#fff;border-radius:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem}.quick-invoice-customer .name{display:block;font-weight:700;color:#0d406e;font-size:1rem}.quick-invoice-customer .email{font-size:.813rem;color:#64748b}.quick-invoice-content,.quick-invoice-body{padding:1.25rem 1.5rem}.quick-invoice-content .line-items-header{display:flex;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem}.quick-invoice-content .line-items-header span{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.quick-invoice-content .col-desc{flex:2;min-width:0}.quick-invoice-content .col-qty{width:50px;text-align:center}.quick-invoice-content .col-price{width:80px}.quick-invoice-content .col-total{width:70px;text-align:right}.quick-invoice-content .col-action{width:28px}.quick-invoice-content .line-item-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.quick-invoice-content .line-item-row input{padding:.5rem;border:1px solid #e2e8f0;border-radius:0;font-size:.875rem}.quick-invoice-content .line-item-row input:focus{outline:none;border-color:#1a1a2e}.quick-invoice-content .line-item-row .col-desc{flex:2}.quick-invoice-content .line-item-row .col-qty{width:50px;text-align:center}.quick-invoice-content .price-input{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:0;overflow:hidden}.quick-invoice-content .price-input span{padding:.5rem;background:#f8fafc;color:#64748b;font-size:.875rem}.quick-invoice-content .price-input input{border:none;padding:.5rem;width:100%;border-radius:0}.quick-invoice-content .col-total{font-weight:600;color:#1e293b}.quick-invoice-content .remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ef4444;cursor:pointer;border-radius:0;transition:background .2s}.quick-invoice-content .remove-btn:hover:not(:disabled){background:#fee2e2}.quick-invoice-content .remove-btn:disabled{opacity:.3;cursor:not-allowed}.quick-invoice-content .add-item-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border:2px dashed #cbd5e1;border-radius:0;background:#f8fafc;color:#64748b;font-size:.875rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:all .2s}.quick-invoice-content .add-item-btn:hover{border-color:#94a3b8;color:#475569;background:#f1f5f9}.quick-invoice-content .extras-row{display:flex;gap:1rem;margin:1.25rem 0}.quick-invoice-content .discount-field{flex:0 0 110px}.quick-invoice-content .notes-field{flex:1}.quick-invoice-content .discount-field label,.quick-invoice-content .notes-field label{display:block;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.375rem}.quick-invoice-content .notes-field input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:0;font-size:.875rem}.quick-invoice-content .invoice-totals{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:0;padding:1rem}.quick-invoice-content .total-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.quick-invoice-content .total-row.discount{color:#16a34a}.quick-invoice-content .total-row.total{border-top:1px solid #e5e7eb;padding-top:.625rem;margin-top:.375rem;font-weight:600}.quick-invoice-content .total-row.deposit{color:#64748b}.quick-invoice-content .total-row.remainder{border-top:2px solid #1a1a2e;padding-top:.625rem;margin-top:.375rem;font-weight:700}.quick-invoice-content .total-row.remainder span:last-child{color:#dc2626;font-size:1rem}.quick-invoice-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e5e7eb}.quick-invoice-footer .btn-cancel{padding:.75rem 1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:0;font-size:.875rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.quick-invoice-footer .btn-cancel:hover{background:#f8fafc;border-color:#0d406e;color:#0d406e}.quick-invoice-footer .btn-create{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0d406e,#1a5a96);border:none;border-radius:0;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0d406e4d}.quick-invoice-footer .btn-create:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d406e66}.quick-invoice-footer .btn-create:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:640px){.quick-actions-backdrop{padding:16px;align-items:flex-end}.quick-actions-dropdown{max-width:100%;border-radius:0;max-height:85vh}.quick-actions-header{padding:1.25rem}.quick-actions-section{padding:1rem 1.25rem}.action-btn.view-details{margin:1rem 1.25rem 1.25rem;width:calc(100% - 2.5rem)}.status-buttons{grid-template-columns:1fr 1fr}.quick-invoice-modal{margin:.5rem;max-height:calc(100vh - 1rem)}.quick-invoice-content .extras-row{flex-direction:column;gap:.75rem}.quick-invoice-content .discount-field{flex:none}}.analytics-funnel{width:100%}.analytics-header{margin-bottom:1.5rem}.analytics-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.analytics-title-row h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-deep-navy)}.analytics-title-actions{display:flex;align-items:center;gap:.75rem}.analytics-last-accessed{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:#64748b;padding:.375rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0}.analytics-last-accessed svg{opacity:.6;flex-shrink:0}.analytics-reset-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;font-family:var(--font-primary);color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:0;cursor:pointer;transition:all .2s ease}.analytics-reset-btn:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fecaca}.analytics-reset-btn:disabled{opacity:.4;cursor:not-allowed}.analytics-reset-confirm{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:0;margin-bottom:1rem;font-size:.875rem;color:#991b1b}.analytics-reset-actions{display:flex;gap:.5rem;flex-shrink:0}.analytics-reset-cancel{padding:.375rem .75rem;font-size:.8rem;font-weight:600;font-family:var(--font-primary);color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:0;cursor:pointer;transition:all .2s ease}.analytics-reset-cancel:hover{background:#f8fafc}.analytics-reset-confirm-btn{padding:.375rem .75rem;font-size:.8rem;font-weight:600;font-family:var(--font-primary);color:#fff;background:#dc2626;border:none;border-radius:0;cursor:pointer;transition:all .2s ease}.analytics-reset-confirm-btn:hover:not(:disabled){background:#b91c1c}.analytics-reset-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.analytics-live-indicator{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;padding:.375rem .75rem;border-radius:0;background:#f1f5f9;border:1px solid #e2e8f0;transition:all .3s ease}.analytics-live-indicator.active{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.live-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;transition:background .3s ease}.analytics-live-indicator.active .live-dot{background:#16a34a;animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.analytics-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.analytics-date-range{display:flex;border:1px solid var(--color-warm-grey);border-radius:0;overflow:hidden}.analytics-range-btn{padding:.5rem 1rem;border:none;background:var(--color-white);font-size:.813rem;font-weight:600;color:var(--color-deep-navy);opacity:.6;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);border-right:1px solid var(--color-warm-grey)}.analytics-range-btn:last-child{border-right:none}.analytics-range-btn:hover{opacity:.8;background:#8baf9b0d}.analytics-range-btn.active{opacity:1;background:var(--color-eco-green);color:#fff}.analytics-flow-toggle{display:flex;border:1px solid var(--color-warm-grey);border-radius:0;overflow:hidden}.analytics-flow-btn{padding:.5rem 1rem;border:none;background:var(--color-white);font-size:.813rem;font-weight:600;color:var(--color-deep-navy);opacity:.6;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);border-right:1px solid var(--color-warm-grey)}.analytics-flow-btn:last-child{border-right:none}.analytics-flow-btn:hover{opacity:.8;background:#8baf9b0d}.analytics-flow-btn.active{opacity:1;background:#0d406e;color:#fff}.analytics-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.analytics-card{background:var(--color-white);border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f;border-radius:0;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.analytics-card-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.analytics-card-value{font-size:1.5rem;font-weight:700;color:var(--color-deep-navy);line-height:1.2}.analytics-card-dropoff{display:flex;flex-direction:column;gap:.125rem}.analytics-card-sub{font-size:.75rem;font-weight:500;color:#64748b}.analytics-funnel-chart{background:var(--color-white);border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px #0000000f;border-radius:0;padding:1.5rem;display:flex;flex-direction:column;gap:.875rem}.analytics-funnel-row{display:flex;align-items:center;gap:1rem}.analytics-step-number{width:28px;height:28px;border-radius:50%;background:var(--color-off-white);border:2px solid var(--color-warm-grey);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-deep-navy);flex-shrink:0}.analytics-step-info{flex:1;min-width:0}.analytics-step-label{display:block;font-size:.813rem;font-weight:600;color:var(--color-deep-navy);margin-bottom:.375rem}.analytics-bar-container{width:100%;height:24px;background:var(--color-off-white);border-radius:0;overflow:hidden}.analytics-bar{height:100%;border-radius:0;min-width:4px}.analytics-step-stats{display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-width:140px;justify-content:flex-end}.analytics-step-count{font-size:1rem;font-weight:700;color:var(--color-deep-navy);min-width:32px;text-align:right}.analytics-conversion-badge{display:inline-block;padding:.2rem .5rem;border-radius:0;font-size:.688rem;font-weight:700}.analytics-dropoff{font-size:.75rem;font-weight:600;color:#dc2626;min-width:28px;text-align:right}.analytics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--color-deep-navy);opacity:.6}.analytics-loading .spinner{width:40px;height:40px;border:3px solid var(--color-warm-grey);border-top-color:var(--color-eco-green);border-radius:50%;animation:spin 1s linear infinite}.analytics-empty{text-align:center;padding:3rem 2rem;background:var(--color-off-white);border-radius:0;border:2px dashed var(--color-warm-grey)}.analytics-empty svg{color:var(--color-deep-navy);opacity:.3;margin-bottom:1rem}.analytics-empty h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-deep-navy)}.analytics-empty p{margin:0;color:var(--color-deep-navy);opacity:.6;font-size:.95rem}@media(max-width:1024px){.analytics-summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.analytics-summary-cards{grid-template-columns:1fr}.analytics-controls{flex-direction:column;align-items:stretch}.analytics-date-range,.analytics-flow-toggle{width:100%}.analytics-range-btn,.analytics-flow-btn{flex:1;text-align:center}.analytics-funnel-row{flex-wrap:wrap;gap:.5rem}.analytics-step-stats{min-width:auto;width:100%;justify-content:flex-start;padding-left:2.5rem}.analytics-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.analytics-title-actions{flex-wrap:wrap}}.slot-management{padding:2rem;max-width:1400px;margin:0 auto}.slot-management.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.slot-management__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.slot-management__header h1{font-size:1.75rem;font-weight:700;color:var(--color-text, #1a1a2e)}.header-actions{display:flex;gap:1rem}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1.5rem}.error-banner button{background:none;border:none;color:#dc2626;font-size:1.5rem;cursor:pointer;border-radius:4px;transition:background .2s}.error-banner button:hover{background:#dc26261a}.preset-mode-notice{text-align:center;padding:3rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;max-width:600px;margin:2rem auto}.notice-icon{color:#6b7280;margin-bottom:1rem}.preset-mode-notice h2{font-size:1.5rem;margin-bottom:1rem;color:#1a1a2e}.preset-mode-notice p{color:#6b7280;margin-bottom:.5rem}.current-settings{margin-top:2rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a}.current-settings h3{font-size:1rem;color:#1a1a2e;margin-bottom:.5rem}.slot-management__filters{display:flex;gap:1rem;flex-wrap:wrap;padding:1.25rem;background:#f9fafb;margin-bottom:2rem;border:1px solid #e5e7eb;border-radius:12px}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.filter-group input,.filter-group select{padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 3px #1a1a2e1a}.filter-group.checkbox{flex-direction:row;align-items:center}.filter-group.checkbox label{display:flex;align-items:center;gap:.5rem;text-transform:none;font-size:.875rem;cursor:pointer}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.no-slots{grid-column:1 / -1;text-align:center;padding:3rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.no-slots p{color:#6b7280;margin-bottom:1rem}.slot-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .2s ease}.slot-card:hover{box-shadow:0 4px 12px #0000001a}.slot-card.disabled{opacity:.6;background:#f9fafb}.slot-card.full{border-color:#fecaca}.slot-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.slot-date{font-weight:600;color:#1a1a2e}.slot-status{font-size:.75rem;padding:.25rem .75rem;border-radius:4px;font-weight:600}.slot-status.active{background:#dcfce7;color:#166534}.slot-status.inactive{background:#f3f4f6;color:#6b7280}.slot-card__time{font-size:1.125rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}.slot-card__service{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.slot-card__capacity{margin-bottom:1rem}.capacity-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.25rem}.capacity-fill{height:100%;background:#1a1a2e;border-radius:4px;transition:width .3s ease}.slot-card.full .capacity-fill{background:#ef4444}.capacity-text{font-size:.75rem;color:#6b7280}.slot-card__actions{display:flex;justify-content:flex-end;gap:.5rem}.btn-icon{padding:.5rem;border:1px solid #e5e7eb;background:#f9fafb;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease}.btn-icon:hover{background:#e5e7eb;color:#1a1a2e;border-color:#d1d5db}.btn-icon.delete:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f1419cc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto;overscroll-behavior:contain;animation:modalFadeIn .25s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal{background:#fff;width:100%;max-width:560px;height:auto;max-height:85vh;max-height:85dvh;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 25px 50px -12px #00000059,0 10px 30px -5px #0003;margin:auto;overscroll-behavior:contain;position:relative;animation:modalSlideUp .3s ease;overflow:hidden}.modal form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal--wide{max-width:640px}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:12px 12px 0 0;flex-shrink:0}.modal__header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.close-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;font-size:1.5rem;line-height:1}.close-btn:hover{color:#fff;background:#ffffff1a}.modal__body{padding:1.5rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.modal__body::-webkit-scrollbar{width:8px}.modal__body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal__body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0;border-radius:0 0 12px 12px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-group .hint{font-size:.75rem;color:#6b7280;margin-top:.375rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.938rem;box-sizing:border-box;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 3px #1a1a2e1a}.help-text{font-size:.75rem;color:#6b7280;margin-top:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-with-button{display:flex;gap:.5rem}.input-with-button select{flex:1}.input-with-button .btn{flex-shrink:0}.days-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-checkbox{display:flex;align-items:center;gap:.25rem;padding:.625rem .875rem;background:#fff;cursor:pointer;transition:all .2s ease;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151}.day-checkbox:hover{border-color:#1a1a2e}.day-checkbox:has(input:checked){background:#1a1a2e;color:#fff;border-color:#1a1a2e}.day-checkbox input{display:none}.duration-selector{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.duration-option{padding:.875rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;text-align:center;font-size:.875rem;font-weight:500;color:#374151;transition:all .2s ease}.duration-option:hover{border-color:#d1d5db}.duration-option.selected{background:#1a1a2e;border-color:#1a1a2e;color:#fff;font-weight:600}.time-slots-list{display:flex;flex-direction:column;gap:.75rem}.time-slot-row{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.time-slot-row input[type=time]{width:120px;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.time-slot-row input[type=number]{width:70px;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.time-slot-row input:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 3px #1a1a2e1a}.time-slot-row span{color:#6b7280;font-size:.875rem}.time-slot-row .btn-icon{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:1.25rem;line-height:1;padding:.375rem .5rem}.time-slot-row .btn-icon:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn{padding:.625rem 1.25rem;font-size:.938rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;border-radius:6px}.btn-primary{background:#dc2626;color:#fff}.btn-primary:hover:not(:disabled){background:#b91c1c}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-outline{background:transparent;color:#374151;border:1px solid #d1d5db}.btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-small{padding:.5rem 1rem;font-size:.875rem}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#1a1a2e;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.slot-management{padding:1rem}.slot-management__header{flex-direction:column;gap:1rem;align-items:flex-start}.slot-management__filters{flex-direction:column}.slots-grid,.form-row{grid-template-columns:1fr}.modal{margin:.5rem;max-height:calc(100vh - 1rem);border-radius:8px}.modal__header{border-radius:8px 8px 0 0}.modal__footer{border-radius:0 0 8px 8px}.days-selector{gap:.375rem}.day-checkbox{padding:.5rem .625rem;font-size:.813rem}.duration-selector{grid-template-columns:1fr}}.invoice-approval-page{min-height:100vh;background-color:#f5f5f5;padding:2rem 1rem;display:flex;align-items:flex-start;justify-content:center}.approval-container{width:100%;max-width:500px;background:#fff;box-shadow:0 4px 6px #0000001a;overflow:hidden}.approval-header{background:linear-gradient(135deg,#1a1a2e,#2d2d4a);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between}.approval-header .logo-wrapper{background:#fff;padding:8px 12px;display:inline-block}.approval-header .logo-wrapper img{height:40px;width:auto;display:block}.approval-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.5px}.approval-header p{display:none}.approval-header-title{color:#fff;font-size:1.5rem;font-weight:700}.status-banner{background-color:#eff6ff;padding:1rem 2rem;border-bottom:1px solid #bfdbfe;display:flex;align-items:center;gap:.75rem}.status-banner .status-icon{width:24px;height:24px;background-color:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-banner .status-icon span{color:#fff;font-size:14px;font-weight:600}.status-banner .status-text{color:#1e40af;font-size:1rem;font-weight:600}.approval-content{padding:2rem}.invoice-info{background:#f9fafb;border:1px solid #e5e7eb;padding:1.25rem;margin-bottom:1.5rem}.invoice-info-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1a1a2e;margin:0 0 1rem}.info-row{display:flex;justify-content:space-between;padding:.625rem 0;font-size:.875rem}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.info-row span{color:#6b7280}.info-row strong{color:#1a1a2e}.line-items-card{margin-bottom:1.5rem}.line-items-card h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1a1a2e;margin:0 0 1rem}.items-list{border:1px solid #e5e7eb;overflow:hidden}.item-row{display:flex;align-items:center;padding:1rem;background:#fff;transition:background .2s}.item-row:not(:last-child){border-bottom:1px solid #e5e7eb}.item-row.selectable{cursor:pointer}.item-row.selectable:hover{background:#f9fafb}.item-row.selected{background:#fef2f2}.item-checkbox{margin-right:.75rem;flex-shrink:0}.item-details{flex:1;min-width:0}.item-name{display:block;font-weight:500;color:#1a1a2e;font-size:.938rem}.item-qty{display:block;font-size:.813rem;color:#6b7280;margin-top:.125rem}.item-price{font-weight:600;color:#1a1a2e;flex-shrink:0}.totals-card{background:#f9fafb;border:1px solid #e5e7eb;padding:1.25rem;margin-bottom:1.5rem}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem}.total-row:not(:last-child){border-bottom:1px solid #e5e7eb}.total-row.discount{color:#16a34a}.total-row.total{font-weight:600;color:#1a1a2e}.total-row.deposit{color:#6b7280}.total-row.remainder{border-top:2px solid #1a1a2e;padding-top:1rem;margin-top:.5rem;font-weight:700;border-bottom:none}.due-amount{color:#dc2626;font-size:1.25rem}.approval-actions{text-align:center;margin-top:1.5rem}.approval-notice{font-size:.875rem;color:#6b7280;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:#eff6ff;border-left:4px solid #3b82f6}.approval-notice strong{color:#1a1a2e}.btn-approve{width:100%;padding:1rem;background:linear-gradient(135deg,#1a1a2e,#2d2d4a);color:#fff;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;margin-bottom:.75rem}.btn-approve:hover:not(:disabled){opacity:.9}.btn-approve:disabled{opacity:.7;cursor:not-allowed}.btn-dispute{width:100%;padding:.875rem;background:transparent;color:#6b7280;border:1px solid #d1d5db;font-size:.938rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-dispute:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.dispute-form{background:#fef2f2;border:1px solid #fecaca;padding:1.25rem;margin-bottom:1.5rem}.dispute-form h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#991b1b}.dispute-hint{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.dispute-reason-field{margin-bottom:1rem}.dispute-reason-field label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.dispute-reason-field textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;font-size:.875rem;font-family:inherit;resize:vertical;box-sizing:border-box}.dispute-reason-field textarea:focus{outline:none;border-color:#ef4444}.dispute-actions{display:flex;gap:.75rem}.btn-cancel{flex:1;padding:.75rem;background:#fff;color:#374151;border:1px solid #d1d5db;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-submit-dispute{flex:2;padding:.75rem;background:#ef4444;color:#fff;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit-dispute:hover:not(:disabled){background:#dc2626}.btn-submit-dispute:disabled{opacity:.6;cursor:not-allowed}.contact-info-box{background:#f9fafb;padding:1.25rem;margin-top:1.5rem}.contact-info-box h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .75rem}.contact-info-box p{font-size:.875rem;color:#374151;margin:.5rem 0}.contact-info-box a{color:#3b82f6;text-decoration:none}.approval-footer{background-color:#1a1a2e;padding:1.5rem 2rem;text-align:center}.approval-footer p{font-size:.813rem;color:#ffffffb3;margin:0}.approval-footer a{color:#3b82f6;text-decoration:none;font-weight:500}.approval-footer a:hover{text-decoration:underline}.approval-footer .company-name{color:#fff;font-weight:600;font-size:.875rem;margin-bottom:.5rem}.approval-footer .company-address{color:#ffffffb3;font-size:.75rem;margin-bottom:.25rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.loading-state .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#1a1a2e;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.error-state h2{margin:1rem 0 .5rem;font-size:1.25rem;color:#1a1a2e}.error-state p{margin:0;color:#6b7280}.success-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.success-state h2{margin:1.5rem 0 .5rem;font-size:1.5rem;color:#1a1a2e}.success-state p{margin:0;color:#6b7280;max-width:300px;line-height:1.6}@media(max-width:520px){.invoice-approval-page{padding:0}.approval-container{min-height:100vh}.approval-header{padding:1.25rem 1.5rem}.approval-header h1{font-size:1.25rem}.approval-content{padding:1.5rem}.approval-footer{padding:1.25rem 1.5rem}}.floating-book-button{position:fixed;bottom:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom));right:1.25rem;right:calc(1.25rem + env(safe-area-inset-right));z-index:900;display:flex;align-items:center;justify-content:center;width:60px;height:60px;padding:0;background:#25d366;color:#fff;border:none;border-radius:50%;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #25d36666,0 8px 32px #25d36640;transition:all .3s ease;animation:whatsapp-pulse 2s ease-in-out infinite;min-width:60px;min-height:60px;text-decoration:none}.floating-book-button:hover{background:#20ba5c;box-shadow:0 6px 28px #25d36680,0 12px 40px #25d36659;transform:scale(1.1)}.floating-book-button svg{width:28px;height:28px}.floating-book-button span{display:none}@keyframes whatsapp-pulse{0%,to{box-shadow:0 4px 20px #25d36666,0 8px 32px #25d36640}50%{box-shadow:0 6px 28px #25d36680,0 12px 40px #25d36659}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:998}.booking-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:96%;max-width:none;background:var(--color-white);border-radius:var(--radius-xl);padding:1.5rem 1rem;z-index:999;box-shadow:0 24px 80px #0003,0 8px 32px #00000026;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 auto}@supports (max-height: 70dvh){.booking-modal{max-height:70dvh}}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:#083d771a;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-deep-navy)}.modal-close:hover{background:#083d7733;transform:rotate(90deg)}.booking-modal h2{margin:0 0 .5rem;font-size:1.35rem;color:var(--color-deep-navy)}.modal-subtitle{margin:0 0 1.5rem;color:var(--color-deep-navy);opacity:.7;font-size:.9rem}.booking-options{display:flex;flex-direction:column;gap:1rem}.booking-option{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.875rem;background:linear-gradient(135deg,var(--color-white) 0%,rgba(30,136,229,.03) 100%);border:2px solid rgba(30,136,229,.2);border-radius:var(--radius-lg);text-decoration:none;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.booking-option:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-primary);opacity:0;transition:opacity .3s ease;z-index:0}.booking-option:hover:before{opacity:.08}.booking-option:hover{border-color:var(--color-eco-green);transform:translate(8px);box-shadow:0 8px 32px #1e88e533,0 4px 16px #0000001a}.option-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:var(--color-white);flex-shrink:0;position:relative;z-index:1;box-shadow:0 4px 16px #1e88e54d;transition:all .3s ease}.option-icon svg{width:22px;height:22px}.booking-option:hover .option-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px #1e88e566}.option-content{flex:1;position:relative;z-index:1}.option-content h3{margin:0 0 .25rem;font-size:1rem;color:var(--color-deep-navy);transition:color .3s ease}.option-content p{margin:0;color:var(--color-deep-navy);opacity:.7;font-size:.85rem}.option-arrow{color:var(--color-eco-green);flex-shrink:0;transition:transform .3s ease;position:relative;z-index:1}.booking-option:hover .option-arrow{transform:translate(4px)}@media(min-width:768px){.floating-book-button{width:64px;height:64px;min-width:64px;min-height:64px;bottom:1.5rem;right:1.5rem}.floating-book-button svg{width:32px;height:32px}.booking-modal{padding:2rem;width:92%;max-width:500px;max-height:80vh}@supports (max-height: 80dvh){.booking-modal{max-height:80dvh}}.booking-modal h2{font-size:1.75rem}.modal-subtitle{font-size:1rem}.booking-option{padding:1.25rem;gap:1rem}.option-icon{width:56px;height:56px}.option-icon svg{width:28px;height:28px}.option-content h3{font-size:1.2rem}.option-content p{font-size:.9rem}}@media(min-width:1024px){.floating-book-button{width:68px;height:68px;min-width:68px;min-height:68px;bottom:2rem;bottom:calc(2rem + env(safe-area-inset-bottom));right:2rem;right:calc(2rem + env(safe-area-inset-right))}.floating-book-button svg{width:36px;height:36px}.booking-modal{padding:2.5rem;max-width:600px;max-height:85vh}@supports (max-height: 85dvh){.booking-modal{max-height:85dvh}}.booking-modal h2{font-size:2rem}.modal-subtitle{font-size:1.05rem;margin-bottom:2rem}.modal-close{width:40px;height:40px;top:1.5rem;right:1.5rem}.booking-option{padding:1.5rem;gap:1.25rem}.option-icon{width:64px;height:64px}.option-icon svg{width:32px;height:32px}.option-content h3{font-size:1.35rem}.option-content p{font-size:.95rem}}.dark-mode .floating-book-button{background:#25d366;box-shadow:0 4px 20px #25d36680,0 8px 32px #25d36659}.dark-mode .floating-book-button:hover{background:#20ba5c;box-shadow:0 6px 28px #25d36699,0 12px 40px #25d36673}.dark-mode .modal-backdrop{background:#000c}.dark-mode .booking-modal{background:#1a2229fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 80px #0009,0 8px 32px #1e88e533;border:1px solid rgba(30,136,229,.2)}.dark-mode .modal-close{background:#1e88e526;color:var(--color-deep-navy)}.dark-mode .modal-close:hover{background:#1e88e540}.dark-mode .booking-modal h2{color:var(--color-deep-navy)}.dark-mode .modal-subtitle{color:var(--color-deep-navy);opacity:.8}.dark-mode .booking-option{background:linear-gradient(135deg,#1a2229e6,#2a344180);border-color:#1e88e54d}.dark-mode .booking-option:hover{border-color:var(--color-eco-green);box-shadow:0 8px 32px #1e88e54d,0 4px 16px #0006}.dark-mode .booking-option:before{background:var(--gradient-primary)}.dark-mode .option-content h3{color:var(--color-deep-navy)}.dark-mode .option-content p{color:var(--color-deep-navy);opacity:.8}.dark-mode .option-icon{background:var(--gradient-primary);box-shadow:0 4px 16px #1e88e566}.dark-mode .booking-option:hover .option-icon{box-shadow:0 8px 24px #1e88e580}.dark-mode .option-arrow{color:var(--color-eco-green)}.intro-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;overflow:hidden}.intro-splash__background{position:absolute;top:0;right:0;bottom:0;left:0;background:#fafbfc}.intro-splash--zooming .intro-splash__background{animation:bgFade .45s linear forwards}@keyframes bgFade{to{opacity:0}}.intro-splash__ambient{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(30,136,229,.05) 0%,transparent 70%);opacity:0;animation:ambientIn .6s ease-out .1s forwards}.intro-splash--zooming .intro-splash__ambient{animation:fadeOut .3s linear forwards}@keyframes ambientIn{to{opacity:.6}}@keyframes fadeOut{to{opacity:0}}.intro-splash__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:40px}.intro-splash__logo-container{position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:logoIn .5s ease-out .1s forwards}.intro-splash--zooming .intro-splash__logo-container{animation:logoOut .45s linear forwards}@keyframes logoIn{to{opacity:1;transform:translateY(0)}}@keyframes logoOut{0%{opacity:1;transform:translateY(0) scale(1)}25%{opacity:.75;transform:translateY(-8vh) scale(.75)}50%{opacity:.5;transform:translateY(-16vh) scale(.5)}75%{opacity:.25;transform:translateY(-24vh) scale(.35)}to{opacity:0;transform:translateY(-30vh) scale(.25)}}.intro-splash__logo{width:340px;height:auto;display:block}.intro-splash__shimmer{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;background:linear-gradient(100deg,transparent 0%,transparent 35%,rgba(255,255,255,.6) 45%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.6) 55%,transparent 65%,transparent 100%);transform:translate(-100%);animation:shimmer 2s ease .5s forwards;mix-blend-mode:overlay;pointer-events:none}.intro-splash--zooming .intro-splash__shimmer{opacity:0}@keyframes shimmer{to{transform:translate(100%)}}.intro-splash__progress-wrapper{width:120px;opacity:0;animation:fadeIn .4s ease-out .3s forwards}.intro-splash--zooming .intro-splash__progress-wrapper{animation:fadeOut .3s linear forwards}@keyframes fadeIn{to{opacity:1}}.intro-splash__progress-track{width:100%;height:2px;background:#0000000f;border-radius:2px;overflow:hidden}.intro-splash__progress-fill{height:100%;width:100%;background:#1a1a1a;border-radius:2px;transform:scaleX(0);transform-origin:left;animation:progressFill 1.6s ease-out .3s forwards}@keyframes progressFill{to{transform:scaleX(1)}}.intro-splash__tagline{margin:0;font-family:Montserrat,system-ui,-apple-system,sans-serif;font-size:13px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:#0f1419;opacity:0;animation:fadeIn .4s ease-out .5s forwards}.intro-splash--zooming .intro-splash__tagline{animation:fadeOut .3s linear forwards}.dark-mode .intro-splash__background{background:#0d0d0d}.dark-mode .intro-splash__ambient{background:radial-gradient(circle,rgba(30,136,229,.08) 0%,transparent 70%)}.dark-mode .intro-splash__progress-track{background:#ffffff14}.dark-mode .intro-splash__progress-fill{background:#fff}.dark-mode .intro-splash__tagline{color:#e8e6e3}.dark-mode .intro-splash__shimmer{background:linear-gradient(100deg,transparent 0%,transparent 35%,rgba(255,255,255,.3) 45%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.3) 55%,transparent 65%,transparent 100%);mix-blend-mode:soft-light}@media(max-width:768px){.intro-splash__logo{width:280px}.intro-splash__progress-wrapper{width:100px}.intro-splash__tagline{font-size:11px;letter-spacing:.2em;padding:0 24px;text-align:center}.intro-splash__content{gap:32px}}@media(max-width:480px){.intro-splash__logo{width:220px}.intro-splash__progress-wrapper{width:80px}.intro-splash__tagline{font-size:10px;letter-spacing:.15em}}@media(prefers-reduced-motion:reduce){.intro-splash__logo-container,.intro-splash__ambient,.intro-splash__progress-wrapper,.intro-splash__tagline{animation:none;opacity:1;transform:none}.intro-splash__progress-fill{animation:none;transform:scaleX(1)}.intro-splash__shimmer{display:none}.intro-splash--zooming .intro-splash__logo-container,.intro-splash--zooming .intro-splash__background,.intro-splash--zooming .intro-splash__progress-wrapper,.intro-splash--zooming .intro-splash__tagline{animation:fadeOut .3s ease forwards}}
