*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--color-bg);color:var(--color-ink);font:400 15px/1.6 var(--font-body)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}h1,h2{letter-spacing:-.045em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button,select{touch-action:manipulation}img,svg{max-width:100%}img{display:block}button{color:inherit}fieldset{margin:0;padding:0;border:0}legend{font-weight:650;margin-bottom:12px}label{font-size:13px;font-weight:600}small{font-size:12px}.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;flex-shrink:0;vertical-align:middle}.icon.small{width:16px;height:16px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.skip-link{position:fixed;top:-80px;left:16px;background:var(--color-primary);color:white;padding:12px 20px;z-index:200}.skip-link:focus{top:12px}.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.muted{color:var(--color-muted)}.eyebrow{font:650 11px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 20px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:white;font-weight:600;font-size:13px;line-height:1.5;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);white-space:nowrap}.btn:hover,.btn[data-state=hover]{background:var(--color-hover)}.btn:active,.btn[data-state=active]{background:var(--color-active);box-shadow:inset 0 2px 3px #0002}.btn.secondary{background:white;color:var(--color-primary);border-color:var(--color-border)}.btn.secondary:hover,.btn.secondary[data-state=hover]{background:var(--color-surface-green);border-color:var(--color-accent)}.btn.secondary:active,.btn.secondary[data-state=active]{background:var(--color-surface-green)}.btn.ghost{background:transparent;color:var(--color-primary);padding:8px 10px}.btn.ghost:hover,.btn.ghost[data-state=hover]{background:var(--color-surface-green)}.btn.ghost:active,.btn.ghost[data-state=active]{background:var(--color-surface-green)}.btn:disabled,.btn[data-state=disabled]{background:var(--color-disabled);border-color:var(--color-disabled);color:var(--color-disabled-text);box-shadow:none;pointer-events:none}.btn[data-state=success]{background:var(--color-success-bg);color:var(--color-success);border-color:#B6D2BD}.btn.sm{min-height:36px;padding:7px 12px;font-size:12px}.btn.icon-btn{width:44px;padding:10px}.text-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--color-primary);font-weight:650;font-size:13px;min-height:36px;padding:4px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent}.text-link:hover,.text-link[data-state=hover]{text-decoration-color:currentColor}.text-link:active,.text-link[data-state=active]{color:var(--color-active);text-decoration-color:currentColor}.text-link[aria-disabled=true]{color:var(--color-disabled-text);pointer-events:none}.text-link[data-state=success]{color:var(--color-success);text-decoration-color:currentColor}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--radius-full);font-size:10px;line-height:1.6;font-weight:650;background:var(--color-surface-green);color:var(--color-accent);white-space:nowrap}.badge.success{background:var(--color-success-bg);color:var(--color-success)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge.error{background:var(--color-error-bg);color:var(--color-error)}.badge.neutral{background:var(--color-surface);color:var(--color-muted)}.field{display:grid;gap:7px}.input{width:100%;height:46px;border:1px solid #AEBBB1;background:white;color:var(--color-ink);border-radius:var(--radius-md);padding:10px 13px;min-width:0;font-size:13px;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.input::placeholder{color:#748178}.input:hover,.input[data-state=hover]{border-color:var(--color-accent)}.input:focus,.input[data-state=active]{outline:0;border-color:var(--color-focus);box-shadow:0 0 0 3px #26725720}.input:disabled{background:var(--color-surface);color:var(--color-disabled-text);border-color:var(--color-border)}.input[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-bg)}.input[data-state=success]{border-color:var(--color-success);background:var(--color-success-bg)}.error-text{font-size:12px;color:var(--color-error)}.check-label{display:flex;gap:9px;align-items:center;font-size:13px;cursor:pointer}.check-label input{width:17px;height:17px;accent-color:var(--color-primary);flex-shrink:0}.check-label input:disabled{cursor:not-allowed}.search-field{display:flex;gap:10px;align-items:center;position:relative;min-width:0}.search-field>.icon{position:absolute;left:14px;color:var(--color-muted);pointer-events:none}.search-field .input{padding-left:43px}.product-card{background:white;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;min-width:0;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.product-card:hover,.product-card[data-state=hover]{border-color:#99B29E;box-shadow:var(--shadow-sm)}.product-card:active,.product-card[data-state=active]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.product-card[data-state=disabled]{opacity:.6}.product-card[data-state=success]{border-color:var(--color-success);box-shadow:0 0 0 2px var(--color-success-bg)}.product-image{background:var(--product-bg,var(--color-surface));position:relative;aspect-ratio:1.15;display:grid;place-items:center;margin:9px;border-radius:6px}.product-image img{width:79%;height:90%;object-fit:contain}.product-image>.badge{position:absolute;left:11px;top:11px;background:white}.product-body{padding:11px 17px 17px}.product-category{font-size:10px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em}.product-body h3{font-size:15px;letter-spacing:-.02em;margin:6px 0}.product-unit{font-size:12px;color:var(--color-muted)}.product-buy{display:flex;justify-content:space-between;align-items:end;margin-top:17px;gap:6px}.price{font-family:var(--font-heading);font-weight:750;font-size:20px;letter-spacing:-.04em;white-space:nowrap}.price small{font-size:12px;font-weight:600}.product-buy .btn{padding:8px 11px;min-height:38px}.stock-dot{font-size:10px;color:var(--color-success);display:flex;align-items:center;gap:5px;margin-top:4px}.stock-dot:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.stock-dot.out{color:var(--color-muted)}.stock-bar{height:5px;border-radius:9px;background:var(--color-surface);overflow:hidden}.stock-bar span{display:block;height:100%;background:var(--color-accent);border-radius:9px}.stock-bar.low span{background:#AD792F}.avatar{width:40px;height:40px;display:inline-grid;place-items:center;background:var(--color-surface-green);border-radius:50%;font-size:12px;font-weight:700;color:var(--color-accent);flex-shrink:0}.empty-state{padding:56px 20px;text-align:center;grid-column:1/-1;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.empty-state>.icon{width:32px;height:32px;margin-bottom:16px}.empty-state h3{font-size:20px;margin-bottom:10px}.empty-state p{margin-bottom:20px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:var(--radius-md);background:var(--color-primary);color:white;box-shadow:var(--shadow-md);z-index:150;font-size:13px;max-width:calc(100% - 32px);width:max-content;pointer-events:none;opacity:0;transition:opacity var(--motion-fast)}.toast.visible{opacity:1}dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;width:min(560px,calc(100% - 32px));max-height:88dvh;color:var(--color-ink);box-shadow:var(--shadow-dialog);background:white}dialog::backdrop{background:#071F1780;backdrop-filter:blur(3px)}.modal-header{padding:24px 28px 20px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--color-border);gap:12px}.modal-header h2{font-size:24px}.modal-header .eyebrow{margin-bottom:8px}.modal-content{padding:24px 28px}.modal-footer{padding:18px 28px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-footer .btn{flex:1}.form-grid{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{padding:13px 15px;font-size:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.notice.success{border-color:#B6D2BD;background:var(--color-success-bg);color:var(--color-success)}.notice.error{border-color:#E1A8AA;background:var(--color-error-bg);color:var(--color-error)}.stack{display:grid;gap:20px}.divider{border:0;border-top:1px solid var(--color-border);margin:24px 0}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--color-primary);flex-shrink:0}.logo img{width:37px;height:43px}.logo-word{font-family:var(--font-heading);font-weight:800;font-size:30px;line-height:1;letter-spacing:-.07em}.logo-word small{font-family:var(--font-body);display:block;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3em;margin-top:5px;margin-left:3px}.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}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
