/* SheetRoutine — Light Ledger. White page, ruled tables, Excel green.
   Own system: sr- classes only. No shared rules with other sites. */
:root{
  --sr-paper:#ffffff;
  --sr-ink:#182420;
  --sr-muted:#5a6b60;
  --sr-green:#217346;
  --sr-green-dark:#174f30;
  --sr-line:#d9e2d9;
  --sr-row:#f3f7f3;
  --sr-code:#eef3ee;
  --sr-focus:#0b5fff;
}
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  background:var(--sr-paper);
  color:var(--sr-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1.02rem;
  line-height:1.62;
}
a{color:var(--sr-green-dark);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--sr-green)}
a:focus-visible{outline:3px solid var(--sr-focus);outline-offset:2px}
.sr-page{max-width:880px;margin:0 auto;padding:0 24px 64px}
.sr-skip{position:absolute;left:-9999px}
.sr-skip:focus{position:static;display:block;padding:8px 0;color:var(--sr-green-dark)}

/* Top bar: brand left, links right, 3px green rule below. */
.sr-topbar{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;
  padding:20px 0 12px;border-bottom:3px solid var(--sr-green);
}
.sr-mark{
  display:inline-block;width:22px;height:22px;vertical-align:-4px;margin-right:8px;
  background:var(--sr-green);
  background-image:
    linear-gradient(#fff 1px,transparent 1px),
    linear-gradient(90deg,#fff 1px,transparent 1px);
  background-size:11px 11px;background-position:center;
}
.sr-brand{font-size:1.45rem;font-weight:800;letter-spacing:-.01em;margin:0}
.sr-brand a{color:var(--sr-ink);text-decoration:none}
.sr-brand a:hover{color:var(--sr-green-dark)}
.sr-nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 0}
.sr-nav a{
  color:var(--sr-ink);text-decoration:none;font-weight:600;font-size:.95rem;
  padding:2px 12px;border-left:1px solid var(--sr-line);
}
.sr-nav a:first-child{border-left:0}
.sr-nav a:hover{color:var(--sr-green-dark);text-decoration:underline}
.sr-strapline{margin:10px 0 0;color:var(--sr-muted);font-size:.98rem}

h1{font-size:1.75rem;line-height:1.25;letter-spacing:-.01em;margin:28px 0 8px}
h2{
  font-size:1.25rem;margin:36px 0 10px;padding-bottom:6px;
  border-bottom:1px solid var(--sr-line);
}
h2 .sr-secno{color:var(--sr-green);font-weight:800;margin-right:8px}
h3{font-size:1.08rem;margin:24px 0 8px}
p{margin:10px 0}
ul,ol{margin:10px 0;padding-left:26px}
li{margin:5px 0}
li::marker{color:var(--sr-green-dark);font-weight:700}
code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.88em;background:var(--sr-code);padding:1px 5px;border-radius:3px;
}
pre{
  background:var(--sr-code);border:1px solid var(--sr-line);
  border-left:3px solid var(--sr-green);
  padding:12px 14px;overflow-x:auto;border-radius:0 4px 4px 0;
}
pre code{background:none;padding:0;font-size:.9rem}
.sr-formula{font-variant-numeric:tabular-nums}

/* Ledger tables: green header row, ruled grid, tabular numerals. */
.sr-scroll{overflow-x:auto;margin:14px 0}
table.sr-ledger{
  width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;
  font-size:.98rem;
}
.sr-ledger caption{
  text-align:left;font-weight:700;padding:0 0 6px;color:var(--sr-ink);
}
.sr-ledger th,.sr-ledger td{
  border:1px solid var(--sr-line);padding:7px 10px;text-align:left;vertical-align:top;
}
.sr-ledger thead th{background:var(--sr-green);color:#fff;font-weight:700}
.sr-ledger tbody tr:nth-child(even){background:var(--sr-row)}
.sr-ledger td.sr-num,.sr-ledger th.sr-num{text-align:right}
.sr-ledger td.sr-total{font-weight:700;background:var(--sr-row)}

/* Meta facts on a guide page: two-column ruled table. */
table.sr-facts{width:100%;border-collapse:collapse;margin:16px 0;font-size:.98rem}
.sr-facts th,.sr-facts td{border:1px solid var(--sr-line);padding:7px 10px;text-align:left}
.sr-facts th{width:150px;background:var(--sr-row);font-weight:700}
.sr-facts td{font-variant-numeric:tabular-nums}

/* Measured-result panel: green header strip, figures in a table. */
.sr-result{border:1px solid var(--sr-green);margin:18px 0}
.sr-result > p:first-child{
  background:var(--sr-green);color:#fff;font-weight:700;
  margin:0;padding:8px 12px;
}
.sr-result table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sr-result td{border-top:1px solid var(--sr-line);padding:8px 12px}
.sr-result td:first-child{width:55%}
.sr-result td:last-child{text-align:right;font-weight:700}

/* Download panel. */
.sr-file{
  border:1px solid var(--sr-green);background:var(--sr-row);
  padding:12px 14px;margin:18px 0;
}
.sr-file p{margin:4px 0}
.sr-file .sr-filename{font-weight:700}

/* Warning panel: amber left rule, no green. */
.sr-caution{
  border:1px solid var(--sr-line);border-left:4px solid #b7791f;
  background:#fffaf0;padding:10px 14px;margin:18px 0;
}
.sr-caution p{margin:4px 0}
.sr-caution strong{color:#7a5200}

.sr-lede{font-size:1.12rem;line-height:1.6}
.sr-muted{color:var(--sr-muted)}
.sr-small{font-size:.9rem}
.sr-foot{
  margin-top:48px;padding-top:14px;border-top:1px solid var(--sr-line);
  color:var(--sr-muted);font-size:.9rem;
}
.sr-foot a{color:var(--sr-muted)}
.sr-sourcelist{list-style:none;padding-left:0}
.sr-sourcelist li{padding:6px 0;border-top:1px solid var(--sr-line)}
.sr-sourcelist li:first-child{border-top:0}

@media (max-width:640px){
  html{font-size:15px}
  .sr-page{padding:0 16px 48px}
  h1{font-size:1.5rem}
  .sr-nav{margin-left:0}
  .sr-nav a{padding:2px 10px 2px 0;border-left:0;margin-right:12px}
  .sr-facts th{width:110px}
}
