:root{--color-primary: #1E4B35;--color-primary-hover: #265e43;--color-primary-dark: #023420;--color-primary-light: #e9f0eb;--color-primary-fixed: #BDEECF;--color-sage: #E0EBE2;--color-terracotta: #C2593F;--color-terracotta-hover: #a84b33;--color-terracotta-light: #FFDAD2;--color-harvest-gold: #D49B35;--color-surface: #FDFBF7;--color-surface-card: #FFFFFF;--color-surface-subtle: #F5EFEB;--color-charcoal: #141e18;--color-muted: #59665E;--color-border: #E8E4DC;--font-headline: "Epilogue", Georgia, serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family: var(--font-body);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-size-base: .875rem;--font-size-sm: .75rem;--font-size-xs: .6875rem;--font-size-title: 1.15rem;--font-size-section: 1.02rem;--card-padding: .75rem;--thumb-size: 3.75rem;--btn-font-size: .8125rem;--btn-padding-y: .45rem;--btn-padding-x: .85rem;--icon-size-sm: 1rem;--icon-size-md: 1.125rem;--mobile-nav-height: 54px;--max-content-width: 520px}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--font-size-base);background-color:var(--color-surface);color:var(--color-charcoal);line-height:1.45;-webkit-font-smoothing:antialiased}input,select,textarea,button,a{touch-action:manipulation}h1,h2,h3,.font-headline{font-family:var(--font-headline)}.page-title{font-family:var(--font-headline);font-size:var(--font-size-title);font-weight:800;color:var(--color-charcoal);margin-top:0;margin-bottom:.5rem;line-height:1.25}.page-description{font-size:.78rem;color:var(--color-muted);margin-top:0;margin-bottom:.65rem}a{color:var(--color-primary);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}.app-shell{min-height:100vh;width:100%;overflow-x:clip;display:flex;flex-direction:column;max-width:var(--max-content-width);margin:0 auto;background-color:var(--color-surface);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);position:relative}.app-header{position:sticky;top:0;z-index:50;background-color:#fdfbf7f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);padding:calc(.45rem + env(safe-area-inset-top,0px)) .75rem .45rem}.header-container{display:flex;align-items:center;justify-content:space-between;width:100%}.brand-group{display:flex;align-items:center;gap:.5rem;text-decoration:none}.brand-group:hover,.brand-group:focus-visible{text-decoration:none}.brand-logo-icon{height:1.75rem;width:auto;display:block;object-fit:contain;flex-shrink:0}.brand-hero-badge{width:64px;height:64px;border-radius:18px;background-color:#fff;border:1px solid #dae5dc;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;box-shadow:0 4px 10px #1e4b3514}.brand-hero-logo{height:44px;width:auto;display:block;object-fit:contain}.brand-text-col{display:flex;flex-direction:column}.brand-title-wrap{display:flex;align-items:center;line-height:1}.brand-wordmark{height:1.35rem;width:auto;display:block;object-fit:contain}.header-actions{display:flex;align-items:center;gap:.4rem}.account-avatar-btn{width:1.9rem;height:1.9rem;border-radius:50%;background-color:var(--color-sage);color:var(--color-primary);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);text-decoration:none;transition:all .2s ease}.account-avatar-btn:hover{background-color:#d1ddd4;text-decoration:none}.account-avatar-btn .material-symbols-outlined{font-size:1.05rem;font-variation-settings:"FILL" 1}.desktop-nav{display:flex;align-items:center;gap:.35rem}.desktop-nav a{font-size:.78rem;font-weight:600;color:var(--color-muted);padding:.3rem .6rem;border-radius:var(--radius-sm);text-decoration:none;transition:all .15s ease}.desktop-nav a:hover{color:var(--color-primary);background-color:#e0ebe266;text-decoration:none}.desktop-nav a.active{color:var(--color-primary);background-color:var(--color-sage);font-weight:700}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background-color:var(--color-surface-card);border-top:1px solid var(--color-border);padding:.28rem .4rem calc(.28rem + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center;z-index:100;box-shadow:0 -2px 10px #141e180d}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.65rem;font-weight:600;color:var(--color-muted);text-decoration:none;padding:.2rem .45rem;border-radius:var(--radius-sm)}.mobile-bottom-nav a.active{color:var(--color-primary);font-weight:700}.mobile-bottom-nav .nav-icon{font-size:1.15rem}@media(min-width:641px){.mobile-bottom-nav{display:none}}@media(max-width:640px){.app-nav{display:none}.app-shell{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + .75rem)}}.main-content{flex:1;padding:.85rem .75rem}.hub-hero-banner{background-color:var(--color-sage);border:1px solid #CBDDD0;border-radius:.85rem;padding:.85rem;position:relative;overflow:hidden;margin-bottom:.85rem;box-shadow:0 2px 6px #1e4b350a}.hero-title{font-family:var(--font-headline);font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--color-primary);margin:0 0 .6rem}.hero-value-pills{display:flex;flex-wrap:wrap;gap:.35rem}.value-pill{display:inline-flex;align-items:center;gap:.25rem;background-color:#fffffff2;border:1px solid rgba(226,221,213,.8);border-radius:9999px;padding:.2rem .5rem;font-size:.68rem;font-weight:600;color:var(--color-charcoal);box-shadow:0 1px 2px #00000008}.value-pill .material-symbols-outlined{font-size:.82rem}.pill-icon-green{color:var(--color-primary);font-variation-settings:"FILL" 1}.pill-icon-terracotta{color:var(--color-terracotta);font-variation-settings:"FILL" 1}.pill-icon-gold{color:var(--color-harvest-gold);font-variation-settings:"FILL" 1}.hubs-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:.65rem}.hubs-section-header .page-title{font-family:var(--font-headline);font-size:var(--font-size-title);font-weight:800;color:var(--color-charcoal);margin:0 0 .15rem}.hubs-section-header .page-description{font-size:.72rem;color:var(--color-muted);margin:0}.hubs-count-pill{background-color:#1e4b351a;color:var(--color-primary);border:1px solid rgba(30,75,53,.15);font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:9999px;white-space:nowrap}.market-list{list-style:none;display:flex;flex-direction:column;gap:.65rem;padding:0;margin:0 0 1rem}.market-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:.85rem;padding:var(--card-padding);display:flex;flex-direction:column;gap:.5rem;box-shadow:0 1px 4px #1f29230a;transition:border-color .2s ease,box-shadow .2s ease}.market-card:hover{border-color:#1e4b3566;box-shadow:0 3px 10px #1e4b3512}.market-card-highlight{border:1.5px solid rgba(30,75,53,.35)}.market-card-top{display:flex;gap:.65rem}.market-thumb-wrap{position:relative;width:var(--thumb-size);height:var(--thumb-size);border-radius:.6rem;overflow:hidden;background-color:var(--color-sage);flex-shrink:0}.market-thumb-img{width:100%;height:100%;object-fit:cover}.badge-popular{position:absolute;top:.25rem;left:.25rem;background-color:var(--color-terracotta);color:#fff;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .3rem;border-radius:.2rem}.market-card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}.market-category-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.market-category-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-terracotta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-rating-badge{display:inline-flex;align-items:center;gap:.1rem;font-size:.68rem;font-weight:700;color:var(--color-charcoal)}.market-rating-badge .icon-star{font-size:.8rem;color:var(--color-harvest-gold);font-variation-settings:"FILL" 1}.market-name{font-family:var(--font-headline);font-size:1rem;font-weight:700;color:var(--color-charcoal);margin:.1rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-address{display:flex;align-items:center;gap:.2rem;font-size:.7rem;color:var(--color-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-address .icon-pin{font-size:.8rem;color:var(--color-muted);flex-shrink:0}.market-card-bottom{border-top:1px solid var(--color-border);padding-top:.5rem;display:flex;flex-direction:column;gap:.45rem}.market-schedule-pill{display:inline-flex;align-items:center;gap:.25rem;background-color:var(--color-sage);color:var(--color-primary);font-size:.68rem;font-weight:600;padding:.2rem .5rem;border-radius:9999px;width:fit-content}.market-schedule-pill .material-symbols-outlined{font-size:.8rem}.market-footer-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.market-growers-info{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.growers-count-text{font-size:.7rem;color:var(--color-muted)}.btn-select-market{display:inline-flex;align-items:center;gap:.25rem;background-color:var(--color-primary);color:#fff;font-size:.78rem;font-weight:700;padding:.42rem .75rem;border-radius:.6rem;border:none;cursor:pointer;transition:background-color .15s ease,transform .1s ease;box-shadow:0 1px 2px #1e4b352e}.btn-select-market:hover{background-color:var(--color-primary-dark)}.btn-select-market:active{transform:scale(.98)}.btn-select-market .btn-arrow-icon{font-size:.9rem}.trust-guarantee-card{background-color:#f4f1ea;border:1px solid var(--color-border);border-radius:.85rem;padding:.75rem;display:flex;align-items:flex-start;gap:.6rem;margin-top:.35rem}.guarantee-icon-wrap{width:1.9rem;height:1.9rem;border-radius:50%;background-color:var(--color-terracotta-light);color:var(--color-terracotta);display:flex;align-items:center;justify-content:center;flex-shrink:0}.guarantee-icon-wrap .material-symbols-outlined{font-size:1.05rem;font-variation-settings:"FILL" 1}.guarantee-content{display:flex;flex-direction:column}.guarantee-title{font-family:var(--font-headline);font-size:.85rem;font-weight:700;color:var(--color-charcoal);margin:0 0 .15rem}.guarantee-text{font-size:.7rem;color:var(--color-muted);line-height:1.4;margin:0}.btn-primary{display:inline-block;background-color:var(--color-terracotta);color:#fff;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);border-radius:var(--radius-sm);font-weight:600;border:none;cursor:pointer;text-align:center}.pickup-picker-container{display:flex;flex-direction:column;gap:.75rem}.pickup-picker-header{margin-bottom:.35rem}.pickup-point-list{list-style:none;display:flex;flex-direction:column;gap:.65rem;padding:0;margin:0}.pickup-point-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:.85rem;padding:.85rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:0 1px 4px #1f29230a;transition:all .2s ease}.pickup-point-card.card-active:hover{border-color:#1e4b3566;box-shadow:0 3px 10px #1e4b3512}.pickup-point-card.card-inactive{opacity:.75;background-color:#f8f6f0}.pickup-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.pickup-title-group{display:flex;flex-direction:column;gap:.15rem}.pickup-point-name{font-family:var(--font-headline);font-size:1rem;font-weight:700;color:var(--color-charcoal);margin:0}.pickup-type-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary)}.pickup-directions{font-size:.75rem;color:var(--color-muted);margin:0}.pickup-schedule{display:inline-flex;align-items:center;background-color:var(--color-sage);color:var(--color-primary);font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:.4rem;margin:0;width:fit-content}.pickup-card-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--color-border);padding-top:.55rem;margin-top:.15rem}.inactive-note{font-size:.7rem;color:var(--color-muted);font-style:italic}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#141e1899;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:.85rem}.modal-card{background-color:#fff;border-radius:.85rem;max-width:24rem;width:100%;padding:1.15rem;box-shadow:0 10px 28px #0000002e;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.modal-title{font-family:var(--font-headline);font-size:1.05rem;font-weight:700;color:var(--color-charcoal);margin:0}.modal-body{font-size:.8rem;color:var(--color-muted);line-height:1.45;margin:0}.btn-secondary{background-color:#f4f1ea;color:var(--color-charcoal);border:1px solid var(--color-border);font-size:var(--btn-font-size);font-weight:600;padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background-color:#eae5dc}.btn-danger{background-color:var(--color-terracotta);color:#fff}.btn-danger:hover{background-color:var(--color-terracotta-hover)}.not-found{text-align:center;padding:2rem .85rem}.not-found h1{font-size:1.25rem;color:var(--color-charcoal);margin-bottom:.5rem}.not-found p{color:var(--color-muted);margin-bottom:1rem;font-size:.85rem}.verification-page{display:flex;flex-direction:column;gap:.85rem}.verification-header{border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.pending-farmers-list{list-style:none;display:flex;flex-direction:column;gap:.65rem}.farmer-verification-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.65rem;box-shadow:0 1px 3px #0000000a}.farmer-info{display:flex;flex-direction:column;gap:.25rem}.farmer-name{font-size:.95rem;font-weight:700;color:var(--color-charcoal)}.badge{display:inline-block;align-self:flex-start;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--radius-sm)}.badge-pending{background-color:var(--color-surface-subtle);color:var(--color-terracotta);border:1px solid var(--color-border)}.badge-verified{background-color:var(--color-primary-light);color:var(--color-primary)}.access-denied-notice{background-color:#fdf2f0;border:1px solid var(--color-terracotta);border-radius:var(--radius-md);padding:1rem;text-align:center}.notice-title{font-size:1.05rem;color:var(--color-terracotta);margin-bottom:.35rem}.notice-description{font-size:.82rem;color:var(--color-charcoal)}.alert-success{background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.8rem;font-weight:600}.alert-error{background-color:#fdf2f0;color:var(--color-terracotta);border:1px solid var(--color-terracotta);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.8rem;font-weight:600}.empty-state{background-color:var(--color-surface-card);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:1.5rem .85rem;text-align:center;color:var(--color-muted);font-size:.82rem}.farmer-page{display:flex;flex-direction:column;gap:1rem}.farmer-header{border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.next-task-card{background-color:var(--color-surface-card);border:2px solid var(--color-terracotta);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 2px 6px #c2593f14}.next-task-card.task-complete{border-color:var(--color-primary);box-shadow:0 2px 6px #1e4b350f}.next-task-header{display:flex;align-items:center;gap:.4rem}.task-badge{background-color:var(--color-terracotta);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--radius-sm)}.next-task-title{font-size:1rem;font-weight:700;color:var(--color-charcoal)}.next-task-desc{font-size:.8rem;color:var(--color-muted)}.produce-summary-box{background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.65rem;display:flex;flex-direction:column;gap:.25rem}.summary-row{display:flex;justify-content:space-between;font-size:.8rem}.summary-label{color:var(--color-muted)}.summary-value{color:var(--color-charcoal)}.approval-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.approval-method-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem;display:flex;flex-direction:column;gap:.35rem}.approval-legend{font-size:.72rem;font-weight:600;color:var(--color-muted);padding:0 .2rem}.radio-label{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--color-charcoal);cursor:pointer}.section-title{font-size:1rem;font-weight:700;color:var(--color-charcoal);margin-bottom:.5rem}.listing-form-section{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem}.listing-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;gap:.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group-half{flex:1}.input-label{font-size:.78rem;font-weight:600;color:var(--color-charcoal)}.input-text,.input-select{box-sizing:border-box;width:100%;max-width:100%;padding:.42rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;background-color:var(--color-surface-card);color:var(--color-charcoal)}.input-text:focus,.input-select:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.input-help{font-size:.7rem;color:var(--color-muted)}.listings-list-section{display:flex;flex-direction:column;gap:.5rem}.listings-grid{list-style:none;display:flex;flex-direction:column;gap:.55rem}.listing-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.listing-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem}.listing-card-title{font-size:.95rem;font-weight:700;color:var(--color-primary)}.listing-card-body{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.listing-detail{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem}.detail-label{color:var(--color-muted);font-size:.7rem}.detail-value{color:var(--color-charcoal)}.badge-other{background-color:var(--color-surface-subtle);color:var(--color-muted)}.btn-secondary{display:inline-block;background-color:var(--color-surface-subtle);color:var(--color-charcoal);border:1px solid var(--color-border);padding:.42rem .85rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;text-align:center}.btn-secondary:hover{background-color:#ede5df;text-decoration:none}.btn-danger{background-color:var(--color-terracotta)!important;color:#fff!important;border-color:var(--color-terracotta)!important}.btn-danger:hover{background-color:var(--color-terracotta-hover)!important}.btn-sm{padding:.3rem .65rem;font-size:.75rem}.btn-block{display:block;width:100%}.btn-link{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;font-size:.8rem;padding:0;text-align:left}.btn-link:hover{text-decoration:underline}.back-button{margin-bottom:.65rem}.catalog-page{display:flex;flex-direction:column;gap:.75rem;padding-bottom:6.5rem}.pickup-summary-card{background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:.85rem;margin-bottom:.85rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem}.pickup-location-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--color-primary);letter-spacing:.05em}.pickup-summary-title{font-size:1.05rem;font-weight:700;color:var(--color-primary);margin-top:.1rem;margin-bottom:.25rem}.pickup-summary-directions,.pickup-summary-date{font-size:.78rem;color:var(--color-charcoal)}.catalog-top-actions{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.25rem}.market-selector-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.market-selector-pill{display:inline-flex;align-items:center;gap:.35rem;background-color:var(--color-surface-subtle);color:var(--color-primary);padding:.35rem .75rem;border-radius:9999px;font-size:.78rem;font-weight:700;text-decoration:none;box-shadow:0 1px 3px #0000000a;transition:background-color .15s ease,color .15s ease;max-width:72%}.market-selector-pill:hover{background-color:#e0ebe2;text-decoration:none}.pill-location-icon{color:var(--color-terracotta);font-size:16px;flex-shrink:0}.pill-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-arrow-icon{color:var(--color-muted);font-size:18px;flex-shrink:0}.tabuan-live-badge{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.tabuan-dot{width:7px;height:7px;border-radius:9999px;background-color:var(--color-terracotta);animation:tabuanPulse 1.8s infinite ease-in-out}@keyframes tabuanPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.35)}}.tabuan-text{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-terracotta)}.catalog-search-row{display:flex;align-items:center;gap:.45rem}.catalog-search-box{flex:1;display:flex;align-items:center;background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.45rem .75rem;gap:.45rem;box-shadow:0 1px 3px #00000008}.search-icon{color:var(--color-muted);font-size:19px;flex-shrink:0}.catalog-search-input{width:100%;border:none;outline:none;background:transparent;font-size:.82rem;color:var(--color-charcoal);font-family:inherit}.catalog-search-input::placeholder{color:var(--color-muted)}.search-clear-btn{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.catalog-tune-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface-subtle);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 3px #00000008;transition:transform .1s ease;flex-shrink:0}.catalog-tune-btn:active{transform:scale(.95)}.category-scroll-row{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding:.2rem .1rem;margin:0 -.25rem;scrollbar-width:none}.category-scroll-row::-webkit-scrollbar{display:none}.category-chip{flex-shrink:0;padding:.32rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;background-color:var(--color-surface-subtle);color:var(--color-charcoal);border:1px solid transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.category-chip:hover{color:var(--color-primary);background-color:#e0ebe2}.category-chip.active{background-color:var(--color-primary);color:#fff;box-shadow:0 1px 4px #1e4b3533}.stall-notice-banner{background-color:#bdeecf59;border:1px solid rgba(30,75,53,.15);border-radius:var(--radius-md);padding:.55rem .75rem;display:flex;align-items:center;gap:.55rem}.stall-notice-icon-box{width:28px;height:28px;border-radius:9999px;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stall-notice-text{min-width:0;flex:1}.stall-notice-title{font-size:.75rem;font-weight:800;color:var(--color-primary);line-height:1.25}.stall-notice-subtitle{font-size:.7rem;color:var(--color-charcoal);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.catalog-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.45rem}.produce-count-badge{font-size:.7rem;font-weight:700;color:var(--color-muted)}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}@media(min-width:640px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}.product-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.product-card:hover{box-shadow:0 3px 8px #0000000f}.product-card-thumb-wrap{position:relative;width:100%;aspect-ratio:1 / 1;background-color:var(--color-surface-subtle);overflow:hidden}.product-card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-card-img{transform:scale(1.04)}.origin-pill{position:absolute;top:.35rem;left:.35rem;background-color:#023420e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.62rem;font-weight:700;padding:.15rem .42rem;border-radius:9999px;display:flex;align-items:center;gap:.2rem;box-shadow:0 1px 3px #0003}.low-stock-pill{position:absolute;bottom:.35rem;right:.35rem;background-color:var(--color-terracotta);color:#fff;font-size:.58rem;font-weight:800;padding:.12rem .35rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;box-shadow:0 1px 3px #0003}.product-card-content{padding:.55rem .65rem;display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:.35rem}.product-card-headings{display:flex;flex-direction:column;gap:.15rem}.product-category-tag{font-size:.62rem;font-weight:800;text-transform:uppercase;color:var(--color-muted);letter-spacing:.04em;line-height:1.2}.product-name{font-size:.88rem;font-weight:800;color:var(--color-charcoal);line-height:1.25;margin:0}.product-name a{color:inherit;text-decoration:none}.product-name a:hover{color:var(--color-primary)}.product-farmer{font-size:.68rem;color:var(--color-muted);line-height:1.2}.product-card-meta{display:flex;flex-direction:column;gap:.1rem}.product-price-row{display:flex;align-items:baseline;gap:.2rem}.product-unit-price{font-size:.95rem;font-weight:800;color:var(--color-primary);line-height:1.2}.unit-label{font-size:.72rem;font-weight:600;color:var(--color-muted)}.stock-text{font-size:.68rem;color:var(--color-muted);display:block}.stock-text--low{color:var(--color-terracotta);font-weight:700}.btn-add-basket{width:100%;height:34px;border-radius:var(--radius-sm);border:none;background-color:var(--color-primary-fixed, #bdeecf);color:var(--color-primary-dark, #023420);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.3rem;cursor:pointer;margin-top:.2rem;box-shadow:0 1px 2px #0000000a;transition:all .15s ease}.btn-add-basket:hover{background-color:#a1d1b4}.btn-add-basket:active{transform:scale(.96)}.btn-add-basket--added{background-color:var(--color-primary, #1e4b35)!important;color:#fff!important}.floating-cart-toast-wrapper{position:fixed;bottom:calc(var(--mobile-nav-height, 52px) + .65rem + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;justify-content:center;padding:0 1rem;z-index:95;pointer-events:none}.floating-cart-toast-inner,.floating-cart-bar-button{pointer-events:auto;width:100%;max-width:380px;background-color:#023420;color:#fff;border-radius:9999px;padding:.55rem 1rem;display:flex;justify-content:space-between;align-items:center;text-decoration:none;box-shadow:0 6px 20px #02342066;transition:transform .15s ease,background-color .15s ease}.floating-cart-toast-inner:hover,.floating-cart-bar-button:hover{background-color:#03442a;text-decoration:none}.floating-cart-toast-inner:active,.floating-cart-bar-button:active{transform:scale(.98)}.cart-toast-left{display:flex;align-items:center;gap:.65rem}.cart-toast-icon-wrap{position:relative;width:34px;height:34px;border-radius:9999px;background-color:#ffffff1f;display:flex;align-items:center;justify-content:center}.cart-toast-icon{font-size:19px;color:#fff}.cart-toast-badge{position:absolute;top:-3px;right:-3px;background-color:var(--color-secondary, #a04028);color:#fff;font-size:.6rem;font-weight:800;width:16px;height:16px;border-radius:9999px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000040}.cart-toast-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.cart-toast-count{font-size:.72rem;font-weight:700;color:#bdeecf}.cart-toast-total{font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:-.01em}.cart-toast-right{display:flex;align-items:center;gap:.3rem;color:#bdeecf;font-size:.85rem;font-weight:700}.cart-toast-arrow{font-size:18px;color:#bdeecf;transition:transform .15s ease}.floating-cart-bar:hover .cart-toast-arrow{transform:translate(3px)}.product-page{display:flex;flex-direction:column;gap:.85rem}.breadcrumb-nav{margin-bottom:.25rem}.product-detail-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.85rem}.product-detail-title{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin:.15rem 0}.product-farmer-meta{font-size:.82rem;color:var(--color-muted)}.price-box{display:flex;align-items:baseline;gap:.4rem;background-color:var(--color-surface-subtle);padding:.55rem .75rem;border-radius:var(--radius-sm)}.price-amount{font-size:1.35rem;font-weight:700;color:var(--color-primary)}.price-unit{font-size:.8rem;color:var(--color-muted)}.info-block{display:flex;flex-direction:column;gap:.25rem}.info-heading{font-size:.78rem;font-weight:700;color:var(--color-charcoal);text-transform:uppercase;letter-spacing:.03em}.info-content{font-size:.82rem;color:var(--color-muted)}.add-cart-section{display:flex;flex-direction:column;gap:.65rem;margin-top:.4rem;border-top:1px solid var(--color-border);padding-top:.85rem}.quantity-group{display:flex;flex-direction:column;gap:.35rem}.quick-qty-chips{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.2rem}.chip-qty{background-color:var(--color-sage);color:var(--color-primary);border:1px solid rgba(30,75,53,.2);border-radius:9999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.chip-qty:hover,.chip-qty.chip-active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.cart-pickup-banner{display:flex;flex-wrap:wrap;gap:.3rem;background-color:var(--color-surface-subtle);padding:.4rem .65rem;border-radius:var(--radius-sm);font-size:.78rem;margin-bottom:.85rem}.pickup-label{font-weight:600;color:var(--color-muted)}.pickup-value{font-weight:700;color:var(--color-primary)}.pickup-date-label{color:var(--color-muted)}.cart-items-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:1rem}.cart-item-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.4rem}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start}.cart-item-title{font-size:.92rem;font-weight:700;color:var(--color-charcoal)}.cart-item-farmer{font-size:.75rem;color:var(--color-muted)}.cart-line-total{font-size:.95rem;font-weight:700;color:var(--color-primary)}.unit-price-text{font-size:.75rem;color:var(--color-muted)}.cart-item-controls{display:flex;justify-content:space-between;align-items:center;margin-top:.15rem}.qty-control{display:flex;align-items:center;gap:.3rem}.qty-label{font-size:.75rem;color:var(--color-muted)}.btn-remove{color:var(--color-terracotta);font-size:.78rem}.order-summary-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.summary-title{font-size:.95rem;font-weight:700;color:var(--color-charcoal);margin-bottom:.15rem}.summary-divider{height:1px;background-color:var(--color-border);margin:.15rem 0}.summary-total-row{font-size:1rem;font-weight:700;color:var(--color-primary)}.pay-at-pickup-notice{background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.78rem;color:var(--color-charcoal);margin:.35rem 0}.notice-highlight{color:var(--color-primary);font-weight:700}.cart-actions-row{display:flex;justify-content:space-between;gap:.5rem;margin-top:.35rem}.btn-checkout{flex:1}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#141e1899;display:flex;align-items:center;justify-content:center;padding:.85rem;z-index:1000}.modal-card{background-color:var(--color-surface-card);border-radius:var(--radius-md);padding:1.1rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 24px #00000026}.modal-title{font-size:1.05rem;font-weight:700;color:var(--color-charcoal)}.modal-body{font-size:.82rem;color:var(--color-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.checkout-page{display:flex;flex-direction:column;gap:.85rem}.checkout-header{border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.checkout-pickup-banner{display:flex;gap:.4rem;font-size:.8rem;margin-top:.2rem}.notice-banner{padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.8rem}.timer-notice{background-color:var(--color-primary-light);border:1px solid var(--color-primary);color:var(--color-primary);display:flex;align-items:center;gap:.4rem}.expired-notice,.error-notice{background-color:#fee2e2;border:1px solid #ef4444;color:#991b1b}.reserving-notice{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e}.checkout-form{display:flex;flex-direction:column;gap:.85rem}.form-section{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.55rem}.section-description{font-size:.78rem;color:var(--color-muted)}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-text{line-height:1.35}.checkout-items-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.checkout-item-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px dashed var(--color-border)}.checkout-item-info{display:flex;flex-direction:column}.checkout-item-name{font-weight:600;font-size:.85rem}.checkout-item-sub{font-size:.72rem;color:var(--color-muted)}.checkout-item-price{font-weight:600;font-size:.85rem}.checkout-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:2px solid var(--color-charcoal);font-size:.95rem;font-weight:700}.pay-at-pickup-card{background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.35rem}.pay-at-pickup-badge{display:inline-block;align-self:flex-start;background-color:var(--color-primary);color:#fff;font-weight:700;font-size:.68rem;padding:.15rem .45rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.pay-at-pickup-text{font-size:.8rem;color:var(--color-charcoal)}.checkout-submit-row{margin-top:.35rem}.btn-submit-order{width:100%;padding:.65rem;font-size:.88rem}.signin-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.btn-signin{width:100%;padding:.55rem;font-size:.85rem}.checkout-back-link{margin-top:.35rem}.order-page{display:flex;flex-direction:column;gap:.85rem}.order-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:.5rem}.order-code-group{display:flex;flex-direction:column}.order-code-label{font-size:.68rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.order-code-title{font-size:1.15rem;font-weight:800;color:var(--color-primary)}.order-status-badge{background-color:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}.order-card{background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.bin-hero-card{background-color:var(--color-surface-card);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:.85rem;box-shadow:0 4px 16px #1e4b3514;display:flex;flex-direction:column;gap:.5rem}.bin-callout-header{display:flex;align-items:center;justify-content:space-between}.bin-tag{background-color:var(--color-primary-fixed);color:var(--color-primary-dark);font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:.15rem .5rem;border-radius:9999px}.bin-number-display{font-family:var(--font-headline);font-size:1.35rem;font-weight:800;color:var(--color-primary);letter-spacing:-.01em}.pin-code-row{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-surface-subtle);padding:.4rem .65rem;border-radius:var(--radius-sm)}.pin-label{font-size:.78rem;color:var(--color-muted);font-weight:600}.pin-value{font-family:var(--font-body);font-size:1rem;font-weight:800;color:var(--color-primary);letter-spacing:.1em}.bin-instructions{font-size:.78rem;color:var(--color-muted);line-height:1.35}.card-section-title{font-size:.88rem;font-weight:700;border-bottom:1px solid var(--color-border);padding-bottom:.35rem}.detail-item{display:flex;flex-direction:column;gap:.1rem}.detail-value{font-size:.85rem}.pay-amount-row{display:flex;justify-content:space-between;align-items:baseline}.pay-amount{font-size:1.1rem;color:var(--color-terracotta);font-weight:800}.pay-instructions{font-size:.78rem;color:var(--color-muted)}.order-items-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.order-item-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px dashed var(--color-border)}.item-info{display:flex;flex-direction:column}.item-name{font-weight:600;font-size:.85rem}.item-farmer{font-size:.72rem;color:var(--color-muted)}.item-quantities{display:flex;flex-direction:column;align-items:flex-end}.item-qty{font-size:.78rem;color:var(--color-muted)}.item-price{font-weight:600;font-size:.85rem}.order-actions-footer{display:flex;justify-content:center;margin-top:.75rem}.offline-notice-banner{background-color:#fef3c7;border-bottom:2px solid #D97706;color:#92400e;padding:.55rem .75rem;font-size:.78rem;position:sticky;top:0;z-index:100}.offline-notice-content{display:flex;align-items:flex-start;gap:.4rem;max-width:var(--max-content-width);margin:0 auto}.offline-notice-icon{font-size:.95rem;line-height:1.2}.offline-notice-text{display:flex;flex-direction:column;gap:.1rem}.offline-notice-title{font-weight:700;color:#78350f}.offline-notice-desc{font-size:.75rem;color:#92400e}.order-header-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.refresh-btn{padding:.25rem .55rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-charcoal);cursor:pointer}.refresh-btn:hover:not(:disabled){background-color:var(--color-surface-subtle)}.status-overview-card{border-left:4px solid var(--color-primary)}.status-description{font-size:.85rem;color:var(--color-charcoal)}.status-action-prompt{font-size:.78rem;color:var(--color-muted);font-style:italic}.order-history-page{display:flex;flex-direction:column;gap:.85rem}.order-history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem}.order-history-list{list-style:none;display:flex;flex-direction:column;gap:.65rem}.history-card{padding:.75rem}.history-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:.5rem;margin-bottom:.4rem}.history-code-group{display:flex;flex-direction:column}.history-card-details{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.total-value{color:var(--color-primary);font-size:.95rem}.history-card-footer{display:flex;justify-content:flex-end;border-top:1px dashed var(--color-border);padding-top:.4rem}.view-details-link{font-size:.78rem;padding:.3rem .6rem}.error-title{display:block;font-weight:700;margin-bottom:.2rem}.error-recovery{font-size:.78rem;margin-top:.25rem;font-weight:600}.error-cart-note{font-size:.75rem;margin-top:.2rem;opacity:.9}.splash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background-color:#f1fcf3;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem env(safe-area-inset-bottom) 1rem;opacity:1;transition:opacity .3s cubic-bezier(.4,0,.2,1);overscroll-behavior:none}.splash-overlay--exiting{opacity:0;pointer-events:none}.splash-container{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:splashFadeIn .4s ease-out forwards}.splash-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.splash-wordmark{height:38px;width:auto;max-width:190px;object-fit:contain;margin-bottom:.5rem}.splash-tagline{font-family:var(--font-headline);font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a04028;margin-bottom:.35rem}.splash-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:9999px;font-size:.6875rem;font-weight:700;color:#1e4b35;background-color:#1e4b3514}.splash-progress-section{width:100%;max-width:240px;display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.splash-progress-track{width:100%;height:6px;background-color:#dae5dc;border-radius:9999px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000000d}.splash-progress-fill{height:100%;background:linear-gradient(90deg,#a04028,#c2593f);border-radius:9999px;transition:width .2s cubic-bezier(.4,0,.2,1);will-change:width}.splash-status-text{margin-top:.625rem;font-size:.75rem;font-weight:600;color:#414943;min-height:1.25rem;transition:opacity .15s ease-in-out}.splash-trivia-card{width:100%;background-color:#fff;border:1px solid #dae5dc;border-radius:16px;padding:1rem 1.125rem;text-align:left;box-shadow:0 4px 16px -2px #1e4b350f;position:relative}.splash-trivia-header{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem}.splash-trivia-title{font-family:var(--font-headline);font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a04028}.splash-trivia-quote{font-family:var(--font-body);font-size:.8125rem;line-height:1.45;color:#1e4b35;font-style:italic;min-height:2.8rem;display:flex;align-items:center}.splash-dots{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:1.25rem}.splash-dots span{width:5px;height:5px;border-radius:50%;background-color:#a04028;opacity:.35;animation:splashDotPulse 1.2s infinite ease-in-out both}.splash-dots span:nth-child(1){animation-delay:-.32s}.splash-dots span:nth-child(2){animation-delay:-.16s}.splash-dots span:nth-child(3){animation-delay:0s}.splash-skip-btn{margin-top:1rem;background:transparent;border:none;color:#414943;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.02em;opacity:.75;padding:.35rem .85rem;border-radius:9999px;cursor:pointer;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.splash-skip-btn:hover{opacity:1;color:#1e4b35;background-color:#1e4b3514}.splash-skip-btn:focus-visible{opacity:1;outline:2px solid #1e4b35;outline-offset:2px}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes splashDotPulse{0%,80%,to{transform:scale(.8);opacity:.3}40%{transform:scale(1.3);opacity:1}}@media(prefers-reduced-motion:reduce){.splash-overlay,.splash-container,.splash-progress-fill,.splash-dots span{animation:none!important;transition:none!important}}.photo-upload-zone{box-sizing:border-box;width:100%;border:2px dashed var(--color-border);background-color:var(--color-surface-subtle);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;min-height:110px;transition:border-color .15s ease,background-color .15s ease;text-align:center}.photo-upload-zone:hover,.photo-upload-zone:focus-within{border-color:var(--color-primary);background-color:var(--color-sage)}.photo-upload-zone:focus-visible{outline:2px solid var(--color-primary)}.photo-upload-icon{font-size:2rem;color:var(--color-primary)}.photo-upload-text{font-size:.85rem;font-weight:600;color:var(--color-charcoal)}.photo-upload-hint{font-size:.72rem;color:var(--color-muted)}.photo-preview-box{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:.75rem;background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.6rem}.photo-preview-img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.photo-preview-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.photo-preview-name{font-size:.8rem;font-weight:600;color:var(--color-charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-badge-webp{background-color:var(--color-primary-light);color:var(--color-primary-dark);font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:.25rem;width:fit-content}.photo-preview-actions{display:flex;gap:.35rem;margin-top:.25rem}.btn-link-action{background:none;border:none;padding:0;font-size:.75rem;font-weight:600;color:var(--color-terracotta);cursor:pointer;text-decoration:underline}.listing-card-main{display:flex;gap:.75rem}.listing-card-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;background-color:var(--color-surface-subtle)}.listing-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.listing-actions-row{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.btn-terracotta-outline{background:transparent;color:var(--color-terracotta);border:1px solid var(--color-terracotta);border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);font-weight:600;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.btn-terracotta-outline:hover{background-color:var(--color-terracotta-light)}.inline-edit-card{background-color:var(--color-surface-subtle);border:1.5px solid var(--color-primary);border-radius:var(--radius-md);padding:.85rem;display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}.inline-edit-title{font-size:.9rem;font-weight:700;color:var(--color-primary-dark)}.delete-confirm-box{background-color:var(--color-terracotta-light);border:1px solid var(--color-terracotta);border-radius:var(--radius-sm);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.delete-confirm-msg{font-size:.8rem;font-weight:600;color:var(--color-charcoal)}.delete-confirm-actions{display:flex;gap:.5rem}.btn-terracotta-solid{background-color:var(--color-terracotta);color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);font-weight:700;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-terracotta-solid:hover{background-color:var(--color-terracotta-hover)}.confirmation-toast-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#141e1866;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:98;animation:fadeIn .15s ease-out}.confirmation-toast-wrapper{position:fixed;bottom:calc(var(--mobile-nav-height, 52px) + .75rem + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;justify-content:center;padding:0 1rem;z-index:99;pointer-events:none;animation:slideUp .2s cubic-bezier(.16,1,.3,1)}@media(min-width:769px){.confirmation-toast-wrapper{left:auto;right:1.5rem;bottom:1.5rem;padding:0}}.confirmation-toast-card{pointer-events:auto;width:100%;max-width:440px;background-color:var(--color-surface-card, #ffffff);border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-lg, 14px);box-shadow:0 8px 24px #141e1829,0 2px 6px #141e1814;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.75rem}.confirmation-toast-header{display:flex;align-items:flex-start;gap:.75rem}.confirmation-toast-icon-wrap{width:36px;height:36px;border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirmation-toast-icon-wrap--danger{background-color:var(--color-terracotta-light, #ffdad2);color:var(--color-terracotta, #c2593f)}.confirmation-toast-icon-wrap--warning{background-color:#fef3c7;color:var(--color-harvest-gold, #d49b35)}.confirmation-toast-icon-wrap--primary{background-color:var(--color-primary-fixed, #bdeecf);color:var(--color-primary, #1e4b35)}.confirmation-toast-icon-wrap--info{background-color:var(--color-sage, #e0ebe2);color:var(--color-primary-dark, #023420)}.confirmation-toast-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.confirmation-toast-title{font-family:var(--font-headline);font-size:.95rem;font-weight:700;color:var(--color-charcoal, #141e18);margin:0;line-height:1.3}.confirmation-toast-message{font-family:var(--font-body);font-size:.82rem;color:var(--color-muted, #59665e);line-height:1.4;margin:0}.confirmation-toast-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem}.confirmation-toast-btn-cancel{background:transparent;border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-sm, 6px);padding:.5rem .85rem;min-height:44px;font-size:.82rem;font-weight:600;color:var(--color-charcoal, #141e18);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.confirmation-toast-btn-cancel:hover{background-color:var(--color-surface-subtle, #f5efeb)}.confirmation-toast-btn-cancel:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.confirmation-toast-btn-confirm{border:none;border-radius:var(--radius-sm, 6px);padding:.5rem 1rem;min-height:44px;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s ease,transform .1s ease}.confirmation-toast-btn-confirm:active{transform:scale(.98)}.confirmation-toast-btn-confirm:focus-visible{outline:2px solid var(--color-charcoal);outline-offset:2px}.confirmation-toast-btn-confirm--danger{background-color:var(--color-terracotta, #c2593f)}.confirmation-toast-btn-confirm--danger:hover{background-color:var(--color-terracotta-hover, #a84b33)}.confirmation-toast-btn-confirm--warning{background-color:var(--color-harvest-gold, #d49b35);color:var(--color-charcoal, #141e18)}.confirmation-toast-btn-confirm--primary{background-color:var(--color-primary, #1e4b35)}.confirmation-toast-btn-confirm--primary:hover{background-color:var(--color-primary-hover, #265e43)}.confirmation-toast-progress-bar{height:4px;background-color:var(--color-border, #e8e4dc);border-radius:9999px;overflow:hidden;margin-top:.25rem}.confirmation-toast-progress-fill{height:100%;background-color:var(--color-primary, #1e4b35);width:100%;transform-origin:left}@keyframes shrinkWidth{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cancel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#141e1899;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .15s ease-out}.cancel-modal-card{background-color:var(--color-surface-card, #ffffff);border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-lg, 14px);width:100%;max-width:480px;box-shadow:0 16px 32px #141e182e;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .2s cubic-bezier(.16,1,.3,1)}.cancel-modal-header{padding:1.25rem 1.25rem .75rem;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--color-border, #e8e4dc)}.cancel-modal-title{font-family:var(--font-headline);font-size:1.25rem;font-weight:800;color:var(--color-terracotta, #c2593f);margin:0}.cancel-modal-close-btn{background:transparent;border:none;font-size:1.25rem;line-height:1;color:var(--color-muted, #59665E);cursor:pointer;padding:.5rem;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 6px)}.cancel-modal-close-btn:focus-visible{outline:2px solid var(--color-primary, #1e4b35);outline-offset:2px}.cancel-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.cancel-modal-target-box{background-color:var(--color-surface-subtle, #f5efeb);border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-md, 10px);padding:.75rem 1rem}.cancel-modal-target-label{font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;color:var(--color-muted, #59665E);margin-bottom:.25rem}.cancel-modal-target-value{font-weight:700;font-size:.95rem;color:var(--color-charcoal, #141e18)}.cancel-modal-chips-label{font-size:.82rem;font-weight:700;color:var(--color-charcoal, #141e18)}.cancel-modal-chips-grid{display:flex;flex-wrap:wrap;gap:.5rem}.cancel-reason-chip{background-color:var(--color-surface, #fdfbf7);border:1px solid var(--color-border, #e8e4dc);border-radius:9999px;padding:.45rem .85rem;min-height:44px;font-size:.82rem;font-family:var(--font-body);color:var(--color-charcoal, #141e18);cursor:pointer;display:inline-flex;align-items:center;text-align:left;transition:all .15s ease}.cancel-reason-chip:hover{border-color:var(--color-terracotta, #c2593f);background-color:var(--color-surface-subtle, #f5efeb)}.cancel-reason-chip[aria-pressed=true]{background-color:var(--color-terracotta-light, #ffdad2);border-color:var(--color-terracotta, #c2593f);color:var(--color-terracotta-hover, #a84b33);font-weight:700}.cancel-reason-chip:focus-visible{outline:2px solid var(--color-primary, #1e4b35);outline-offset:2px}.cancel-modal-textarea-group{display:flex;flex-direction:column;gap:.35rem}.cancel-modal-label{font-size:.85rem;font-weight:700;color:var(--color-charcoal, #141e18)}.cancel-modal-textarea{font-family:var(--font-body);font-size:.875rem;line-height:1.45;padding:.75rem;border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-md, 10px);min-height:80px;resize:vertical;background-color:#fff;color:var(--color-charcoal, #141e18)}.cancel-modal-textarea:focus-visible{outline:2px solid var(--color-primary, #1e4b35);outline-offset:2px;border-color:var(--color-primary, #1e4b35)}.cancel-modal-textarea[aria-invalid=true]{border-color:var(--color-terracotta, #c2593f);background-color:#fff8f6}.cancel-modal-hint{font-size:.75rem;color:var(--color-muted, #59665E)}.cancel-modal-error{font-size:.78rem;font-weight:600;color:#93000a;background-color:#ffdad6;padding:.5rem .75rem;border-radius:var(--radius-sm, 6px)}.cancel-modal-actions{padding:1rem 1.25rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--color-border, #e8e4dc);background-color:var(--color-surface, #fdfbf7)}.cancel-modal-btn-cancel{background:transparent;border:1px solid var(--color-border, #e8e4dc);border-radius:var(--radius-md, 10px);padding:.5rem 1rem;min-height:44px;font-size:.85rem;font-weight:600;color:var(--color-muted, #59665E);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cancel-modal-btn-cancel:hover{background-color:var(--color-surface-subtle, #f5efeb)}.cancel-modal-btn-cancel:focus-visible{outline:2px solid var(--color-primary, #1e4b35);outline-offset:2px}.cancel-modal-btn-confirm{background-color:var(--color-terracotta, #c2593f);color:#fff;border:none;border-radius:var(--radius-md, 10px);padding:.5rem 1.25rem;min-height:44px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease}.cancel-modal-btn-confirm:hover:not(:disabled){background-color:var(--color-terracotta-hover, #a84b33)}.cancel-modal-btn-confirm:disabled{background-color:#d8d3cb;color:#7d7770;cursor:not-allowed}.cancel-modal-btn-confirm:focus-visible{outline:2px solid var(--color-primary, #1e4b35);outline-offset:2px}.btn-cancel-item{background:transparent;border:1px solid var(--color-terracotta, #c2593f);color:var(--color-terracotta, #c2593f);border-radius:var(--radius-sm, 6px);padding:.35rem .65rem;min-height:44px;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-cancel-item:hover:not(:disabled){background-color:var(--color-terracotta-light, #ffdad2)}.btn-cancel-item:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-order{background:transparent;border:1px solid var(--color-terracotta, #c2593f);color:var(--color-terracotta, #c2593f);border-radius:var(--radius-md, 10px);padding:.5rem 1rem;min-height:44px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:100%}.btn-cancel-order:hover:not(:disabled){background-color:var(--color-terracotta-light, #ffdad2)}.btn-cancel-order:disabled{opacity:.5;cursor:not-allowed}.cutoff-notice-badge{display:inline-flex;align-items:center;gap:.4rem;background-color:var(--color-surface-subtle, #f5efeb);border:1px solid var(--color-border, #e8e4dc);color:var(--color-muted, #59665E);font-size:.78rem;font-weight:600;padding:.4rem .75rem;border-radius:var(--radius-sm, 6px)}.item-cancelled-badge{background-color:#fce8e6;color:#93000a;border:1px solid #ffdad6;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:.2rem .5rem;border-radius:9999px;display:inline-flex;align-items:center}
