:root{color-scheme:light;--ink:#16342b;--ink-strong:#0c2820;--muted:#66766f;--muted-light:#8c9993;--line:#e1e9e4;--paper:#ffffff;--canvas:#f3f6f3;--cream:#f8f6ed;--green:#14734f;--green-dark:#0b5239;--green-deep:#063d2c;--green-soft:#e5f3eb;--orange:#e7762f;--danger:#a33b30;--shadow:0 12px 35px rgb(20 72 51/9%)}*{box-sizing:border-box}body,html{min-width:320px;min-height:100%;margin:0;background:#e8eee9;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}body{overflow-wrap:anywhere}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:100%;max-width:820px;min-height:100vh;margin:0 auto;background:var(--canvas);box-shadow:0 0 50px rgb(20 52 43/8%)}.topbar{position:-webkit-sticky;position:sticky;z-index:20;top:0;display:flex;justify-content:space-between;min-height:68px;padding:8px 16px;border-bottom:1px solid rgb(225 233 228/88%);background:rgb(255 255 255/94%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;min-width:0;min-height:48px;color:var(--ink-strong);text-decoration:none}.brand-mark{display:grid;flex:0 0 auto;width:40px;height:40px;margin-right:10px;place-items:center;border-radius:14px 14px 14px 5px;background:linear-gradient(145deg,#19875d,#0b5b40);box-shadow:0 7px 15px rgb(20 115 79/22%);color:white;font-size:18px;font-weight:800}.brand-copy{display:grid;min-width:0}.brand-copy strong{font-size:16px;line-height:1.2;letter-spacing:.02em}.brand-copy small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.025em}.topbar-action{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;min-height:44px;gap:5px;padding:0 4px 0 10px;color:var(--green);font-size:14px;font-weight:750;text-decoration:none}.cart-icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart-badge{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border:2px solid white;border-radius:999px;background:var(--orange);color:white;font-size:11px}.topbar-actions{display:flex;align-items:center;gap:3px}.logout-button{min-height:40px;padding:0 10px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.logout-button:disabled{cursor:wait;opacity:.6}.ordering-context-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,230px);grid-gap:12px;gap:12px;align-items:center;margin:12px 16px 0;padding:13px 14px;border:1px solid #cfe2d7;border-radius:16px;background:var(--green-soft);color:var(--green-dark)}.ordering-context-copy{display:grid;min-width:0;grid-gap:3px;gap:3px}.ordering-context-copy>span{font-size:12px;font-weight:800}.ordering-context-copy>strong{overflow:hidden;color:var(--ink-strong);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ordering-context-copy>small{color:var(--muted);font-size:11px}.ordering-context-selector{display:grid;min-width:0;grid-gap:5px;gap:5px;font-size:11px;font-weight:750}.ordering-context-selector select{width:100%;min-height:44px;padding:7px 32px 7px 10px;border:1px solid #8eb5a3;border-radius:11px;background:white;color:var(--ink)}.ordering-context-error{display:grid;grid-column:1/-1;grid-gap:6px;gap:6px;margin:0}.ordering-context-error button{min-height:44px;border:1px solid;border-radius:10px;background:white;color:inherit;font-weight:750}.login-page{display:grid;min-height:calc(100vh - 68px);padding:28px 16px 48px;place-items:center;background:radial-gradient(circle at 80% 8%,rgb(34 142 98/16%),transparent 28%),linear-gradient(180deg,#edf5ef,var(--canvas))}.login-card{width:min(100%,440px);padding:28px 22px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 24px 65px rgb(19 70 49/13%)}.login-card .hero-eyebrow{border-color:#cfe5d8;background:var(--green-soft);color:var(--green-dark)}.login-card h1{margin:18px 0 7px;color:var(--ink-strong);font-size:29px;letter-spacing:-.04em}.login-card>p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.login-form{display:grid;grid-gap:15px;gap:15px;margin-top:24px}.login-form label{display:grid;grid-gap:7px;gap:7px;color:var(--ink-strong);font-size:13px;font-weight:750}.login-form input{width:100%;min-height:50px;padding:10px 13px;border:1px solid #b7c8bf;border-radius:12px;outline:none;background:#fbfcfb;color:var(--ink)}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgb(20 115 79/10%);background:white}.login-form .error-message{margin:0;font-size:13px}.login-help{display:block;margin-top:18px;color:var(--muted);line-height:1.55;text-align:center}.page{width:100%;padding:22px 16px 44px}.catalog-page{padding-top:14px}.catalog-hero{position:relative;overflow:hidden;min-height:205px;padding:24px 22px 20px;border-radius:24px;background:linear-gradient(130deg,#0c5b40,#063c2c 62%,#092e24);box-shadow:0 16px 38px rgb(7 61 44/23%);color:white}.catalog-hero:after,.catalog-hero:before{position:absolute;border:1px solid rgb(255 255 255/10%);border-radius:50%;content:""}.catalog-hero:before{width:190px;height:190px;right:-72px;top:-76px}.catalog-hero:after{width:110px;height:110px;right:8px;top:-34px}.hero-eyebrow{position:relative;display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border:1px solid rgb(255 255 255/19%);border-radius:999px;background:rgb(255 255 255/9%);color:#d9f0e4;font-size:12px;font-weight:700}.catalog-hero h1{position:relative;margin:13px 0 5px;font-size:clamp(27px,7.5vw,39px);line-height:1.14;letter-spacing:-.045em}.catalog-hero>p{position:relative;margin:0;color:#bcd8ca;font-size:14px}.delivery-strip{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;margin-top:20px;padding:10px 12px;border:1px solid rgb(255 255 255/11%);border-radius:14px;background:rgb(255 255 255/8%)}.delivery-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#d5eee0;color:var(--green-dark);font-weight:900}.delivery-strip>span:nth-child(2){display:grid}.delivery-strip strong{font-size:13px}.delivery-strip small{margin-top:2px;color:#b9d3c6;font-size:11px}.delivery-status{color:#cde8da;font-size:12px;font-weight:750}.catalog-toolbar{margin:18px 0 20px}.search-box{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:0 7px 22px rgb(32 72 56/5%);color:var(--muted-light)}.search-box>span:first-child{font-size:24px;line-height:1;transform:rotate(-18deg)}.search-box input{width:100%;min-height:48px;border:0;outline:0;background:transparent;color:var(--ink)}.search-box input::placeholder{color:#99a49f}.search-box:focus-within{border-color:#7eb89f;box-shadow:0 0 0 3px rgb(20 115 79/9%)}.category-scroller{display:flex;gap:8px;margin-top:12px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.category-scroller::-webkit-scrollbar{display:none}.category-chip{flex:0 0 auto;min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700}.category-chip.active{border-color:var(--green);background:var(--green);box-shadow:0 6px 14px rgb(20 115 79/16%);color:white}.catalog-heading-row{display:flex;align-items:flex-end;justify-content:space-between;margin:0 2px 12px}.catalog-heading-row h2{margin:3px 0 0;font-size:21px;letter-spacing:-.025em}.catalog-heading-row>span{color:var(--muted);font-size:13px}.section-kicker{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em}.cart-notice{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin:0 0 12px;padding:10px 14px;border-radius:14px;background:var(--green-soft);color:var(--green-dark);font-size:13px;text-decoration:none}.cart-notice strong{color:var(--green)}.product-grid{display:grid;grid-gap:12px;gap:12px}.product-card{display:grid;grid-template-columns:126px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:0 8px 25px rgb(22 72 52/6%)}.product-image-wrap{position:relative;min-height:168px;overflow:hidden;background:var(--cream)}.product-image{width:100%;height:100%;object-fit:cover}.agreement-tag{position:absolute;top:10px;left:9px;padding:4px 7px;border-radius:7px;background:rgb(255 255 255/88%);box-shadow:0 3px 10px rgb(27 59 45/10%);color:var(--green-dark);font-size:9px;font-weight:800}.product-content{min-width:0;padding:13px 13px 12px}.product-sku{display:block;overflow:hidden;color:var(--green);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.product-title,.section-title{margin:0;font-size:17px;line-height:1.35}.product-content .product-title{margin-top:4px;color:var(--ink-strong)}.product-standard{min-height:30px;margin:4px 0 8px;color:var(--muted);font-size:11px;line-height:1.35}.product-tags{display:flex;flex-wrap:wrap;gap:5px}.product-tags span{padding:3px 6px;border-radius:6px;background:#f2f5f2;color:#68776f;font-size:9px}.product-action-row{display:flex;gap:8px;align-items:flex-end;justify-content:space-between;margin-top:12px}.price-block{min-width:0;color:var(--orange);white-space:nowrap}.price-block strong{font-size:16px;letter-spacing:-.02em}.price-block small{margin-left:2px;color:var(--muted);font-size:9px}.price-block .price-pending{color:var(--muted);font-size:11px}.add-button{min-width:82px;min-height:44px;padding:7px 10px;border:0;border-radius:11px;background:var(--green);color:white;cursor:pointer;font-size:11px;font-weight:750;white-space:nowrap}.add-button.added{background:var(--orange)}.load-more-button{display:block;min-width:170px;min-height:46px;margin:20px auto 0;padding:10px 18px;border:1px solid var(--green);border-radius:13px;background:white;color:var(--green);cursor:pointer;font-weight:750}.load-more-button:disabled{cursor:wait;opacity:.62}.page-heading{margin:0 0 6px;color:var(--ink-strong);font-size:clamp(25px,7vw,32px);line-height:1.2;letter-spacing:-.035em}.page-subtitle{margin:0 0 22px;color:var(--muted);line-height:1.55}.stack{display:grid;grid-gap:12px;gap:12px}.card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 7px 23px rgb(26 71 54/6%)}.product-meta{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 14px;color:var(--muted);font-size:13px}.pill{padding:4px 8px;border-radius:999px;background:var(--green-soft);color:var(--green-dark)}.primary-button,.quantity-button,.secondary-button{min-height:46px;border-radius:13px;cursor:pointer;font-weight:750}.primary-button{width:100%;padding:11px 16px;border:0;background:linear-gradient(135deg,#18805a,#0e6547);box-shadow:0 9px 20px rgb(20 115 79/19%);color:white}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{padding:8px 14px;border:1px solid var(--green);background:white;color:var(--green)}.empty-state,.error-message,.notice{padding:14px;border-radius:13px;line-height:1.5}.notice{background:var(--green-soft);color:var(--green-dark)}.error-message{border:1px solid #efd1cc;background:#fff1ef;color:var(--danger)}.empty-state{border:1px dashed #b9c9c0;background:white;color:var(--muted);text-align:center}.empty-state a,.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-weight:750}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.cart-line .product-title{margin-top:4px}.cart-line .product-meta{margin-bottom:5px}.line-subtotal{color:var(--orange);font-size:13px}.quantity-control{display:grid;grid-template-columns:44px 62px 44px;grid-gap:4px;gap:4px;align-items:center}.quantity-button{width:44px;padding:0;border:1px solid var(--line);background:white;color:var(--green);font-size:20px}.quantity-input{width:62px;min-height:46px;border:1px solid var(--line);border-radius:11px;background:#f9fbf9;text-align:center}.summary-list{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0}.summary-row{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:12px;gap:12px;margin:0}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;font-weight:650;text-align:right}.summary-total{margin:3px -4px;padding:11px 4px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.summary-total dd{color:var(--orange);font-size:18px;font-weight:800}.field-label{display:grid;grid-gap:8px;gap:8px;font-weight:750}.scope-selectors{margin-top:14px}.scope-selectors select{min-height:48px;padding:8px 36px 8px 12px}.date-input,.scope-selectors select{width:100%;border:1px solid #aabdb3;border-radius:12px;background:white;color:var(--ink)}.date-input{min-height:49px;padding:10px 12px}.order-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.status-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-weight:750}@media (min-width:540px){.page{padding-right:24px;padding-left:24px}.catalog-page{padding-top:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.product-card{display:block}.product-image-wrap{height:160px;min-height:0}.product-content{padding:14px}.catalog-hero{padding-right:28px;padding-left:28px}}@media (max-width:374px){.brand-copy small,.topbar-action>span:nth-child(2){display:none}.product-card{grid-template-columns:112px minmax(0,1fr)}.product-image-wrap{min-height:180px}.product-action-row{align-items:stretch;flex-direction:column}.add-button{width:100%}.cart-line{grid-template-columns:1fr}}@media (max-width:539px){.ordering-context-banner{grid-template-columns:minmax(0,1fr)}}