:root{--bg:#fff;--bg-sunken:#f4f5f7;--fg:#111827;--muted:#5b6474;--border:#d9dde3;--primary:#2563eb;--primary-fg:#fff;--danger:#b91c1c;--success:#15803d;--radius:10px;--space:1rem;color:var(--fg);background:var(--bg-sunken);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#171a21;--bg-sunken:#0f1115;--fg:#e8eaee;--muted:#9aa3b2;--border:#2c313b;--primary:#5b8cff;--primary-fg:#0b1020;--danger:#f87171;--success:#4ade80}}*{box-sizing:border-box}body{margin:0}h1{margin:0;font-size:1.5rem}h2{margin:0;font-size:1.15rem}p{margin:0}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.container{max-width:960px;padding:var(--space);margin:0 auto}.narrow{max-width:420px;margin:2rem auto}.stack{gap:calc(var(--space) * .75);flex-direction:column;display:flex}.row{align-items:center;gap:calc(var(--space) * .75);flex-wrap:wrap;display:flex}.spacer{flex:1}.list{margin:0;padding:0;list-style:none}.topbar{background:var(--bg);border-bottom:1px solid var(--border)}.brand{color:var(--fg);font-weight:700;text-decoration:none}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space)}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 1rem;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg);font-weight:600}.input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--fg);font:inherit;width:100%;min-width:0;padding:0 .75rem}.row>.input{flex:1;width:auto}textarea.input{min-height:6rem;padding:.5rem .75rem}.badge{background:var(--bg-sunken);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.85rem;display:inline-block}.muted{color:var(--muted)}.error{color:var(--danger)}.success{color:var(--success)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.product-link{color:var(--fg);text-decoration:none}.product-link:hover{border-color:var(--primary)}.badge{align-self:flex-start}.amount{width:8rem}.row>.amount{flex:0 8rem}.grow{flex:1}.align-end{align-items:flex-end}
