/* minimal styles */
.container { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; }
.card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin: 1rem 0; background: #fff; }
.mode-row, .actions { display:flex; gap: .75rem; align-items:center; flex-wrap:wrap; }
.inputs.hidden{ display:none; }
label.inline { display:flex; flex-direction:column; margin-right: .5rem; font-size:.95rem; }
input[type=text], select, button { padding:.35rem .5rem; }
.error { color:#b00020; margin-top:.5rem; }
.sub { color:#555; }
.grid-two { display:grid; grid-template-columns: 1.1fr .9fr; gap:1rem; }
@media (max-width: 980px){ .grid-two { grid-template-columns: 1fr; } }
.table { width:100%; border-collapse: collapse; margin-top:.5rem; }
.table th, .table td { border:1px solid #ddd; padding:.35rem .5rem; text-align:right; font-variant-numeric: tabular-nums; }
.table th:first-child, .table td:first-child { text-align:center; }
canvas { border: 1px solid #eee; background:#fafafa; border-radius: 6px; width:100%; height:auto; }
small.mono { font-family: ui-monospace, Menlo, Consolas, monospace; color:#555; }
.badge { display:inline-block; padding:.1rem .4rem; border-radius:.35rem; background:#eef; margin-left:.4rem; font-size:.85em; }

