@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap);:root{--clr-primary:#4a7a5e;--clr-primary-hover:#3d6b51;--clr-primary-light:#4a7a5e14;--clr-primary-border:#4a7a5e2e;--clr-accent:#c4956a;--clr-accent-hover:#b07d52;--clr-accent-light:#c4956a1f;--clr-bg:#fafaf7;--clr-surface:#fff;--clr-cream:#f5efe8;--clr-sage-light:#eef4f0;--clr-text:#1c2b23;--clr-text-body:#4d6358;--clr-text-muted:#7a9085;--clr-border:#4a7a5e26;--clr-border-light:#4a7a5e14;--font-heading:"Playfair Display",Georgia,serif;--font-body:"Inter",-apple-system,system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--radius-md:16px;--radius-lg:24px;--shadow-sm:0 2px 8px #1c2b2312;--shadow-md:0 8px 32px #1c2b2317;--shadow-lg:0 20px 60px #1c2b231f;--shadow-hover:0 16px 48px #1c2b2324;--ease:cubic-bezier(0.25,0.46,0.45,0.94);--transition:0.22s cubic-bezier(0.25,0.46,0.45,0.94);--container-max:1200px;--section-pad:clamp(4rem,8vw,8rem);--inner-pad:clamp(1.5rem,4vw,3.5rem)}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--clr-bg);color:var(--clr-text-body);font-family:var(--font-body);line-height:1.6;margin:0}h1,h2,h3,h4,h5,h6{color:var(--clr-text);font-family:var(--font-heading);line-height:1.2}a{color:inherit}img{height:auto;max-width:100%}button{font-family:var(--font-body)}.promo-section{background:#2a4e3a;background:var(--promo-color,#2a4e3a);border-radius:16px;margin:2rem auto 32px;max-width:min(900px,calc(100% - var(--inner-pad)*2));overflow:hidden}.promo-section-inner{align-items:center;display:flex;gap:0;min-height:220px}.promo-section-image{align-self:stretch;flex-shrink:0;overflow:hidden;width:42%}.promo-section-image img{display:block;height:100%;object-fit:cover;width:100%}.promo-section-text{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:32px 36px}.promo-section-title{color:#fff;font-size:1.6rem;font-weight:700;line-height:1.2;margin:0}.promo-section-message{color:#ffffffe0;font-size:1rem;line-height:1.6;margin:0}.promo-section-inner:not(:has(.promo-section-image)) .promo-section-text{align-items:center;padding:40px 32px;text-align:center}@media (max-width:600px){.promo-section{border-radius:12px;margin:1.5rem 0 24px}.promo-section-inner{flex-direction:column;min-height:0;min-height:auto}.promo-section-image{align-self:auto;height:180px;width:100%}.promo-section-text{padding:20px}.promo-section-title{font-size:1.25rem}.promo-section-message{font-size:.9rem}}.home{overflow-x:clip}.hero-section{background:linear-gradient(140deg,var(--clr-bg) 0,var(--clr-sage-light) 55%,var(--clr-bg) 100%);overflow:hidden;padding:clamp(3.5rem,7vw,7rem) var(--inner-pad) clamp(4rem,9vw,9rem);position:relative}.hero-section:before{background:radial-gradient(ellipse 800px 600px at 75% 25%,#4a7a5e17 0,#0000 70%);content:"";inset:0;pointer-events:none;position:absolute}.hero-inner{grid-gap:clamp(2.5rem,6vw,6rem);align-items:center;display:grid;gap:clamp(2.5rem,6vw,6rem);grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--container-max);position:relative;z-index:1}.hero-eyebrow{color:var(--clr-accent);font-size:var(--text-sm);font-weight:600;letter-spacing:.13em;margin:0 0 1rem;text-transform:uppercase}.hero-heading{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(2.8rem,5vw,4.5rem);font-weight:600;line-height:1.1;margin:0 0 1.5rem}.hero-animated-wrap{color:var(--clr-primary);display:block;font-style:italic;height:1.55em;margin-bottom:-.1em;margin-left:-.12em;overflow:hidden;padding-bottom:.1em;padding-left:.12em;position:relative}.hero-animated-word{align-items:center;display:flex;inset:0;left:.12em;max-width:100%;overflow-wrap:anywhere;position:absolute}.hero-desc{color:var(--clr-text-body);font-size:var(--text-lg);line-height:1.8;margin:0 0 2.5rem;max-width:490px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.hero-image-wrap{aspect-ratio:3/4;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:460px;overflow:hidden;width:100%}.hero-image-wrap img{display:block;height:100%;object-fit:cover;transition:transform .5s var(--ease);width:100%}.hero-image-wrap:hover img{transform:scale(1.04)}.btn-primary{align-items:center;background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:.4rem;justify-content:center;max-width:100%;padding:.9rem 2.2rem;text-decoration:none;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);white-space:nowrap}.btn-primary:hover{background:var(--clr-primary-hover);box-shadow:0 6px 20px #4a7a5e61;transform:translateY(-2px)}.btn-secondary{align-items:center;background:#0000;border:1.5px solid var(--clr-primary);border-radius:var(--radius-pill);color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:.35rem;justify-content:center;max-width:100%;padding:.85rem 2rem;text-decoration:none;transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);white-space:nowrap}.btn-secondary:hover{background:var(--clr-primary);box-shadow:0 6px 20px #4a7a5e4d;color:#fff;transform:translateY(-2px)}.trust-bar{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);border-top:1px solid var(--clr-border);padding:1.1rem var(--inner-pad)}.trust-inner{align-items:center;display:flex;flex-wrap:wrap;gap:0;justify-content:center;margin:0 auto;max-width:var(--container-max)}.trust-item-wrap{display:contents}.trust-item{align-items:center;color:var(--clr-text-body);display:flex;font-size:var(--text-sm);font-weight:500;gap:.55rem;padding:.4rem 1.5rem}.trust-item svg{color:var(--clr-primary);flex-shrink:0}.trust-divider{background:var(--clr-border);flex-shrink:0;height:22px;width:1px}.page-container{margin:0 auto;max-width:var(--container-max);padding:0 var(--inner-pad)}.section-header{margin-bottom:clamp(2.5rem,5vw,4rem);text-align:center}.section-eyebrow{color:var(--clr-accent);font-size:var(--text-sm);font-weight:600;letter-spacing:.14em;margin:0 0 .6rem;text-transform:uppercase}.section-heading{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.9rem,3.5vw,2.75rem);font-weight:600;line-height:1.15;margin:0}.services-section{background:var(--clr-bg);padding:var(--section-pad) 0}.services-grid{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);margin:0 auto 2.5rem;max-width:1080px}.services-grid>div{height:100%}.service-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem;height:100%;padding:1.75rem;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.service-card:hover{border-color:#4a7a5e47;box-shadow:var(--shadow-hover);transform:translateY(-5px)}.service-badge{align-self:flex-start;background:var(--clr-primary-light);border-radius:var(--radius-pill);color:var(--clr-primary);display:inline-flex;font-size:.68rem;font-weight:700;letter-spacing:.1em;padding:.28rem .75rem;text-transform:uppercase}.service-card-title{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:600;line-height:1.2;margin:0}.service-card-desc{color:var(--clr-text-body);flex:1 1;font-size:var(--text-sm);line-height:1.75;margin:0}.service-card-meta{align-items:center;border-top:1px solid var(--clr-border);display:flex;justify-content:space-between;margin-top:auto;padding-top:.875rem}.service-card-duration{color:var(--clr-text-muted);font-size:var(--text-sm)}.service-card-price{color:var(--clr-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700}.service-card-cta{background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:.7rem 1rem;text-align:center;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);width:100%}.service-card-cta:hover{background:var(--clr-primary-hover);box-shadow:0 4px 14px #4a7a5e52;transform:translateY(-1px)}.services-view-all{text-align:center}.testimonials-section{background:var(--clr-cream);padding:var(--section-pad) 0}.testimonials-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:720px}.testimonial-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;padding:1.875rem}.testimonial-stars{display:flex;gap:3px}.testimonial-quote{color:var(--clr-text);flex:1 1;font-family:var(--font-heading);font-size:1.05rem;font-style:italic;line-height:1.72;margin:0}.testimonial-author{border-top:1px solid var(--clr-border-light);padding-top:.875rem}.testimonial-name{color:var(--clr-text);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin:0}.testimonial-treatment{color:var(--clr-text-muted);font-size:var(--text-xs);letter-spacing:.03em;margin:.2rem 0 0}.about-section{background:var(--clr-bg);padding:var(--section-pad) 0}.about-inner{grid-gap:clamp(2.5rem,6vw,6rem);align-items:center;display:grid;gap:clamp(2.5rem,6vw,6rem);grid-template-columns:1fr 1.5fr}.about-image-wrap{position:relative}.about-image-wrap:before{background:#4a7a5e21;border-radius:var(--radius-lg);bottom:-12px;content:"";left:-12px;position:absolute;right:12px;top:12px;z-index:0}.about-img{aspect-ratio:4/5;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;max-width:400px;object-fit:cover;position:relative;width:100%;z-index:1}.about-text{display:flex;flex-direction:column}.about-text p{color:var(--clr-text-body);font-size:var(--text-lg);line-height:1.82;margin:0 0 1.25rem}.cta-banner{background:linear-gradient(140deg,var(--clr-primary) 0,#3d6b51 100%);padding:clamp(4.5rem,8vw,8rem) var(--inner-pad);text-align:center}.cta-banner-heading{color:#fff;font-family:var(--font-heading);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:600;margin:0 0 1rem}.cta-banner-sub{color:#ffffffd1;font-size:var(--text-lg);line-height:1.6;margin:0 0 2.5rem}.btn-cta-large{align-items:center;background:#fff;border:none;border-radius:var(--radius-pill);color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-xl);font-weight:700;padding:1.05rem 3rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.btn-cta-large:hover{background:var(--clr-cream);box-shadow:0 8px 28px #0000002e;transform:translateY(-3px)}.social-section{background:var(--clr-surface);border-top:1px solid var(--clr-border);padding:clamp(3rem,5vw,5rem) var(--inner-pad);text-align:center}.social-label{color:var(--clr-text-muted);font-size:var(--text-sm);font-weight:500;letter-spacing:.12em;margin:0 0 .6rem;text-transform:uppercase}.social-handle{color:var(--clr-primary);display:block;font-family:var(--font-heading);font-size:var(--text-3xl);font-style:italic;line-height:1;margin-bottom:1.75rem;overflow-wrap:anywhere;text-decoration:none;transition:color var(--transition)}.social-handle:hover{color:var(--clr-accent)}.social-links{display:flex;gap:.875rem;justify-content:center}.social-link{align-items:center;background:#0000;border:1.5px solid var(--clr-border);border-radius:var(--radius-pill);color:var(--clr-text-body);display:inline-flex;font-size:var(--text-sm);font-weight:500;gap:.5rem;padding:.6rem 1.4rem;text-decoration:none;transition:border-color var(--transition),color var(--transition),background var(--transition)}.social-link:hover{background:var(--clr-primary-light);border-color:var(--clr-primary);color:var(--clr-primary)}@media (max-width:767px){.hero-section{padding-bottom:clamp(2.25rem,6vw,3rem);padding-top:clamp(1.75rem,6vw,2.5rem)}.hero-inner{gap:clamp(2rem,6vw,3rem);grid-template-columns:1fr;text-align:center}.hero-image-wrap{aspect-ratio:3/2;max-width:100%}.hero-heading{font-size:clamp(2rem,8.5vw,2.75rem)}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.trust-inner{gap:.5rem}.trust-item{padding:.4rem .75rem}.trust-divider{display:none}.services-grid{max-width:420px}.about-inner,.services-grid,.testimonials-grid{grid-template-columns:1fr}.about-inner{text-align:center}.about-img{margin:0 auto;max-width:240px}.about-image-wrap:before{display:none}.social-handle{font-size:clamp(1.25rem,6.5vw,2rem)}}@media (max-width:400px){.hero-actions{align-items:stretch;flex-direction:column;width:100%}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%}.trust-item{font-size:.8rem;gap:.4rem;padding:.35rem .55rem}.service-card{padding:1.35rem}.testimonial-card{padding:1.4rem}.about-img{max-width:190px}}@media (min-width:768px) and (max-width:1023px){.services-grid{grid-template-columns:repeat(2,1fr);max-width:720px}.about-inner{gap:3rem;grid-template-columns:1fr 1.3fr}}@media (prefers-reduced-motion:reduce){.hero-animated-word{animation:none!important}.btn-cta-large,.btn-primary,.btn-secondary,.hero-animated-word,.hero-img,.service-card{transition:none!important}}.booking-form-container{margin:0 auto;max-width:700px;width:100%}.booking-form-custom{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:2.5rem}.booking-form-custom h2{color:var(--clr-text);font-family:var(--font-heading);font-size:1.8rem;font-weight:600;margin-bottom:2rem;text-align:center}.form-section{border-bottom:1px solid #e8e8e8;margin-bottom:2rem;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h3{color:var(--clr-text);font-size:1.1rem;margin-bottom:1.2rem}.form-calendar-embed{background:#fff;border:2px solid #e1e5e9;border-radius:8px;margin:1.5rem 0;overflow:hidden}.form-calendar-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #e1e5e9;display:flex;justify-content:space-between;padding:1rem 1.2rem}.calendar-label{color:var(--clr-text);font-size:.95rem;font-weight:600}.form-calendar-toggle{display:flex;gap:.5rem}.form-toggle-btn{background:#fff;border:2px solid #e1e5e9;border-radius:6px;color:#666;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.form-toggle-btn:hover{background:#f0f0f0}.form-toggle-btn.active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.form-calendar-container{height:400px;overflow:hidden;width:100%}.form-calendar-iframe{border:none;height:100%;width:100%}.form-row{margin-bottom:1rem}.form-row.two-col{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column}.form-field label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-field input,.form-field select,.form-field textarea{background:var(--clr-surface);border:1.5px solid var(--clr-primary-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--clr-text);font-family:var(--font-body);font-size:.95rem;padding:.75rem .875rem;transition:border-color var(--transition),box-shadow var(--transition)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #4a7a5e1f;outline:none}.form-field textarea{min-height:80px;resize:vertical}.radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.radio-label{align-items:center;color:#444;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.radio-label input[type=radio]{accent-color:var(--clr-primary)}.treatment-selector{display:flex;flex-direction:column;gap:.75rem}.treatment-category{border:1px solid #e1e5e9;border-radius:8px;overflow:hidden}.category-toggle{align-items:center;background:var(--clr-sage-light);border:none;color:var(--clr-primary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.95rem;font-weight:600;justify-content:space-between;padding:1rem 1.2rem;transition:background var(--transition),color var(--transition);width:100%}.category-toggle:hover{background:var(--clr-primary-light)}.category-toggle.expanded{background:var(--clr-primary);color:#fff}.toggle-arrow{font-size:.7rem}.treatment-items{padding:.75rem}.treatment-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:background .2s ease}.treatment-item:hover{background:#f0f7f2}.treatment-item.selected{background:#e8f5e9;border-left:3px solid var(--clr-primary)}.treatment-item input[type=checkbox]{accent-color:var(--clr-primary);flex-shrink:0;height:18px;width:18px}.treatment-info{display:flex;flex-direction:column;gap:.2rem}.treatment-info .treatment-name{color:#333;font-size:.95rem;font-weight:500}.treatment-info .treatment-meta{color:#888;font-size:.85rem}.selected-summary{background:#f0f7f2;border:1px solid #c8e6c9;border-radius:8px;margin-top:1.5rem;padding:1.2rem}.selected-summary h4{color:var(--clr-text);font-size:1rem;margin:0 0 .75rem}.selected-summary ul{list-style:none;margin:0 0 1rem;padding:0}.selected-summary li{align-items:center;color:#444;display:flex;font-size:.9rem;justify-content:space-between;padding:.4rem 0}.remove-treatment{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:1.3rem;line-height:1;padding:0 .3rem}.remove-treatment:hover{color:#c0392b}.totals{border-top:1px solid #c8e6c9;color:var(--clr-text);display:flex;font-size:.95rem;font-weight:600;justify-content:space-between;padding-top:1rem}.consent-section{border-bottom:none;margin-bottom:1rem;padding-bottom:1rem}.privacy-notice{color:#666;font-size:.85rem;line-height:1.5;margin-bottom:12px}.privacy-notice a{color:var(--clr-primary);text-decoration:underline}.privacy-notice a:hover{color:var(--clr-text)}.consent-checkbox{align-items:flex-start;color:#444;cursor:pointer;display:flex;font-size:.9rem;gap:10px;line-height:1.5}.consent-checkbox input[type=checkbox]{accent-color:var(--clr-primary);flex-shrink:0;height:18px;margin-top:2px;width:18px}.cancellation-notice{background:#fff8e1;border:1px solid #ffecb3;color:#6d5e00}.cancellation-notice,.form-error{border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;padding:1rem 1.2rem}.form-error{background:#fdecea;color:#d32f2f;text-align:center}.submit-btn{background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:1.05rem;font-weight:700;letter-spacing:.02em;padding:1rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);width:100%}.submit-btn:hover:not(:disabled){background:var(--clr-primary-hover);box-shadow:0 4px 16px #4a7a5e59;transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.booking-success{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:3rem 2rem;text-align:center}.success-icon{align-items:center;background:var(--clr-primary);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto 1.5rem;width:60px}.booking-success h2{color:var(--clr-text);margin-bottom:.75rem}.booking-success p{color:#666;font-size:1rem;margin:.5rem 0}.new-booking-btn{background:var(--clr-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;margin-top:1.5rem;padding:.75rem 1.5rem;transition:background .3s ease}.new-booking-btn:hover{background:var(--clr-primary-hover)}.loading-text{color:#888;padding:1rem;text-align:center}.helper-text{color:#666;font-size:.9rem;margin-bottom:1rem}.time-example{color:#888;font-size:.85rem;font-style:italic;margin-top:.5rem}@media (max-width:600px){.booking-form-container{margin:0 auto;padding:0;width:100%}.booking-form-custom{border-radius:8px;margin:0;padding:1.5rem 1rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.form-row.two-col{gap:1rem;grid-template-columns:1fr}.radio-group{gap:.75rem}.radio-group,.totals{flex-direction:column}.totals{gap:.4rem}.booking-success{padding:2rem 1.5rem}.form-calendar-container{height:350px}.form-calendar-header{align-items:stretch;flex-direction:column;gap:.75rem}.form-calendar-toggle{justify-content:center}}.time-split{align-items:center;display:flex;gap:6px}.time-split select{background:#fff;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .3s ease}.time-split select:focus{border-color:var(--clr-primary);outline:none}.time-colon{color:#555;font-size:1.2rem;font-weight:600}.rebooking-banner{background:#f0f7f2;border-left:3px solid var(--clr-primary);border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:12px 16px}.rebooking-banner p{color:var(--clr-text);font-size:.95rem;line-height:1.5;margin:0}input.read-only{background:#f5f5f5;color:#888;cursor:not-allowed}.slot-nav{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.slot-nav-label{color:#2a4e3a;color:var(--bbv-ink,#2a4e3a);font-size:.95rem;font-weight:600}.slot-nav-btn{align-items:center;background:#fff;border:1px solid #cfdcd4;border-radius:50%;color:#2a4e3a;cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:background .15s ease,border-color .15s ease;width:38px}.slot-nav-btn:hover:not(:disabled){background:#f0f7f2;border-color:#6b9e7a}.slot-nav-btn:disabled{cursor:not-allowed;opacity:.35}.slot-day{border:1px solid #e3e8e4;border-radius:10px;margin-bottom:10px;overflow:hidden}.slot-day-header{align-items:center;background:#f7faf8;border:none;cursor:pointer;display:flex;font-family:inherit;gap:12px;justify-content:space-between;padding:13px 16px;text-align:left;width:100%}.slot-day-header:hover{background:#eef5f0}.slot-day-header.expanded{border-bottom:1px solid #e3e8e4}.slot-day-name{color:#2a4e3a;font-size:.98rem;font-weight:600}.slot-day-count{color:#7a8a7f;font-size:.82rem;white-space:nowrap}.slot-day-location{color:#7a8a7f;font-size:.82rem;margin:0;padding:10px 16px 0}.slot-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:12px 16px 16px}.slot-btn{background:#fff;border:1px solid #cfdcd4;border-radius:8px;color:#2a4e3a;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;padding:11px 8px;transition:background .15s ease,border-color .15s ease,color .15s ease}.slot-btn:hover{background:#f0f7f2;border-color:#6b9e7a}.slot-btn.selected{background:#6b9e7a;border-color:#6b9e7a;color:#fff}.slot-error{background:#fff5f5;border:1px solid #f5c6c6;border-radius:8px;padding:14px 16px}.slot-error p{color:#a33;font-size:.9rem;margin:0 0 10px}.slot-retry{background:#fff;border:1px solid #6b9e7a;border-radius:6px;color:#2a4e3a;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;padding:8px 16px}.enquiry-notice{background:#fff9e6;border-left:3px solid #f39c12;border-radius:0 8px 8px 0;padding:14px 18px}.enquiry-notice p{color:#5a5142;font-size:.92rem;line-height:1.6;margin:0 0 10px}.enquiry-notice p:last-child{margin-bottom:0}.enquiry-notice a{color:#2a4e3a;font-weight:600}.chosen-slot{background:#f0f7f2;border:1px solid #cfe0d5;border-radius:10px;display:flex;flex-direction:column;gap:3px;margin-bottom:18px;padding:14px 16px}.chosen-slot-label{color:#6b9e7a;font-size:.74rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.chosen-slot strong{color:#2a4e3a;font-size:1.04rem}.chosen-slot span:last-child{color:#7a8a7f;font-size:.85rem}.booking-success-when{background:#f0f7f2;border-radius:10px;color:#2a4e3a;font-size:1.15rem;line-height:1.7;margin:18px 0 10px;padding:16px 20px}.booking-success-where{color:#7a8a7f;font-size:.9rem;margin-top:0}.bf-google{align-items:center;background:var(--clr-surface);border:1px solid #cfdcd4;border-radius:var(--radius-sm);color:var(--clr-text);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.95rem;font-weight:600;gap:10px;justify-content:center;min-height:48px;padding:12px 16px;transition:background var(--transition),border-color var(--transition);width:100%}.bf-google:hover:not(:disabled){background:#f7faf8;border-color:var(--clr-primary)}.bf-google:disabled{cursor:not-allowed;opacity:.6}.bf-google--primary{background:var(--clr-primary);border-color:var(--clr-primary);box-shadow:0 6px 20px #4a7a5e47;color:#fff;font-size:1.02rem;font-weight:700;min-height:56px;padding:12px 18px}.bf-google--primary:hover:not(:disabled){background:var(--clr-primary-hover);border-color:var(--clr-primary-hover);box-shadow:0 8px 24px #4a7a5e57}.bf-google-mark{align-items:center;background:#fff;border-radius:6px;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.bf-auth-link:focus-visible,.bf-auth-submit:focus-visible,.bf-google:focus-visible{border-radius:var(--radius-sm);box-shadow:0 0 0 3px #4a7a5e47;outline:none}.bf-auth-hint{color:var(--clr-text-muted);font-size:.8rem;line-height:1.5;margin:8px 0 0}.bf-auth-alt{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.bf-auth-link{align-items:center;background:none;border:none;color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.88rem;font-weight:600;min-height:44px;padding:0 2px;text-decoration:underline;text-underline-offset:3px}.bf-auth-link:hover{color:var(--clr-primary-hover)}.bf-or{align-items:center;color:var(--clr-text-muted);display:flex;font-size:.8rem;gap:12px;margin:14px 0}.bf-or:after,.bf-or:before{background:var(--clr-border);content:"";flex:1 1;height:1px}.bf-auth-fields{display:flex;flex-direction:column;gap:12px}.bf-auth-fields .form-field input{min-height:44px}.bf-auth-submit{background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:.98rem;font-weight:700;min-height:48px;padding:12px 16px;transition:background var(--transition);width:100%}.bf-auth-submit:hover:not(:disabled){background:var(--clr-primary-hover)}.bf-auth-submit:disabled{cursor:not-allowed;opacity:.55}.bf-auth-error{background:#fdecea;color:#b3261e;line-height:1.5}.bf-auth-error,.bf-auth-notice{border-radius:var(--radius-sm);font-size:.86rem;margin:0;padding:10px 12px}.bf-auth-notice{background:#eaf5ec;color:#2a4e3a;line-height:1.55}.bf-gate{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:2rem}.bf-gate-title{color:var(--clr-text);font-family:var(--font-heading);font-size:1.5rem;font-weight:600;line-height:1.3;margin:0 0 8px;text-align:center}.bf-gate-lead{color:var(--clr-text-body);font-size:.95rem;line-height:1.6;margin:0 0 20px;text-align:center}.bf-gate-points{background:var(--clr-sage-light);border:1px solid var(--clr-border);border-radius:var(--radius-sm);list-style:none;margin:0 0 22px;padding:16px}.bf-gate-points li{align-items:flex-start;color:var(--clr-text-body);display:flex;font-size:.9rem;gap:10px;line-height:1.55}.bf-gate-points li+li{margin-top:12px}.bf-gate-points svg{color:var(--clr-primary);flex-shrink:0;margin-top:2px}.bf-gate-points strong{color:var(--clr-text)}.bf-gate-hint{color:var(--clr-text-muted);font-size:.8rem;line-height:1.5;margin:8px 0 0;text-align:center}.bf-gate-secondary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:16px}.bf-secondary-btn{align-items:center;background:var(--clr-surface);border:1.5px solid var(--clr-primary);border-radius:var(--radius-pill);color:var(--clr-primary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.92rem;font-weight:600;justify-content:center;min-height:48px;padding:12px 14px;text-align:center;transition:background var(--transition),border-color var(--transition);width:100%}.bf-secondary-btn:hover{background:var(--clr-sage-light)}.bf-secondary-btn:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}.bf-gate .bf-auth-error{margin-top:12px}.bf-gate-guest{border-top:1px solid var(--clr-border);margin-top:24px;padding-top:20px}.bf-gate-guest-text{color:var(--clr-text-body);font-size:.88rem;line-height:1.6;margin:0 0 12px;text-align:center}.bf-gate-guest-btn{background:#0000;border:1px solid var(--clr-border);border-radius:var(--radius-pill);color:var(--clr-text-body);cursor:pointer;display:block;font-family:var(--font-body);font-size:.92rem;font-weight:600;min-height:46px;padding:11px 16px;transition:background var(--transition),color var(--transition),border-color var(--transition);width:100%}.bf-gate-guest-btn:hover{background:var(--clr-sage-light);border-color:var(--clr-primary-border);color:var(--clr-text)}.bf-gate-guest-btn:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}@media (max-width:600px){.bf-gate{border-radius:var(--radius-sm);padding:1.5rem 1rem}.bf-gate-title{font-size:1.3rem}.bf-gate-secondary{grid-template-columns:1fr}}.bf-repeat{background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);margin-bottom:18px;padding:16px}.bf-repeat-title{color:var(--clr-text);font-size:1rem;font-weight:700;margin:0 0 8px}.bf-repeat-treatments{color:var(--clr-text);font-size:.95rem;font-weight:600;line-height:1.5;margin:0 0 4px}.bf-repeat-meta{color:var(--clr-text-body);font-size:.88rem;margin:0 0 2px}.bf-repeat-when{color:var(--clr-text-muted);font-size:.82rem;margin:0 0 14px}.bf-repeat-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.bf-repeat-btn{background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:.98rem;font-weight:700;min-height:48px;padding:12px 22px;transition:background var(--transition),transform var(--transition)}.bf-repeat-btn:hover{background:var(--clr-primary-hover);transform:translateY(-1px)}.bf-repeat-btn:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}.bf-repeat-or{color:var(--clr-text-muted);font-size:.86rem}.bf-picker-open{background:var(--clr-surface);border:1px solid var(--clr-primary-border);border-radius:var(--radius-sm);color:var(--clr-primary);cursor:pointer;display:block;font-family:var(--font-body);font-size:.92rem;font-weight:600;margin-top:14px;min-height:48px;padding:12px 16px;transition:background var(--transition),border-color var(--transition);width:100%}.bf-picker-open:hover{background:var(--clr-sage-light);border-color:var(--clr-primary)}.bf-picker-open:focus-visible{box-shadow:0 0 0 3px #4a7a5e38;outline:none}@media (max-width:600px){.bf-repeat-btn{width:100%}.bf-repeat-actions{gap:8px}.bf-repeat-or{text-align:center;width:100%}}.bf-identity{align-items:flex-start;background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 14px}.bf-identity-text{color:var(--clr-text-body);font-size:.88rem;line-height:1.55;margin:0}.bf-identity-text strong{color:var(--clr-text)}.bf-identity-btn{background:var(--clr-surface);border:1.5px solid var(--clr-primary);border-radius:var(--radius-pill);color:var(--clr-primary);cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:700;min-height:44px;padding:10px 18px;transition:background var(--transition)}.bf-identity-btn:hover{background:var(--clr-sage-light)}.bf-identity-btn:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}@media (max-width:600px){.bf-identity{align-items:stretch}.bf-identity-btn{width:100%}}.bf-resume{background:#f0f7f2;border:1px solid #cfe0d5;border-left:3px solid var(--clr-primary);border-radius:var(--radius-sm);color:var(--clr-text-body);font-size:.9rem;line-height:1.55;margin-bottom:16px;padding:12px 14px}.bf-resume strong{color:var(--clr-text)}.bf-resume--warn{background:#fff8e1;border-color:#ffecb3 #ffecb3 #ffecb3 #f39c12;color:#6d5e00}.bf-resume--warn strong{color:#5a5142}.booking-success-ask{margin:18px 0 4px;text-align:left}.bf-birthday{background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);padding:14px 16px}.bf-birthday-title{align-items:center;color:var(--clr-text);display:flex;font-size:.98rem;font-weight:700;gap:8px;line-height:1.4;margin:0 0 6px}.bf-birthday-title svg{color:var(--clr-primary);flex-shrink:0}.booking-success .bf-birthday-text{color:var(--clr-text-body);font-size:.88rem;line-height:1.55;margin:0 0 12px;text-align:left}.bf-birthday-text strong{color:var(--clr-text)}.bf-birthday-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.bf-birthday-field{display:flex;flex:1 1 110px;flex-direction:column;min-width:0}.bf-birthday-field label{color:var(--clr-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-bottom:5px;text-transform:uppercase}.bf-birthday-field select{background:var(--clr-surface);border:1.5px solid var(--clr-primary-border);border-radius:var(--radius-sm);color:var(--clr-text);cursor:pointer;font-family:var(--font-body);font-size:.95rem;min-height:46px;padding:10px 12px}.bf-birthday-field select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #4a7a5e1f;outline:none}.bf-birthday-save{background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;flex:0 0 auto;font-family:var(--font-body);font-size:.95rem;font-weight:700;min-height:46px;padding:11px 24px;transition:background var(--transition)}.bf-birthday-save:hover:not(:disabled){background:var(--clr-primary-hover)}.bf-birthday-save:disabled{cursor:not-allowed;opacity:.55}.bf-birthday-save:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}.bf-birthday .bf-auth-error{margin-top:12px}.booking-success .bf-birthday-note{color:var(--clr-text-muted);font-size:.78rem;line-height:1.55;margin:12px 0 0;text-align:left}.booking-success .bf-birthday-locked,.booking-success .booking-success-birthday{align-items:flex-start;background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);color:var(--clr-text-body);display:flex;font-size:.9rem;gap:9px;line-height:1.6;margin:18px 0 4px;padding:12px 16px;text-align:left}.bf-birthday-locked svg,.booking-success-birthday svg{color:var(--clr-primary);flex-shrink:0;margin-top:3px}.bf-birthday-locked strong{color:var(--clr-text)}.bf-birthday-locked a{color:var(--clr-primary);font-weight:600}.bf-nudge{background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);margin:18px 0 0;padding:14px 16px}.bf-nudge .bf-birthday-text{color:var(--clr-text-body);font-size:.88rem;line-height:1.55;margin:0 0 12px}.bf-nudge .bf-auth-error{margin-top:12px}.bf-nudge-foot{align-items:center;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;margin-top:6px}.bf-nudge-note{color:var(--clr-text-muted);flex:1 1 220px;font-size:.78rem;line-height:1.5;margin:0}.bf-nudge-skip{background:none;border:none;border-radius:var(--radius-sm);color:var(--clr-text-muted);cursor:pointer;flex:0 0 auto;font-family:var(--font-body);font-size:.85rem;font-weight:600;min-height:44px;padding:10px 14px;text-decoration:underline}.bf-nudge-skip:hover{color:var(--clr-text)}.bf-nudge-skip:focus-visible{box-shadow:0 0 0 3px #4a7a5e47;outline:none}.bf-nudge-done{align-items:flex-start;background:#f0f7f2;border:1px solid #cfe0d5;border-radius:var(--radius-sm);color:var(--clr-text-body);display:flex;font-size:.88rem;gap:9px;line-height:1.55;margin:18px 0 0;padding:12px 16px}.bf-nudge-done svg{color:var(--clr-primary);flex-shrink:0;margin-top:2px}.bf-nudge-done strong{color:var(--clr-text)}.bf-nudge-done a{color:var(--clr-primary);font-weight:600}@media (max-width:600px){.bf-birthday-save{flex:1 1 100%;width:100%}.bf-nudge-foot{justify-content:flex-start}.bf-nudge-skip{margin-left:-14px}}.voucher-terms-note{color:var(--clr-text-muted);font-size:.82rem;line-height:1.5;margin:.6rem 0 0}.voucher-thanks{padding:.5rem 0 1.5rem;text-align:center}.voucher-thanks h2{color:var(--clr-text);font-family:var(--font-heading);font-size:1.6rem;font-weight:600;line-height:1.25;margin:0 0 .75rem}.voucher-thanks p{color:var(--clr-text-body);font-size:.95rem;line-height:1.6;margin:0 auto .75rem;max-width:34rem}.voucher-thanks p:last-child{margin-bottom:0}.voucher-thanks--after{padding:1.5rem 0 0}.voucher-thanks-signoff{color:var(--clr-text-muted);font-size:.88rem}.pay-panel{background:var(--clr-sage-light);border:1px solid var(--clr-primary-border);border-radius:var(--radius-md);padding:1.25rem}.pay-panel-title{color:var(--clr-text);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;margin:0 0 1rem;text-align:center}.pay-row{align-items:flex-start;background:var(--clr-surface);border:1px solid var(--clr-border-light);border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.85rem .9rem}.pay-row+.pay-row{margin-top:.6rem}.pay-row-text{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.pay-label{color:var(--clr-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.pay-value{color:var(--clr-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.pay-hint{color:var(--clr-text-muted);font-size:.8rem;line-height:1.45;margin-top:.15rem}.pay-copy{align-items:center;background:var(--clr-primary-light);border:1px solid var(--clr-primary-border);border-radius:var(--radius-sm);color:var(--clr-primary);cursor:pointer;display:inline-flex;flex:none;font-family:var(--font-body);font-size:.82rem;font-weight:600;gap:.35rem;min-height:44px;padding:0 .85rem;transition:background var(--transition),color var(--transition)}.pay-copy:hover{background:var(--clr-primary);color:#fff}@media (max-width:420px){.pay-copy span{display:none}.pay-copy{padding:0 .75rem}}.book-now-page{background:var(--clr-bg);min-height:100vh;padding:clamp(2rem,4vw,3.5rem) var(--inner-pad) clamp(3rem,6vw,5rem)}.book-now-page h1{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;margin:0 0 .5rem;text-align:center}.book-now-page .booking-eyebrow{color:var(--clr-text-muted);font-size:var(--text-sm);margin:0 0 2rem;text-align:center}.booking-tab-row{display:flex;justify-content:center;margin-bottom:2rem}.booking-tab-group{background:var(--clr-surface);border:1.5px solid var(--clr-border);border-radius:var(--radius-pill);display:inline-flex;gap:2px;padding:4px}.booking-tab-btn{background:#0000;border:none;border-radius:var(--radius-pill);color:var(--clr-text-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;padding:.55rem 1.5rem;transition:background var(--transition),color var(--transition)}.booking-tab-btn.active{background:var(--clr-primary);color:#fff}.booking-tab-btn:hover:not(.active){background:var(--clr-primary-light);color:var(--clr-primary)}.booking-container{margin:0 auto;max-width:780px;width:100%}@media (max-width:600px){.book-now-page{padding:1rem .75rem 2.5rem}}.price-page{background:var(--clr-bg);min-height:100vh}.price-page-header{background:linear-gradient(140deg,var(--clr-sage-light) 0,var(--clr-bg) 100%);border-bottom:1px solid var(--clr-border);padding:clamp(3rem,6vw,5rem) var(--inner-pad) clamp(2rem,4vw,3rem);text-align:center}.price-page-eyebrow{color:var(--clr-accent);font-size:var(--text-sm);font-weight:600;letter-spacing:.14em;margin:0 0 .6rem;text-transform:uppercase}.price-page-title{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15;margin:0 0 .875rem}.price-page-subtitle{color:var(--clr-text-body);font-size:var(--text-lg);line-height:1.7;margin:0 auto;max-width:560px}.price-content{margin:0 auto;max-width:860px;padding:clamp(2rem,4vw,4rem) var(--inner-pad) clamp(3rem,6vw,5rem)}.price-category{margin-bottom:2.5rem}.price-category-header{align-items:center;display:flex;gap:1rem;margin-bottom:.875rem}.price-category-title{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:600;margin:0}.price-category-line{background:var(--clr-border);flex:1 1;height:1px}.price-category-desc{color:var(--clr-text-muted);font-size:var(--text-sm);font-style:italic;line-height:1.7;margin:0 0 1.25rem;max-width:680px}.price-items{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.price-item{grid-gap:.5rem 1.5rem;align-items:start;border-bottom:1px solid var(--clr-border-light);display:grid;gap:.5rem 1.5rem;grid-template-columns:1fr auto auto;padding:1rem 1.25rem;transition:background var(--transition)}.price-item:last-child{border-bottom:none}.price-item:hover{background:var(--clr-primary-light)}.price-item-name{color:var(--clr-text);font-size:var(--text-base);font-weight:600;line-height:1.4}.price-item-desc{grid-column:1/-1;line-height:1.65;margin-top:-.25rem;padding-bottom:.25rem}.price-item-desc,.price-item-duration{color:var(--clr-text-muted);font-size:var(--text-sm)}.price-item-duration{padding-top:.1rem;white-space:nowrap}.price-item-price{color:var(--clr-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;text-align:right;white-space:nowrap}.price-extra{background:var(--clr-sage-light);border-left:3px solid var(--clr-primary);border-radius:var(--radius-sm);color:var(--clr-text-muted);font-size:var(--text-sm);line-height:1.7;margin-top:.75rem;padding:.875rem 1.25rem}.price-footer{background:var(--clr-cream);border:1px solid var(--clr-border);border-radius:var(--radius-md);margin-top:3rem;padding:2rem;text-align:center}.price-footer-gst{color:var(--clr-text-muted);font-size:var(--text-sm);margin:0 0 .5rem}.price-footer-policy{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.6;margin:0 0 1.75rem}.price-footer-cta{align-items:center;background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;padding:.9rem 2.4rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.price-footer-cta:hover{background:var(--clr-primary-hover);box-shadow:0 6px 20px #4a7a5e61;transform:translateY(-2px)}@media (max-width:600px){.price-item{gap:.25rem .75rem;grid-template-columns:1fr auto}.price-item-duration{grid-column:1;grid-row:2}.price-item-price{align-self:center;grid-column:2;grid-row:1/3}.price-item-desc{grid-column:1/-1}}.shop-container{background:#fff;max-width:100%;min-height:60vh}.shop-content{margin:0 auto;max-width:900px}.shop-title{color:var(--clr-text);font-size:2rem;font-weight:700;margin:50px 0 8px;text-align:center}.shop-title:after{background:var(--clr-primary);border-radius:2px;content:"";display:block;height:3px;margin:10px auto 0;width:48px}.shop-subtitle{color:#777;font-size:.95rem;line-height:1.5;margin:12px 0 36px;text-align:center}.shop-error,.shop-loading{color:#888;padding:40px 20px;text-align:center}.shop-error{color:#c0392b}.shop-empty{color:#aaa;font-style:italic;padding:60px 20px;text-align:center}.shop-category{margin-bottom:40px}.shop-category-title{border-bottom:2px solid var(--clr-primary);color:var(--clr-text);font-size:1.1rem;font-weight:700;letter-spacing:1px;margin:0 0 20px;padding-bottom:10px;text-transform:uppercase}.shop-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.product-card{background:#fff;border:1px solid #e8ede9;border-radius:12px;box-shadow:0 1px 6px #0000000d;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .15s}.product-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.product-image{aspect-ratio:1;background:#f0f7f2;overflow:hidden;width:100%}.product-image img{height:100%;object-fit:cover;width:100%}.product-placeholder{align-items:center;color:var(--clr-primary);display:flex;font-size:.85rem;font-weight:600;height:100%;justify-content:center;letter-spacing:.5px;text-transform:uppercase;width:100%}.product-info{display:flex;flex:1 1;flex-direction:column;padding:14px}.product-name{color:#2a2a2a;font-size:.95rem;font-weight:600;line-height:1.3;margin:0 0 6px}.product-desc{color:#777;flex:1 1;font-size:.8rem;line-height:1.5;margin:0 0 12px}.product-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:auto}.product-price{color:var(--clr-primary);font-size:1rem;font-weight:700}.add-to-cart-btn{background:var(--clr-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 14px;transition:background .2s;white-space:nowrap}.add-to-cart-btn:hover{background:var(--clr-primary-hover)}.qty-control{align-items:center;background:#f0f7f2;border-radius:6px;display:flex;gap:6px;padding:2px 4px}.qty-control button{align-items:center;background:none;border:none;border-radius:4px;color:var(--clr-text);cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;height:26px;justify-content:center;transition:background .15s;width:26px}.qty-control button:hover{background:#d4eadc}.qty-control span{font-size:.9rem;font-weight:600;min-width:18px;text-align:center}.cart-bar{align-items:center;background:var(--clr-text);border-radius:50px;bottom:70px;box-shadow:0 4px 20px #00000040;color:#fff;cursor:pointer;display:flex;gap:16px;left:50%;padding:14px 28px;position:fixed;transform:translateX(-50%);transition:background .2s;white-space:nowrap;z-index:1001}.cart-bar:hover{background:#1e3829}.cart-bar-count{font-size:.95rem;font-weight:600}.cart-bar-action{font-size:.9rem;opacity:.85}.cart-overlay{background:#00000073;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1100}.cart-drawer{background:#fff;display:flex;flex-direction:column;gap:16px;height:100%;overflow-y:auto;padding:24px;width:min(420px,100vw)}.cart-header{align-items:center;display:flex;justify-content:space-between}.cart-header h2{color:var(--clr-text);font-size:1.3rem;margin:0}.cart-close{background:none;border:none;color:#888;cursor:pointer;font-size:1.8rem;line-height:1}.cart-close:hover{color:#333}.cart-empty{color:#aaa;font-style:italic;padding:40px 0;text-align:center}.cart-items{gap:12px;list-style:none;margin:0;padding:0}.cart-item,.cart-items{display:flex;flex-direction:column}.cart-item{border-bottom:1px solid #eee;gap:8px;padding-bottom:12px}.cart-item-info{align-items:flex-start;display:flex;justify-content:space-between}.cart-item-name{color:#2a2a2a;font-size:.9rem;font-weight:600}.cart-item-price{color:var(--clr-primary);font-size:.9rem;font-weight:700}.cart-item-controls{align-items:center;display:flex;gap:12px}.cart-remove{background:none;border:none;color:#c0392b;cursor:pointer;font-size:.8rem;padding:0;text-decoration:underline}.shop-btn-primary{background:var(--clr-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:600;padding:14px;text-align:center;transition:background .2s;width:100%}.shop-btn-primary:hover:not(:disabled){background:var(--clr-primary-hover)}.shop-btn-primary:disabled{cursor:not-allowed;opacity:.6}.cart-checkout-btn{margin-top:8px}.shop-btn-secondary{background:none;border:1px solid #ddd;border-radius:8px;color:#555;cursor:pointer;display:block;font-size:.95rem;padding:12px;text-align:center;transition:background .15s;width:100%}.shop-btn-secondary:hover{background:#f5f5f5}.checkout-form{display:flex;flex-direction:column;gap:14px}.checkout-summary{background:#f7fbf8;border-radius:8px;padding:14px}.checkout-summary h3{color:var(--clr-text);font-size:.95rem;margin:0 0 8px}.summary-list{color:#555;display:flex;flex-direction:column;font-size:.85rem;gap:4px;list-style:none;margin:0;padding:0}.checkout-form .form-field{display:flex;flex-direction:column;gap:5px}.checkout-form .form-field label{color:#444;font-size:.85rem;font-weight:600}.checkout-form .form-field input,.checkout-form .form-field textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;outline:none;padding:10px 12px;resize:vertical;transition:border-color .15s}.checkout-form .form-field input:focus,.checkout-form .form-field textarea:focus{border-color:var(--clr-primary)}.fulfillment-options{display:flex;flex-direction:column;gap:8px}.fulfillment-option{border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px;transition:border-color .15s,background .15s}.fulfillment-option.selected{background:#f0f7f2;border-color:var(--clr-primary)}.fulfillment-option input{display:none}.fulfillment-option span{font-size:.9rem;font-weight:600}.fulfillment-option small{color:#888;font-size:.78rem}.checkout-consent{background:#f7fbf8;border:1px solid #e0e8e0;border-radius:8px;padding:14px}.checkout-consent .privacy-notice{color:#666;font-size:.82rem;line-height:1.5;margin:0 0 10px}.checkout-consent .privacy-notice a{color:var(--clr-primary);text-decoration:underline}.checkout-consent .privacy-notice a:hover{color:var(--clr-text)}.checkout-consent .consent-checkbox{align-items:flex-start;color:#444;cursor:pointer;display:flex;font-size:.85rem;gap:8px;line-height:1.4}.checkout-consent .consent-checkbox input[type=checkbox]{accent-color:var(--clr-primary);flex-shrink:0;height:16px;margin-top:2px;width:16px}.shop-gst-notice{color:#999;font-size:.82rem;margin:-28px 0 36px;text-align:center}.checkout-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.shop-success{margin:80px auto;max-width:480px;padding:20px;text-align:center}.shop-success .success-icon{align-items:center;background:var(--clr-primary);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.shop-success h2{color:var(--clr-text);margin:0 0 12px}.shop-success p{color:#555;line-height:1.6;margin:0 0 24px}@media (max-width:600px){.shop-content{padding:20px 14px 120px}.shop-title{font-size:1.6rem}.shop-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.cart-bar{bottom:72px;justify-content:space-between;left:12px;right:12px;transform:none}.add-to-cart-btn{font-size:.72rem;padding:6px 10px}}.legal-page{margin:0 auto;max-width:800px;padding:40px 24px 80px}.legal-page h1{color:var(--clr-text);font-size:1.8rem;margin-bottom:8px}.legal-page .legal-updated{color:#888;font-size:.85rem;margin-bottom:32px}.legal-page h2{color:var(--clr-text);font-size:1.2rem;margin-bottom:12px;margin-top:32px}.legal-page li,.legal-page p{color:#444;font-size:.95rem;line-height:1.7;margin-bottom:12px}.legal-page ul{margin-bottom:16px;padding-left:20px}.legal-page ul li{margin-bottom:6px}.legal-page a{color:var(--clr-primary);text-decoration:underline}.legal-page a:hover{color:var(--clr-text)}.legal-page .legal-contact{background:#f8f9f7;border:1px solid #e0e8e0;border-radius:8px;margin-top:24px;padding:20px}.legal-page .legal-contact p{margin-bottom:4px}@media (max-width:767px){.legal-page{padding:24px 16px 80px}.legal-page h1{font-size:1.5rem}}.acc-page{background:var(--clr-bg);min-height:100vh;padding:clamp(1.25rem,4vw,3rem) 0 clamp(3rem,6vw,5rem)}.acc-shell{margin:0 auto;max-width:720px;padding:0 1rem;width:100%}@media (min-width:600px){.acc-shell{padding:0 var(--inner-pad)}}.acc-eyebrow{color:var(--clr-accent);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;margin:0 0 .35rem;text-transform:uppercase}.acc-title{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.6rem,5vw,2.25rem);font-weight:600;line-height:1.15;margin:0}.acc-muted{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.6;margin:0}.acc-hint{color:var(--clr-text-muted);font-size:var(--text-xs);line-height:1.6;margin:.4rem 0 0}.acc-hint--lead{margin:0 0 .9rem}.acc-hint--warn{color:#6d5a17;font-weight:600}.acc-hint a{color:var(--clr-primary)}.acc-field-flag{color:var(--clr-accent-hover);font-weight:700}.acc-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.acc-card,.acc-section{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem}@media (min-width:600px){.acc-card,.acc-section{margin-bottom:1.25rem;padding:1.75rem}}.acc-section-head{align-items:center;display:flex;gap:.75rem;margin-bottom:1.1rem}.acc-section-icon{align-items:center;background:var(--clr-sage-light);border-radius:50%;color:var(--clr-primary);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.acc-section-title{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;line-height:1.2;margin:0}.acc-section-sub{color:var(--clr-text-muted);font-size:var(--text-xs);margin:.2rem 0 0}.acc-btn{align-items:center;border:1.5px solid #0000;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:.4rem;justify-content:center;line-height:1.2;min-height:46px;padding:.7rem 1.4rem;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition)}.acc-btn:focus-visible{box-shadow:0 0 0 3px #4a7a5e4d;outline:none}.acc-btn:disabled{cursor:not-allowed;opacity:.55}.acc-btn--primary{background:var(--clr-primary);color:#fff;font-size:var(--text-base);width:100%}.acc-btn--primary:hover:not(:disabled){background:var(--clr-primary-hover)}.acc-btn--inline{margin-top:1rem;width:auto}.acc-btn--outline{background:var(--clr-surface);border-color:var(--clr-primary);color:var(--clr-primary)}.acc-btn--outline:hover{background:var(--clr-primary-light)}.acc-btn--quiet{background:#0000;border-color:var(--clr-border);color:var(--clr-text-body)}.acc-btn--quiet:hover:not(:disabled){background:var(--clr-cream);color:var(--clr-text)}.acc-btn--danger{background:#b4342c;color:#fff}.acc-btn--danger:hover:not(:disabled){background:#97281f}.acc-btn--full{margin-top:.85rem;width:100%}.acc-link-btn{background:none;border:none;color:var(--clr-primary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;min-height:44px;padding:.5rem .25rem;text-decoration:underline}.acc-link-btn:hover{color:var(--clr-text)}.acc-form{gap:1.1rem}.acc-field,.acc-form{display:flex;flex-direction:column}.acc-field label,.acc-field-label{color:var(--clr-text);display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:.4rem}.acc-field input,.acc-field select{background:var(--clr-surface);border:1.5px solid var(--clr-primary-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--clr-text);font-family:var(--font-body);font-size:var(--text-base);min-height:48px;padding:.75rem .9rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.acc-field input:focus,.acc-field select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #4a7a5e24;outline:none}.acc-static{background:var(--clr-cream);border-radius:var(--radius-sm);color:var(--clr-text);font-size:var(--text-base);font-weight:600;margin:0;padding:.7rem .9rem}.acc-fieldset{background:var(--clr-sage-light);border:1px solid var(--clr-border);border-radius:var(--radius-sm);margin:0;padding:1rem}.acc-fieldset legend{color:var(--clr-text);font-size:var(--text-sm);font-weight:700;padding:0 .4rem}.acc-birthday-inputs{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:90px 1fr}.acc-form-links{display:flex;justify-content:center}.acc-alert{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:var(--text-sm);gap:.5rem;line-height:1.55;margin:0;padding:.8rem 1rem}.acc-alert--error{background:#fcedeb;border:1px solid #f3cfc9;color:#8e251d}.acc-alert--ok{background:var(--clr-sage-light);border:1px solid var(--clr-primary-border);color:#2c5540}.acc-alert--warn{background:#fdf6e3;border:1px solid #eedfb4;color:#6d5a17;margin-bottom:1rem}.acc-alert svg{flex-shrink:0;margin-top:2px}.acc-loading{align-items:center;color:var(--clr-text-muted);display:flex;font-size:var(--text-sm);gap:.6rem;justify-content:center;padding:3rem 1rem}.acc-spinner{animation:acc-spin .8s linear infinite;border:2px solid var(--clr-primary-border);border-radius:50%;border-top-color:var(--clr-primary);height:18px;width:18px}@keyframes acc-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.acc-spinner{animation-duration:2.4s}}.acc-refreshing{color:var(--clr-text-muted);font-size:var(--text-xs);margin:0 0 .75rem}.acc-error-card,.acc-refreshing{text-align:center}.acc-error-card .acc-btn{margin-top:1rem}.acc-auth-heading{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.5rem,5vw,2rem);font-weight:600;margin:0 0 1.25rem;text-align:center}.acc-toggle{background:var(--clr-cream);border-radius:var(--radius-pill);display:flex;gap:2px;margin-bottom:1.5rem;padding:4px}.acc-toggle-btn{background:#0000;border:none;border-radius:var(--radius-pill);color:var(--clr-text-body);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;min-height:44px;padding:.6rem .75rem;transition:background var(--transition),color var(--transition)}.acc-toggle-btn.is-active{background:var(--clr-primary);color:#fff}.acc-google{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:var(--radius-pill);color:#3c4043;cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:.65rem;justify-content:center;line-height:1.2;min-height:48px;padding:.7rem 1.1rem;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);width:100%}.acc-google:hover:not(:disabled){background:#f7f8f8;border-color:#c9ccd1}.acc-google:focus-visible{box-shadow:0 0 0 3px #4285f459;outline:none}.acc-google:disabled{cursor:not-allowed;opacity:.6}.acc-google svg{flex-shrink:0}.acc-google-note{margin:.55rem 0 0;text-align:center}.acc-or{align-items:center;color:var(--clr-text-muted);display:flex;font-size:var(--text-xs);font-weight:700;gap:.75rem;letter-spacing:.12em;margin:1.1rem 0;text-transform:uppercase}.acc-or:after,.acc-or:before{background:var(--clr-border);content:"";flex:1 1;height:1px}.acc-sell{background:var(--clr-sage-light)}.acc-sell-heading{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;line-height:1.25;margin:0 0 1rem}.acc-sell-list{display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:0;padding:0}.acc-sell-list li{align-items:flex-start;color:var(--clr-text-body);display:flex;font-size:var(--text-sm);gap:.7rem;line-height:1.6}.acc-sell-list svg{color:var(--clr-primary);flex-shrink:0;margin-top:3px}.acc-sell-list strong{color:var(--clr-text)}.acc-welcome{background:var(--clr-sage-light);border-color:var(--clr-primary-border);border-left:3px solid var(--clr-primary)}.acc-welcome-title{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:600;line-height:1.2;margin:0 0 .4rem}.acc-welcome-lead{line-height:1.6;margin:0 0 1rem}.acc-welcome-known,.acc-welcome-lead{color:var(--clr-text-body);font-size:var(--text-sm)}.acc-welcome-known{align-items:flex-start;background:var(--clr-surface);border-radius:var(--radius-sm);display:flex;gap:.55rem;line-height:1.55;margin:0 0 1.25rem;padding:.75rem .9rem}.acc-welcome-known>svg{color:var(--clr-primary);flex-shrink:0;margin-top:3px}.acc-welcome-known-values{color:var(--clr-text);display:block;font-size:var(--text-xs);font-weight:600;margin-top:.2rem;overflow-wrap:anywhere}.acc-welcome-form{gap:1.25rem}.acc-welcome-ask{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:1rem}.acc-welcome-fieldset{border:none;margin:0;padding:0}.acc-welcome-ask .acc-field label,.acc-welcome-legend{align-items:center;color:var(--clr-text);display:flex;font-size:var(--text-base);font-weight:700;gap:.4rem;margin-bottom:.25rem}.acc-welcome-fieldset legend{padding:0}.acc-welcome-ask .acc-field label svg,.acc-welcome-legend svg{color:var(--clr-primary)}.acc-welcome-why{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.6;margin:0 0 .7rem}.acc-welcome-why strong{color:var(--clr-accent-hover)}.acc-welcome-fieldset .acc-birthday-inputs .acc-field label{font-size:var(--text-sm);font-weight:600}.acc-welcome-lock{margin-top:.75rem}.acc-welcome-actions{align-items:center;display:flex;flex-direction:column;gap:.35rem}.acc-welcome-actions .acc-btn--primary{width:100%}.acc-welcome-actions .acc-link-btn{font-weight:600}.acc-welcome--done{border-left-color:var(--clr-primary-border)}.acc-welcome-done:focus{outline:none}.acc-welcome-done:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--clr-primary);outline-offset:4px}.acc-welcome-done-title{align-items:center;color:var(--clr-text);display:flex;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;gap:.45rem;margin:0 0 .5rem}.acc-welcome-done-title svg{color:var(--clr-primary)}.acc-welcome-done-list{color:var(--clr-text-body);display:flex;flex-direction:column;font-size:var(--text-sm);gap:.4rem;line-height:1.6;list-style:none;margin:0;padding:0}.acc-welcome-done-list strong{color:var(--clr-accent-hover)}@media (min-width:600px){.acc-welcome-actions{flex-direction:row;gap:1rem;justify-content:flex-start}.acc-welcome-actions .acc-btn--primary{min-width:180px;width:auto}}.acc-list{display:flex;flex-direction:column;gap:.85rem;list-style:none;margin:0;padding:0}.acc-booking{background:var(--clr-surface);border:1px solid var(--clr-primary-border);border-left:3px solid var(--clr-primary);border-radius:var(--radius-sm);padding:1rem}.acc-booking--pending{background:var(--clr-cream);border-left-color:var(--clr-accent)}.acc-booking-when{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.acc-booking-date{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600}.acc-booking-time{color:var(--clr-primary);font-size:var(--text-base);font-weight:700}.acc-booking-treatments{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.55;margin:.5rem 0 0}.acc-booking-meta{color:var(--clr-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);font-weight:600;gap:.4rem 1rem;margin:.5rem 0 0}.acc-booking-where{align-items:flex-start;background:var(--clr-sage-light);border-radius:var(--radius-sm);color:var(--clr-text-body);display:flex;font-size:var(--text-sm);gap:.55rem;line-height:1.5;margin:.75rem 0 0;padding:.7rem .85rem}.acc-booking-where>svg{color:var(--clr-primary);flex-shrink:0;margin-top:2px}.acc-booking-where>span{display:flex;flex-direction:column;min-width:0}.acc-booking-place{color:var(--clr-text);font-weight:700}.acc-booking-address{color:var(--clr-text-muted);font-size:var(--text-xs)}.acc-booking-map{align-items:center;align-self:flex-start;color:var(--clr-primary);display:inline-flex;font-size:var(--text-xs);font-weight:700;min-height:44px;text-decoration:underline}.acc-booking-map:hover{color:var(--clr-text)}.acc-booking-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.acc-booking-actions .acc-btn{flex:1 1 auto}.acc-confirm{background:#fcedeb;border:1px solid #f3cfc9;border-radius:var(--radius-sm);margin-top:1rem;padding:.9rem}.acc-confirm p{color:#8e251d;font-size:var(--text-sm);line-height:1.55;margin:0 0 .8rem}.acc-confirm-actions{display:flex;flex-wrap:wrap;gap:.6rem}.acc-confirm-actions .acc-btn{flex:1 1 auto}.acc-policy{align-items:flex-start;background:#fdf6e3;border:1px solid #eedfb4;border-radius:var(--radius-sm);color:#6d5a17;display:flex;font-size:var(--text-xs);gap:.55rem;line-height:1.65;margin:1.1rem 0 0;padding:.85rem 1rem}.acc-policy svg{flex-shrink:0;margin-top:2px}.acc-booking--moving{background:var(--clr-surface);border-color:var(--clr-accent);border-left-color:var(--clr-accent)}.acc-moved-was{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem .6rem;margin:0}.acc-moved-strike{color:var(--clr-text-muted);font-family:var(--font-heading);font-size:var(--text-lg);text-decoration:line-through;text-decoration-thickness:2px}.acc-moved-was-note{color:var(--clr-accent-hover);font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.acc-quote{background:var(--clr-cream);border-left:3px solid var(--clr-primary-border);border-radius:var(--radius-sm);margin:.85rem 0 0;padding:.85rem 1rem}.acc-quote p{color:var(--clr-text-body);font-size:var(--text-sm);font-style:italic;line-height:1.6;margin:0}.acc-quote cite{color:var(--clr-text-muted);display:block;font-size:var(--text-xs);font-style:normal;font-weight:700;margin-top:.4rem}.acc-btn--block{margin-top:.85rem;width:100%}.acc-empty{padding:.5rem 0 .25rem;text-align:center}.acc-empty-title{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-lg);margin:0 0 .4rem}.acc-empty p{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.6;margin:0}.acc-list--compact{gap:0}.acc-visit{align-items:flex-start;border-bottom:1px solid var(--clr-border-light);display:flex;gap:1rem;justify-content:space-between;padding:.85rem 0}.acc-visit:last-child{border-bottom:none}.acc-visit-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.acc-visit-date{color:var(--clr-text);font-size:var(--text-sm);font-weight:700}.acc-visit-treatments{color:var(--clr-text-body);font-size:var(--text-sm);line-height:1.5}.acc-visit-price{font-feature-settings:"tnum";color:var(--clr-text);flex-shrink:0;font-size:var(--text-base);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.acc-visit-extra{color:var(--clr-text-muted);display:block;font-size:var(--text-xs);font-weight:500}.voucher-page{display:flex;flex-direction:column;gap:1.75rem;margin:0 auto;max-width:60rem;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,2rem) clamp(3rem,6vw,5rem)}.voucher-page-status{color:var(--clr-text-muted);margin:0;padding:4rem 1rem;text-align:center}.voucher-page-head{align-items:center;display:flex;flex-direction:column;gap:.6rem;text-align:center}.voucher-page-head h1{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:600;margin:0}.voucher-page-head p{color:var(--clr-text-body);font-size:.95rem;margin:0;max-width:34rem}.voucher-print-btn{align-items:center;background:var(--clr-primary);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:.9rem;font-weight:600;gap:.5rem;margin-top:.4rem;min-height:44px;padding:0 1.25rem;transition:background var(--transition)}.voucher-print-btn:hover{background:var(--clr-primary-hover)}.voucher-page-flag{background:var(--clr-accent-light);border-left:3px solid var(--clr-accent-hover);border-radius:var(--radius-sm);color:var(--clr-text);font-size:.92rem;line-height:1.55;margin:0;padding:.85rem 1rem}.voucher-page-empty{margin:0 auto;max-width:34rem;padding:clamp(2rem,6vw,4rem) 0;text-align:center}.voucher-page-empty h1{color:var(--clr-text);font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin:0 0 1rem}.voucher-page-empty p{color:var(--clr-text-body);font-size:.95rem;line-height:1.65;margin:0 0 .9rem}.voucher-page-empty a{color:var(--clr-primary);font-weight:600}.voucher-page-terms{margin:0 auto;max-width:40rem;text-align:center}.voucher-page-terms p{color:var(--clr-text-muted);font-size:.85rem;line-height:1.6;margin:0 0 .5rem}.voucher-page .voucher-scroll{overflow-x:auto;padding:.25rem 0 .75rem}.voucher-page .voucher{aspect-ratio:8/5;background:radial-gradient(60% 55% at 12% 8%,#e3b9ba57,#0000 70%),radial-gradient(55% 60% at 92% 96%,#d2e2d599,#0000 72%),radial-gradient(70% 60% at 80% 10%,#f0e2d252,#0000 75%),#fdfbf8;border-radius:2px;box-shadow:0 22px 50px #1c2b2329,0 2px 6px #1c2b2314;color:#1c2b23;container-type:inline-size;isolation:isolate;min-width:32rem;overflow:hidden;position:relative}.voucher-page .voucher--void .sprig,.voucher-page .voucher--void .voucher-inner{filter:saturate(.5);opacity:.7}.voucher-page .voucher-stamp{background:#fdfbf847;border:.5cqw solid #962e289e;border-radius:1cqw;color:#962e28b8;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:5.6cqw;left:50%;letter-spacing:.12em;line-height:1;padding:1.4cqw 4.5cqw;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%) rotate(-13deg);white-space:nowrap;z-index:4}.voucher-page .voucher:after,.voucher-page .voucher:before{content:"";pointer-events:none;position:absolute;z-index:2}.voucher-page .voucher:before{border:1px solid #4a7a5e4d;inset:3.4cqw}.voucher-page .voucher:after{border:1px solid #4a7a5e26;inset:4.3cqw}.voucher-page .sprig{opacity:.62;position:absolute;z-index:1}.voucher-page .sprig.tl{left:5.4cqw;top:5.4cqw;width:13.5cqw}.voucher-page .voucher-inner{align-items:center;display:flex;flex-direction:column;gap:1.4cqw;height:100%;padding:6.5cqw 9cqw;position:relative;text-align:center;z-index:3}.voucher-page .v-logo{aspect-ratio:1;flex:none;object-fit:contain;width:7.5cqw}.voucher-page .v-title{color:#3a6349;font-family:Georgia,Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,serif;font-size:6.8cqw;font-style:italic;font-weight:400;letter-spacing:.005em;line-height:1;margin:0;white-space:nowrap}.voucher-page .rule{align-items:center;display:flex;gap:1.6cqw;width:46%}.voucher-page .rule i{background:linear-gradient(90deg,#0000,#4a7a5e6b,#0000);flex:1 1;height:1px}.voucher-page .rule svg{flex:none;width:2.2cqw}.voucher-page .parties{display:flex;gap:8cqw;justify-content:center;max-width:100%}.voucher-page .party{display:flex;flex:0 1 auto;flex-direction:column;gap:.5cqw;min-width:0}.voucher-page .party-label{color:#7c9884;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:2.1cqw;font-style:italic;letter-spacing:.05em}.voucher-page .party-value{color:#1c2b23;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:3.3cqw;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voucher-page .amount{align-items:flex-start;color:#3a6349;display:flex;gap:.6cqw;line-height:.9}.voucher-page .amount .sym{font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:4cqw;margin-top:.8cqw}.voucher-page .amount .num{font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:10cqw;letter-spacing:-.015em}.voucher-page .amount-left{color:#7c9884;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:2.2cqw;font-style:italic;line-height:1.2;margin:-.4cqw 0 0}.voucher-page .v-foot{align-items:flex-end;display:flex;gap:3cqw;justify-content:space-between;margin-top:auto;padding-right:17cqw;width:100%}.voucher-page .foot-col{display:flex;flex-direction:column;gap:.5cqw;text-align:left}.voucher-page .foot-col--qr{align-items:center;bottom:6.5cqw;gap:.7cqw;position:absolute;right:9cqw;text-align:center}.voucher-page .v-qr{aspect-ratio:1;background:#fdfbf8;border-radius:.5cqw;display:block;padding:.9cqw;width:12cqw}.voucher-page .foot-label{color:#7c9884;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:1.75cqw;font-style:italic}.voucher-page .foot-value{color:#40564a;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:2.2cqw}.voucher-page .foot-value.code{color:#b07d52;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:2.05cqw;font-weight:600;letter-spacing:.13em}@media print{body.voucher-print-page .header,body.voucher-print-page .mobile-nav,body.voucher-print-page .promo-banner,body.voucher-print-page .site-footer,body.voucher-print-page .voucher-page-flag,body.voucher-print-page .voucher-page-head,body.voucher-print-page .voucher-print-btn{display:none!important}body.voucher-print-page{background:#fff}body.voucher-print-page .app-main,body.voucher-print-page .voucher-page{gap:8mm;margin:0;max-width:none;padding:0}@page{margin:12mm}body.voucher-print-page .voucher-scroll{overflow:visible;padding:0}body.voucher-print-page .voucher{border:1px solid #4a7a5e40;box-shadow:none;break-inside:avoid;min-width:0;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%}body.voucher-print-page .voucher--void .sprig,body.voucher-print-page .voucher--void .voucher-inner{filter:none;opacity:1}body.voucher-print-page .voucher-stamp{background:none;border-color:#962e28bf;color:#962e28d9}body.voucher-print-page .voucher-page-terms p{color:#4d6358;font-size:9pt}}.clients-panel{--cp-tap:44px;display:flex;flex-direction:column;gap:.85rem;padding-bottom:2rem}.cp-search{align-items:center;background:var(--bg-card);border:1.5px solid #d8e2dc;border-radius:var(--radius-md);display:flex;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cp-search:focus-within{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--brand-green-light)}.cp-search-icon{color:var(--text-muted);left:.85rem;pointer-events:none;position:absolute}.cp-search-input{background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1rem;min-height:var(--cp-tap);min-width:0;padding:.6rem 2.75rem}.cp-search-input:focus{outline:none}.cp-search-input::-webkit-search-cancel-button{display:none}.cp-search.compact .cp-search-input{font-size:1rem;padding-left:2.4rem;padding-right:.85rem}.cp-search.compact .cp-search-icon{left:.7rem}.cp-search-clear{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:var(--cp-tap);justify-content:center;position:absolute;right:.35rem;width:var(--cp-tap)}.cp-search-clear:hover{background:var(--bg-subtle);color:var(--text-primary)}.cp-list-hint{color:var(--text-muted);font-size:.78rem;letter-spacing:.2px;margin:.25rem 0 0}.cp-client-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.cp-client-row{align-items:center;background:var(--bg-card);border:1px solid var(--border-soft);border-left:3px solid var(--brand-green);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:inherit;gap:.75rem;min-height:64px;padding:.75rem .8rem;text-align:left;transition:box-shadow var(--transition-fast),transform var(--transition-fast);width:100%}.cp-client-row:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.cp-client-main{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.cp-client-name{color:var(--text-primary);font-size:.98rem;font-weight:700}.cp-client-contact,.cp-client-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-client-contact{color:var(--text-muted);font-size:.78rem}.cp-client-stats{align-items:flex-end;display:flex;flex:0 1 auto;flex-direction:column;gap:.15rem;max-width:45%;min-width:0}.cp-client-spend{color:var(--brand-green-deep);font-size:.95rem;font-weight:700;white-space:nowrap}.cp-client-meta{color:var(--text-muted);font-size:.72rem;line-height:1.35;text-align:right}.cp-client-chevron{color:var(--text-muted);flex-shrink:0}.cp-back{align-items:center;align-self:flex-start;background:none;border:none;color:var(--brand-green);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.35rem;min-height:var(--cp-tap);padding:0 .5rem 0 0}.cp-back:hover{color:var(--brand-green-deep)}.cp-client-head{background:linear-gradient(160deg,#f0f7f3,#f7faf5);border:1px solid #6b9e7a29;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem}.cp-client-head-top{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.cp-client-head-top h2{color:var(--text-primary);font-size:1.3rem;font-weight:700;letter-spacing:-.2px;margin:0;overflow-wrap:anywhere}.cp-badge{align-items:center;background:#e8f0fd;border-radius:var(--radius-pill);color:#1a4fbf;display:inline-flex;font-size:.68rem;font-weight:700;gap:.3rem;letter-spacing:.2px;padding:.25rem .7rem;white-space:nowrap}.cp-contact-links{display:flex;flex-direction:column;gap:.15rem}.cp-contact-links a{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.86rem;gap:.4rem;min-height:32px;overflow-wrap:anywhere;text-decoration:none}.cp-contact-links a:hover{color:var(--brand-green-deep);text-decoration:underline}.cp-stat-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.cp-stat{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.1rem;min-width:0;padding:.6rem .7rem}.cp-stat-label{color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cp-stat-value{color:var(--brand-green-deep);font-size:1.15rem;font-weight:700;overflow-wrap:anywhere}.cp-stat-value.small{font-size:.88rem}.cp-visits-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.cp-visits-head h3{color:var(--brand-green-deep);font-size:.8rem;font-weight:700;letter-spacing:.6px;margin:0;text-transform:uppercase}.cp-visits-head span{color:var(--text-muted);font-size:.76rem}.cp-visits{display:flex;flex-direction:column;gap:.6rem}.cp-visit{background:var(--bg-card);border:1px solid var(--border-soft);border-left:3px solid var(--accent-amber);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.cp-visit.approved{border-left-color:var(--status-approved)}.cp-visit.rescheduled{border-left-color:var(--status-reschedule)}.cp-visit.declined{border-left-color:var(--status-declined)}.cp-visit.open{box-shadow:var(--shadow-md)}.cp-visit-head{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;gap:.6rem;min-height:60px;padding:.7rem .8rem;text-align:left;width:100%}.cp-visit.open .cp-visit-head{background:#fafaf9;border-bottom:1px solid var(--border-soft)}.cp-visit-head-main{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.cp-visit-date{color:var(--text-primary);font-size:.95rem;font-weight:700}.cp-visit-sub{color:var(--text-muted);font-size:.76rem}.cp-visit-head-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem}.cp-visit-total{color:var(--brand-green-deep);font-size:1rem;font-weight:700}.cp-visit-total.poa{color:var(--accent-amber);letter-spacing:.3px}.clients-panel .status-pill.pending,.cp-modal .status-pill.pending{background:var(--status-reschedule-bg);color:#7c4e12}.cp-visit-body{display:flex;flex-direction:column;gap:1rem;padding:.9rem .8rem 1rem}.cp-block-head{align-items:center;border-bottom:2px solid #e6efe9;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.45rem;padding-bottom:.4rem}.cp-block-head h4{align-items:center;color:var(--brand-green-deep);display:flex;font-size:.8rem;font-weight:700;gap:.4rem;letter-spacing:.6px;margin:0;text-transform:uppercase}.cp-block-head .btn-add-small{font-size:.82rem;min-height:var(--cp-tap);padding:.4rem 1.1rem}.cp-block-empty{color:var(--text-muted);font-size:.84rem;font-style:italic;margin:.35rem 0 0}.cp-lines{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.cp-line{align-items:center;border-bottom:1px dashed #00000012;display:flex;gap:.6rem;min-height:var(--cp-tap);padding:.45rem 0}.cp-line:last-child{border-bottom:none}.cp-line-main{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.cp-line-name{color:var(--text-primary);font-size:.92rem;font-weight:600;overflow-wrap:anywhere}.cp-line-meta{color:var(--text-muted);font-size:.74rem}.cp-flag{background:#fdecea;border-radius:var(--radius-pill);color:#8b2d22;display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.4px;margin-left:.45rem;padding:.1rem .45rem;text-transform:uppercase;vertical-align:1px;white-space:nowrap}.cp-line-price{font-feature-settings:"tnum";color:var(--text-secondary);flex-shrink:0;font-size:.92rem;font-variant-numeric:tabular-nums;font-weight:700}.cp-remove{align-items:center;background:none;border:none;border-radius:50%;color:#c0c8c3;cursor:pointer;display:flex;flex-shrink:0;height:var(--cp-tap);justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:var(--cp-tap)}.cp-remove:hover:not(:disabled){background:#fdecea;color:#c0392b}.cp-remove:disabled{cursor:default;opacity:.4}.cp-confirm{align-items:center;background:#fdecea;border-radius:var(--radius-sm);display:flex;flex:1 1;flex-wrap:wrap;gap:.6rem;justify-content:space-between;min-width:0;padding:.5rem .6rem}.cp-confirm-text{color:#8b2d22;font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.cp-confirm-actions{display:flex;gap:.75rem;margin-left:auto}.cp-totals{background:var(--bg-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.3rem;padding:.6rem .75rem}.cp-total-row{color:var(--text-secondary);display:flex;font-size:.85rem;gap:1rem;justify-content:space-between}.cp-total-row span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.cp-total-row.grand{border-top:1px solid #00000014;color:var(--brand-green-deep);font-size:1rem;font-weight:700;padding-top:.35rem}.cp-total-row.grand span:last-child{font-weight:700}.cp-total-note{font-size:.74rem;font-style:italic;margin:.15rem 0 0}.cp-stat-note,.cp-total-note{color:var(--text-muted);line-height:1.45}.cp-stat-note{font-size:.72rem;margin:0}.cp-note{color:var(--text-secondary);font-size:.86rem;line-height:1.55;margin:.5rem 0 0;overflow-wrap:anywhere}.cp-note-tag{background:var(--brand-green-light);border-radius:var(--radius-pill);color:var(--brand-green-deep);display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.4px;margin-right:.45rem;padding:.12rem .5rem;text-transform:uppercase;vertical-align:1px}.cp-visit-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.74rem;gap:.4rem .9rem}.cp-btn-primary{align-items:center;background:linear-gradient(135deg,var(--brand-green-dark),var(--brand-green));border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.92rem;font-weight:700;gap:.45rem;justify-content:center;letter-spacing:.3px;min-height:var(--cp-tap);padding:.7rem 1.1rem;transition:box-shadow var(--transition-fast),opacity var(--transition-fast);width:100%}.cp-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-green)}.cp-btn-primary:disabled{cursor:default;opacity:.5}.cp-btn-danger,.cp-btn-quiet{border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;min-height:var(--cp-tap);padding:.4rem .95rem;white-space:nowrap}.cp-btn-danger{background:#c0392b;border:none;color:#fff}.cp-btn-danger:hover:not(:disabled){background:#a5301f}.cp-btn-danger:disabled{cursor:default;opacity:.6}.cp-btn-quiet{background:var(--bg-card);border:1.5px solid var(--border-medium);color:var(--text-secondary)}.cp-btn-quiet:hover{background:var(--bg-subtle)}.cp-btn-quiet.wide{align-items:center;display:inline-flex;gap:.4rem;justify-content:center;min-height:var(--cp-tap);width:100%}.cp-loading{color:var(--text-muted);font-size:.9rem;padding:1.75rem 1rem;text-align:center}.cp-alert{align-items:center;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.55rem;line-height:1.5;padding:.75rem .9rem}.cp-alert svg{flex-shrink:0}.cp-alert span{flex:1 1;min-width:0;overflow-wrap:anywhere}.cp-alert.error{background:#fdecea;border:1px solid #f5c6c0;color:#8b2d22}.cp-alert.warn{background:var(--status-reschedule-bg);border:1px solid #f0d5a0;color:#7c4e12}.cp-overlap{display:flex;flex-direction:column;gap:.6rem;padding:.25rem 0}.cp-overlap-note{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:0}.cp-overlap-actions{display:flex;flex-direction:column;gap:.65rem}.cp-empty-icon{color:var(--brand-green);margin-bottom:.9rem}.cp-modal{display:flex;flex-direction:column;max-width:560px}.cp-overlay .cp-modal{max-height:calc(100vh - 2.5rem);max-height:calc(100dvh - 2.5rem);overflow:hidden}.cp-modal .modal-header{flex-shrink:0}.cp-modal .modal-header h2{overflow-wrap:anywhere}.cp-modal .modal-close{height:var(--cp-tap);width:var(--cp-tap)}.cp-modal-body{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.cp-modal-body>*{flex-shrink:0}.cp-modal-section{border-bottom:2px solid #e6efe9;color:var(--brand-green-deep);font-size:.8rem;font-weight:700;letter-spacing:.6px;margin:.4rem 0 0;padding-bottom:.35rem;text-transform:uppercase}.cp-modal-foot{align-items:center;background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;flex-shrink:0;gap:.6rem;padding:.85rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom, 0px))}.cp-modal-foot.column{align-items:stretch;flex-direction:column;gap:.5rem}.cp-foot-row{align-items:center;display:flex;gap:.6rem}.cp-foot-row .cp-btn-primary{flex:1 1;min-width:0;overflow-wrap:anywhere;width:auto}.cp-foot-actions{align-items:center;display:flex;flex-direction:row-reverse;gap:.6rem}.cp-foot-actions .cp-btn-primary{flex:1 1;min-width:0;width:auto}.cp-foot-actions .cp-btn-quiet.wide{flex:0 0 6.5rem;width:auto}.cp-foot-warn{background:var(--status-reschedule-bg);border-radius:var(--radius-sm);color:#7c4e12;font-size:.78rem;line-height:1.45;margin:0;padding:.5rem .65rem}.cp-points-toggle{align-items:flex-start;background:var(--bg-subtle);border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.65rem;min-height:var(--cp-tap);padding:.6rem .7rem}.cp-points-toggle input[type=checkbox]{accent-color:var(--brand-green);flex-shrink:0;height:20px;margin-top:.1rem;width:20px}.cp-points-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cp-points-label{color:var(--text-primary);font-size:.86rem;font-weight:700}.cp-points-hint{color:var(--text-muted);font-size:.74rem;line-height:1.4}.cp-optout{margin-top:.9rem}.cp-optout .cp-points-toggle{max-width:34rem}.cp-optout-error{color:#8b2d22;font-size:.76rem;line-height:1.4;margin:.4rem 0 0}.cp-chosen-slot{background:var(--brand-green-light);border-radius:var(--radius-sm);color:var(--brand-green-deep);font-size:.88rem;font-weight:700;line-height:1.4;margin:0;overflow-wrap:anywhere;padding:.45rem .6rem;text-align:center}.cp-chosen-slot-label{color:var(--brand-green);display:block;font-size:.66rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.cp-modal .cp-notes{font-size:1rem;min-height:88px;padding:.7rem .8rem}.cp-pick-group+.cp-pick-group{margin-top:.6rem}.cp-pick-group-title{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.6px;margin:0 0 .25rem;text-transform:uppercase}.cp-pick-row{align-items:center;background:var(--bg-card);border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;gap:.6rem;margin-bottom:.4rem;min-height:48px;padding:.55rem .6rem;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.cp-pick-row:hover:not(:disabled){background:var(--brand-green-light);border-color:var(--brand-green)}.cp-pick-row:disabled{cursor:default;opacity:.5}.cp-pick-row.chosen{background:var(--brand-green-light);border-color:var(--brand-green)}.cp-check-row{align-items:center;border:1.5px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.65rem;margin-bottom:.4rem;min-height:48px;padding:.55rem .6rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.cp-check-row.checked{background:var(--brand-green-light);border-color:var(--brand-green)}.cp-check-row input[type=checkbox]{accent-color:var(--brand-green);flex-shrink:0;height:20px;width:20px}.cp-summary-bar{background:var(--brand-green-light);border-radius:var(--radius-sm);color:var(--brand-green-deep);display:flex;flex-wrap:wrap;font-size:.85rem;font-weight:700;gap:.25rem 1rem;justify-content:space-between;padding:.6rem .85rem}.cp-qty{border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);flex-shrink:0;overflow:hidden}.cp-qty,.cp-qty button{align-items:center;display:flex}.cp-qty button{background:var(--bg-card);border:none;color:var(--text-secondary);cursor:pointer;height:var(--cp-tap);justify-content:center;width:var(--cp-tap)}.cp-qty button:hover:not(:disabled){background:var(--bg-subtle)}.cp-qty button:disabled{cursor:default;opacity:.35}.cp-qty-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:40px;text-align:center}.cp-same-again{background:var(--brand-green-light);border:1px solid #6b9e7a40;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.2rem;padding:.85rem .9rem}.cp-same-again-label{color:var(--brand-green-deep);font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.cp-same-again-list{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.cp-same-again-meta{color:var(--text-secondary);font-size:.8rem}.cp-same-again .cp-btn-quiet{background:var(--bg-card);margin-top:.55rem}.cp-slot-nav{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.cp-slot-nav-label{color:var(--brand-green-deep);flex:1 1;font-size:.9rem;font-weight:700;min-width:0;overflow-wrap:anywhere;text-align:center}.cp-slot-nav-btn{align-items:center;background:var(--bg-card);border:1.5px solid var(--border-medium);border-radius:50%;color:var(--brand-green-deep);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--cp-tap);justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast);width:var(--cp-tap)}.cp-slot-nav-btn:active:not(:disabled),.cp-slot-nav-btn:hover:not(:disabled){background:var(--brand-green-light);border-color:var(--brand-green)}.cp-slot-nav-btn:disabled{cursor:default;opacity:.35}.cp-day-location{background:var(--bg-card);color:var(--text-muted);font-size:.78rem;margin:0;overflow-wrap:anywhere;padding:.6rem .75rem 0}.cp-day{border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-bottom:.35rem;overflow:hidden}.cp-day-head{align-items:center;background:#f6faf7;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;font-weight:700;gap:.6rem;min-height:52px;padding:.65rem .75rem;text-align:left;width:100%}.cp-day-head.open{border-bottom:1px solid var(--border-soft)}.cp-day-head>span:first-child{flex:1 1;min-width:0}.cp-day-count{color:var(--text-muted);font-size:.72rem;font-weight:600;white-space:nowrap}.cp-slot-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:.6rem .6rem .75rem}.cp-slot,.cp-slot-grid{background:var(--bg-card)}.cp-slot{align-items:center;border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:.85rem;font-weight:600;gap:.1rem;justify-content:center;min-height:48px;padding:.4rem .3rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.cp-slot:active,.cp-slot:hover{border-color:var(--brand-green)}.cp-slot:active{background:var(--brand-green-light)}.cp-slot.active{background:var(--brand-green-dark);border-color:var(--brand-green-dark);color:#fff}.cp-slot-loc{font-size:.64rem;font-weight:500;max-width:100%;opacity:.8;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media (max-width:639.98px){.cp-overlay{align-items:stretch;padding:0}.cp-overlay .cp-modal{border-radius:0;height:100vh;height:100dvh;max-height:100dvh;max-width:none}.cp-overlay .modal-header{border-radius:0;padding:.9rem 1rem}.cp-overlay .modal-header h2{font-size:1.1rem}.cp-overlay .modal-body{padding:1rem}.cp-modal-foot{padding-left:1rem;padding-right:1rem}}@media (max-height:560px){.cp-points-hint{display:none}.cp-modal-foot{padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px));padding-top:.6rem}.cp-points-toggle{min-height:40px;padding:.45rem .6rem}}@media (min-width:640px){.clients-panel{gap:1rem}.cp-client-row{padding:.85rem 1.1rem}.cp-client-name{font-size:1.05rem}.cp-contact-links{flex-direction:row;gap:1.25rem}.cp-stat-grid{grid-template-columns:repeat(4,1fr)}.cp-client-head{padding:1.25rem 1.4rem}.cp-visit-body,.cp-visit-head{padding-left:1.2rem;padding-right:1.2rem}.cp-visit-head-right{align-items:center;flex-direction:row;gap:.7rem}.cp-btn-primary{align-self:flex-start;width:auto}.cp-modal-foot>.cp-btn-primary{width:100%}}.availability-panel{--av-tap:44px;display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.av-nav{grid-gap:.4rem;background:#f7faf8;background:var(--bg-page,#f7faf8);display:grid;gap:.4rem;grid-template-columns:repeat(2,1fr);padding:.35rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:4}.av-nav-btn{align-items:center;background:var(--bg-card);border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.84rem;font-weight:700;gap:.4rem;justify-content:center;min-height:var(--av-tap);padding:.5rem .6rem;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.av-nav-btn:hover{border-color:var(--brand-green)}.av-nav-btn.active{background:var(--brand-green-dark);border-color:var(--brand-green-dark);color:#fff}.av-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.av-nav-dot{background:var(--accent-amber);border-radius:50%;box-shadow:0 0 0 2px #ffffffd9;flex-shrink:0;height:8px;width:8px}.av-section{display:flex;flex-direction:column;gap:.85rem}.av-section-head h3{color:var(--text-primary);font-size:1.15rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .3rem}.av-section-head p{color:var(--text-secondary);font-size:.86rem;line-height:1.55;margin:0}.av-add-grid{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:1fr}.av-add-card{align-items:flex-start;background:linear-gradient(150deg,#f2f8f4,#fff);border:1.5px solid var(--brand-green);border-radius:var(--radius-md);color:var(--brand-green-deep);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.2rem;min-height:76px;padding:.85rem .95rem;text-align:left;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.av-add-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.av-add-title{color:var(--text-primary);font-size:1rem;font-weight:700}.av-add-sub{color:var(--text-secondary);font-size:.78rem;line-height:1.45}.av-compare{background:var(--bg-subtle);border:1px solid var(--border-soft);border-left:3px solid var(--brand-green);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.5rem;padding:.75rem .85rem}.av-compare-item{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:.83rem;gap:.55rem;line-height:1.5}.av-compare-item svg{color:var(--brand-green);flex-shrink:0;margin-top:.15rem}.av-compare-item strong{color:var(--text-primary)}.av-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.av-row{align-items:center;background:var(--bg-card);border:1px solid var(--border-soft);border-left:3px solid var(--text-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:.6rem;min-height:62px;padding:.65rem .5rem .65rem .8rem}.av-row.now{border-left-color:var(--accent-amber)}.av-row.upcoming{border-left-color:var(--brand-green)}.av-row.past{opacity:.72}.av-row.closed,.av-row.past{border-left-color:var(--status-declined)}.av-row.special{border-left-color:var(--brand-green)}.av-row-main{display:flex;flex:1 1;flex-direction:column;gap:.12rem;min-width:0}.av-row-title{color:var(--text-primary);font-size:.95rem;font-weight:700;overflow-wrap:anywhere}.av-row-sub{color:var(--text-secondary);font-size:.82rem;overflow-wrap:anywhere}.av-row-reason{color:var(--text-muted);font-size:.76rem;font-style:italic;overflow-wrap:anywhere}.av-pill{border-radius:var(--radius-pill);flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.4px;padding:.22rem .6rem;text-transform:uppercase;white-space:nowrap}.av-pill.now{background:var(--accent-amber-light);color:#7c4e12}.av-pill.upcoming{background:var(--status-approved-bg);color:#1c6b41}.av-pill.closed,.av-pill.past{background:var(--status-declined-bg);color:#566270}.av-pill.special{background:var(--status-approved-bg);color:#1c6b41}.av-row-delete{align-items:center;background:none;border:none;border-radius:50%;color:#c0c8c3;cursor:pointer;display:flex;flex-shrink:0;height:var(--av-tap);justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:var(--av-tap)}.av-row-delete:hover{background:#fdecea;color:#c0392b}.av-confirm{background:#fdecea;border-radius:var(--radius-sm);display:flex;flex:1 1;flex-direction:column;gap:.55rem;padding:.6rem .7rem}.av-confirm-text{color:#8b2d22;font-size:.85rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.av-confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem}.av-confirm-actions .av-btn-danger,.av-confirm-actions .av-btn-quiet{flex:1 1 auto}.av-day-card,.av-days{display:flex;flex-direction:column;gap:.6rem}.av-day-card{background:var(--bg-card);border:1px solid var(--border-soft);border-left:3px solid var(--brand-green);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:.8rem .85rem}.av-day-card.shut{background:#fbfbfa;border-left-color:var(--status-declined)}.av-day-card.dirty{border-left-color:var(--accent-amber);box-shadow:var(--shadow-md)}.av-day-head{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.av-day-name{color:var(--text-primary);font-size:1rem;font-weight:700}.av-switch{background:var(--bg-card);border:1.5px solid var(--border-medium);border-radius:var(--radius-pill);display:flex;flex-shrink:0;overflow:hidden}.av-switch button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;min-height:var(--av-tap);min-width:72px;padding:0 .9rem;transition:background var(--transition-fast),color var(--transition-fast)}.av-switch button.on{background:var(--brand-green-dark);color:#fff}.av-switch button:nth-child(2).on{background:var(--status-declined)}.av-day-fields{grid-gap:.5rem .6rem;display:grid;gap:.5rem .6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.av-day-note{align-items:center;color:var(--text-muted);display:flex;font-size:.79rem;gap:.35rem;line-height:1.45;margin:0}.av-day-saved{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0}.av-day-actions{display:flex;flex-wrap:wrap;gap:.6rem}.av-day-actions .av-btn-primary{flex:1 1;min-width:0}.av-day-actions .av-btn-quiet{flex:0 0 5.5rem}.av-day-card.missing{border-left-color:var(--accent-amber)}.av-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.av-field.wide{grid-column:1/-1}.av-field-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.av-field input,.av-field select{background:var(--bg-card);border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.2;min-height:48px;min-width:0;padding:.5rem .65rem;width:100%}.av-field input[type=date],.av-field input[type=time]{display:block;min-height:50px}.av-field input:focus,.av-field select:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.av-field-echo{color:var(--text-muted);font-size:.74rem}.av-field-pair{grid-gap:.5rem .6rem;display:grid;gap:.5rem .6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.av-hint{color:var(--text-muted);font-size:.78rem;line-height:1.5;margin:-.25rem 0 0}.av-choice{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.av-choice-btn{align-items:flex-start;background:var(--bg-card);border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.15rem;min-height:var(--av-tap);padding:.7rem .8rem;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.av-choice-btn.active{background:var(--brand-green-light);border-color:var(--brand-green)}.av-choice-title{color:var(--text-primary);font-size:.92rem;font-weight:700}.av-choice-sub{color:var(--text-secondary);font-size:.76rem;line-height:1.4}.av-rule{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.4rem;padding:.85rem .9rem}.av-rule-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.av-rule-input{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.3rem}.av-rule-input input{flex-shrink:0;width:6.5rem}.av-rule-input select{min-width:9rem;width:auto}.av-rule-unit{color:var(--text-secondary);font-size:.85rem;font-weight:600}.av-rule-effect{color:var(--text-secondary);font-size:.83rem;line-height:1.55;margin:0}.av-rule-warn{background:var(--status-reschedule-bg);border-radius:var(--radius-sm);color:#7c4e12;font-size:.8rem;line-height:1.5;margin:0;padding:.45rem .6rem}.av-rule-actions{display:flex;flex-wrap:wrap;gap:.5rem}.av-rule-actions .av-btn-primary{flex:1 1}.av-rule-saved{color:var(--text-muted);font-size:.78rem;margin:0;text-align:center}.av-review{background:var(--brand-green-light);border:1px solid #6b9e7a40;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem}.av-review-label{color:var(--brand-green-deep);font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.av-review-main{color:var(--text-primary);font-size:1.02rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.av-review-sub{color:var(--text-secondary);font-size:.8rem;overflow-wrap:anywhere}.av-clash-box{gap:.5rem}.av-clash-box,.av-clash-list{display:flex;flex-direction:column}.av-clash-list{gap:.4rem;list-style:none;margin:0;padding:0}.av-clash{background:var(--bg-card);border:1px solid #f5c6c0;border-left:3px solid #c0392b;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.1rem;padding:.6rem .7rem}.av-clash-name{color:var(--text-primary);font-size:.92rem;font-weight:700;overflow-wrap:anywhere}.av-clash-when{color:#8b2d22;font-size:.8rem;font-weight:600}.av-clash-what{color:var(--text-muted);font-size:.78rem;overflow-wrap:anywhere}.av-clash-note{color:#8b2d22;font-size:.82rem;font-weight:600;line-height:1.55;margin:0}.av-loading{font-size:.9rem;padding:1.75rem 1rem}.av-empty,.av-loading{color:var(--text-muted);text-align:center}.av-empty{align-items:center;border:1px dashed var(--border-medium);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.35rem;padding:2rem 1rem}.av-empty svg{color:var(--brand-green);margin-bottom:.4rem}.av-empty h4{color:var(--text-primary);font-size:.98rem;font-weight:700;margin:0}.av-empty p{font-size:.84rem;line-height:1.5;margin:0}.av-alert{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:.85rem;gap:.55rem;line-height:1.55;padding:.75rem .9rem}.av-alert.tight{font-size:.8rem;padding:.55rem .65rem}.av-alert svg{flex-shrink:0;margin-top:.12rem}.av-alert span{flex:1 1;min-width:0;overflow-wrap:anywhere}.av-alert.error{background:#fdecea;border:1px solid #f5c6c0;color:#8b2d22}.av-alert.warn{background:var(--status-reschedule-bg);border:1px solid #f0d5a0;color:#7c4e12}.av-alert.ok{background:var(--status-approved-bg);border:1px solid #b9e0c9;color:#1c6b41}.av-alert.info{background:var(--status-today-bg);border:1px solid #c3dafb;color:#1c4f9c}.av-btn-primary{align-items:center;background:linear-gradient(135deg,var(--brand-green-dark),var(--brand-green));border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.92rem;font-weight:700;gap:.45rem;justify-content:center;letter-spacing:.3px;min-height:var(--av-tap);padding:.7rem 1.1rem;transition:box-shadow var(--transition-fast),opacity var(--transition-fast);width:100%}.av-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-green)}.av-btn-primary:disabled{cursor:default;opacity:.5}.av-btn-primary.small{font-size:.86rem;min-height:var(--av-tap)}.av-btn-primary.danger{background:linear-gradient(135deg,#a5301f,#c0392b)}.av-btn-danger,.av-btn-quiet{border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.84rem;font-weight:700;min-height:var(--av-tap);padding:.45rem .95rem;white-space:nowrap}.av-btn-danger{background:#c0392b;border:none;color:#fff}.av-btn-danger:hover:not(:disabled){background:#a5301f}.av-btn-danger:disabled,.av-btn-quiet:disabled{cursor:default;opacity:.6}.av-btn-quiet{background:var(--bg-card);border:1.5px solid var(--border-medium);color:var(--text-secondary)}.av-btn-quiet:hover:not(:disabled){background:var(--bg-subtle)}.av-btn-quiet.wide{min-height:var(--av-tap);width:100%}.av-modal{display:flex;flex-direction:column;max-width:560px}.av-overlay .av-modal{max-height:calc(100vh - 2.5rem);max-height:calc(100dvh - 2.5rem);overflow:hidden}.av-modal .modal-header{flex-shrink:0}.av-modal .modal-header h2{overflow-wrap:anywhere}.av-modal .modal-close{height:var(--av-tap);width:var(--av-tap)}.av-modal-body{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:.8rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.av-modal-body>*{flex-shrink:0}.av-modal-foot{background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;padding:.85rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom, 0px))}@media (max-width:639.98px){.av-overlay{align-items:stretch;padding:0}.av-overlay .av-modal{border-radius:0;height:100vh;height:100dvh;max-height:100dvh;max-width:none}.av-overlay .modal-header{border-radius:0;padding:.9rem 1rem}.av-overlay .modal-header h2{font-size:1.1rem}.av-overlay .modal-body{padding:1rem}.av-modal-foot{padding-left:1rem;padding-right:1rem}.av-nav{gap:.35rem;padding:.3rem 0}.av-nav-btn{font-size:.8rem;padding:.5rem .4rem}}@media (max-height:560px){.av-modal-foot{flex-direction:row-reverse;padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px));padding-top:.6rem}.av-modal-foot .av-btn-primary,.av-modal-foot .av-btn-quiet.wide{flex:1 1;width:auto}}@media (min-width:640px){.av-nav{grid-template-columns:repeat(4,1fr)}.av-add-grid,.av-choice{grid-template-columns:1fr 1fr}.av-day-fields{grid-template-columns:1fr 1fr 1.4fr}.av-field.wide{grid-column:auto}.av-rule-actions .av-btn-primary,.av-section>.av-btn-primary{align-self:flex-start;flex:0 0 auto;width:auto}.av-day-actions .av-btn-primary{flex:0 0 auto;min-width:10rem}.av-modal-foot{flex-direction:row-reverse}.av-modal-foot .av-btn-primary,.av-modal-foot .av-btn-quiet.wide{flex:1 1;width:auto}}:root{--brand-green:#6b9e7a;--brand-green-dark:#4e9e6e;--brand-green-deep:#2d5240;--brand-forest:#1a2e24;--brand-green-light:#6b9e7a14;--brand-green-glow:#6b9e7a59;--accent-amber:#d97706;--accent-amber-light:#fef3c7;--accent-amber-mid:#fcd34d;--accent-rose:#c2796a;--accent-rose-light:#fdf0ee;--status-approved:#27ae60;--status-approved-bg:#e6f4ec;--status-declined:#8c9aa8;--status-declined-bg:#f0f2f4;--status-reschedule:#c27c1e;--status-reschedule-bg:#fff3dc;--status-today:#3b82f6;--status-today-bg:#eff6ff;--text-primary:#1c2b22;--text-secondary:#4a5e52;--text-muted:#8a9e92;--bg-page:#f7faf8;--bg-card:#fff;--bg-subtle:#f5f4f1;--bg-hatch:#ebe9e4;--border-soft:#0000000f;--border-medium:#0000001a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:50px;--shadow-sm:0 1px 4px #0000000d;--shadow-md:0 4px 20px #00000012;--shadow-lg:0 8px 32px #0000001f;--shadow-xl:0 16px 48px #0000002e;--shadow-green:0 4px 12px #6b9e7a66;--transition-fast:0.18s ease;--transition-mid:0.25s ease}.admin-auth{align-items:center;background:linear-gradient(150deg,#1a2e24,#2d5240 55%,#6b9e7a);background:linear-gradient(150deg,var(--brand-forest) 0,var(--brand-green-deep) 55%,var(--brand-green) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.admin-auth:before{background:radial-gradient(circle,#6b9e7a2e 0,#0000 70%);content:"";height:500px;pointer-events:none;position:absolute;right:-10%;top:-10%;width:500px}.auth-container{background:#fff;background:var(--bg-card);border:1px solid #ffffff14;border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 16px 48px #0000002e;box-shadow:var(--shadow-xl);max-width:420px;padding:2.75rem 2.5rem;position:relative;width:100%;z-index:1}.auth-container:before{background:linear-gradient(90deg,#4e9e6e,#6b9e7a);background:linear-gradient(90deg,var(--brand-green-dark),var(--brand-green));border-radius:20px 20px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-container h2{color:#1c2b22;color:var(--text-primary);font-size:1.85rem;font-weight:700;letter-spacing:-.3px;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#4a5e52;color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;letter-spacing:.2px;margin-bottom:.5rem}.form-group input{background:#fafdf9;border:1.5px solid #e2e8e4;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1c2b22;color:var(--text-primary);font-size:1rem;padding:.85rem 1rem;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-group input:focus{background:#fff;border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.error-message{background:#fdf0ee;border:1px solid #f5c6c0;border-radius:8px;border-radius:var(--radius-sm);color:#c0392b;font-size:.875rem;margin-bottom:1rem;padding:.6rem 1rem;text-align:center}.login-btn{background:linear-gradient(135deg,#4e9e6e,#6b9e7a);background:linear-gradient(135deg,var(--brand-green-dark),var(--brand-green));border:none;border-radius:10px;box-shadow:0 4px 14px #6b9e7a59;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.3px;padding:.9rem 1rem;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-btn:hover{box-shadow:0 6px 20px #6b9e7a73;opacity:.92;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.admin-dashboard{background:linear-gradient(160deg,#f7faf8,#eef5f1 60%,#fdfcfb);box-shadow:inset 0 4px 0 #6b9e7a;box-shadow:inset 0 4px 0 var(--brand-green);min-height:100vh;padding:20px 0 0}.dashboard-centered{margin:0 auto;max-width:1100px;min-height:calc(100vh - 20px)}.bookings-section{box-sizing:border-box;padding:2rem 1.5rem;width:100%}.admin-header{align-items:center;background:linear-gradient(130deg,#1a2e24,#2d5240);background:linear-gradient(130deg,var(--brand-forest) 0,var(--brand-green-deep) 100%);border-bottom:none;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 6px 28px #1a2e2447;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:1.75rem 2rem;position:relative}.admin-header:after{background:linear-gradient(90deg,#0000,#ffffff1f,#0000);content:"";height:1px;left:0;pointer-events:none;position:absolute;right:0;top:0}.admin-header h1{color:#fff;font-size:1.95rem;font-weight:800;letter-spacing:-.4px;margin:0 0 .3rem}.header-subtitle{color:#ffffffa6;font-size:.875rem;font-weight:400;margin:0}.logout-btn{background:#0000;border:1.5px solid #ffffff8c;border-radius:10px;color:#ffffffe6;cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.3px;padding:.55rem 1.3rem;transition:background .18s ease,border-color .18s ease,color .18s ease;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.logout-btn:hover{background:#ffffff24;border-color:#ffffffd9;color:#fff}.error-banner{background:#fdf0ee;border:1px solid #f5c6c0;border-left:4px solid #c0392b;border-radius:12px;border-radius:var(--radius-md);color:#8b1c2c;font-size:.875rem;margin-bottom:1.25rem;padding:.85rem 1.1rem}.loading{align-items:center;color:#8a9e92;color:var(--text-muted);display:flex;flex-direction:column;font-size:1rem;gap:1rem;justify-content:center;padding:5rem 2rem}.loading:after{animation:loading-spin .75s linear infinite;border:3px solid #6b9e7a14;border-radius:50%;border-top-color:#6b9e7a;border:3px solid var(--brand-green-light);border-top-color:var(--brand-green);content:"";display:block;height:40px;width:40px}@keyframes loading-spin{to{transform:rotate(1turn)}}.section-bar{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);margin-bottom:.75rem}.section-btn{align-items:center;background:#0000;border:none;border-bottom:2.5px solid #0000;border-radius:0;color:#4a5e52;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.72rem;font-weight:700;gap:.35rem;justify-content:center;letter-spacing:.4px;min-height:48px;padding:.65rem .4rem;position:relative;text-align:center;text-transform:uppercase;transition:color .18s ease,border-color .18s ease;transition:color var(--transition-fast),border-color var(--transition-fast)}.section-btn:hover{border-bottom-color:#6b9e7a66}.section-btn.active,.section-btn:hover{color:#2d5240;color:var(--brand-green-deep)}.section-btn.active{border-bottom-color:#6b9e7a;border-bottom-color:var(--brand-green)}.section-icon{font-size:1rem}.section-count{background:#e84040;border-radius:50px;border-radius:var(--radius-pill);color:#fff;font-size:.62rem;font-weight:700;line-height:1.4;min-width:1.1rem;padding:.15rem .42rem;text-align:center}.section-count-blue{background:#3b82f6}.tab-bar{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));margin-bottom:1.75rem}.tab{align-items:center;background:#6b9e7a14;background:var(--brand-green-light);border:none;border-radius:50px;border-radius:var(--radius-pill);color:#4a5e52;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;justify-content:center;letter-spacing:.2px;min-height:48px;padding:.7rem .6rem;position:relative;text-align:center;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.tab:hover{background:#6b9e7a26;color:#2d5240;color:var(--brand-green-deep)}.tab.active,.tab:hover{transform:translateY(-1px)}.tab.active{background:#6b9e7a;background:var(--brand-green);box-shadow:0 4px 12px #6b9e7a66;box-shadow:var(--shadow-green);color:#fff}.tab.active:hover{background:#4e9e6e;background:var(--brand-green-dark)}.tab-full{grid-column:1/-1}.tab-icon{font-size:1.2rem}.tab-count{background:#e84040}.tab-count,.tab-count-blue{border-radius:50px;border-radius:var(--radius-pill);color:#fff;font-size:.68rem;font-weight:700;line-height:1.4;min-width:1.2rem;padding:.18rem .5rem;text-align:center}.tab-count-blue{background:#3b82f6}.today-header{background:linear-gradient(120deg,#2d5240,#6b9e7a);background:linear-gradient(120deg,var(--brand-green-deep) 0,var(--brand-green) 100%);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #2d524040;margin-bottom:1.5rem;overflow:hidden;padding:1.4rem 1.75rem;position:relative}.today-header:before{background:#ffffff0f;border-radius:50%;content:"";height:120px;pointer-events:none;position:absolute;right:-20px;top:-20px;width:120px}.today-header h2{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:0}.helper-text{background:#fef3c7;background:var(--accent-amber-light);border-left:4px solid #d97706;border-left:4px solid var(--accent-amber);border-radius:0 8px 8px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:#7c5404;font-size:.875rem;line-height:1.5;margin-bottom:1.1rem;padding:.85rem 1.1rem}.bookings-list{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2.5rem}.no-bookings{background:linear-gradient(160deg,#f0f7f3,#f7faf5);border:1px solid #6b9e7a1f;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #0000000d;box-shadow:var(--shadow-sm);padding:4.5rem 2rem;text-align:center}.empty-icon{display:block;font-size:4rem;margin-bottom:1.25rem}.no-bookings h3{color:#1c2b22;color:var(--text-primary);font-size:1.35rem;font-weight:700;margin:0 0 .6rem}.no-bookings p{color:#8a9e92;color:var(--text-muted);font-size:.95rem;margin:0}.booking-card{background:#fff;background:var(--bg-card);border:1px solid #0000000f;border-left:3px solid #d97706;border:1px solid var(--border-soft);border-left:3px solid var(--accent-amber);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000012;box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:box-shadow .25s ease,transform .25s ease;transition:box-shadow var(--transition-mid),transform var(--transition-mid)}.booking-card:hover{box-shadow:0 8px 32px #0000001c;transform:translateY(-2px)}.booking-card.approved{border-left-color:#27ae60;border-left-color:var(--status-approved)}.booking-card.declined{border-left-color:#8c9aa8;border-left-color:var(--status-declined);opacity:.72}.booking-card.rescheduled{border-left-color:#c27c1e;border-left-color:var(--status-reschedule);opacity:.88}.booking-card.today{border-left-color:#3b82f6;border-left-color:var(--status-today)}.block-card{background:repeating-linear-gradient(135deg,#f5f4f1,#f5f4f1 9px,#ebe9e4 0,#ebe9e4 18px);background:repeating-linear-gradient(135deg,var(--bg-subtle),var(--bg-subtle) 9px,var(--bg-hatch) 9px,var(--bg-hatch) 18px);border:1px dashed #0000001a;border-left:3px solid #8c9aa8;border:1px dashed var(--border-medium);border-left:3px solid var(--status-declined);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden}.block-card.google{background:repeating-linear-gradient(45deg,#f5f4f1,#f5f4f1 9px,#ebe9e4 0,#ebe9e4 18px);background:repeating-linear-gradient(45deg,var(--bg-subtle),var(--bg-subtle) 9px,var(--bg-hatch) 9px,var(--bg-hatch) 18px);border-left-color:#3b82f6;border-left-color:var(--status-today)}.block-card.google .block-pill{background:#eff6ff;background:var(--status-today-bg);color:#3b82f6;color:var(--status-today)}.block-card.exception.closed{border-left-color:#c2796a;border-left-color:var(--accent-rose)}.block-card.exception.hours{border-left-color:#d97706;border-left-color:var(--accent-amber)}.block-card-header{align-items:center;border-bottom:1px dashed #0000001a;border-bottom:1px dashed var(--border-medium);display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem 1.5rem .85rem}.block-icon{flex-shrink:0;font-size:1.1rem;line-height:1}.block-title{color:#4a5e52;color:var(--text-secondary);flex:1 1;font-size:1.05rem;font-weight:700;letter-spacing:-.1px;margin:0;min-width:0;overflow-wrap:anywhere}.block-pill{background:#f0f2f4;background:var(--status-declined-bg);border-radius:50px;border-radius:var(--radius-pill);color:#8c9aa8;color:var(--status-declined);font-size:.72rem;font-weight:700;letter-spacing:.3px;padding:.35rem .9rem;text-transform:uppercase;white-space:nowrap}.block-card.exception.closed .block-pill{background:#fdf0ee;background:var(--accent-rose-light);color:#c2796a;color:var(--accent-rose)}.block-card.exception.hours .block-pill{background:#fef3c7;background:var(--accent-amber-light);color:#7c5404}.block-card-body{padding:.95rem 1.5rem 1.1rem}.block-reason{color:#1c2b22;color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.5;margin:0 0 .5rem;overflow-wrap:anywhere}.block-note{color:#8a9e92;color:var(--text-muted);font-size:.85rem;line-height:1.5;margin:0 0 .35rem}.block-note:last-child{margin-bottom:0}.block-loading{color:#8a9e92;color:var(--text-muted);font-size:.95rem;padding:2.5rem 2rem;text-align:center}@media (max-width:600px){.block-card-header{padding:.9rem 1.1rem .75rem}.block-card-body{padding:.85rem 1.1rem .95rem}.block-title{font-size:.98rem}}.card-header{align-items:center;background:#fafaf9;border-bottom:1px solid #0000000d;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;padding:1.15rem 1.5rem .9rem}.time-badge{background:#3b82f6;background:var(--status-today);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 2px 6px #3b82f64d;color:#fff;font-size:1.05rem;font-weight:700;letter-spacing:.3px;margin-right:1rem;padding:.45rem .9rem}.client-name{color:#1c2b22;color:var(--text-primary);font-size:1.3rem;font-weight:700;letter-spacing:-.2px;margin:0;min-width:0;overflow-wrap:anywhere}.status-pill{border-radius:50px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.3px;padding:.35rem .9rem;text-transform:uppercase}.status-pill.approved{background:#e6f4ec;background:var(--status-approved-bg);color:#1a6637}.status-pill.declined{background:#f0f2f4;background:var(--status-declined-bg);color:#5e6e78}.status-pill.rescheduled{background:#fff3dc;background:var(--status-reschedule-bg);color:#c27c1e;color:var(--status-reschedule)}.card-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.client-type-pill{border-radius:50px;border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;letter-spacing:.2px;padding:.25rem .65rem}.client-type-pill.new{background:#e8f0fd;color:#1a4fbf}.client-type-pill.returning{background:#f4e8fd;color:#6b1fa2}.card-body{padding:1.25rem 1.5rem}.info-row{align-items:flex-start;display:flex;margin-bottom:.75rem}.info-row.highlight{background:#fef3c7;background:var(--accent-amber-light);border-radius:8px;border-radius:var(--radius-sm);margin-left:-1rem;margin-right:-1rem;padding:.85rem 1rem}.info-label{color:#8a9e92;color:var(--text-muted);flex-shrink:0;font-size:.85rem;font-weight:600;letter-spacing:.1px;min-width:88px;padding-top:.05rem}.info-value{color:#1c2b22;color:var(--text-primary);flex:1 1;font-size:.925rem;line-height:1.5;min-width:0;overflow-wrap:anywhere}.info-value.treatment{color:#2d5240;color:var(--brand-green-deep);font-weight:600}.info-value.datetime{color:#1c2b22;color:var(--text-primary);font-weight:500}.info-value.available-time{color:#d97706;color:var(--accent-amber);font-size:1.05rem;font-weight:700}.info-value.price{color:#1d4d8f;font-weight:600}.notes-box{border-top:1px solid #0000000f;margin-top:1rem;padding-top:1rem}.client-notes,.notes-text{color:#4a5e52;color:var(--text-secondary);font-size:.875rem;font-style:italic;line-height:1.6;margin:.5rem 0 0;overflow-wrap:anywhere}.reschedule-message-box{background:#fff3dc;background:var(--status-reschedule-bg);border-left:3px solid #c27c1e;border-left:3px solid var(--status-reschedule);border-radius:8px;border-radius:var(--radius-sm);margin-top:1rem;padding:1rem 1.1rem}.reschedule-message{color:#4a5e52;color:var(--text-secondary);font-size:.875rem;font-style:italic;line-height:1.6;margin:.5rem 0 0}.card-actions{border-top:1px solid #0000000f;display:flex}.btn-approve,.btn-reschedule{align-items:center;border:none;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.3px;padding:1rem .75rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-approve{background:linear-gradient(135deg,#4e9e6e,#6b9e7a);background:linear-gradient(135deg,var(--brand-green-dark),var(--brand-green));color:#fff}.btn-approve:hover{background:linear-gradient(135deg,#3e8e5a,#4e9e6e);background:linear-gradient(135deg,#3e8e5a,var(--brand-green-dark));box-shadow:0 4px 14px #4e9e6e59;transform:translateY(-1px)}.btn-approve:active{transform:translateY(0)}.btn-reschedule{background:#fffaef;color:#8a5500}.btn-reschedule:hover{background:#fef3c7;background:var(--accent-amber-light);color:#7c4500}.btn-decline-small{background:#f5f4f1;border:none;border-left:1px solid #0000000f;color:#bbb;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:700;padding:1rem 1.1rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-decline-small:hover{background:#fdecea;color:#c0392b}.booking-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}@media (min-width:601px){.booking-actions{flex-direction:row}.booking-actions>button{flex:1 1}}.btn-move{background:#fff;border:1.5px solid #6b9e7a;border:1.5px solid var(--brand-green);border-radius:10px;color:#2d5240;color:var(--brand-green-deep);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:700;letter-spacing:.3px;min-height:44px;padding:12px 18px;transition:all .18s ease;transition:all var(--transition-fast);width:100%}.btn-move:hover:not(:disabled){background:#f0f7f2;box-shadow:0 4px 12px #4e9e6e38;transform:translateY(-1px)}.btn-move:active{transform:translateY(0)}.btn-cancel{background:#dc3545;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;letter-spacing:.3px;min-height:44px;padding:10px 18px;transition:all .18s ease;transition:all var(--transition-fast);width:100%}.btn-cancel:hover{background:#b02a37;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.btn-cancel:active{transform:translateY(0)}.modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f1a14a6;bottom:0;display:flex;justify-content:center;left:0;padding:1.25rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .22s ease-out;background:#fff;background:var(--bg-card);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 16px 48px #0000002e,0 0 0 1px #ffffff0f;box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0f;display:flex;flex-direction:column;max-height:calc(100vh - 2.5rem);max-height:calc(100dvh - 2.5rem);max-width:900px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(130deg,#1a2e24,#2d5240);background:linear-gradient(130deg,var(--brand-forest) 0,var(--brand-green-deep) 100%);border-bottom:none;border-radius:20px 20px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-shrink:0;gap:.75rem;justify-content:space-between;padding:1.5rem 1.75rem}.modal-header h2{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:-.2px;margin:0}.modal-close{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;color:#fffc;cursor:pointer;display:flex;flex-shrink:0;font-size:1.35rem;height:36px;justify-content:center;line-height:1;padding:0;transition:background .18s ease,color .18s ease;transition:background var(--transition-fast),color var(--transition-fast);width:36px}.modal-close:hover{background:#ffffff38;color:#fff}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.75rem}.modal-body--stack{display:flex;flex-direction:column;gap:.9rem}.modal-client-name{color:#1c2b22;color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.modal-info{color:#4a5e52;color:var(--text-secondary);font-size:.95rem;margin:.3rem 0}.modal-info.available-window{background:#fef3c7;background:var(--accent-amber-light);border-left:3px solid #d97706;border-left:3px solid var(--accent-amber);border-radius:8px;border-radius:var(--radius-sm);color:#7c5404;font-size:1rem;margin:1rem 0;padding:.85rem 1rem}.modal-calendar-section{border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:12px;border-radius:var(--radius-md);margin:1.5rem 0;overflow:hidden}.modal-calendar-header{align-items:center;background:#f5f4f1;background:var(--bg-subtle);border-bottom:1.5px solid #0000001a;border-bottom:1.5px solid var(--border-medium);display:flex;justify-content:space-between;padding:.9rem 1.2rem}.modal-calendar-label{color:#1c2b22;color:var(--text-primary);font-size:.9rem;font-weight:700}.modal-calendar-toggle{display:flex;gap:.5rem}.modal-toggle-btn{background:#fff;border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);color:#4a5e52;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .85rem;transition:all .18s ease;transition:all var(--transition-fast)}.modal-toggle-btn:hover{background:#f0f0ee}.modal-toggle-btn.active{background:#6b9e7a;background:var(--brand-green);border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 2px 8px #6b9e7a59;box-shadow:0 2px 8px var(--brand-green-glow);color:#fff}.modal-calendar-embed{height:450px;overflow:hidden;width:100%}.modal-calendar-iframe{border:none;height:100%;width:100%}.modal-time-picker{margin-top:1.5rem}.modal-time-picker label{display:block;font-size:.95rem;font-weight:700;margin-bottom:.5rem}.modal-time-picker label,.time-select{color:#1c2b22;color:var(--text-primary)}.time-select{background:#fafdf9;border:1.5px solid #d8e2dc;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;font-size:1.05rem;padding:.95rem 1rem;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.time-select:focus{border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.modal-actions{background:#fff;background:var(--bg-card);border-top:1px solid #0000000f;border-top:1px solid var(--border-soft);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.875rem;padding:1rem 1.75rem 1.75rem}.btn-modal-approve,.btn-modal-cancel{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;letter-spacing:.3px;min-width:120px;padding:.95rem 1rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-modal-approve{background:linear-gradient(135deg,#4e9e6e,#6b9e7a);background:linear-gradient(135deg,var(--brand-green-dark),var(--brand-green));box-shadow:0 3px 12px #6b9e7a4d;color:#fff}.btn-modal-approve:hover{background:linear-gradient(135deg,#3e8e5a,#4e9e6e);background:linear-gradient(135deg,#3e8e5a,var(--brand-green-dark));box-shadow:0 6px 18px #4e9e6e66;transform:translateY(-1px)}.btn-modal-approve:active{transform:translateY(0)}.btn-modal-cancel{background:#f5f4f1;background:var(--bg-subtle);border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);color:#4a5e52;color:var(--text-secondary)}.btn-modal-cancel:hover{background:#e8e6e3;color:#1c2b22;color:var(--text-primary)}.btn-modal-reschedule{background:linear-gradient(135deg,#c87a10,#d97706);background:linear-gradient(135deg,#c87a10,var(--accent-amber));border:none;border-radius:10px;box-shadow:0 3px 12px #d9770647;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;letter-spacing:.3px;min-width:120px;padding:.95rem 1rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-modal-reschedule:hover{background:linear-gradient(135deg,#a96509,#c87a10);box-shadow:0 6px 18px #c8640a61;transform:translateY(-1px)}.btn-modal-reschedule:active{transform:translateY(0)}.btn-modal-decline{background:#dc3545;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;letter-spacing:.3px;min-width:180px;padding:.95rem 1.75rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-modal-decline:hover{background:#b02a37;box-shadow:0 6px 16px #dc354559;transform:translateY(-1px)}.btn-modal-decline:active{transform:translateY(0)}.client-type-selector{background:#f5f4f1;background:var(--bg-subtle);border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:12px;border-radius:var(--radius-md);margin:1.5rem 0;padding:1.1rem 1.2rem}.selector-label{color:#1c2b22;color:var(--text-primary);display:block;font-size:.9rem;font-weight:700;margin-bottom:.85rem}.client-type-options{display:flex;gap:.75rem}.client-type-btn{background:#fff;border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);color:#4a5e52;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem .5rem;transition:all .18s ease;transition:all var(--transition-fast)}.client-type-btn:hover{background:#f5f4f1;border-color:#c0ccc5}.client-type-btn.active.new{background:#e8f0fd;border-color:#1a4fbf;color:#1a4fbf}.client-type-btn.active.returning{background:#f4e8fd;border-color:#6b1fa2;color:#6b1fa2}.reschedule-modal{max-width:600px}.reschedule-form{margin-top:1.5rem}.reschedule-form label{color:#1c2b22;color:var(--text-primary);display:block;font-size:.95rem;font-weight:700;margin-bottom:.5rem}.reschedule-textarea{background:#fafdf9;border:1.5px solid #d8e2dc;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1c2b22;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.6;min-height:130px;padding:1rem 1.1rem;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.reschedule-textarea:focus{border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.reschedule-hint{color:#8a9e92;color:var(--text-muted);font-size:.78rem;font-style:italic;margin:.65rem 0 0}.reschedule-textarea--short{min-height:84px}.reschedule-optional{background:#f5f4f1;background:var(--bg-subtle);border:1px solid #0000001a;border:1px solid var(--border-medium);border-radius:50px;border-radius:var(--radius-pill);color:#8a9e92;color:var(--text-muted);display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}.reschedule-section{background:#fbfdfb;border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:12px;border-radius:var(--radius-md);margin-top:1.5rem;padding:1rem}.reschedule-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.reschedule-section-title{color:#1c2b22;color:var(--text-primary);font-size:.95rem;font-weight:700;margin:0}.reschedule-section-sub{color:#4a5e52;color:var(--text-secondary);font-size:.8rem;line-height:1.55;margin:.4rem 0 .9rem}.reschedule-slots-msg{background:#f5f4f1;background:var(--bg-subtle);color:#4a5e52;color:var(--text-secondary);line-height:1.55;margin:0}.reschedule-slots-error,.reschedule-slots-msg{border-radius:8px;border-radius:var(--radius-sm);font-size:.85rem;padding:.9rem 1rem}.reschedule-slots-error{align-items:center;background:#fdeceb;border:1px solid #f5cfcb;color:#8e251d;display:flex;flex-wrap:wrap;gap:.6rem;line-height:1.5}.reschedule-slots-error .reschedule-hint{flex-basis:100%;margin:0}.reschedule-nav{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.9rem}.reschedule-nav-label{font-size:.95rem;font-weight:600;text-align:center}.reschedule-nav-btn,.reschedule-nav-label{color:#2d5240;color:var(--brand-green-deep)}.reschedule-nav-btn{align-items:center;background:#fff;border:1px solid #cfdcd4;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;transition:background .18s ease,border-color .18s ease;transition:background var(--transition-fast),border-color var(--transition-fast);width:44px}.reschedule-nav-btn:hover:not(:disabled){background:#f0f7f2;border-color:#6b9e7a;border-color:var(--brand-green)}.reschedule-nav-btn:disabled{cursor:not-allowed;opacity:.35}.reschedule-day{background:#fff;background:var(--bg-card);border:1px solid #e3e8e4;border-radius:10px;margin-bottom:.6rem;overflow:hidden}.reschedule-day-head{align-items:center;background:#f7faf8;border:none;color:#1c2b22;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;gap:.75rem;justify-content:space-between;min-height:48px;padding:.8rem 1rem;text-align:left;transition:background .18s ease;transition:background var(--transition-fast);width:100%}.reschedule-day-head:hover{background:#eef5f0}.reschedule-day-head.expanded{border-bottom:1px solid #e3e8e4}.reschedule-day-name{color:#2d5240;color:var(--brand-green-deep);font-weight:600}.reschedule-day-count{font-weight:600;white-space:nowrap}.reschedule-day-count,.reschedule-day-location{color:#8a9e92;color:var(--text-muted);font-size:.82rem}.reschedule-day-location{margin:0;padding:.6rem 1rem 0}.reschedule-slot-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:.75rem 1rem 1rem}.reschedule-slot{background:#fff;border:1px solid #cfdcd4;border-radius:8px;border-radius:var(--radius-sm);color:#2d5240;color:var(--brand-green-deep);cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;min-height:46px;padding:.7rem .5rem;transition:background .18s ease,border-color .18s ease,color .18s ease;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.reschedule-slot:hover{background:#f0f7f2}.reschedule-slot.selected,.reschedule-slot:hover{border-color:#6b9e7a;border-color:var(--brand-green)}.reschedule-slot.selected{background:#6b9e7a;background:var(--brand-green);color:#fff}.reschedule-chosen{align-items:center;background:#f0f7f2;border:1px solid #cfe0d5;border-radius:10px;color:#2d5240;color:var(--brand-green-deep);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.3rem .75rem;line-height:1.5;margin-top:.9rem;padding:.85rem 1rem}.reschedule-chosen-label{color:#6b9e7a;color:var(--brand-green);flex-basis:100%;font-size:.74rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.reschedule-chosen strong{font-size:1.04rem}.reschedule-chosen-where{color:#8a9e92;color:var(--text-muted);flex-basis:100%;font-size:.85rem}.reschedule-chosen .btn-add-small{margin-left:auto}.reschedule-dropped{background:#fff3dc;background:var(--status-reschedule-bg);border-left:3px solid #c27c1e;border-left:3px solid var(--status-reschedule);border-radius:8px;border-radius:var(--radius-sm);color:#7c4e12;font-size:.85rem;line-height:1.5;margin:0 0 .9rem;padding:.75rem .9rem}.reschedule-treatments{color:#2d5240;color:var(--brand-green-deep);font-size:.95rem;font-weight:600;line-height:1.5;margin:0 0 .75rem}.reschedule-treatments-mins{color:#8a9e92;color:var(--text-muted);font-weight:500}.move-current{background:#f5f4f1;background:var(--bg-subtle);border-left:3px solid #0000001a;border-left:3px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.15rem;margin:0 0 .25rem;padding:.8rem 1rem}.move-current-label{color:#8a9e92;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.move-current strong{color:#1c2b22;color:var(--text-primary);font-size:1rem}.reschedule-outcome{background:#f5f4f1;background:var(--bg-subtle);border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:12px;border-radius:var(--radius-md);margin-top:1.5rem;padding:1rem 1.1rem}.reschedule-outcome-title{color:#8a9e92;color:var(--text-muted);display:block;font-size:.75rem;font-weight:700;letter-spacing:.6px;margin-bottom:.5rem;text-transform:uppercase}.reschedule-outcome ul{display:flex;flex-direction:column;gap:.45rem;margin:0;padding-left:1.1rem}.reschedule-outcome li{color:#4a5e52;color:var(--text-secondary);font-size:.83rem;line-height:1.55}.reschedule-outcome strong{color:#1c2b22;color:var(--text-primary)}.addto-section-header{align-items:center;border-bottom:2px solid #e0ece4;display:flex;justify-content:space-between;margin:0 0 14px;padding-bottom:10px}.addto-section-title{color:#1a2e24;color:var(--brand-forest);font-size:1rem;font-weight:700;letter-spacing:-.1px;margin:0}.btn-add-small{align-items:center;background:none;border:1.5px solid #6b9e7a;border:1.5px solid var(--brand-green);border-radius:50px;border-radius:var(--radius-pill);color:#6b9e7a;color:var(--brand-green);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;letter-spacing:.2px;min-height:44px;padding:5px 16px;transition:background .18s ease,color .18s ease;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.btn-add-small:hover{background:#6b9e7a;background:var(--brand-green);color:#fff}.products-table-wrap{border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:12px;border-radius:var(--radius-md);overflow-x:auto}.products-table{border-collapse:collapse;font-size:.875rem;width:100%}.products-table th{background:#f2f7f4;border-bottom:2px solid #d8ebe0;color:#1a2e24;color:var(--brand-forest);font-size:.75rem;font-weight:700;letter-spacing:.6px;padding:10px 14px;text-align:left;text-transform:uppercase}.products-table td{border-bottom:1px solid #0000000d;color:#1c2b22;color:var(--text-primary);padding:12px 14px;vertical-align:middle}.products-table tr:last-child td{border-bottom:none}.products-table tr:hover td{background:#f6fbf7}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast-container{bottom:1.5rem;display:flex;flex-direction:column;gap:.6rem;max-width:420px;position:fixed;right:1.5rem;width:calc(100vw - 3rem);z-index:9999}.toast{align-items:flex-start;background:#fff;border-left:4px solid #6b9e7a;border-left:4px solid var(--brand-green);border-radius:12px;box-shadow:0 6px 24px #00000024;color:#1c2b22;color:var(--text-primary);display:flex;font-size:.875rem;gap:.75rem;line-height:1.45;padding:1rem 1.2rem}.toast.toast-enter{animation:toast-slide-in .25s ease-out forwards}.toast.success{border-left-color:#6b9e7a;border-left-color:var(--brand-green)}.toast.warning{border-left-color:#d97706;border-left-color:var(--accent-amber)}.toast.error{border-left-color:#dc2626}.toast-message{flex:1 1}.toast-close{background:none;border:none;color:#8a9e92;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:1.15rem;line-height:1;margin-left:auto;padding:0;transition:color .18s ease;transition:color var(--transition-fast)}.toast-close:hover{color:#1c2b22;color:var(--text-primary)}@media (max-width:1200px){.admin-dashboard{padding-top:12px}.dashboard-centered{min-height:auto}.bookings-section{padding:1.5rem 1rem}}@media (max-width:600px){.bookings-section{padding:1rem .75rem}.admin-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.3rem 1.25rem}.admin-header h1{font-size:1.5rem}.logout-btn{align-self:flex-start}.section-bar{gap:.25rem}.section-btn{font-size:.62rem;gap:.2rem;padding:.55rem .2rem}.section-icon{font-size:.9rem}.tab-bar{gap:.4rem}.tab{font-size:.7rem;padding:.6rem .25rem}.tab-icon{font-size:1rem}.card-header{align-items:flex-start;flex-direction:column;gap:.6rem;padding:1rem 1.1rem .75rem}.time-badge{margin-right:0}.client-name{font-size:1.1rem}.card-body{padding:1rem 1.1rem}.info-row{flex-direction:column;gap:.15rem;margin-bottom:.65rem}.info-label{min-width:auto}.today-header h2{font-size:1.2rem}.modal-content{border-radius:16px;border-radius:var(--radius-lg)}.modal-header{border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-body,.modal-header{padding:1.25rem}.modal-actions{flex-direction:column;padding:.75rem 1.25rem 1.25rem}.modal-calendar-embed{height:350px}.modal-calendar-header{align-items:stretch;flex-direction:column;gap:.75rem}.modal-calendar-toggle{justify-content:center}.calendar-section{height:400px}.client-type-options{flex-direction:column}.toast-container{bottom:1rem;left:.75rem;max-width:none;right:.75rem;width:auto}}.day-schedule{border:1px solid #e3e8e4;border-radius:6px;list-style:none;margin:0;overflow:hidden;padding:0}.day-schedule li{align-items:baseline;border-bottom:1px solid #eef2ef;display:flex;font-size:.88rem;gap:12px;padding:8px 12px}.day-schedule li:last-child{border-bottom:none}.day-schedule li:nth-child(odd){background:#f7faf8}.day-schedule-time{color:#2a4e3a;flex-shrink:0;font-weight:700;white-space:nowrap}.day-schedule-who{color:#4a5a4f}.day-schedule-empty{background:#f7faf8;border:1px dashed #d8e0da;border-radius:6px;color:#6a7a6f;font-size:.88rem;margin:0;padding:10px 12px}.charge-detail{color:#7a6a4f;font-size:.82rem}.email-alert{background:#fff5f4;border:1px solid #f3b6ae;border-left:5px solid #c0392b;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 16px #c0392b24;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem;padding:1.15rem 1.25rem}.email-alert-main{align-items:flex-start;display:flex;gap:.9rem}.email-alert-icon{background:#c0392b;border-radius:50%;color:#fff;flex-shrink:0;font-size:1.05rem;font-weight:800;height:30px;line-height:30px;text-align:center;width:30px}.email-alert-text{min-width:0}.email-alert-title{color:#8b1c2c;font-size:1.02rem;font-weight:800;letter-spacing:-.2px;margin:0 0 .35rem}.email-alert-body{color:#7a3b39;font-size:.875rem;line-height:1.55;margin:0}.email-alert-latest{background:#ffffffbf;border:1px solid #f0cac4;border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.25rem;margin-top:.8rem;padding:.7rem .85rem}.email-alert-latest-head{color:#b06158;font-size:.7rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.email-alert-latest-who{color:#5c2f2c;font-size:.875rem;word-break:break-word}.email-alert-latest-error{color:#8b1c2c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;word-break:break-word}.email-alert-actions{align-items:flex-start;display:flex;flex-direction:column;gap:.4rem}.email-alert-dismiss{background:#0000;border:1.5px solid #c0392b;border-radius:50px;border-radius:var(--radius-pill);color:#8b1c2c;cursor:pointer;font-size:.85rem;font-weight:700;letter-spacing:.2px;min-height:44px;padding:.7rem 1.4rem;transition:background .18s ease,color .18s ease;transition:background var(--transition-fast),color var(--transition-fast)}.email-alert-dismiss:hover{background:#c0392b;color:#fff}.email-alert-dismiss:disabled,.email-alert-dismiss:disabled:hover{background:#0000;color:#8b1c2c;cursor:not-allowed;opacity:.6}.email-alert-note{color:#a06b66;font-size:.75rem}.pinned-notices{gap:.6rem;margin-bottom:1.25rem}.pinned-notice,.pinned-notices{display:flex;flex-direction:column}.pinned-notice{background:#fff3dc;background:var(--status-reschedule-bg);border:1px solid #d97706;border-left:5px solid #c27c1e;border:1px solid var(--accent-amber);border-left:5px solid var(--status-reschedule);border-radius:12px;border-radius:var(--radius-md);gap:.75rem;padding:.95rem 1.1rem}.pinned-notice.error{background:#fff5f4;border-color:#f3b6ae #f3b6ae #f3b6ae #c0392b}.pinned-notice-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.pinned-notice-when{color:#a07a3a;font-size:.7rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.pinned-notice.error .pinned-notice-when{color:#b06158}.pinned-notice-message{color:#6b4a12;font-size:.9rem;line-height:1.55;margin:0;overflow-wrap:anywhere}.pinned-notice.error .pinned-notice-message{color:#7a3b39}.pinned-notice-dismiss{align-self:flex-start;background:#0000;border:1.5px solid #c27c1e;border:1.5px solid var(--status-reschedule);border-radius:50px;border-radius:var(--radius-pill);color:#7c4e12;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:700;letter-spacing:.2px;min-height:44px;padding:.7rem 1.4rem;transition:background .18s ease,color .18s ease;transition:background var(--transition-fast),color var(--transition-fast)}.pinned-notice-dismiss:hover{background:#c27c1e;background:var(--status-reschedule);color:#fff}.pinned-notice.error .pinned-notice-dismiss{border-color:#c0392b;color:#8b1c2c}.pinned-notice.error .pinned-notice-dismiss:hover{background:#c0392b;color:#fff}.btn-approve:disabled,.btn-approve:disabled:hover,.btn-cancel:disabled,.btn-cancel:disabled:hover,.btn-modal-approve:disabled,.btn-modal-approve:disabled:hover,.btn-modal-cancel:disabled,.btn-modal-cancel:disabled:hover,.btn-modal-decline:disabled,.btn-modal-decline:disabled:hover,.btn-modal-reschedule:disabled,.btn-modal-reschedule:disabled:hover,.btn-move:disabled,.btn-move:disabled:hover,.btn-reschedule:disabled,.btn-reschedule:disabled:hover{box-shadow:none;cursor:not-allowed;filter:grayscale(45%);opacity:.5;transform:none}.modal-close:disabled{cursor:not-allowed;opacity:.45}@media (max-width:600px){.email-alert{padding:1rem}.email-alert-actions{align-items:stretch}.email-alert-dismiss{width:100%}.email-alert-note{text-align:center}}.visually-hidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.admin-form{gap:1rem;margin-bottom:1.25rem}.admin-field,.admin-form{display:flex;flex-direction:column}.admin-field{gap:.35rem;min-width:0}.admin-field-label{color:#4a5e52;color:var(--text-secondary);font-size:.85rem;font-weight:700}.admin-field-note{color:#8a9e92;color:var(--text-muted);font-size:.8rem}.admin-input{background:#fafdf9;border:1.5px solid #d8e2dc;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1c2b22;color:var(--text-primary);font-family:inherit;font-size:1rem;min-height:44px;padding:.6rem .85rem;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.admin-input:focus{background:#fff;border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.admin-select{background:#fff;cursor:pointer}.admin-input--inline{max-width:100%;width:auto}.admin-input--search{margin-bottom:.75rem}.admin-input--qty{min-width:4.5rem;padding-left:.35rem;padding-right:.35rem;text-align:center;width:4.5rem}.field-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.field-row .admin-input{flex:1 1 12rem}.admin-check{align-items:center;color:#1c2b22;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:.65rem;min-height:44px}.admin-check input[type=checkbox]{accent-color:#6b9e7a;accent-color:var(--brand-green);flex-shrink:0;height:20px;width:20px}.colour-row{align-items:center;display:flex;gap:.75rem}.colour-input{background:#fff;border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;height:44px;padding:2px;width:56px}.btn-decline{align-items:center;background:#fdf0ee;border:none;color:#a3382c;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.3px;padding:1rem .75rem;transition:all .18s ease;transition:all var(--transition-fast)}.btn-decline:hover{background:#f8d7d2;color:#8b1c2c}.btn-tiny{flex:0 0 auto;font-size:.85rem;padding:.55rem 1rem}.btn-outline,.btn-plain,.btn-tiny{border-radius:8px;border-radius:var(--radius-sm);min-height:44px;white-space:nowrap}.btn-outline,.btn-plain{cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.6rem 1rem}.btn-outline{background:#fff;border:1.5px solid #6b9e7a;border:1.5px solid var(--brand-green);color:#6b9e7a;color:var(--brand-green)}.btn-outline:hover{background:#6b9e7a14;background:var(--brand-green-light)}.btn-plain{background:#f5f4f1;background:var(--bg-subtle);border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);color:#4a5e52;color:var(--text-secondary)}.btn-plain:hover{background:#e8e6e3}.button-row{display:flex;flex-wrap:wrap;gap:.6rem}.btn-stack{border-radius:10px;flex:1 1 12rem;font-size:.95rem;min-height:48px;padding:.85rem 1rem}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pill-toggle{border:none;font-family:inherit;min-height:44px;padding:.35rem 1rem}.btn-card-delete,.pill-toggle{align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.btn-card-delete{background:#fff;border:1px solid #0000001a;border:1px solid var(--border-medium);border-radius:50%;color:#8a9e92;color:var(--text-muted);flex-shrink:0;font-size:1rem;height:44px;margin-left:auto;transition:background .18s ease,color .18s ease,border-color .18s ease;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:44px}.btn-card-delete:hover{background:#fdecea;border-color:#f3b6ae;color:#c0392b}.btn-card-delete:disabled{cursor:not-allowed;opacity:.45}.card-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-left:auto}.status-pill.pending{background:#fff3dc;background:var(--status-reschedule-bg);color:#7c4e12}.status-pill.low{background:#fff3cd;border:1px solid #fcd34d;border:1px solid var(--accent-amber-mid);color:#856404}.status-pill--neutral{background:#e8ede9;color:#4a5e52;color:var(--text-secondary)}.tab-count-red{background:#c0392b}.tab-intro{color:#4a5e52;color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:-.4rem 0 .9rem}.empty-note{color:#8a9e92;color:var(--text-muted);font-size:.9rem;font-style:italic;margin:0 0 1rem}.thumb-wrap{align-self:flex-start;position:relative}.thumb-preview{border:1px solid #0000001a;border:1px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);display:block;height:80px;object-fit:cover}.thumb-remove{align-items:center;background:#e74c3c;border:none;box-shadow:0 2px 6px #00000040;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.thumb-remove,.thumb-remove:after{border-radius:50%;position:absolute;right:-8px;top:-8px}.thumb-remove:after{bottom:-8px;content:"";left:-8px}.thumb-remove--onimage{background:#0009;right:8px;top:8px}.banner-preview{background:#f5f4f1;background:var(--bg-subtle);border-radius:8px;border-radius:var(--radius-sm);line-height:0;overflow:hidden;position:relative}.banner-preview img{display:block;max-height:160px;object-fit:cover;width:100%}.upload-row{display:flex;flex-wrap:wrap;gap:.5rem}.upload-drop{align-items:center;background:#f0f7f2;border:1.5px dashed #6b9e7a;border:1.5px dashed var(--brand-green);border-radius:8px;border-radius:var(--radius-sm);color:#6b9e7a;color:var(--brand-green);cursor:pointer;display:flex;flex:1 1 12rem;font-size:.9rem;font-weight:600;gap:.4rem;justify-content:center;min-height:44px;padding:.6rem 1rem;text-align:center}.upload-drop.busy{cursor:not-allowed;opacity:.7}.gallery-strip{-webkit-overflow-scrolling:touch;background:#f9f9f9;border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.5rem;max-height:180px;overflow-y:auto;overscroll-behavior:contain;padding:.5rem}.gallery-item{background:none;border:2px solid #0000;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;height:64px;overflow:hidden;padding:0;width:64px}.gallery-item.selected,.gallery-tile.selected{border-color:#6b9e7a;border-color:var(--brand-green)}.gallery-item img,.gallery-tile img{display:block;height:100%;object-fit:cover;width:100%}.gallery-grid{grid-gap:.4rem;-webkit-overflow-scrolling:touch;background:#fafafa;border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:8px;border-radius:var(--radius-sm);display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:.4rem}.gallery-tile{aspect-ratio:16/9;background:none;border:2px solid #0000;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:block;overflow:hidden;padding:0}.gallery-empty{color:#8a9e92;color:var(--text-muted);font-size:.85rem;grid-column:1/-1;padding:1.5rem 0;text-align:center}.chip-row{gap:.5rem}.chip-row,.promo-type-row{display:flex;flex-wrap:wrap}.promo-type-row{gap:.6rem}.promo-type-option{background:#fff;border:2px solid #0000001a;border:2px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex:1 1 12rem;flex-direction:column;gap:.2rem;padding:.75rem .9rem;transition:border-color .18s ease,background .18s ease;transition:border-color var(--transition-fast),background var(--transition-fast)}.promo-type-option.selected{background:#f0f7f2;border-color:#6b9e7a;border-color:var(--brand-green)}.promo-type-option:focus-within{box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light)}.promo-type-label{color:#1c2b22;color:var(--text-primary);font-size:.9rem;font-weight:700}.promo-type-desc{color:#8a9e92;color:var(--text-muted);font-size:.78rem;line-height:1.4}.promo-thumb{border-radius:8px;border-radius:var(--radius-sm);height:60px;max-width:120px;object-fit:cover}.swatch-row{align-items:center;display:flex;gap:.5rem}.swatch{border:1px solid #0000001a;border:1px solid var(--border-medium);border-radius:3px;display:inline-block;flex-shrink:0;height:16px;width:16px}.cat-list{display:flex;flex-direction:column;gap:.5rem}.cat-list--spaced{margin-bottom:2rem}.cat-group{border:1px solid #e0e0e0;border-radius:8px;border-radius:var(--radius-sm);overflow:hidden}.cat-toggle{align-items:center;background:#f5f5f5;border:none;color:#2d5240;color:var(--brand-green-deep);cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.75rem;justify-content:space-between;min-height:48px;padding:.75rem 1rem;text-align:left;width:100%}.cat-toggle.open{background:#f0f4f1}.cat-chevron{color:#8a9e92;color:var(--text-muted);flex-shrink:0;font-size:.8rem}.col-center{text-align:center}.col-right{text-align:right}.cell-name,.cell-price{font-weight:600}.cell-price{color:#6b9e7a;color:var(--brand-green)}.cell-muted{color:#8a9e92;color:var(--text-muted)}.cell-stock-count,.cell-total{color:#2d5240;color:var(--brand-green-deep);font-weight:700}.cell-stock-count{font-size:1rem}.cell-stock-count.out{color:#c0392b}.cell-actions{display:flex;flex-wrap:wrap;gap:.5rem}.stock-controls{display:flex;flex-wrap:wrap;gap:.35rem}.stepper-btn,.stock-controls{align-items:center;justify-content:center}.stepper-btn{background:#f5f4f1;background:var(--bg-subtle);border:1.5px solid #0000001a;border:1.5px solid var(--border-medium);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.15rem;font-weight:700;height:44px;width:44px}.stepper-btn.minus{color:#c0392b}.stepper-btn.plus{color:#2d5240;color:var(--brand-green-deep)}.stock-untracked{color:#8a9e92;color:var(--text-muted);font-size:.85rem}.stock-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.stock-chip{border-radius:50px;border-radius:var(--radius-pill);font-size:.82rem;font-weight:600;padding:.4rem .9rem}.stock-chip.good{background:#eaf5ea;color:#2e7d32}.stock-chip.warn{background:#fff8e1;color:#b8860b}.stock-chip.bad{background:#fdecea;color:#c0392b}.stat-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.25rem}.stat-card{background:#f8f9fa;border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:12px;border-radius:var(--radius-md);padding:1rem .75rem;text-align:center}.stat-value{color:#2d5240;color:var(--brand-green-deep);font-size:1.8rem;font-weight:700;line-height:1.1;margin:.25rem 0}.stat-label{color:#8a9e92;color:var(--text-muted);font-size:.8rem;margin:0}.stats-panel{border:1px solid #e0e0e0;border-radius:12px;border-radius:var(--radius-md);margin-bottom:1rem;padding:1.1rem}.stats-panel--summary{background:#f0f4f1;border-color:#0000}.stats-panel-title{color:#2d5240;color:var(--brand-green-deep);font-size:1rem;margin:0 0 .75rem}.stats-figures{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem}.stats-figure{font-size:.95rem}.stats-figure--input{align-items:center;display:flex;gap:.5rem}.stats-figure-label{color:#4a5e52;color:var(--text-secondary);font-size:.85rem}.money-green{color:#6b9e7a;color:var(--brand-green)}.money-red{color:#c0392b}.money-deep{color:#2d5240;color:var(--brand-green-deep)}.summary-rows{display:flex;flex-direction:column;font-size:.95rem;gap:.5rem}.summary-row{display:flex;gap:1rem;justify-content:space-between}.summary-row--deduct{color:#c0392b}.summary-row--total{border-top:2px solid #2d5240;border-top:2px solid var(--brand-green-deep);color:#2d5240;color:var(--brand-green-deep);font-size:1.1rem;margin-top:.25rem;padding-top:.6rem}.email-preview{border:1px solid #0000001a;border:1px solid var(--border-medium);border-radius:12px;border-radius:var(--radius-md);margin:0 0 1.25rem;max-width:600px;overflow:hidden}.email-preview-head{background:#6b9e7a;background:var(--brand-green);padding:1.25rem;text-align:center}.email-preview-head h2{color:#fff;font-size:1.15rem;font-weight:600;margin:0}.email-preview-head p{color:#ffffffd9;font-size:.82rem;margin:.35rem 0 0}.email-preview-body{padding:1.5rem 1.25rem}.email-preview-body p{color:#333;font-size:.95rem;line-height:1.6;margin:0 0 .9rem;overflow-wrap:anywhere}.email-preview-img{border-radius:8px;border-radius:var(--radius-sm);display:block;height:auto;margin-bottom:1rem;width:100%}.email-preview-placeholder{color:#8a9e92;color:var(--text-muted);font-style:italic}.email-preview-foot{border-top:1px solid #eee;padding:1rem 1.25rem;text-align:center}.email-preview-foot p{color:#8a9e92;color:var(--text-muted);font-size:.7rem;margin:0}@media (max-width:780px){.section-btn{flex-direction:column;gap:.15rem;line-height:1.2;min-height:56px;padding:.5rem .25rem}.section-count{position:absolute;right:4px;top:2px}}@media (max-width:520px){.section-bar{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.products-table-wrap{border:none;border-radius:0;overflow-x:visible}.products-table,.products-table tbody,.products-table tr{display:block;width:100%}.products-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.products-table tr{background:#fff;background:var(--bg-card);border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:8px;border-radius:var(--radius-sm);margin-bottom:.6rem;padding:.25rem .85rem}.products-table tr:last-child{margin-bottom:0}.products-table td{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:space-between;padding:.55rem 0;text-align:left}.products-table td,.products-table tr:last-child td{border-bottom:1px solid #0000000d}.products-table tr td:last-child{border-bottom:none}.products-table td:before{color:#8a9e92;color:var(--text-muted);content:attr(data-label);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.products-table td.col-center,.products-table td.col-right{text-align:left}.products-table tr:hover td{background:#0000}.cell-actions,.stock-controls{flex:1 1 auto;justify-content:flex-end}.cell-actions .btn-tiny{flex:1 1 auto}}@media (max-width:600px){.tab{flex-direction:column;gap:.1rem;line-height:1.2;min-height:58px;padding:.55rem .3rem}.tab-count,.tab-count-blue{position:absolute;right:6px;top:3px}.card-actions{flex-direction:column}.card-actions>button{min-height:52px;width:100%}.card-actions>button+button{border-top:1px solid #0000000f}.card-header-controls{width:100%}.modal-overlay{padding:.6rem}.modal-content{max-height:calc(100vh - 1.2rem);max-height:calc(100dvh - 1.2rem)}.modal-actions{padding:.85rem 1.25rem 1.25rem}.btn-modal-decline{min-width:0;width:100%}.reschedule-slot-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));padding:.6rem .75rem .85rem}.addto-section-header{flex-wrap:wrap;gap:.6rem}.addto-section-header .admin-input--inline,.addto-section-header .header-actions{width:100%}.addto-section-header>.btn-add-small,.header-actions .btn-tiny{flex:1 1 auto}.btn-add-small{min-height:44px}.no-bookings{padding:3rem 1.25rem}.empty-icon{font-size:3rem}.stat-grid{gap:.6rem}.stat-value{font-size:1.5rem}.stats-panel{padding:1rem .9rem}}.voucher-redeem-bar{align-items:center;background:linear-gradient(160deg,#f2f9f4,#fff);border:1px solid #4a7a5e2e;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #0000000d;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;padding:.9rem 1.1rem;position:-webkit-sticky;position:sticky;top:0;z-index:5}.voucher-redeem-bar-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.voucher-redeem-bar-text strong{color:#1a2e24;color:var(--brand-forest);font-size:.95rem}.voucher-redeem-bar-text span{color:#4a5e52;color:var(--text-secondary);font-size:.85rem}@media (max-width:600px){.voucher-redeem-bar .btn-tiny{width:100%}}.voucher-issued-box{background:#6b9e7a14;background:var(--brand-green-light,#4a7a5e14);border:1px solid #4a7a5e2e;border-radius:8px;border-radius:var(--radius-sm);margin-bottom:.85rem;padding:.75rem .85rem}.voucher-issued-row{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between}.voucher-issued-row+.voucher-issued-row{margin-top:.35rem}.voucher-code{color:#b07d52;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.02rem;font-weight:700;letter-spacing:.09em;white-space:nowrap}.voucher-issued-box .notes-text{font-size:.85rem;margin:.55rem 0 0}.voucher-code-input{background:#fafdf9;border:1.5px solid #d8e2dc;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1c2b22;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;font-weight:600;letter-spacing:.12em;padding:.9rem 1rem;text-align:center;text-transform:uppercase;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.voucher-code-input::placeholder{color:#b6c6bd;letter-spacing:.12em}.voucher-code-input:focus{border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.voucher-code-input:disabled{opacity:.6}.voucher-redeem-error{background:#c0392b12;border-left:3px solid #c0392b;border-radius:8px;border-radius:var(--radius-sm);color:#922b21;font-size:.9rem;line-height:1.5;margin:.9rem 0 0;padding:.7rem .85rem}.voucher-code-input+.reschedule-hint{margin-bottom:1.1rem}.voucher-amount-input{background:#fafdf9;border:1.5px solid #d8e2dc;border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1c2b22;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.85rem 1rem;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.voucher-amount-input::placeholder{color:#a9bcb1}.voucher-amount-input:focus{border-color:#6b9e7a;border-color:var(--brand-green);box-shadow:0 0 0 3px #6b9e7a14;box-shadow:0 0 0 3px var(--brand-green-light);outline:none}.voucher-amount-input:disabled{opacity:.6}.voucher-amount-input+.reschedule-hint{margin-bottom:1.1rem}.voucher-balance{color:#6d4f96;font-size:.98rem;font-weight:700;white-space:nowrap}.bookability{background:#f5f4f1;background:var(--bg-subtle);border:1px solid #0000000f;border:1px solid var(--border-soft);border-radius:16px;border-radius:var(--radius-lg);margin-bottom:1rem;padding:.85rem 1rem}.bookability-head{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.6rem}.bookability-title{color:#4a5e52;color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.bookability-note{color:#8a9e92;color:var(--text-muted);font-size:.78rem}.bookability-list{grid-gap:.45rem;display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.bookability-list li{grid-gap:.25rem .9rem;display:grid;font-size:.88rem;gap:.25rem .9rem;grid-template-columns:minmax(9rem,12rem) 1fr;line-height:1.35}.bookability-list strong{color:#4a5e52;color:var(--text-secondary);font-weight:600}.bookability-list span{color:#1c2b22;color:var(--text-primary)}.bookability-warn{color:#d97706;color:var(--accent-amber);font-size:.88rem;margin:0}@media (max-width:600px){.bookability-list li{gap:.1rem;grid-template-columns:1fr}.bookability-list strong{color:#8a9e92;color:var(--text-muted);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase}}.today-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.today-quickbook{background:#6b9e7a;background:var(--brand-green);border:0;border-radius:50px;border-radius:var(--radius-pill);color:#fff;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;padding:.55rem 1rem;transition:background .18s ease;transition:background var(--transition-fast);white-space:nowrap}.today-quickbook:hover{background:#4e9e6e;background:var(--brand-green-dark)}@media (max-width:600px){.today-quickbook{width:100%}}.qb-modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:92vh;overflow:hidden;width:min(560px,100%)}.qb-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:1rem 1.1rem}.qb-head h3{color:var(--text-primary);font-size:1.05rem;margin:0}.qb-close{background:#0000;border:0;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;padding:.3rem;transition:background var(--transition-fast)}.qb-close:hover{background:var(--bg-subtle)}.qb-body{grid-gap:1.1rem;display:grid;gap:1.1rem;overflow-y:auto;padding:1rem 1.1rem}.qb-field{grid-gap:.4rem;display:grid;gap:.4rem;position:relative}.qb-field label{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.qb-field input,.qb-field textarea{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;font-size:1rem;padding:.7rem .8rem;width:100%}.qb-field input:focus,.qb-field textarea:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--brand-green-glow);outline:none}.qb-muted{color:var(--text-muted);font-size:.8rem}.qb-muted,.qb-warn{line-height:1.4;margin:0}.qb-warn{color:var(--accent-amber);font-size:.85rem}.qb-summary{color:var(--brand-green-dark);font-size:.85rem;font-weight:600;margin:0}.qb-matches{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);left:0;list-style:none;margin:.25rem 0 0;padding:.25rem;position:absolute;right:0;top:100%;z-index:20}.qb-matches button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font:inherit;gap:.5rem;padding:.6rem .65rem;text-align:left;width:100%}.qb-matches button:hover{background:var(--bg-subtle)}.qb-match-name{flex:1 1;font-weight:600}.qb-match-meta{color:var(--text-muted);font-size:.78rem}.qb-linked{align-items:center;background:var(--status-approved-bg);border:0;border-radius:var(--radius-pill);color:var(--status-approved);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:600;gap:.3rem;justify-self:start;padding:.2rem .5rem}.qb-chips{display:flex;flex-wrap:wrap;gap:.4rem}.qb-chip{align-items:baseline;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.85rem;gap:.35rem;padding:.5rem .7rem;transition:all var(--transition-fast)}.qb-chip span{color:var(--text-muted);font-size:.72rem}.qb-chip.on,.qb-chip:hover{border-color:var(--brand-green)}.qb-chip.on{background:var(--brand-green);color:#fff}.qb-chip.on span{color:#ffffffbf}.qb-slot-nav{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.qb-slot-nav span{color:var(--text-secondary);font-size:.85rem;font-weight:600}.qb-slot-nav button{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;padding:.4rem}.qb-slot-nav button:disabled{cursor:not-allowed;opacity:.4}.qb-day{margin-bottom:.6rem}.qb-day-label{color:var(--text-secondary);display:block;font-size:.78rem;font-weight:700;margin-bottom:.3rem}.qb-times{display:flex;flex-wrap:wrap;gap:.35rem}.qb-time{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font:inherit;font-size:.85rem;min-width:4.2rem;padding:.5rem .7rem}.qb-time.on,.qb-time:hover{border-color:var(--brand-green)}.qb-time.on{background:var(--brand-green);color:#fff;font-weight:600}.qb-disclosure{background:#0000;border:0;color:var(--brand-green-dark);cursor:pointer;font:inherit;font-size:.85rem;font-weight:600;justify-self:start;padding:0}.qb-extra{grid-gap:.9rem;background:var(--bg-subtle);border-radius:var(--radius-md);display:grid;gap:.9rem;padding:.9rem}.qb-toggle{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem}.qb-toggle input{margin-top:.15rem;width:auto}.qb-receipts{background:var(--status-approved-bg);border-radius:var(--radius-md);padding:.75rem .9rem}.qb-receipts-title{color:var(--status-approved);display:block;font-size:.72rem;font-weight:700;letter-spacing:.03em;margin-bottom:.35rem;text-transform:uppercase}.qb-receipts ul{grid-gap:.25rem;display:grid;gap:.25rem;list-style:none;margin:0;padding:0}.qb-receipts li{align-items:center;color:var(--text-primary);display:flex;font-size:.85rem;gap:.35rem}.qb-receipts em{color:var(--accent-amber);font-size:.78rem;font-style:normal}.qb-foot{background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;gap:.6rem;padding:.9rem 1.1rem}.qb-book,.qb-cancel{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;flex:1 1;font:inherit;font-size:.95rem;font-weight:600;gap:.4rem;justify-content:center;padding:.8rem 1rem}.qb-cancel{background:var(--bg-card);border:1px solid var(--border-medium);color:var(--text-secondary)}.qb-book{background:var(--brand-green);border:0;color:#fff;flex:2 1}.qb-book:disabled{cursor:not-allowed;opacity:.45}.qb-spin{animation:qb-spin .9s linear infinite}@keyframes qb-spin{to{transform:rotate(1turn)}}@media (max-width:600px){.qb-modal{border-radius:0;max-height:100vh;width:100%}.qb-body{padding:.9rem}}.header{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);box-shadow:var(--shadow-sm);height:64px;left:0;position:fixed;top:0;width:100%;z-index:100}.header-container{align-items:center;display:flex;gap:1rem;height:100%;justify-content:space-between;margin:0 auto;max-width:var(--container-max);padding:0 var(--inner-pad)}.logo-link{align-items:center;display:inline-flex;flex-shrink:0;text-decoration:none}.header-logo{display:block;height:40px;width:auto}.header-nav{align-items:center;display:flex;gap:.15rem}.header-nav a{border-radius:var(--radius-pill);color:var(--clr-text-body);font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.07em;padding:.45rem .85rem;position:relative;text-decoration:none;text-transform:uppercase;transition:color var(--transition),background var(--transition);white-space:nowrap}.header-nav a.nav-active,.header-nav a:hover{background:var(--clr-primary-light);color:var(--clr-primary)}.header-nav a.nav-active:after{background:var(--clr-accent);border-radius:2px;bottom:3px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:18px}.header-nav .nav-account{align-items:center;color:var(--clr-text-muted);display:inline-flex;gap:.4rem;justify-content:center;margin-left:.35rem}.header-nav .nav-account.is-signed-in{background:var(--clr-primary-light);color:var(--clr-primary)}.header-nav .nav-account:hover{color:var(--clr-primary)}.nav-account-label{display:inline-block;font-size:.8rem;letter-spacing:.02em;overflow:hidden;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;width:4.7rem}.nav-account-placeholder{background:var(--clr-border);border-radius:3px;display:inline-block;height:.5rem;vertical-align:middle;width:3.2rem}.header-nav .nav-account.nav-active:after{display:none}.header-nav .nav-account:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}@media (min-width:768px) and (max-width:899px){.header-nav .nav-account{padding:.45rem .6rem}.nav-account-label{display:none}}.header-nav .nav-book{background:var(--clr-primary);border-radius:var(--radius-pill);color:#fff!important;font-weight:600;margin-left:.4rem;padding:.5rem 1.25rem;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.header-nav .nav-book:hover{background:var(--clr-primary-hover)!important;box-shadow:0 4px 14px #4a7a5e59;color:#fff;transform:translateY(-1px)}.header-nav .nav-book.nav-active{background:var(--clr-primary-hover)}.header-nav .nav-book.nav-active:after{display:none}@media (max-width:767px){.header-nav{display:flex;gap:0;position:absolute;right:var(--inner-pad);top:50%;transform:translateY(-50%)}.header-nav>a:not(.nav-account){display:none}.header-nav .nav-account{border-radius:50%;height:44px;margin-left:0;min-width:44px;padding:0;width:44px}.header-nav .nav-account svg{height:20px;width:20px}.nav-account-label{display:none}.header-container{justify-content:center;position:relative}.header-logo{height:34px}.header{height:60px}}.has-promo .header{top:56px}@media (max-width:767px){.has-promo .header{top:44px}}.mobile-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff7;border-top:1px solid var(--clr-border);bottom:0;box-shadow:0 -4px 20px #1c2b2312;height:62px;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:99}.mobile-nav,.mobile-nav button{align-items:center;display:flex}.mobile-nav button{background:none;border:none;border-radius:var(--radius-sm);color:var(--clr-text-muted);cursor:pointer;flex-direction:column;font-family:var(--font-body);font-size:.6rem;font-weight:500;gap:3px;justify-content:center;letter-spacing:.04em;min-height:44px;min-width:52px;padding:6px 8px;transition:color var(--transition),background var(--transition)}.mobile-nav button:hover{background:var(--clr-primary-light);color:var(--clr-primary)}.mobile-nav button.active{color:var(--clr-accent)}.mobile-nav button.book-tab{background:var(--clr-accent-light);border-radius:var(--radius-pill);color:var(--clr-accent);font-weight:600}.mobile-nav button.book-tab.active,.mobile-nav button.book-tab:hover{background:var(--clr-accent);color:#fff}@media (min-width:768px){.mobile-nav{display:none}}.promo-banner{height:44px;left:0;position:fixed;right:0;top:0;z-index:1002}@media (min-width:768px){.promo-banner{height:56px}}.promo-banner-inner{align-items:center;display:flex;gap:12px;height:100%;justify-content:space-between;padding:0 24px;width:100%}.promo-banner-text{align-items:baseline;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:center}.promo-title{color:#fff;font-size:.95rem;font-weight:700;white-space:nowrap}.promo-message{color:#ffffffeb;font-size:.88rem;line-height:1}.promo-dismiss{align-items:center;background:none;border:none;color:#ffffffa6;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;line-height:1;margin:0 -10px 0 0;padding:0;transition:color .15s;width:44px}.promo-dismiss:hover{color:#fff}@media (max-width:600px){.promo-banner-text{align-items:flex-start;flex-direction:column;gap:1px}.promo-title{font-size:.82rem}.promo-message{font-size:.78rem}}.site-footer{background:var(--clr-text);color:#ffffffb8;font-family:var(--font-body)}.footer-inner{grid-gap:clamp(2rem,5vw,4rem);display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1.4fr 1fr 1fr;margin:0 auto;max-width:var(--container-max);padding:clamp(3rem,6vw,5rem) var(--inner-pad)}.footer-logo{display:block;filter:brightness(0) invert(1);height:48px;margin-bottom:1rem;opacity:.9;width:auto}.footer-tagline{color:#fff9;font-size:var(--text-sm);line-height:1.7;margin:0 0 1.25rem;max-width:240px}.footer-social{display:flex;gap:.625rem}.footer-social-link{align-items:center;border:1px solid #fff3;border-radius:50%;color:#ffffffb3;display:inline-flex;height:36px;justify-content:center;text-decoration:none;transition:border-color var(--transition),color var(--transition),background var(--transition);width:36px}.footer-social-link:hover{background:#c4956a1f;border-color:var(--clr-accent);color:var(--clr-accent)}.footer-col-title{color:#fff6;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;margin:0 0 1.1rem;text-transform:uppercase}.footer-col nav{display:flex;flex-direction:column;gap:.55rem}.footer-col nav a,.footer-col p{color:#ffffffad;font-size:var(--text-sm);line-height:1.5;margin:0;text-decoration:none;transition:color var(--transition)}.footer-col nav a:hover{color:#fff}.footer-col nav a.footer-account-link{align-items:center;align-self:flex-start;border:1px solid #ffffff38;border-radius:var(--radius-pill);color:#fffc;display:inline-flex;gap:.45rem;margin-top:.35rem;min-height:44px;padding:.55rem 1.1rem;transition:border-color var(--transition),color var(--transition),background var(--transition)}.footer-col nav a.footer-account-link:hover{background:#c4956a24;border-color:var(--clr-accent);color:#fff}.footer-account-text{align-items:center;display:inline-flex;min-width:4.5rem}.footer-account-placeholder{background:#fff3;border-radius:3px;display:inline-block;height:.5rem;width:4.5rem}.footer-book-cta{align-items:center;background:var(--clr-primary);border-radius:var(--radius-pill);color:#fff!important;display:inline-flex;font-size:var(--text-sm);font-weight:600;margin-top:1.1rem;padding:.6rem 1.4rem;text-decoration:none;transition:background var(--transition),transform var(--transition)}.footer-book-cta:hover{background:var(--clr-primary-hover)!important;transform:translateY(-1px)}.footer-bottom{align-items:center;border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:var(--container-max);padding:1.25rem var(--inner-pad)}.footer-legal{display:flex;flex-wrap:wrap;gap:1.5rem}.footer-legal a{color:#ffffff73;font-size:var(--text-xs);text-decoration:none;transition:color var(--transition)}.footer-legal a:hover{color:#fffc}.footer-copy{color:#ffffff59;font-size:var(--text-xs);margin:0}@media (max-width:767px){.footer-inner{gap:2rem;grid-template-columns:1fr}.footer-tagline{max-width:none}.site-footer{padding-bottom:80px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.75rem}}@media (min-width:768px) and (max-width:1023px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}.app-main{padding:64px 0 0}.app-main--admin{padding-bottom:0;padding-top:0}body.admin-page,html.admin-page{margin-top:0!important}@media (max-width:767px){.app-main{padding:calc(64px + env(safe-area-inset-top)) 0 74px}.app-main--admin{padding-bottom:0;padding-top:0}}.has-promo .app-main{padding-top:128px}@media (max-width:767px){.has-promo .app-main{padding-top:calc(116px + env(safe-area-inset-top))}}
/*# sourceMappingURL=main.8a73c7bf.css.map*/