:root{--ink:#111;--mute:#555;--line:#d4d4d4;--bg:#f7f7f5;--card:#fff}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}main{max-width:920px;margin:0 auto;padding:32px 20px 80px}h1{letter-spacing:.02em;margin:0 0 4px;font-size:2rem}h2{margin:0 0 12px;font-size:1.1rem}.sub{color:var(--mute);margin:0 0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;padding:20px}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.grid{grid-template-columns:1fr}}label{color:var(--mute);margin-bottom:4px;font-size:.85rem;display:block}input[type=text],input[type=number]{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:6px;padding:10px}.row{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:8px 0;display:flex}.row:last-child{border-bottom:0}.row .name{flex:1}.row input[type=number]{width:76px}.tag{border:1px solid var(--line);color:var(--mute);border-radius:99px;margin-left:6px;padding:1px 8px;font-size:.7rem}.btns{flex-wrap:wrap;gap:10px;display:flex}button{font:inherit;border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:10px 16px}button.primary{background:var(--ink);color:#fff}button:disabled{opacity:.5;cursor:default}.note{color:var(--mute);font-size:.85rem}.err{color:#a00;margin-top:8px}.ok{color:#064;margin-top:8px}
