:root{--background-color:#fffdf5;--surface-color:#fff;--accent-color:#4a7930;--accent-dark:#5a9642;--accent-light:#a4d17c;--secondary-color:#f7b32b;--secondary-dark:#e09b0d;--tertiary-color:#ff8c42;--teal-accent:#2d9b9b;--text-color:#1f2937;--muted-color:#6b7280;--cta-color:#0b2c4a;--cta-text:#fff;--cta-hover:#093040;--border-color:#1f29371a;--shadow-soft:0 20px 40px #1f293714;--max-width:1800px;--font-family:"Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-heading:"DM Serif Display", serif;--font-family-brand:"DM Serif Display", serif;--font-family-tags:"Averia Serif Libre", serif}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{background:var(--background-color,#fffdf5);flex-direction:column;min-height:100vh;display:flex}.app-layout-content{flex-direction:column;flex:1;display:flex}.app-layout-content>*{flex:1}.page-loading{color:var(--muted-color);justify-content:center;align-items:center;padding:2rem;font-size:1rem;display:flex}.user-avatar-container{display:inline-block;position:relative}.user-avatar-button{cursor:pointer;color:#212529;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px;font-size:14px;transition:all .2s;display:flex}.user-avatar-button:hover{background:#f8f9fa}.user-avatar-button:focus{outline-offset:2px;outline:2px solid #06c}.user-avatar-button:active{background:#e9ecef}.avatar-circle,.avatar-name{display:none}.avatar-chevron{flex-shrink:0;transition:transform .2s}.avatar-chevron.open{transform:rotate(180deg)}.user-dropdown-menu{z-index:1000;min-width:200px;font-family:var(--font-family-brand);background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:8px 0;animation:.2s dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 12px #00000026}.dropdown-email{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:280px;padding:8px 16px;font-size:13px;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{cursor:pointer;color:#212529;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:14px;text-decoration:none;transition:background .15s;display:flex}.dropdown-item:hover{background:#f8f9fa}.dropdown-item:focus{outline-offset:-2px;background:#e9ecef;outline:2px solid #06c}.dropdown-item svg{opacity:.7;flex-shrink:0}.dropdown-divider{background:#dee2e6;height:1px;margin:8px 0}@media (width<=768px){.avatar-name{display:none}.user-avatar-button{padding:8px}.avatar-chevron{width:14px;height:14px}}@media (width<=480px){.user-avatar-button{padding:6px}}@media (prefers-contrast:high){.user-avatar-button,.user-dropdown-menu{border-width:2px}}@media (prefers-reduced-motion:reduce){.avatar-chevron,.user-dropdown-menu,.dropdown-item{transition:none;animation:none}}.notification-container{z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;width:calc(100% - 2rem);max-width:420px;display:flex;position:fixed;top:1rem;right:1rem}.notification{font-family:var(--font-family);color:#1f2937;pointer-events:auto;background:#fff;border-left:4px solid;border-radius:8px;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4;animation:.3s ease-out notification-enter;display:flex;box-shadow:0 4px 12px #0000001f}.notification--exit{animation:.3s ease-in forwards notification-exit}.notification--success{border-left-color:#16a34a}.notification--success .notification__icon{color:#16a34a}.notification--error{border-left-color:#dc2626}.notification--error .notification__icon{color:#dc2626}.notification--warning{border-left-color:#d97706}.notification--warning .notification__icon{color:#d97706}.notification--info{border-left-color:#2563eb}.notification--info .notification__icon{color:#2563eb}.notification__icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.notification__message{word-break:break-word;flex:1}.notification__action{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:600}.notification__action:hover{background:#2563eb14}.notification__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:.25rem;padding:0 .125rem;font-size:1.25rem;line-height:1}.notification__close:hover{color:#4b5563}@keyframes notification-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes notification-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (width<=480px){.notification-container{width:calc(100% - 1rem);top:.5rem;right:.5rem}}.notif-bell{align-items:center;display:flex;position:relative}.notif-bell__btn{cursor:pointer;width:40px;height:40px;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.notif-bell__btn:hover{background-color:#4a793014}.notif-bell__btn:focus{outline:2px solid var(--accent-color);outline-offset:2px}.notif-bell__icon{display:block}.notif-bell__badge{color:#fff;text-align:center;pointer-events:none;background:#e53e3e;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:2px;right:0}.notif-bell__panel{background:var(--surface-color,#fff);border:1px solid var(--border-color,#e2e8f0);z-index:1100;border-radius:12px;width:360px;max-height:480px;animation:.15s ease-out notifBellSlideIn;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0000001f,0 4px 12px #0000000f}@keyframes notifBellSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif-bell__panel-header{border-bottom:1px solid var(--border-color,#e2e8f0);padding:.875rem 1rem .625rem}.notif-bell__panel-title{color:var(--text-color);font-size:.9375rem;font-weight:700}.notif-bell__empty{text-align:center;color:#718096;padding:2rem 1rem;font-size:.875rem}.notif-bell__list{margin:0;padding:.375rem 0;list-style:none}.notif-bell__item{border-left:3px solid #0000;align-items:flex-start;gap:0;padding:0;transition:background-color .15s;display:flex}.notif-bell__item:hover{background-color:#00000005}.notif-bell__item--warning{border-left-color:#ed8936}.notif-bell__item--info{border-left-color:#4299e1}.notif-bell__item--success{border-left-color:#48bb78}.notif-bell__item-link{min-width:0;color:inherit;cursor:pointer;flex:1;align-items:flex-start;gap:.625rem;padding:.75rem 0 .75rem 1rem;text-decoration:none;display:flex}.notif-bell__item-icon{flex-shrink:0;margin-top:1px;font-size:1.125rem}.notif-bell__item-content{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.notif-bell__item-title{color:var(--text-color);font-size:.8125rem;font-weight:600;line-height:1.3}.notif-bell__item-body{color:#718096;font-size:.75rem;line-height:1.4}.notif-bell__item-dismiss{cursor:pointer;color:#a0aec0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.75rem .75rem .75rem .25rem;font-size:1rem;line-height:1;transition:color .15s}.notif-bell__item-dismiss:hover{color:#e53e3e}@media (width<=768px){.notif-bell__panel{width:auto;max-height:calc(100vh - 90px);position:fixed;top:70px;left:.5rem;right:.5rem}}@media (width<=480px){.notif-bell__panel{max-height:calc(100vh - 80px);top:60px;left:.25rem;right:.25rem}}.customer-header{z-index:1000;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-soft);box-sizing:border-box;align-items:center;gap:.25rem;max-width:100vw;height:80px;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow:visible}.customer-header .header-left{align-items:center;gap:.375rem;min-width:0;display:flex}.customer-header .hamburger-button{cursor:pointer;z-index:1002;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background-color .2s;display:none;position:relative}.customer-header .hamburger-button:hover{background-color:#4a793014}.customer-header .hamburger-button:active{background-color:#4a793026}.customer-header .hamburger-button:focus{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:8px}.customer-header .hamburger-icon{flex-direction:column;justify-content:space-between;width:24px;height:18px;display:flex;position:relative}.customer-header .hamburger-line{background-color:var(--text-color);border-radius:2px;width:100%;height:2.5px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;left:0}.customer-header .hamburger-line:first-child{top:0}.customer-header .hamburger-line:nth-child(2){top:50%;transform:translateY(-50%)}.customer-header .hamburger-line:nth-child(3){bottom:0}.customer-header .hamburger-button[aria-expanded=true] .hamburger-line:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.customer-header .hamburger-button[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0;transform:translateY(-50%)scale(0)}.customer-header .hamburger-button[aria-expanded=true] .hamburger-line:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}.customer-header .header-branding{flex-direction:column;align-items:flex-start;gap:0;min-width:0;display:flex;position:relative;overflow:visible}.customer-header .brand-button{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;text-decoration:none;transition:opacity .2s;display:flex}.customer-header .brand-button:hover{opacity:.8}.customer-header .header-nav{flex:1;align-items:center;gap:.125rem;display:flex}.customer-header .nav-link{font-family:var(--font-family-brand);color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;font-size:.9375rem;font-weight:400;text-decoration:none;transition:all .2s;position:relative}.customer-header .nav-link:hover{color:var(--accent-color);background-color:#4a79301a}.customer-header .nav-link:focus{outline:2px solid var(--accent-color);outline-offset:2px}.customer-header .nav-link.active{color:var(--accent-color);font-weight:400}.customer-header .nav-link.active:after{content:"";background-color:var(--accent-color);border-radius:2px;height:3px;position:absolute;bottom:-2px;left:.5rem;right:.5rem}.customer-header .brand-name{font-family:var(--font-family-brand);color:var(--text-color);letter-spacing:-.02em;margin-left:.25rem;margin-right:1rem;font-size:1.3rem;font-weight:400}.customer-header .environment-badge{position:absolute;bottom:-10px;left:0}.customer-header .header-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.customer-header .header-cart-btn{cursor:pointer;width:40px;height:40px;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.customer-header .header-cart-btn:hover{color:var(--text-color);background-color:#0972d314}.customer-header .header-cart-btn:focus{outline:2px solid var(--accent-color);outline-offset:2px}.customer-header .header-cart-btn svg{flex-shrink:0;width:22px;height:22px}.customer-header .cart-badge{text-align:center;color:#fff;pointer-events:none;background-color:#0972d3;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:2px;right:0}.customer-header .header-calendar-wrapper{flex-shrink:0;position:relative}.customer-header .header-calendar-btn{cursor:pointer;width:40px;height:40px;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.customer-header .header-calendar-btn:hover{color:var(--text-color);background-color:#4a793014}.customer-header .header-calendar-btn:focus{outline:2px solid var(--accent-color);outline-offset:2px}.customer-header .header-calendar-btn.active{color:var(--accent-color)}.customer-header .header-calendar-btn svg{flex-shrink:0;width:22px;height:22px}.customer-header .calendar-badge{text-align:center;color:#fff;background-color:var(--accent-color,#4a7930);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:2px;right:0}.customer-header .calendar-dropdown{background-color:var(--surface-color);border:1px solid var(--border-color);z-index:1100;border-radius:10px;min-width:180px;animation:.15s ease-out calendarSlideIn;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}@keyframes calendarSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.customer-header .calendar-dropdown-item{width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:flex}.customer-header .calendar-dropdown-item:hover{background-color:#4a793014}.customer-header .calendar-dropdown-item+.calendar-dropdown-item{border-top:1px solid var(--border-color)}.customer-header .calendar-dropdown-count{color:var(--accent-color,#4a7930);background-color:#4a79301a;border-radius:10px;padding:.125rem .5rem;font-size:.8125rem;font-weight:600}.customer-header .header-user{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.customer-header .mobile-overlay{z-index:998;opacity:0;background-color:#0006;transition:opacity .3s;display:none;position:fixed;inset:0}.customer-header .mobile-overlay.visible{opacity:1}@media (width<=768px){.customer-header{gap:.125rem;height:70px;padding:.75rem .5rem}.customer-header .header-left{flex-shrink:1;gap:.25rem;min-width:0}.customer-header .header-branding{gap:.125rem;min-width:0;overflow:hidden}.customer-header .environment-badge{max-width:120px}.customer-header .brand-name{margin-left:0;font-size:1rem}.customer-header .hamburger-button{display:flex}.customer-header .header-nav{background-color:var(--surface-color);z-index:1001;flex-direction:column;align-items:stretch;gap:0;width:280px;max-width:85vw;height:100vh;padding:80px 0 1rem;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 8px #00000026}.customer-header .header-nav.mobile-open{transform:translate(0)}.customer-header .nav-link{text-align:left;border-left:4px solid #0000;border-radius:0;padding:1rem 1.5rem;font-size:1.0625rem;transition:all .2s}.customer-header .nav-link:hover{background-color:#4a793014}.customer-header .nav-link:active{background-color:#4a79301f}.customer-header .nav-link.active{border-left-color:var(--accent-color);background-color:#4a79301a}.customer-header .nav-link.active:after{display:none}.customer-header .mobile-overlay{display:block}}@media (width<=480px){.customer-header{gap:.125rem;height:60px;padding:.5rem .375rem}.customer-header .header-left,.customer-header .header-branding{gap:.125rem}.customer-header .environment-badge{display:none}.customer-header .brand-name{font-size:.9375rem}.customer-header .header-nav{width:260px;padding-top:70px}.customer-header .nav-link{padding:.875rem 1.25rem;font-size:1rem}}.app-footer{color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:16px 24px;font-size:.8rem;display:flex}.app-footer a{color:#6b7280;text-decoration:underline}.app-footer a:hover{color:#374151}.app-footer-separator{color:#d1d5db}
