:root{--color-bg:#f7f5ef;--color-surface:#fff;--color-text:#1f2a1c;--color-muted:#6b7466;--color-accent:#2f7d32;--color-accent-text:#fff;--color-error:#b3261e;--radius:12px;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}.app{max-width:480px;margin:0 auto;padding:16px 16px 96px}.header__title{margin:0;font-size:28px}.header__subtitle{color:var(--color-muted);margin:4px 0 16px}.state{text-align:center;color:var(--color-muted);padding:32px 0}.notice{border-radius:var(--radius);background:#fff4d6;margin-bottom:16px;padding:12px 16px}.notice p{margin:0 0 8px}.error{color:var(--color-error)}.link{color:var(--color-accent);background:0 0;border:0;padding:0;text-decoration:underline}.button{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);min-height:44px;color:var(--color-accent);padding:10px 18px;font-weight:600}.button--primary{background:var(--color-accent);color:var(--color-accent-text)}.button--wide{width:100%}.categories{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.chip{background:var(--color-surface);min-height:36px;color:var(--color-text);border:0;border-radius:999px;flex:none;padding:6px 14px}.category__title{margin:24px 0 12px;font-size:20px}.products{gap:12px;display:grid}.card{border-radius:var(--radius);background:var(--color-surface);grid-template-columns:112px 1fr;gap:12px;padding:12px;display:grid}.card__photo{aspect-ratio:1;object-fit:cover;background:var(--color-bg);border-radius:8px;width:112px}.card__body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.card__name{margin:0;font-size:16px}.card__description,.card__stock{color:var(--color-muted);margin:0;font-size:14px}.card__price{align-items:baseline;gap:8px;display:flex}.card__old-price{color:var(--color-muted);font-size:14px}.quantity{align-items:center;gap:4px;display:inline-flex}.quantity__button{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);width:44px;height:44px;color:var(--color-accent);font-size:20px}.quantity__value{text-align:center;min-width:32px;font-weight:600}.bottom-bar{max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--color-bg) 30%);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.summary,.totals{transition:opacity .15s}.summary--stale{opacity:.5}.line{border-bottom:1px solid #e4e1d8;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.line__text{min-width:0}.line__price{color:var(--color-muted);font-size:14px}.promo{gap:8px;margin-top:16px;display:flex}.promo__accepted{margin:0}.input{border-radius:var(--radius);background:var(--color-surface);min-width:0;min-height:44px;font:inherit;border:1px solid #cfcabd;flex:1;padding:10px 12px}.totals{grid-template-columns:1fr auto;gap:6px 12px;margin:16px 0 0;display:grid}.totals dd{text-align:right;margin:0}.totals__total{font-size:18px;font-weight:700}.field{border:0;flex-direction:column;gap:6px;margin:16px 0 0;padding:0;display:flex}.field__label{padding:0;font-weight:600}textarea.input{resize:vertical}.option{align-items:flex-start;gap:10px;min-height:44px;padding:10px 0;display:flex}.option input{width:20px;height:20px;accent-color:var(--color-accent);flex:none;margin:1px 0 0}.option a{color:var(--color-accent)}.bottom-bar__total{text-align:center;margin:0 0 8px;font-weight:700}.done{color:var(--color-text)}
