:root{--bg:#14130f;--panel:#1b1a15;--panel-2:#232119;--fg:#f2efe6;--muted:#9a948a;--line:#2f2c24;--accent:#e07a3c;--ok:#4c9a5a;--warn:#d1a13a;--bad:#cf5a4a;--radius:12px}@media (prefers-color-scheme:light){:root{--bg:#fbfaf7;--panel:#fff;--panel-2:#f3f1ea;--fg:#16150f;--muted:#6b6759;--line:#e6e2d6;--accent:#b4541e}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font:400 16px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.topbar .store{font-weight:600}.topbar .spacer{flex:1}.badge{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:100px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.85rem;display:inline-flex}.badge .dot{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem}.badge.ok .dot{background:var(--ok)}.badge.warn .dot{background:var(--warn)}.badge.bad .dot{background:var(--bad)}.scan{background:var(--panel);border-bottom:1px solid var(--line);padding:.9rem}.scan input{letter-spacing:.02em;background:var(--panel-2);border:2px solid var(--line);border-radius:var(--radius);outline:none;width:100%;padding:.9rem 1rem;font-size:1.25rem}.scan input:focus{border-color:var(--accent)}.scan .hint{color:var(--muted);margin-top:.5rem;font-size:.85rem}.scan .hint.error{color:var(--bad)}.cart{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.cart .empty{height:100%;color:var(--muted);text-align:center;place-items:center;padding:2rem;display:grid}.line{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.line .name{font-weight:500}.line .sub{color:var(--muted);font-size:.85rem}.line .sum{font-variant-numeric:tabular-nums;font-weight:600}.line .rm{border:1px solid var(--line);width:2.2rem;height:2.2rem;color:var(--muted);background:0 0;border-radius:8px}.foot{background:var(--panel);border-top:1px solid var(--line);padding:.9rem}.total{justify-content:space-between;align-items:baseline;margin-bottom:.8rem;display:flex}.total .label{color:var(--muted)}.total .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.pay{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.pay button{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);padding:1rem;font-size:1.05rem;font-weight:600}.pay button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.pay button:disabled{opacity:.4;cursor:not-allowed}.pair{max-width:26rem;margin:0 auto;padding:3rem 1.25rem}.pair h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.5rem}.pair p{color:var(--muted);margin:0 0 1.5rem}.pair input{background:var(--panel-2);border:2px solid var(--line);border-radius:var(--radius);outline:none;width:100%;margin-bottom:.75rem;padding:.85rem 1rem}.pair input:focus{border-color:var(--accent)}.pair button{border-radius:var(--radius);background:var(--accent);color:#fff;border:none;width:100%;padding:.95rem;font-weight:600}.pair .err{color:var(--bad);margin-top:.75rem;font-size:.9rem}.brand{letter-spacing:-.02em;font-weight:700}.brand span{color:var(--accent)}.toast{background:var(--ok);color:#fff;border-radius:100px;padding:.7rem 1.1rem;font-weight:600;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.toast.bad{background:var(--bad)}
