:root{--fg:#1b1d21;--muted:#6b7280;--line:#e5e7eb;--bg:#f7f7f5;--card:#fff;--accent:#1f5f8b;--warn:#a15c00;--ok:#1d7a3e}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.top{background:var(--card);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.brand{color:var(--fg);font-weight:700}.brand span{color:var(--muted);font-weight:500}nav{gap:16px;display:flex}nav a{color:var(--fg)}main{max-width:1400px;margin:0 auto;padding:24px}h1{margin:0 0 16px;font-size:22px}h2{margin:28px 0 10px;font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.card .value{margin-top:4px;font-size:22px;font-weight:650}.tablewrap{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{color:var(--muted);white-space:nowrap;background:#fafafa;font-size:12px;font-weight:600}td.r,th.r{text-align:right;white-space:nowrap}tr:last-child td{border-bottom:none}tfoot td{background:#fafafa;font-weight:650}.pill{color:#334;white-space:nowrap;background:#eef2f7;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.pill.estimate,.pill.expected,.pill.paid{color:var(--warn);background:#fff4e0}.pill.actual,.pill.received,.pill.collected,.pill.in_stock{color:var(--ok);background:#e6f4ea}.pill.overdue{color:#9b1c1c;background:#fde8e8}input,select,textarea,button{font:inherit}input,select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 6px}input.price{text-align:right;width:78px}button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:5px 12px}button.ghost{color:var(--accent);background:#fff}form.inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}details{margin-top:6px}summary{cursor:pointer;color:var(--accent)}.grid2{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:900px){.grid2{grid-template-columns:1fr}}.done{color:var(--muted);text-decoration:line-through}.login{max-width:320px;margin:12vh auto}.login input{width:100%;margin:8px 0;padding:8px}.err{color:#9b1c1c}.gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;display:block}.thumb{object-fit:cover;border:1px solid var(--line);vertical-align:middle;float:left;border-radius:6px;width:44px;height:44px;margin-right:8px}.md h2{margin:16px 0 6px;font-size:15px}.md h2:first-child{margin-top:0}.md table{margin:6px 0}.md td,.md th{padding:4px 8px}.md p,.md ul{margin:6px 0}.card .value.range{white-space:nowrap;font-size:18px}
