:root{--bg:#faf9f7;--fg:#1c1a17;--muted:#6b655c;--line:#e0dcd5;--accent:#2f6f4f;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}.app{max-width:30rem;margin:0 auto;padding:1rem 1rem 4rem}h1{font-size:1.5rem}.topbar{justify-content:space-between;align-items:center;padding:.5rem 0 1rem;display:flex}.lang{text-align:right}.lang button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.25rem .4rem;font-size:.95rem}.lang button[aria-pressed=true]{color:var(--fg);font-weight:600;text-decoration:underline}.zone{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .25rem;font-size:.8rem}.progress{color:var(--muted);font-size:.85rem}.card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:.75rem;padding:1rem}.card img{object-fit:contain;width:100%;max-width:11rem;height:11rem;margin:0 auto .5rem;display:block}.card h2{margin:0 0 .15rem;font-size:1.35rem}.froiz-name{color:var(--muted);margin:0 0 .75rem;font-size:.8rem}.amount{align-items:center;gap:.6rem;display:flex}.amount input{flex:1}.unit{color:var(--muted);white-space:nowrap;font-size:1.1rem}.card input[type=number]{text-align:center;border:2px solid var(--line);width:100%;color:var(--fg);background:#fff;border-radius:.5rem;padding:.5rem;font-size:2.5rem}.card input[type=number]:focus{border-color:var(--accent);outline:none}.actions{gap:.5rem;margin-top:1rem;display:flex}button.primary,button.secondary,button.ghost{border:1px solid var(--line);cursor:pointer;border-radius:.5rem;flex:1;padding:.85rem 1rem;font-size:1.05rem}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.secondary{color:var(--fg);background:#fff}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button:disabled{opacity:.5;cursor:default}label{margin-bottom:1rem;display:block}label span{color:var(--muted);margin-bottom:.25rem;font-size:.9rem;display:block}label input[type=text]{border:1px solid var(--line);border-radius:.5rem;width:100%;padding:.7rem;font-size:1.1rem}table{border-collapse:collapse;width:100%;font-size:.95rem}td{border-bottom:1px solid var(--line);padding:.5rem .25rem}td.num{text-align:right;white-space:nowrap}td.skipped{color:var(--muted);font-style:italic}td button.ghost{padding:.35rem .5rem;font-size:.9rem}.error{color:#8a2114;background:#fdecea;border:1px solid #f5c2bb;border-radius:.5rem;margin-bottom:1rem;padding:.75rem}
