:root{--bg:#f7f4ef;--surface:#fffdf9;--ink:#1c1915;--muted:#6f675e;--line:#e6dfd4;--accent:#2f6f5e;--nav-height:64px;--frame-width:430px;color:var(--ink);background:#d9d1c7;font-family:Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100dvh}.app-shell{place-items:center;min-height:100dvh;padding:12px;display:grid}.phone-frame{width:min(100%, var(--frame-width));background:var(--bg);border:1px solid var(--line);border-radius:28px;flex-direction:column;height:min(100dvh - 24px,900px);display:flex;overflow:hidden;box-shadow:0 18px 50px #1c19151f}.page{flex:1;padding:28px 20px 20px;overflow:auto}.screen h1{letter-spacing:-.03em;margin:0 0 10px;font-size:2rem}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:600}.lede{color:var(--muted);max-width:28ch;margin:0}.auth-form{flex-direction:column;gap:14px;margin-top:28px;display:flex}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.field input{border:1px solid var(--line);background:var(--surface);height:48px;color:var(--ink);border-radius:12px;padding:0 14px;font-family:inherit;font-size:16px;font-weight:400}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.form-error{color:#9b3a2f;margin:0;font-size:.85rem}.btn-primary,.btn-secondary{height:48px;font:inherit;cursor:pointer;border:0;border-radius:12px;margin-top:6px;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);margin-top:20px}.bottom-nav{height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);flex-shrink:0;grid-template-columns:repeat(4,1fr);display:grid}.nav-item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.nav-item.is-active{color:var(--accent)}.nav-icon{width:22px;height:22px}.screen{padding-bottom:24px}.screen h1{margin-bottom:8px}.topbar,.section-heading,.option-heading,.product-card-bottom,.cart-line-title,.cart-line-bottom,.order-card-top,.order-card-bottom,.profile-card-heading,.summary-card>div,.receipt-line,.detail-status-row{justify-content:space-between;align-items:center;display:flex}.topbar{margin-bottom:22px}.hello-title{margin:0!important;font-size:1.65rem!important}.cart-shortcut{width:44px;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:15px;place-items:center;text-decoration:none;display:grid;position:relative}.cart-shortcut-icon{font-size:1.55rem;line-height:1;transform:rotate(180deg)}.cart-count,.nav-cart-count{background:var(--accent);color:#fff;border-radius:20px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:grid}.cart-count{position:absolute;top:-5px;right:-5px}.catalog-banner{color:#fff;background:linear-gradient(120deg,#285c4f,#3c806a);border-radius:22px;flex-direction:column;justify-content:center;gap:8px;min-height:145px;padding:22px;display:flex;position:relative;overflow:hidden}.banner-kicker{color:#d1e4d9;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.catalog-banner strong{letter-spacing:-.03em;font-size:1.5rem;line-height:1.12}.banner-art{opacity:.23;font-size:6.5rem;position:absolute;bottom:-12px;right:19px;transform:rotate(-14deg)}.section-heading{align-items:end;margin:26px 0 14px}.section-heading h2{margin:0;font-size:1.25rem}.section-heading .eyebrow{margin-bottom:4px}.product-count,.sample-note{color:var(--muted);font-size:.75rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-card{border:1px solid var(--line);background:var(--surface);min-width:0;color:inherit;border-radius:18px;text-decoration:none;overflow:hidden}.product-art{place-items:center;height:132px;display:grid;position:relative;overflow:hidden}.product-art svg,.product-art img{object-fit:contain;width:142px;height:120px}.art-label{color:#554c40;background:#fffdf9d9;border-radius:99px;padding:4px 7px;font-size:.58rem;font-weight:650;position:absolute;bottom:8px;left:9px}.product-card-copy{padding:11px 11px 12px}.product-card-copy h3{margin:0 0 4px;font-size:.88rem}.product-card-copy p{min-height:30px;color:var(--muted);margin:0;font-size:.68rem;line-height:1.5}.product-card-bottom{color:var(--muted);margin-top:8px;font-size:.67rem}.product-card-bottom strong{color:var(--ink);font-size:.8rem}.arrow-button{width:25px;height:25px;color:var(--accent);background:#edf3ef;border-radius:9px;place-items:center;font-size:1rem;display:grid}.sample-note{text-align:center;margin:16px 0 0}.login-screen{padding:0 0 12px}.login-brand-row{align-items:center;gap:12px;margin:2px 0 24px;display:flex}.login-brand-mark{background:linear-gradient(145deg,#eef5ef,#dcebe1);border:1px solid #d3e2d8;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 5px 12px #285d5014}.login-brand-mark svg{width:43px;height:40px}.login-brand-row strong,.login-brand-row span{display:block}.login-brand-row>div:last-child{white-space:nowrap;flex:1;align-items:baseline;gap:5px;min-width:0;display:flex}.login-brand-row strong{color:#285d50;letter-spacing:-.05em;font-size:clamp(1.08rem,5vw,1.4rem);font-weight:800}.login-brand-row span{color:#4b6558;letter-spacing:-.04em;margin-top:0;font-size:clamp(.88rem,4.1vw,1.08rem);font-weight:750}.login-welcome{margin-bottom:22px}.login-welcome .eyebrow{margin-bottom:5px;font-size:.7rem}.login-welcome h1{letter-spacing:-.04em!important;margin:0 0 6px!important;font-size:2rem!important}.login-welcome>p:last-child{color:var(--muted);margin:0;font-size:.83rem;line-height:1.5}.login-form-card{border:1px solid var(--line);background:var(--surface);border-radius:21px;padding:21px 18px 19px;box-shadow:0 12px 30px #30271d0b}.login-form-card h2{letter-spacing:-.025em;margin:0;font-size:1.2rem}.login-form-intro{color:var(--muted);margin:5px 0 0;font-size:.76rem;line-height:1.45}.login-form{gap:15px;margin-top:21px}.login-field{color:#514b43;gap:7px;font-size:.74rem}.login-field input{background:#fff;border-radius:13px;height:49px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:#4a8974;outline:none;box-shadow:0 0 0 3px #2f6f5e1a}.login-field input::placeholder{color:#aaa197}.login-submit{background:linear-gradient(105deg,#2f6f5e,#3b806c);border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;height:51px;margin-top:3px;transition:transform .15s,box-shadow .15s,filter .15s;display:flex;box-shadow:0 8px 16px #2f6f5e2c}.login-submit:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 11px 20px #2f6f5e38}.login-submit span{font-size:1.1rem}.login-error{background:#fff5f3;border:1px solid #f0c9c4;border-radius:11px;padding:10px 12px}.login-support-note{color:var(--muted);text-align:center;margin:15px 8px 0;font-size:.68rem;line-height:1.5}.back-link{color:var(--muted);align-items:center;gap:7px;margin:0 0 18px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:first-letter{font-size:1.5rem}.detail-art{border-radius:24px;place-items:center;height:210px;margin-bottom:22px;display:grid}.detail-art svg,.detail-art img{object-fit:contain;width:245px;height:195px}.details-screen h1{margin:0 0 5px}.details-description{color:var(--muted);margin:0;font-size:.88rem}.option-block{margin-top:26px}.option-heading{margin-bottom:12px}.option-heading h2,.checkout-card h2{margin:0;font-size:.98rem}.option-heading>span{color:var(--muted);font-size:.72rem}.size-options{gap:8px;display:grid}.size-option{border:1px solid var(--line);color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.size-option strong{font-size:.88rem}.size-option span{color:var(--muted);font-size:.76rem}.size-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#f1f7f3}.quantity-block{margin-bottom:22px}.quantity-control,.mini-quantity{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;display:flex;overflow:hidden}.quantity-control{width:150px;height:44px}.quantity-control button,.mini-quantity button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:1.25rem}.quantity-control button{width:44px;height:100%}.quantity-control input{text-align:center;width:60px;font:inherit;appearance:textfield;background:0 0;border:0;outline:0;font-weight:700}.quantity-control input::-webkit-inner-spin-button{appearance:none}.detail-buybar{border:1px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.detail-buybar div{gap:2px;display:grid}.detail-buybar div span{color:var(--muted);font-size:.68rem}.detail-buybar div strong{font-size:1.05rem}.detail-buybar .btn-primary{margin:0;padding:0 14px}.text-action,.text-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.83rem;font-weight:700;text-decoration:none;display:inline-block}.text-action{margin:14px auto 0;display:block}.cart-lines,.order-list{gap:12px;margin-top:22px;display:grid}.cart-line,.order-card,.checkout-card,.summary-card,.profile-card,.info-card{border:1px solid var(--line);background:var(--surface);border-radius:17px}.cart-line{gap:11px;padding:11px;display:flex}.cart-line-art{border-radius:12px;flex:0 0 76px;place-items:center;height:84px;display:grid}.cart-line-art svg,.cart-line-art img{object-fit:contain;width:74px;height:73px}.cart-line-info{flex:1;min-width:0}.cart-line-title{align-items:flex-start;gap:4px}.cart-line-title h2{margin:1px 0 4px;font-size:.83rem}.cart-line-title p{color:var(--muted);margin:0;font-size:.68rem}.remove-button{color:#9b5144;cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:.65rem}.cart-line-bottom{margin-top:12px}.cart-line-bottom>strong{font-size:.82rem}.mini-quantity{gap:6px;height:30px}.mini-quantity button{width:27px;height:100%;font-size:1rem}.mini-quantity span{text-align:center;min-width:26px;font-size:.72rem;font-weight:700}.continue-link{color:var(--accent);margin:17px 0;font-size:.8rem;font-weight:650;text-decoration:none;display:inline-block}.summary-card{gap:13px;padding:16px;display:grid}.summary-card>div{color:var(--muted);gap:12px;font-size:.82rem}.summary-card>div strong{color:var(--ink)}.summary-card .summary-total{border-top:1px solid var(--line);color:var(--ink);padding-top:13px;font-size:.95rem;font-weight:700}.summary-total strong{font-size:1.05rem}.full-button{width:100%;margin:4px 0 0}.empty-state{text-align:center;justify-items:center;gap:9px;margin:50px 0 20px;display:grid}.empty-icon{width:62px;height:62px;color:var(--accent);background:#e5eee8;border-radius:20px;place-items:center;font-size:2rem;display:grid}.empty-state h2{margin:6px 0 0;font-size:1.15rem}.empty-state p{max-width:27ch;color:var(--muted);margin:0;font-size:.85rem}.button-link{justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.empty-state .button-link{margin-top:10px}.order-card{color:inherit;padding:15px;text-decoration:none;display:block}.order-number{color:var(--muted);font-size:.73rem;font-weight:700}.status-pill{border-radius:99px;align-items:center;min-height:23px;padding:3px 9px;font-size:.65rem;font-weight:700;display:inline-flex}.status-processing{color:#906514;background:#f8edcf}.status-in-transit{color:#376e9a;background:#e4f0f7}.status-delivered{color:#367354;background:#e2f0e7}.status-cancelled{color:#98483d;background:#f7e5e1}.order-card h2{margin:12px 0 3px;font-size:.92rem}.order-card p{color:var(--muted);margin:0;font-size:.75rem}.order-card-bottom{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:11px;font-size:.72rem}.order-card-bottom strong{color:var(--ink);font-size:.88rem}.detail-status-row{color:var(--muted);justify-content:flex-start;gap:11px;margin:14px 0 20px;font-size:.75rem}.invoice-download{margin-bottom:12px}.order-detail-items h2,.confirmation-items h2{margin:0 0 2px;font-size:.98rem}.receipt-line{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:12px 0}.receipt-line>div{gap:4px;display:grid}.receipt-line strong{font-size:.8rem}.receipt-line span{color:var(--muted);font-size:.69rem}.receipt-line>strong{white-space:nowrap}.order-detail-items .summary-total,.confirmation-items .summary-total{margin-top:1px}.info-card{margin-top:12px;padding:14px;position:relative}.info-card>span{color:var(--muted);font-size:.7rem}.info-card p{margin:5px 50px 0 0;font-size:.82rem;line-height:1.5}.info-card a{color:var(--accent);font-size:.73rem;font-weight:700;text-decoration:none;position:absolute;top:13px;right:14px}.order-detail-items+.info-card{margin-top:13px}.screen>.btn-secondary.button-link{margin-top:16px}.checkout-card{gap:13px;margin-top:17px;padding:16px;display:grid}.checkout-card-heading{justify-content:space-between;align-items:center;display:flex}.checkout-card-heading>span{color:var(--accent);font-size:1.4rem}.checkout-card .eyebrow{margin:0 0 4px}.field textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:12px;padding:11px 14px;font-size:.9rem}.payment-option{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.payment-option.selected{border-color:var(--accent);background:#f1f7f3}.payment-option input{accent-color:var(--accent)}.payment-option span{gap:3px;display:grid}.payment-option strong{font-size:.8rem}.payment-option small{color:var(--muted);font-size:.68rem}.checkout-summary{margin-top:16px}.confirmation-items{margin:18px 0 14px}.confirmation-note{color:var(--muted);margin:14px 0;font-size:.75rem;line-height:1.5}.profile-identity{align-items:center;gap:12px;margin:23px 0 18px;display:flex}.avatar{width:54px;height:54px;color:var(--accent);background:#e0eee5;border-radius:18px;place-items:center;font-weight:800;display:grid}.profile-identity h2{margin:0 0 3px;font-size:1rem}.profile-identity p{color:var(--muted);margin:0;font-size:.77rem}.profile-card{padding:16px}.profile-card-heading{align-items:flex-start;margin-bottom:14px}.profile-card-heading .eyebrow{margin:0 0 4px}.user-id{color:var(--muted);font-size:.7rem}.profile-field{border-top:1px solid var(--line);gap:5px;padding:12px 0;display:grid}.profile-field span{color:var(--muted);font-size:.68rem}.profile-field strong{overflow-wrap:anywhere;font-size:.81rem;font-weight:600}.profile-field input{border:1px solid var(--line);width:100%;height:42px;font:inherit;background:#fff;border-radius:10px;padding:0 11px;font-size:16px}.profile-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;display:grid}.profile-actions .btn-primary,.profile-actions .btn-secondary{margin:0}.signout-button{color:#994c40;text-align:left;width:100%;font:inherit;cursor:pointer;background:#fffaf8;border:1px solid #ead8d2;border-radius:14px;gap:4px;margin-top:14px;padding:14px;font-size:.83rem;font-weight:700;display:grid}.signout-button span{color:var(--muted);font-size:.7rem;font-weight:400}.saved-message{color:var(--accent);margin:0 0 10px;font-size:.78rem}.success-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex}.success-mark{color:#fff;background:var(--accent);border-radius:26px;place-items:center;width:76px;height:76px;margin-bottom:22px;font-size:2.2rem;display:grid}.success-mark.cancelled{background:#98483d}.success-screen h1{margin-bottom:8px}.success-screen .lede{max-width:29ch}.success-order-card{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:16px;grid-template-columns:1fr auto;gap:8px 15px;width:100%;margin:26px 0 16px;padding:16px;display:grid}.success-order-card span{color:var(--muted);font-size:.75rem}.success-order-card strong{font-size:.83rem}.success-home{margin-bottom:0}.nav-icon-wrap{place-items:center;display:grid;position:relative}.nav-cart-count{min-width:16px;height:16px;font-size:.58rem;position:absolute;top:-6px;right:-9px}.catalog-cup-card .product-art{height:132px}.catalog-cup-card .product-art svg,.catalog-cup-card .product-art img{object-fit:contain;width:142px;height:120px}.catalog-cup-card .product-card-copy{padding:12px}.catalog-cup-card .product-card-copy h3{font-size:.95rem}.catalog-cup-card .product-card-copy p{min-height:auto}.catalog-cup-card .product-card-bottom{margin-top:13px}.variant-options{gap:12px;margin-top:22px;display:grid}.variant-option-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:15px}.variant-card-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.variant-card-title h2{margin:0;font-size:1rem}.variant-card-title span{color:var(--muted);font-size:.75rem}.detail-field{grid-template-columns:1fr 1.3fr;align-items:center;gap:12px;margin-top:10px;display:grid}.detail-field span{color:var(--muted);font-size:.77rem;font-weight:650}.detail-field select,.detail-field input{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 11px;font-size:.82rem}.detail-field input{text-align:right;font-size:16px}.detail-field input:disabled{opacity:.5}.detail-feedback{color:var(--accent);text-align:center;margin:12px 0;font-size:.78rem}.api-note{color:#765b23;background:#f8edcf;border-radius:10px;margin:14px 0;padding:10px 12px;font-size:.72rem;line-height:1.45}.empty-catalog{color:var(--muted);text-align:center;padding:20px 0;font-size:.85rem}.quote-note{color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.cart-quantity-label{color:var(--muted);margin-left:8px;font-size:.7rem}.request-receipt-line{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:11px 0;display:grid}.request-receipt-line svg,.request-receipt-line img{object-fit:contain;width:50px;height:50px}.request-receipt-line>div{gap:3px;display:grid}.request-receipt-line strong{font-size:.77rem}.request-receipt-line span{color:var(--muted);font-size:.69rem}.request-error{color:#994c40;background:#fff0ed;border-radius:10px;margin:12px 0;padding:11px;font-size:.76rem;line-height:1.45}.orders-heading{justify-content:space-between;align-items:center;display:flex}.orders-heading h1{margin-bottom:8px}.status-pending{color:#906514;background:#f8edcf}.status-confirmed{color:#367354;background:#e2f0e7}.order-card-bottom>span:last-child{color:var(--muted);font-size:.68rem}.receipt-line{align-items:flex-start}.order-detail-items .receipt-line>div{width:100%}.order-detail-items .receipt-line span{display:block}@media (width<=370px){.page{padding-left:14px;padding-right:14px}.product-grid{gap:8px}.product-card-copy{padding-left:8px;padding-right:8px}.product-card-copy h3{font-size:.8rem}.size-option{padding:12px 10px}.size-option span{font-size:.68rem}}@media (width<=480px){.app-shell{padding:0}.phone-frame{width:100%;height:100dvh;box-shadow:none;border:0;border-radius:0}}
