.page{max-width:640px;margin:0 auto;padding-bottom:96px}.header{align-items:center;gap:12px;padding:12px 16px;display:flex}.header h1{flex:1;font-size:26px}.header-actions{gap:6px;display:flex}.tabs{z-index:10;background:var(--bg);scrollbar-width:none;gap:8px;padding:8px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.category{padding:8px 16px 16px;scroll-margin-top:64px}.category h2{margin:8px 0 12px;font-size:22px}.products{gap:12px;margin:0;padding:0;list-style:none;display:grid}.product{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px;display:grid}.thumb{background:color-mix(in srgb, var(--primary) 14%, var(--surface));width:72px;height:72px;color:var(--primary);border:1px solid color-mix(in srgb, var(--line) 50%, transparent);border-radius:50%;grid-row:span 2;place-items:center;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.info{gap:2px;min-width:0;display:grid}.info h3{font-size:19px}.desc{font-size:14px}.foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.price{color:var(--primary);font-weight:600}.stepper{align-items:center;gap:2px;display:flex}.stepper output{text-align:center;min-width:28px;font-weight:600}.cartbar{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:15;justify-content:space-between;max-width:608px;min-height:56px;margin:0 auto;padding:0 20px;font-size:17px;position:fixed;box-shadow:0 8px 24px #00000040}.cartbar-right{align-items:center;gap:8px;display:inline-flex}.sheet{width:min(520px,100vw - 32px);max-height:88vh;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lines{margin:0;padding:0;list-style:none}.line{border-bottom:1px solid color-mix(in srgb, var(--line) 35%, transparent);grid-template-columns:auto 1fr auto;align-items:center;gap:4px 8px;padding:8px 0;display:grid}.line-name{overflow-wrap:anywhere;grid-column:1/-1;min-width:0}.line-3{grid-template-columns:1fr auto auto}.line-total{text-align:right;white-space:nowrap;font-weight:600}.note{gap:4px;margin:12px 0;display:grid}.sum{justify-content:space-between;align-items:baseline;margin:8px 0 12px;font-size:18px;display:flex}.sum strong{font-size:24px}.wide{width:100%}.error{color:var(--danger);margin:8px 0;font-weight:600}.sent{border-radius:var(--radius);background:var(--success);color:var(--on-status);text-align:center;margin:12px 0;padding:12px;font-weight:600}.section-title{margin:16px 0 8px;font-size:20px}.qr-error{text-align:center;color:var(--danger);border:2px solid var(--danger);border-radius:var(--radius);margin:48px 16px;padding:24px;font-size:20px;font-weight:600}
