:root{--bg:#f4f6f8;--surface:#fff;--ink:#16202a;--muted:#6b7c8c;--line:#dbe2e8;--accent:#2b7a8b;--accent-soft:#e3f1f4;--good:#2f8a5b;--warn:#b0782c;--danger:#b13a3a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}.topbar{display:flex;align-items:baseline;gap:14px;padding:12px 22px;background:var(--ink);color:#fff}.topbar .brand{color:#fff;font-weight:700;font-size:1.05rem}.topbar .tag{color:#9fb4c2;font-size:.78rem;font-family:ui-monospace,monospace}.wrap{max-width:1080px;margin:22px auto;padding:0 22px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.05rem;margin:26px 0 10px}.sub{color:var(--muted);margin:0 0 18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.btn,button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:6px 12px;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.ghost{background:transparent}button.danger{color:var(--danger);border-color:#e6c4c4}button:hover{filter:brightness(.98)}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.list{flex-direction:column;gap:10px}.list,.tk{display:flex}.tk{align-items:center;gap:14px;padding:14px 16px}.tk .name{font-weight:600}.tk .meta{color:var(--muted);font-size:.85rem}.pill{font-family:ui-monospace,monospace;font-size:.75rem;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:999px}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:8px}td,th{border-bottom:1px solid var(--line)}td{padding:3px 6px}td input[type=number],td input[type=text]{width:100%;border:1px solid transparent;background:transparent;font:inherit;padding:5px 6px;border-radius:5px}td input:hover{border-color:var(--line)}td input:focus{border-color:var(--accent);background:#fff;outline:none}td.num input,td.sqft{text-align:right}td.sqft{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.saved{animation:flash .8s ease}@keyframes flash{0%{background:#fff7cf}to{background:transparent}}.empty{color:var(--muted);padding:30px;text-align:center}.bin-note{color:var(--warn);font-size:.85rem}.checkcell{text-align:center}