/* Ledger (simulated system): a dense, legacy-style look. */
* { box-sizing: border-box; }
body { margin: 0; background: #d4d0c8; color: #000; font: 12px/1.35 "Courier New", Courier, monospace; }
.sim { background: #8b0000; color: #fff; text-align: center; font-weight: bold; padding: 2px; letter-spacing: 1px; }
header { background: #000080; color: #fff; padding: 3px 6px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
header .sys { font-weight: bold; background: #fff; color: #000080; padding: 0 4px; }
header .scr { font-weight: bold; color: #ffff80; }
header .right { margin-left: auto; }
nav { background: #c0c0c0; border-bottom: 2px solid #808080; padding: 2px 6px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
nav a { color: #000080; }
main { padding: 6px 8px; }
footer { border-top: 1px solid #808080; padding: 4px 8px; color: #8b0000; font-weight: bold; }
h2 { font-size: 13px; background: #808080; color: #fff; margin: 8px 0 4px; padding: 1px 4px; }
table { border-collapse: collapse; background: #fff; margin-bottom: 6px; }
th, td { border: 1px solid #808080; padding: 1px 4px; text-align: left; vertical-align: top; }
th { background: #e0e0e0; font-weight: bold; }
td.n { text-align: right; }
tr.late td { color: #b00000; font-weight: bold; }
input, select, textarea, button { font: inherit; border: 1px solid #404040; background: #fff; padding: 1px 2px; }
button { background: #e0e0e0; cursor: pointer; padding: 1px 8px; }
textarea { width: 100%; }
form.inline { display: inline; }
.grid { display: grid; grid-template-columns: max-content 1fr; gap: 2px 8px; align-items: center; background: #ece9e1;
        border: 1px solid #808080; padding: 4px; max-width: 760px; }
.grid label { font-weight: bold; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.box { border: 1px solid #808080; background: #ece9e1; padding: 4px; margin-bottom: 6px; }
.msg { background: #ffffc0; border: 1px solid #a0a000; padding: 2px 4px; margin-bottom: 4px; }
.err { background: #ffd0d0; border: 1px solid #b00000; padding: 2px 4px; margin-bottom: 4px; font-weight: bold; }
.img { width: 100%; height: 78vh; border: 1px solid #404040; background: #fff; }
.letter { background: #fff; max-width: 720px; padding: 24px; border: 1px solid #808080; white-space: pre-wrap; }
.letter .foot { margin-top: 24px; color: #8b0000; font-weight: bold; white-space: normal; }
.help { background: #fff; max-width: 900px; padding: 8px 14px; border: 1px solid #808080; font-family: Arial, sans-serif; font-size: 13px; }
@media (max-width: 800px) { .split { grid-template-columns: 1fr; } }
