:root{color:#111;background:#f4f5f7;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c8ccd2;border-radius:8px;padding:10px 14px}button.primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}button.danger{color:#fff;background:#b91c1c;border-color:#b91c1c}button:disabled{opacity:.5;cursor:default}input{font:inherit;border:1px solid #c8ccd2;border-radius:8px;width:100%;padding:10px}.app{grid-template-rows:auto 1fr;height:100vh;display:grid}.bar{color:#fff;background:#111827;align-items:center;gap:12px;padding:8px 16px;display:flex}.bar .grow{flex:1}.dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.main{grid-template-columns:1fr 360px;gap:16px;padding:16px;display:grid;overflow:hidden}.panel{background:#fff;border-radius:12px;padding:16px;overflow:auto}.lines{border-collapse:collapse;width:100%}.lines td{border-bottom:1px solid #eee;padding:6px 4px}.num{text-align:right;font-variant-numeric:tabular-nums}.total{text-align:right;margin:12px 0;font-size:32px;font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stack{gap:8px;display:grid}.error{color:#b91c1c}.muted{color:#6b7280;font-size:13px}pre{background:#f9fafb;border-radius:8px;padding:12px;font-size:12px}
