/* Factsheet: one municipality on one screen; readable on a phone, one A4 page when printed. */
@font-face { font-family: "Source Sans 3"; font-weight: 400 600; src: url("../fonts/source-sans-3-latin.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 400 600; src: url("../fonts/source-serif-4-latin.woff2") format("woff2"); }
@page { size: A4 portrait; margin: 1.3cm 1.6cm; }
:root { --ink: #17202a; --muted: #5b6573; --line: #dfe2dc; --accent: #1f4e8c; --panel: #ffffff; --soft: #f4f5f2; --hatch: #e4e7e1; }
* { box-sizing: border-box; }
html { background: var(--soft); }
body { margin: 0 auto; max-width: 860px; padding: 16px; background: var(--panel); color: var(--ink);
  font-family: "Source Sans 3", system-ui, sans-serif; font-size: 16px; line-height: 1.45; }
.tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; font-size: .95rem; }
.tools a { color: var(--accent); }
.tools button { font: inherit; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--accent); background: var(--accent); color: #fff; cursor: pointer; }
.brand { margin: 0; color: var(--accent); font-family: "Source Serif 4", Georgia, serif; font-weight: 600; }
h1 { font-family: "Source Serif 4", Georgia, serif; font-size: 2rem; margin: 2px 0 4px; }
h2 { font-size: 1.05rem; margin: 22px 0 6px; break-after: avoid; }
.meta { color: var(--muted); margin: 0 0 14px; }
.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.tile { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; display: grid; gap: 3px; align-content: start; break-inside: avoid; }
.tile .label { color: var(--muted); font-size: .88rem; }
.tile .value { font-family: "Source Serif 4", Georgia, serif; font-size: 1.7rem; }
.tile .note { font-size: .85rem; color: var(--muted); }
.tile.estimate { border-style: dashed; }
.tag { font-style: normal; font-size: .75rem; border: 1px dashed var(--muted); border-radius: 4px; padding: 0 4px; margin-left: 4px; }
.tile.nb { background: repeating-linear-gradient(135deg, var(--panel) 0 6px, var(--hatch) 6px 8px);
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { text-align: left; padding: 5px 10px 5px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--muted); font-weight: 600; font-size: .82rem; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
tr { break-inside: avoid; }
footer { margin-top: 22px; font-size: .8rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 8px; }
@media print {
  html, body { background: #fff; }
  body { max-width: none; padding: 0; font-size: 10pt; }
  .tools { display: none; }
  h1 { font-size: 20pt; }
  .tiles { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .tile .value { font-size: 15pt; }
}
