:root{color-scheme:light;--ink:#14281f;--ink-soft:#3d4d43;--muted:#68766e;--line:#e5ebe6;--surface:#ffffff;--canvas:#f5f8f5;--band:#f1f5f2;--green:#176b4b;--green-dark:#10543a;--green-deep:#0f3d2b;--green-soft:#e9f4ee;--red:#b5443f;--red-soft:#fbeceb;--shadow:0 16px 48px rgba(22,43,31,0.1);--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--ink);background:var(--canvas);font-family:DM Sans,system-ui,sans-serif;font-size:var(--fs-base);line-height:1.45;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.02em}:focus-visible{outline:3px solid rgba(23,107,75,.35);outline-offset:2px}.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}.muted{color:var(--muted)}.btn{min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;color:white;background:var(--green);font-weight:700;font-size:var(--fs-md);transition:background .15s}.btn:hover{background:var(--green-dark)}.btn.secondary{border-color:var(--line);background:white;color:var(--ink)}.btn.secondary:hover{border-color:#bbcec1;background:#fbfdfb}.btn.ghost{background:transparent;color:var(--green)}.btn.ghost:hover{background:var(--green-soft)}.btn.small{min-height:36px;padding:0 12px}.btn.block{width:100%}.btn:disabled{cursor:not-allowed;opacity:.55}.link-button{border:0;background:none;padding:0;text-decoration:underline}.link-button,.small-link{color:var(--green);font-weight:700}.small-link{font-size:var(--fs-md)}.small-link:hover{text-decoration:underline}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:var(--fs-sm);font-weight:700;color:var(--ink-soft)}.hint{color:var(--muted);font-size:var(--fs-xs)}.input,.textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:white;font-size:16px}.textarea{resize:vertical;min-height:84px}.input:focus,.textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(23,107,75,.15)}.notice{margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-md);background:var(--green-soft);color:var(--green-dark);font-size:var(--fs-md)}.notice.error{background:var(--red-soft);color:var(--red)}.notice.warning{background:var(--band);color:var(--ink-soft)}.notice.success{background:var(--green-soft);color:var(--green-dark);font-weight:600}.loading{padding:48px 16px;color:var(--muted)}.empty,.loading{text-align:center}.empty{padding:48px 20px;background:white;border:1px dashed var(--line);border-radius:var(--radius-lg)}.empty h3{margin-bottom:6px}.empty p{color:var(--muted)}.empty p,.panel{margin-bottom:18px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.panel h2{font-size:var(--fs-lg);margin-bottom:14px}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--band);color:var(--ink-soft);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.badge.status-delivered{background:var(--green-soft);color:var(--green)}.badge.status-shipped{background:var(--green-soft);color:var(--green-dark)}.cell-sub{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.cell-sub.warn{color:var(--red);font-weight:700}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Manrope,system-ui,sans-serif;font-weight:800}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(21,77,55,.12);background:var(--green-soft)}.brand-mark-image{display:block;width:24px;height:auto}.brand-name{font-size:var(--fs-lg);letter-spacing:-.03em}.shop-header{position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid var(--line)}.shop-header-inner{max-width:1180px;margin:0 auto;padding:10px 16px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand actions" "nav nav";align-items:center;gap:8px 12px}.shop-header .brand{grid-area:brand}.shop-nav{grid-area:nav;display:flex;gap:4px}.shop-nav a{padding:8px 14px;border-radius:999px;color:var(--ink-soft);font-weight:700;font-size:var(--fs-md)}.shop-nav a:hover{background:var(--band)}.shop-nav a.active{background:var(--green-soft);color:var(--green)}.shop-header-actions{grid-area:actions;display:flex;align-items:center;gap:8px}.cart-link{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:var(--fs-md)}.cart-link.active,.cart-link:hover{border-color:var(--green);color:var(--green)}.cart-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--green);color:white;font-size:11px;display:grid;place-items:center}.account-menu{position:relative}.account-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 6px;border:0;background:none;border-radius:999px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-weight:800}.account-name{display:none;font-weight:700;font-size:var(--fs-md);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;padding:6px;background:white;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow);display:grid}.account-popover a,.account-popover button{padding:10px 12px;border:0;background:none;border-radius:var(--radius-sm);text-align:left;font-weight:600;font-size:var(--fs-md)}.account-popover a:hover,.account-popover button:hover{background:var(--band)}.shop-main{max-width:1180px;margin:0 auto;padding:20px 16px 64px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.page-head h1{font-size:var(--fs-2xl);margin-bottom:4px}.page-head p{margin-bottom:0;color:var(--muted)}.catalog-tools{margin-bottom:12px}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;scrollbar-width:thin}.chip-button{flex:none;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:white;font-weight:700;font-size:var(--fs-sm);color:var(--ink-soft)}.chip-button:hover{border-color:#bbcec1}.chip-button.active{background:var(--green);border-color:var(--green);color:white}.chip{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--band);color:var(--ink-soft);font-size:var(--fs-xs);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{background:white;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.product-card,.product-card-body{display:flex;flex-direction:column}.product-card-body{align-items:flex-start;gap:6px;padding:0 0 10px;border:0;background:none;text-align:left;flex:1 1;width:100%}.product-card-body>:not(.product-image){margin:0 12px}.product-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--band);border-bottom:1px solid var(--line)}.product-image.placeholder{display:grid;place-items:center;color:var(--green);font:800 34px Manrope,sans-serif;background:linear-gradient(135deg,var(--green-soft),var(--band))}.product-image.large{aspect-ratio:16/10}.product-category{margin-top:6px;color:var(--muted);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.product-name{font-weight:700;font-size:var(--fs-md);line-height:1.3}.product-facts,.product-price{display:flex;flex-wrap:wrap;gap:6px}.product-price{margin-top:auto;padding-top:4px;align-items:baseline}.product-price strong{font:800 var(--fs-xl) Manrope,sans-serif}.product-price.big strong{font-size:var(--fs-3xl)}.price-unit{color:var(--muted);font-size:var(--fs-sm)}.product-card-actions{padding:0 12px 12px}.load-more{display:flex;justify-content:center;margin-top:22px}.stepper{display:flex;align-items:stretch;height:44px;border:1px solid var(--green);border-radius:var(--radius-sm);overflow:hidden;background:white}.stepper-button{width:44px;border:0;background:var(--green-soft);color:var(--green);font-size:22px;font-weight:700}.stepper-button:hover:not(:disabled){background:#d9ece2}.stepper-button:disabled{opacity:.5;cursor:not-allowed}.stepper-input{flex:1 1;min-width:0;width:56px;border:0;text-align:center;font-weight:800;font-size:16px;background:white}.stepper-input:focus{outline:none;background:var(--green-soft)}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:rgba(15,30,22,.5);display:grid;place-items:end center}.dialog{position:relative;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:white;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dialog-close{position:absolute;top:10px;right:10px;z-index:1;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:24px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.15)}.dialog-body{padding:18px 18px 22px}.dialog-body h2{font-size:var(--fs-2xl);margin:4px 0 10px}.dialog-description{color:var(--ink-soft);white-space:pre-wrap}.fact-list{margin:14px 0;display:grid;gap:8px}.fact-list>div{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:var(--fs-md)}.fact-list dt{color:var(--muted)}.fact-list dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.fact-list.wide>div{font-size:var(--fs-base)}.dialog-buy{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;flex-wrap:wrap}.dialog-buy .stepper{min-width:160px}.cart-layout{display:grid;gap:18px}.cart-lines{display:grid;gap:10px;align-content:start}.cart-line{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main total" "stepper remove";gap:10px 12px;align-items:center;padding:14px;background:white;border:1px solid var(--line);border-radius:var(--radius-md)}.cart-line.unavailable{background:var(--red-soft);border-color:#f0d6d4}.cart-line-main{grid-area:main;display:grid;gap:2px}.cart-line .stepper{grid-area:stepper;max-width:170px}.cart-line-total{grid-area:total;font:800 var(--fs-lg) Manrope,sans-serif;text-align:right}.cart-line .btn.ghost{grid-area:remove;justify-self:end}.cart-summary{padding:18px;background:white;border:1px solid var(--line);border-radius:var(--radius-lg);align-self:start}.cart-summary h2{font-size:var(--fs-lg);margin-bottom:14px}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--ink-soft)}.summary-row.total{padding:10px 0 14px;margin-bottom:8px;border-top:1px solid var(--line);color:var(--ink);font-size:var(--fs-lg)}.cart-summary .hint{margin:12px 0}.order-list{display:grid;gap:12px}.order-card{display:grid;gap:14px;padding:16px;background:white;border:1px solid var(--line);border-radius:var(--radius-lg)}.order-card:hover{border-color:#bbcec1;box-shadow:0 6px 20px rgba(22,43,31,.06)}.order-card-head{display:flex;justify-content:space-between;gap:12px}.order-card-total{text-align:right}.detail-grid{display:grid;gap:18px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.data-table th{text-align:left;padding:8px 10px;color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.data-table td,.data-table th{border-bottom:1px solid var(--line)}.data-table td{padding:12px 10px;vertical-align:top}.data-table tfoot td{border-bottom:0}.align-right{text-align:right!important}.order-note{margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--band)}.order-note p{margin:4px 0 0;color:var(--ink-soft);white-space:pre-wrap}.order-receiving-panel>p{margin:0;color:var(--ink-soft)}.order-receiving-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.order-receiving-row:first-of-type{border-top:0;padding-top:0}.order-receiving-row p{max-width:520px;margin:0;color:var(--ink-soft);text-align:right}@media (max-width:560px){.order-receiving-row{display:grid;gap:6px}.order-receiving-row p{text-align:left}}.status-steps{list-style:none;margin:0;padding:4px 0;display:grid;grid-template-columns:repeat(3,1fr)}.status-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--muted);font-size:var(--fs-sm);font-weight:700}.status-step:before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line)}.status-step:first-child:before{display:none}.status-step.current:before,.status-step.done:before{background:var(--green)}.status-step-dot{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:white;font-size:var(--fs-md)}.status-step.done .status-step-dot{background:var(--green);border-color:var(--green);color:white}.status-step.current .status-step-dot{border-color:var(--green);color:var(--green);box-shadow:0 0 0 5px var(--green-soft)}.status-step.current{color:var(--green-dark)}.status-step.done{color:var(--ink)}.status-steps.compact .status-step-dot{width:26px;height:26px;font-size:var(--fs-xs)}.status-steps.compact .status-step:before{top:12px}.status-steps.compact .status-step{font-size:var(--fs-xs);gap:6px}.order-cancelled-banner{padding:12px 14px;border-radius:var(--radius-md);background:var(--band);color:var(--ink-soft);font-weight:700}.timeline{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid var(--line);display:grid;gap:16px}.timeline li{position:relative;display:flex;flex-wrap:wrap;gap:4px 12px}.timeline li:before{content:"";position:absolute;left:-23px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--green)}.timeline li span{color:var(--muted);font-size:var(--fs-sm)}.timeline li p{flex-basis:100%;margin:0;color:var(--ink-soft)}.account-panel{max-width:560px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,var(--green-soft),transparent),var(--canvas)}.auth-card{width:100%;max-width:440px;padding:28px 22px;background:white;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.auth-brand{margin-bottom:18px}.auth-card h1{font-size:var(--fs-2xl);margin-bottom:6px}.auth-lead{color:var(--muted);margin-bottom:18px}.password-row{position:relative}.password-row .input{padding-right:52px}.password-toggle{position:absolute;top:50%;right:7px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);transform:translateY(-50%)}.password-toggle:hover{background:var(--green-soft)}.password-toggle img{display:block;width:20px;height:20px}.auth-switch{margin:18px 0 0;text-align:center;color:var(--ink-soft)}.auth-switch a{color:var(--green);font-weight:700}.auth-fineprint{margin:14px 0 0;text-align:center;color:var(--muted);font-size:var(--fs-xs)}@media (min-width:700px){.shop-header-inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav actions";padding:12px 24px;gap:16px}.shop-nav{justify-content:center}.account-name{display:inline}.shop-main{padding:28px 24px 80px}.page-head h1{font-size:var(--fs-3xl)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dialog-backdrop{place-items:center;padding:20px}.dialog{border-radius:var(--radius-lg)}.catalog-tools .input{max-width:460px}.cart-line{grid-template-columns:minmax(160px,1fr) 170px 100px auto;grid-template-areas:"main stepper total remove"}.cart-line .stepper{max-width:none}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.auth-card{padding:34px 32px}}@media (min-width:960px){.cart-layout{grid-template-columns:minmax(0,1fr) 340px}}@media (min-width:1000px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.brand-logo{display:block;height:34px;width:auto;max-width:160px;object-fit:contain}.page-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.print-only{display:none}.invoice-heading{flex-direction:column;gap:2px;margin-bottom:12px}@media print{.no-print,.notice,.order-status-steps,.page-head-actions,.shop-header,.small-link,.timeline{display:none!important}.print-only{display:flex}body{background:#fff}}