/* Page + frame padding (does not affect per-cell measurement) */
body {
	margin: 0;
	font: 14px system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	padding: 8px;                 /* outer gutter */
	box-sizing: border-box;
}

header {
	padding: 10px 12px;           /* a touch more breathing room */
	border-bottom: 1px solid black;
	display: flex;
	justify-content: space-between;
}

.shell {
	margin: 8px 0;
	padding: 12px;                /* inner frame padding */
	border: 1px solid black;
	box-sizing: border-box;       /* keep width predictable */
}

.bar h2 {
	margin: 0 0 6px 0;            /* small separation from APR row */
}

/* Table wrapper gets padding; content area shrinks slightly but math still holds */
.ledger__tablewrap {
	overflow-x: auto;
	overflow-y: hidden;
	max-width: 100%;
	padding: 0;              /* ← remove padding from the scroller */
	box-sizing: border-box;
}

.ledger__pad {
	padding: 6px 8px;        /* ← the visual gutter now lives here */
	box-sizing: border-box;
}

/* Keep cell padding modest so column mins don’t inflate much */
.ledger__table th,
.ledger__table td {
	border: 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding: 4px;                 /* unchanged = stable mins */
	text-align: left;
	white-space: nowrap;
	overflow: visible;
}

/* Inputs: keep as-is (does affect mins slightly if changed) */
td input {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 2px 4px;
	border: 1px solid #888;
}
