
@font-face {
  font-family: 'Lexend';
  src: url('vendor/Lexend-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --ink: #1b211a;        /* palette1/3 – headings, dark buttons */
  --text: #464646;       /* palette4 – body */
  --muted: #646464;      /* palette5 – eyebrows, help text */
  --faint: #9c9c9c;      /* palette6 */
  --bg: #f5f6f8;         /* palette7/8 – page sections */
  --white: #ffffff;      /* palette9 – cards */
  --line: #e6e8ec;
  --line-soft: #eef0f3;
  --blue: #0000ff;       /* brand dot */
  --blue-tint: rgba(0, 0, 255, 0.08);
  --blue-tint-2: rgba(0, 0, 255, 0.04);
  --link: #3b82f6;       /* palette-highlight */
  --btn: #352f37;        /* header "Book tid" */
  --good: #13612e;       /* palette11 */
  --good-tint: rgba(19, 97, 46, 0.09);
  --bad: #b82105;        /* palette13 */
  --bad-tint: rgba(184, 33, 5, 0.08);
  --black: var(--ink);
  --soft: var(--bg);
  --shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  --shadow-lift: 0 10px 28px rgba(27, 33, 26, 0.16);
  --shadow-mark: 0 2px 10px rgba(27, 33, 26, 0.22);
  --r-card: 6px;
  --r-btn: 3px;
  --page: 1180px;
}
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Lexend, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
strong, b { font-weight: 500; color: var(--ink); }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---------- Header (white bar like the site) ---------- */
header.site-head {
  position: sticky; top: 0; z-index: 30;
  background: var(--white);
  border-bottom: 1px solid var(--line-soft);
  transition: box-shadow .2s ease;
}
header.site-head.scrolled { box-shadow: 0 2px 14px rgba(27, 33, 26, 0.10); border-bottom-color: transparent; }
.site-head-inner {
  max-width: var(--page);
  margin: 0 auto;
  padding: 0 32px;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
/* Simplified logo = official etprik-logo-simplified.svg (square, dot centred), shown as an avatar badge:
   white circle + soft shadow. The SVG itself is untouched. */
.logo-badge {
  display: inline-flex; flex: 0 0 auto;
  width: 40px; height: 40px; border-radius: 50%;
  background: #ffffff; box-shadow: 0 3px 14px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
header.site-head img.logo { width: 100%; height: 100%; display: block; }
.head-brand { display:inline-flex; align-items:center; gap:12px; flex: 0 0 auto; text-decoration:none; color: var(--ink); }
.head-brand, .head-brand:hover, .head-brand:focus, .head-brand:active, .head-brand:visited, .head-brand * { text-decoration: none !important; }
.head-word { font-size: 0.8rem; /* = .prim-btn */ font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1b211a; line-height: 1; white-space: nowrap; }
@media (max-width: 760px) { .head-brand { gap: 8px; } }
/* Smal mobil: ordet skjules, så alle fem hovedfaner stadig kan ses uden at scrolle */
@media (max-width: 720px) { .head-word { display: none; } }
@media (max-width: 760px) { .prim-switch { min-width: 0; overflow-x: auto; scrollbar-width: none; } .prim-switch::-webkit-scrollbar { display: none; } .prim-btn { flex: 0 0 auto; } }
@media (min-width: 521px) and (max-width: 680px) { .prim-btn { padding: 0 10px; font-size: 0.72rem; letter-spacing: 0.6px; } }

/* Main tabs + sub-tabs: neutral. Inactive = white, ink text, thin dark border; active = solid ink. */
.prim-switch { display: flex; gap: 8px; align-items: center; }
.prim-btn, .tabs button {
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--ink);
  border-radius: var(--r-btn);
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s ease-in-out, color .2s ease-in-out;
}
.prim-btn { min-height: 42px; padding: 0 16px; }
.prim-btn:hover, .tabs button:hover { background: var(--bg); }
.prim-btn[aria-selected="true"], .tabs button[aria-selected="true"] { background: var(--ink); color: var(--white); border-color: var(--ink); }
/* No colour transition while the router sets the initial tab (otherwise the page can render mid-fade). */
html.nav-init .prim-btn, html.nav-init .tabs button { transition: none !important; }

/* ---------- Hero band (grey, like the vaccine page hero) ---------- */
.hero { background: var(--bg); }
.hero-inner {
  max-width: var(--page);
  margin: 0 auto;
  padding: 44px 32px 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 32px;
}
.hero .brand { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.hero h1 {
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
/* Breadcrumb: small, grey/black */
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 0.86rem; margin-top: -4px; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.crumbs a[aria-current="page"] { color: var(--ink); font-weight: 500; }
.crumbs .sep { color: var(--faint); }
.today-pill {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(27, 33, 26, 0.07);
  border-radius: 6px;
  padding: 5px 10px;
}
.hero .meta {
  color: var(--muted);
  font-size: 0.84rem;
  text-align: right;
  line-height: 1.65;
}

/* ---------- Sub-tabs (not sticky; only the active main tab's bar is shown) ---------- */
.navwrap { background: var(--bg); }
.navwrap[hidden] { display: none !important; }
.navwrap-inner { max-width: var(--page); margin: 0 auto; padding: 20px 32px 6px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.tabs button { font-size: 0.76rem; padding: 8px 14px; }
.tabs .tag { font-size: 0.86em; text-transform: none; letter-spacing: 0; font-weight: 300; color: inherit; opacity: .7; margin-left: 3px; }
nav.sub-tabs[hidden] { display: none !important; }

/* ---------- Page ---------- */
.wrap { max-width: var(--page); margin: 0 auto; padding: 22px 32px 72px; }
.value-unit { font-size: 0.42em; font-weight: 300; color: var(--muted); letter-spacing: 0; }
.card-missing .value .missing { font-size: 0.42em; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.tab-meta { color: var(--muted); font-size: 0.82rem; margin: 0 0 30px; }

section { margin-bottom: 56px; }
section h2 {
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
section h3 { font-size: 1.2rem; font-weight: 500; color: var(--ink); margin: 30px 0 12px; }
section .sub { color: var(--muted); font-size: 0.9rem; margin: 0 0 22px; max-width: 860px; }

/* ---------- KPI cards (step-card look, a bit bolder) ---------- */
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.kpi-grid.three { grid-template-columns: repeat(3, 1fr); }
.kpi-grid.two { grid-template-columns: repeat(2, 1fr); }
.kpi-grid + .kpi-grid { margin-top: 22px !important; }
.kpi-grid:has(.rating-list li:nth-child(6)) { align-items: start; }

.card {
  background: var(--white);
  border: 0;
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  padding: 24px 24px 22px;
  min-width: 0;
}
.card .label {
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
  line-height: 1.4;
}
@media (min-width: 961px) { .kpi-grid:not(.two):not(.three) .card .label { min-height: 2.8em; } }
.card .label small.wk { text-transform: none; letter-spacing: 0; }
.card .value {
  font-size: 2.35rem;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.card .value .delta { font-size: 0.55em; font-weight: 500; letter-spacing: 0; vertical-align: 0.35em; margin-left: 4px; }
.card .hint { margin-top: 12px; font-size: 0.8rem; color: var(--muted); }

/* Goal card = the dark card of the site (like "Ingen gebyrer") */
.kpi-grid .card:has(.progress) {
  background: var(--ink);
  color: rgba(255,255,255,0.78);
  box-shadow: var(--shadow-lift);
}
.kpi-grid .card:has(.progress) .label,
.kpi-grid .card:has(.progress) .goal-line { color: rgba(255,255,255,0.72); }
.kpi-grid .card:has(.progress) .value { color: #fff; }
.kpi-grid .card:has(.progress) .badge { background: rgba(255,255,255,0.10); color: rgba(255,255,255,0.8); }
.kpi-grid .card:has(.progress) .badge small.wk { color: rgba(255,255,255,0.6); }
.kpi-grid .card:has(.progress) .delta.up { color: #8fe0a8; }
.kpi-grid .card:has(.progress) .delta.down { color: #ffa48f; }
.kpi-grid .card:has(.progress) .delta.flat { color: rgba(255,255,255,0.75); }
.kpi-grid .card:has(.progress) .progress { background: rgba(255,255,255,0.14); }
.kpi-grid .card:has(.progress) .progress > span { background: #fff; }

.delta { font-weight: 500; }
.delta.up { color: var(--good); }
.delta.down { color: var(--bad); }
.delta.flat { color: var(--muted); }

.badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  font-weight: 300;
  color: var(--muted);
  background: var(--bg);
  border-radius: 6px;
  padding: 4px 9px;
  white-space: nowrap;
}
.badge .delta { font-weight: 600; }

.progress { margin-top: 12px; height: 6px; background: var(--bg); border-radius: 6px; overflow: hidden; }
.progress > span { display: block; height: 100%; background: var(--blue); border-radius: 6px; }
.goal-line { margin-top: 16px; font-size: 0.8rem; }

.chart-box {
  background: var(--white);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  padding: 24px 22px 16px;
}
.chart-box.tall { min-height: 380px; }
.chart-box.tall canvas { width: 100% !important; height: 340px !important; max-height: none; }

.group-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin: 8px 0 8px; }
.group-head h3 { margin: 0; font-size: 1.7rem; font-weight: 400; letter-spacing: -0.01em; }
.group-stats {
  font-size: 0.74rem; color: var(--blue); background: var(--blue-tint);
  border-radius: 6px; padding: 5px 10px; letter-spacing: 0.5px; text-transform: uppercase;
}

/* ---------- Filters ---------- */
.filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; align-items: center; }
.filters label { font-size: 0.78rem; color: var(--muted); display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: 1px; }
.filters select, .filters input {
  font-family: inherit;
  font-weight: 300;
  border: 1px solid var(--line);
  border-radius: var(--r-btn);
  padding: 9px 12px;
  background: var(--white);
  font-size: 0.88rem;
  color: var(--ink);
  min-width: 200px;
  text-transform: none; letter-spacing: 0;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.03);
}
.filters input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint); }
.filters .muted { font-size: 0.8rem; }

/* ---------- Tables ---------- */
.table-wrap {
  overflow-x: auto;
  background: var(--white);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
  margin-bottom: 30px;
}
table.data { border-collapse: collapse; width: 100%; font-size: 0.88rem; color: var(--ink); }
table.data th, table.data td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line-soft);
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
table.data th {
  background: var(--white);
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--line);
  padding-top: 15px; padding-bottom: 13px;
  cursor: pointer;
  user-select: none;
}
table.data th:hover { color: var(--blue); }
table.data td.name, table.data th.name { text-align: left; }
table.data td.name { font-weight: 400; }
table.data tbody tr:last-child td { border-bottom: none; }
table.data tbody tr.page-row:hover { background: #fafbfc; }
table.data .spark-cell { padding: 4px 12px; }
.spark-none { color: var(--faint); }

tr.page-row { cursor: pointer; }
tr.page-row.open { background: var(--blue-tint-2); }
tr.page-row td.name::before {
  content: "›";
  display: inline-block;
  width: 0.9em;
  color: var(--blue);
  font-weight: 500;
  margin-right: 4px;
  transition: transform 0.15s;
}
tr.page-row.open td.name::before { transform: rotate(90deg); }
tr.query-row td { background: var(--bg); padding: 0; border-bottom: 1px solid var(--line-soft); text-align: left; }
tr.query-row .query-panel { padding: 16px 20px 20px 30px; }
tr.query-row table.queries {
  width: 100%; border-collapse: collapse; font-size: 0.8rem; background: var(--white);
  border-radius: var(--r-card); overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}
tr.query-row table.queries th, tr.query-row table.queries td {
  padding: 8px 12px; border-bottom: 1px solid var(--line-soft); text-align: right; white-space: nowrap;
}
tr.query-row table.queries th { background: var(--white); color: var(--muted); font-weight: 400; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; }
tr.query-row table.queries th { padding-top: 13px; padding-bottom: 11px; }
tr.query-row table.queries tr.grp-row th { border-bottom: 0; padding-bottom: 2px; padding-top: 12px; }
tr.query-row table.queries tr.grp-row th.grp { text-align:left; font-size:.72rem; font-weight:700; letter-spacing:.9px; color:var(--ink); }
tr.query-row table.queries tr.grp-row th.grp > span { display:block; border-bottom:1px solid #d3d6d2; padding-bottom:5px; }
tr.query-row table.queries td.q, tr.query-row table.queries th.q { text-align: left; font-weight: 400; }
tr.query-row table.queries tr:last-child td { border-bottom: none; }
.pos-good { color: var(--good); font-weight: 600; }
.pos-low { opacity: 0.45; font-style: italic; }
.query-empty { color: var(--muted); font-size: 0.85rem; padding: 8px 0; }

/* Page cards (Andre sider – if used) */
.pages-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.page-card h3 { margin: 0 0 12px; font-size: 1rem; font-weight: 500; }
.page-card .mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 0 0 12px; }
.page-card .mini dt { font-size: 0.68rem; color: var(--muted); margin: 0; text-transform: uppercase; letter-spacing: 1px; }
.page-card .mini dd { margin: 0; font-weight: 500; font-size: 0.98rem; color: var(--ink); }
.page-card { cursor: pointer; transition: box-shadow .2s; }
.page-card:hover { box-shadow: var(--shadow-lift); }
.page-card.open { box-shadow: 0 0 0 2px var(--blue-tint), var(--shadow-lift); grid-column: 1 / -1; }
.page-card .query-panel { display: none; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.page-card.open .query-panel { display: block; }
.page-card .query-panel table.queries { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.page-card .query-panel th, .page-card .query-panel td { padding: 5px 6px; border-bottom: 1px solid var(--line-soft); text-align: right; }
.page-card .query-panel td.q, .page-card .query-panel th.q { text-align: left; }

/* ---------- Misc ---------- */
.note { font-size: 0.8rem; color: var(--muted); margin: 8px 0 18px; }
.missing { color: var(--faint); font-style: italic; font-weight: 300; }
.card .value .missing { font-size: 0.5em; letter-spacing: 0; }
.placeholder {
  background: var(--white);
  border: 1px dashed #d4d8de;
  border-radius: var(--r-card);
  padding: 40px 24px;
  text-align: center;
  color: var(--muted);
  font-size: 0.95rem;
}
.placeholder strong { color: var(--ink); font-weight: 500; }

.qs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 24px; }
.rating-list { list-style: none; margin: 0; padding: 0; }
.rating-list li {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--line-soft); font-size: 0.88rem; color: var(--ink);
}
.rating-list li:last-child { border-bottom: none; }
.rating-list .n { font-weight: 500; font-variant-numeric: tabular-nums; text-align: right; }

.channel-list { list-style: none; margin: 12px 0 0; padding: 0; font-size: 0.82rem; color: var(--muted); }
.channel-list li { display: flex; justify-content: space-between; padding: 3px 0; }

footer {
  margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line);
  color: var(--muted); font-size: 0.76rem; line-height: 1.7; text-align: center;
}
@media (min-width: 701px) { footer .foot-line { white-space: nowrap; } }
footer a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.muted { color: var(--muted); }
code { font-size: 0.85em; background: var(--white); border: 1px solid var(--line); padding: 1px 6px; border-radius: 3px; }

.proposal-banner {
  background: var(--blue-tint);
  border-radius: var(--r-card);
  padding: 16px 20px;
  margin: 0 0 24px;
  font-size: 0.9rem;
  color: var(--ink);
}
.proposal-banner strong { color: var(--blue); }
.cannibal-flag {
  display: inline-block; font-size: 0.66rem; font-weight: 500; letter-spacing: 0.5px; text-transform: uppercase;
  color: var(--bad); background: var(--bad-tint); border-radius: 6px; padding: 3px 8px; margin-left: 8px; vertical-align: middle;
}
tr.cannibal-row { background: rgba(184, 33, 5, 0.035); }
tr.cannibal-row td.name { font-weight: 500; }
.malside-group { margin-bottom: 30px; }
.malside-group h3 { margin: 0 0 12px; font-size: 1rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.malside-group h3 code { font-size: 0.88em; }
.malside-group .group-meta { font-size: 0.78rem; color: var(--muted); font-weight: 300; }
.ranking-path { font-size: 0.8rem; }
.ranking-path.wrong { color: var(--bad); font-weight: 500; }
.ranking-path.ok { color: var(--good); }

/* ---------- Heatmap ---------- */
.heat-legend { display:flex; flex-wrap:wrap; gap:16px; margin:0 0 14px; font-size:0.76rem; color:var(--muted); }
.heat-legend i { display:inline-block; width:14px; height:14px; border-radius:3px; vertical-align:-2px; margin-right:6px; }
.heat-wrap {
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  background: var(--white); border-radius: var(--r-card); box-shadow: var(--shadow); padding: 10px 12px 14px;
}
table.heat { border-collapse:separate; border-spacing:3px; font-size:0.72rem; width:100%; color: var(--ink); }
table.heat th, table.heat td { padding:0; height:22px; text-align:center; }
table.heat td { min-width:26px; border-radius:3px; }
table.heat thead th { color:var(--muted); font-weight:400; padding:6px 0; font-variant-numeric: tabular-nums; }
table.heat thead th.prelim { font-style:italic; }
table.heat tbody th, table.heat th.corner {
  position:sticky; left:0; z-index:2; background:var(--white); text-align:left;
  padding:0 12px 0 6px; white-space:nowrap; font-weight:400; min-width:150px;
}
table.heat th.corner { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 1px; }
table.heat tr.heat-group th {
  position:sticky; left:0; background:var(--white); font-weight:500; font-size:0.72rem; color:var(--ink);
  padding:16px 6px 6px; text-align:left; text-transform: uppercase; letter-spacing: 1px;
}
.h1 { background:#0000ff; }
.h2 { background:#6666ff; }
.h3 { background:#ccccff; }
.h4 { background:#e4e6ea; }
.h0 { background:#ffffff; box-shadow: inset 0 0 0 1px #eceef1; }

small.wk { font-size: 0.78em; color: var(--faint); font-weight: 300; margin-left: 2px; }
.badge small.wk { font-size: 0.92em; }

td.await { text-align: left !important; color: var(--muted); font-style: italic; }
table.data.static th { cursor: default; }
table.data.static th:hover { color: var(--muted); }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .kpi-grid, .kpi-grid.three { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px) {
  .qs-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .pages-grid { grid-template-columns: 1fr; }
  table.data th.col-hide-sm, table.data td.col-hide-sm { display: none; }
  table.data th, table.data td { padding: 10px 9px; font-size: 0.82rem; }
  table.data th { font-size: 0.64rem; letter-spacing: 0.5px; }
  .badge { font-size: 0.7rem; }
  .site-head-inner, .hero-inner, .navwrap-inner, .wrap { padding-left: 18px; padding-right: 18px; }
  .group-head h3, section h2 { font-size: 1.4rem; }
}
@media (max-width: 520px) {
  .site-head-inner { min-height: 60px; gap: 6px; padding-left: 14px; padding-right: 14px; }
  .logo-badge { width: 36px; height: 36px; }
  .prim-switch { min-width: 0; gap: 4px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .prim-switch::-webkit-scrollbar { display: none; }
  .prim-btn { font-size: 0.66rem; padding: 0 7px; min-height: 36px; letter-spacing: 0.3px; flex: 0 0 auto; }
}
@media (max-width: 430px) {
  .site-head-inner { padding-left: 10px; padding-right: 10px; gap: 6px; }
  .logo-badge { width: 32px; height: 32px; }
  .prim-switch { gap: 3px; }
  .prim-btn { font-size: 0.6rem; padding: 0 5px; letter-spacing: 0; min-height: 34px; }
  .crumbs { font-size: 0.82rem; }
  .hero-inner { padding-top: 28px; }
  .hero h1 { font-size: 2.6rem; }
  .hero .meta { text-align: left; font-size: 0.8rem; }
  .kpi-grid, .kpi-grid.three, .kpi-grid.two { grid-template-columns: 1fr; gap: 16px; }
  .kpi-grid + .kpi-grid { margin-top: 16px !important; }
  .card { padding: 20px 20px 18px; }
  .card .value { font-size: 2.1rem; }
  .navwrap-inner { padding-top: 16px; padding-bottom: 4px; }
  .tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 6px; margin-right: -18px; padding-right: 18px; }
  .tabs::-webkit-scrollbar { display: none; }
  .tabs button { flex: 0 0 auto; padding: 8px 11px; font-size: 0.7rem; letter-spacing: 0.5px; }
  table.data th, table.data td { padding: 10px 6px; }
  table.data th { white-space: normal; line-height: 1.25; vertical-align: bottom; }
  table.data td.name { white-space: normal; min-width: 96px; line-height: 1.3; }
  table.data th.name, table.data td.name { padding-left: 12px; }
  table.data .spark-cell { padding: 4px 10px 4px 4px; }
  table.data .spark-cell svg.spark { width: 72px; height: 22px; }
  tr.query-row .query-panel { padding: 12px 10px 14px; }
  .filters input { min-width: 0; width: 100%; }
  .filters label { flex: 1 1 100%; }
  table.heat tbody th, table.heat th.corner { min-width:112px; padding:0 8px 0 4px; font-size:0.7rem; }
  table.heat td { min-width:32px; }
  table.heat thead th { font-size:0.62rem; }
  .chart-box { padding: 18px 10px 10px; }
  .chart-box.tall { min-height: 320px; }
  .chart-box.tall canvas { height: 290px !important; }
  section { margin-bottom: 44px; }
}
/* Diskret y-akse til søjlediagrammer (div.dbars.has-axis) */
.dbars.has-axis { position: relative; padding-left: 26px; }
.dbars.has-axis .dgrid { position: absolute; left: 26px; right: 0; height: 0; border-top: 1px solid rgba(27,33,26,.08); pointer-events: none; z-index: 0; font-style: normal; }
.dbars.has-axis .dgrid u { position: absolute; right: calc(100% + 6px); top: 0; transform: translateY(-50%); font-size: .58rem; color: #9c9c9c; text-decoration: none; line-height: 1; font-variant-numeric: tabular-nums; }
.dbars.has-axis .dbar { z-index: 1; }

.dgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.dcard { display: flex; flex-direction: column; }
.dhead { display: flex; align-items: flex-end; gap: 14px; margin-bottom: 10px; }
.dsub { font-size: .76rem; color: var(--muted); line-height: 1.35; padding-bottom: 3px; }
svg.mchart { width: 100%; height: 110px; display: block; margin-top: 4px; overflow: visible; }
svg.mchart .xl text { font-size: 8px; fill: #9c9c9c; font-family: Lexend, sans-serif; }
.mlegend { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .72rem; color: var(--muted); margin: 6px 0 4px; }
.mlegend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.crate { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin: 14px 0 6px; padding: 12px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.crate .k { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .8px; color: var(--muted); }
.crate b { display: block; font-size: 1.35rem; font-weight: 600; color: var(--ink); margin: 2px 0; }
.crate b .missing { font-size: .75rem; }
.crate .f { display: block; font-size: .7rem; color: var(--muted); line-height: 1.4; }
table.mini-t { width: 100%; border-collapse: collapse; font-size: .78rem; color: var(--ink); margin-top: 10px; font-variant-numeric: tabular-nums; }
table.mini-t th { font-size: .6rem; font-weight: 400; text-transform: uppercase; letter-spacing: .6px; color: var(--muted); text-align: right; padding: 4px 4px 6px; border-bottom: 1px solid var(--line); }
table.mini-t td { text-align: right; padding: 6px 4px; border-bottom: 1px solid var(--line-soft); }
table.mini-t td b { font-weight: 600; }
table.mini-t .name { text-align: left; white-space: nowrap; }
table.mini-t td .missing { font-size: .9em; }
.sublabel { font-size: .64rem; text-transform: uppercase; letter-spacing: .8px; color: var(--muted); margin: 12px 0 4px; }
.rating-list.compact li { padding: 5px 0; font-size: .8rem; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.two-col .value { font-size: 1.8rem; }
.two-col svg.mchart { height: 80px; }
.dcard .hint { margin-top: auto; padding-top: 10px; }
@media (max-width: 960px) { .dgrid { grid-template-columns: 1fr; } }
@media (max-width: 520px) {
  .crate, .two-col { grid-template-columns: 1fr; }
  table.mini-t { font-size: .72rem; }
  table.mini-t th { font-size: .56rem; letter-spacing: .2px; }
}

/* ---------- Hovedmål + Undermål ---------- */
section.maal { display: grid; gap: 22px; }
.card.goal-hero {
  background: var(--ink); color: rgba(255,255,255,.82);
  box-shadow: var(--shadow-lift); padding: 34px 36px 30px;
}
.card.goal-hero .label { color: rgba(255,255,255,.62); margin-bottom: 10px; }
.card.goal-hero h2 { color: #fff; font-size: 2.1rem; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 14px; line-height: 1.15; }
.goal-body { font-size: 1.05rem; line-height: 1.6; max-width: 820px; margin: 0 0 24px; color: rgba(255,255,255,.86); }
.goal-status { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 1.05rem; }
.goal-status strong { color: #fff; font-weight: 500; }
.goal-status .dot-sep { color: rgba(255,255,255,.45); }
.goal-foot { margin-top: 12px; font-size: .78rem; color: rgba(255,255,255,.55); }

.m-bar { height: 8px; background: var(--bg); border-radius: 6px; overflow: hidden; flex: 1 1 auto; min-width: 60px; }
.m-bar > span { display: block; height: 100%; background: var(--ink); border-radius: 6px; min-width: 3px; }
.m-bar.on-dark { background: rgba(255,255,255,.16); margin-top: 14px; }
.m-bar.on-dark > span { background: #fff; }
.m-bar.big { height: 12px; }
.m-bar-none { background: repeating-linear-gradient(45deg, var(--bg), var(--bg) 4px, #e9ebef 4px, #e9ebef 8px); }

.card.sub-goals { padding: 28px 30px 18px; }
.sg-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px 20px; margin-bottom: 6px; }
.sg-head h3 { margin: 0; font-size: 1.35rem; font-weight: 500; color: var(--ink); }
.sg-head .label { margin-bottom: 6px; }
.forslag-pill, .forslag {
  font-size: .66rem; font-weight: 400; letter-spacing: .6px; text-transform: uppercase;
  color: var(--muted); background: rgba(27,33,26,.06); border-radius: 6px; padding: 3px 8px; white-space: nowrap;
}
.forslag { font-size: .9em; padding: 1px 6px; letter-spacing: .4px; margin-left: 4px; }
.m-rows { display: grid; }
.m-row {
  display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 2fr);
  gap: 8px 22px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line-soft);
}
.m-row:last-child { border-bottom: 0; }
.m-label { color: var(--ink); font-weight: 500; font-size: .98rem; line-height: 1.35; }
.m-period { display: block; font-weight: 300; font-size: .76rem; color: var(--muted); margin-top: 2px; }
.m-period small.wk { font-size: .95em; }
.m-now, .m-target { font-size: .98rem; color: var(--ink); font-variant-numeric: tabular-nums; }
.m-now b { font-size: 1.35rem; font-weight: 600; }
.m-target b { font-weight: 500; }
.m-k { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: 1px; }
.m-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.m-pct { font-size: .8rem; font-weight: 500; color: var(--ink); min-width: 2.6em; text-align: right; font-variant-numeric: tabular-nums; }
.m-note { flex-basis: 100%; font-size: .74rem; color: var(--bad); }
.sg-note { margin: 10px 0 0; }

/* Hovedmål variants (no blue) */
.card.goal-hero--a, .card.goal-hero--b { color: var(--text); }
.card.goal-hero--a { background: var(--white); box-shadow: var(--shadow); border-left: 6px solid var(--ink); }
.card.goal-hero--b { background: #ebedea; box-shadow: none; }
.card.goal-hero.goal-hero--a .label, .card.goal-hero.goal-hero--b .label { color: var(--muted); }
.card.goal-hero.goal-hero--a h2, .card.goal-hero.goal-hero--b h2 { color: var(--ink); font-size: 2.3rem; }
.card.goal-hero.goal-hero--a .goal-body, .card.goal-hero.goal-hero--b .goal-body { color: var(--text); }
.card.goal-hero.goal-hero--a .goal-status, .card.goal-hero.goal-hero--b .goal-status { color: var(--text); }
.card.goal-hero.goal-hero--a .goal-status strong, .card.goal-hero.goal-hero--b .goal-status strong { color: var(--ink); }
.card.goal-hero.goal-hero--a .dot-sep, .card.goal-hero.goal-hero--b .dot-sep { color: var(--faint); }
.card.goal-hero.goal-hero--a .goal-foot, .card.goal-hero.goal-hero--b .goal-foot { color: var(--muted); }
.card.goal-hero.goal-hero--a .m-bar, .card.goal-hero.goal-hero--b .m-bar { margin-top: 14px; }
.card.goal-hero.goal-hero--a .m-bar { background: #e4e6e3; }
.card.goal-hero.goal-hero--b .m-bar { background: #d6d9d4; }

/* Overblik section headings */
.tab-panel h2.ov-h2, section h2.ov-h2 {
  font-family: Lexend, system-ui, sans-serif; font-weight: 700; font-size: 2.6rem;
  color: var(--ink); letter-spacing: -0.01em; line-height: 1.2;
  margin: 2.5rem 0 1rem; text-decoration: none;
}
.tab-panel h2.ov-h2.ov-h2-first { margin-top: 0; }
section.maal { margin-bottom: 0; }

/* Hovedmål: slim bar */
.goal-slim {
  background: var(--ink); color: rgba(255,255,255,.9); border-radius: var(--r-card);
  box-shadow: var(--shadow); padding: 24px 30px; min-height: 104px;
  display: flex; align-items: center; justify-content: space-between; gap: 10px 36px;
}
.gs-text { min-width: 0; }
.gs-main { color: #fff; font-size: 1.08rem; font-weight: 500; line-height: 1.35; white-space: nowrap; }
.gs-k { font-size: .72rem; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; line-height: 1.4; color: rgba(255,255,255,.66); margin-bottom: 6px; }
.gs-sub { font-size: .76rem; color: rgba(255,255,255,.56); margin-top: 3px; line-height: 1.35; }
.gs-status { flex: 0 0 300px; }
.gs-line { font-size: .9rem; color: rgba(255,255,255,.78); white-space: nowrap; text-align: right; }
.gs-line strong { color: #fff; font-weight: 500; }
.gs-line .dot-sep { color: rgba(255,255,255,.4); margin: 0 8px; }
.goal-slim .m-bar { height: 5px; margin-top: 8px; background: rgba(255,255,255,.18); }
.goal-slim .m-bar > span { background: #fff; }
.m-bar-empty { background: var(--bg); }
.m-note.muted-note { color: var(--muted); }

/* KPI extras */
.split-bar { display: flex; height: 8px; border-radius: 6px; overflow: hidden; margin-top: 18px; background: var(--bg); }
.split-bar span { display: block; height: 100%; }
.s-org { background: var(--ink); }
.s-ads { background: #8a8f89; }
.s-oth { background: #d3d6d2; }
.split-list { list-style: none; margin: 12px 0 0; padding: 0; }
.split-list li { display: grid; grid-template-columns: 12px 1fr auto 3.2em; gap: 8px; align-items: center; padding: 5px 0; font-size: .88rem; color: var(--ink); border-bottom: 1px solid var(--line-soft); }
.split-list li:last-child { border-bottom: 0; }
.split-list i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.split-list b { font-weight: 500; font-variant-numeric: tabular-nums; }
.split-list em { font-style: normal; color: var(--muted); font-size: .8rem; text-align: right; font-variant-numeric: tabular-nums; }
.card .hint b { font-weight: 500; color: var(--ink); }
.card-small .value { font-size: 1.9rem; }
.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; margin: 0; }
.pair dt { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .8px; line-height: 1.35; }
.pair dd { margin: 4px 0 2px; font-size: 1.9rem; font-weight: 500; color: var(--ink); letter-spacing: -0.02em; line-height: 1.1; }
.pair dd .missing { font-size: .5em; }
.pair-sub { display: block; font-size: .74rem; color: var(--muted); line-height: 1.4; }

@media (max-width: 1100px) {
  .gs-main { white-space: normal; }
}
@media (max-width: 760px) {
  .goal-slim { flex-direction: column; align-items: stretch; padding: 18px 20px; gap: 12px; min-height: 0; }
  .gs-status { flex: 0 0 auto; }
  .gs-line { text-align: left; white-space: normal; }
  .gs-sub { display: none; }
}
@media (max-width: 960px) {
  .m-row { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); }
  .m-progress { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .tab-panel h2.ov-h2, section h2.ov-h2 { font-size: 1.85rem; margin: 2rem 0 .85rem; }
  .tab-panel h2.ov-h2.ov-h2-first { margin-top: 0; }
  .card.goal-hero { padding: 24px 20px 22px; }
  .card.goal-hero h2 { font-size: 1.6rem; }
  .card.goal-hero.goal-hero--a h2, .card.goal-hero.goal-hero--b h2 { font-size: 1.75rem; }
  .goal-body { font-size: .95rem; }
  .card.sub-goals { padding: 22px 18px 14px; }
  .sg-head h3 { font-size: 1.1rem; }
  .m-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; padding: 14px 0; }
  .m-label { grid-column: 1 / -1; }
  .pair { grid-template-columns: 1fr; }
}

.card.pos-box { padding: 22px 26px; font-size:.92rem; line-height:1.55; }
.card.pos-box p { margin:0 0 10px; }
.card.pos-box ol { margin:0; padding-left: 20px; }
.card.pos-box li { margin: 0 0 8px; }
.card.pos-box code { word-break: break-all; }

.vpill { display: inline-block; font-size: .66rem; font-weight: 500; letter-spacing: .6px; text-transform: uppercase; border-radius: 6px; padding: 3px 8px; white-space: nowrap; vertical-align: middle; }
.v-ok { color: var(--good); background: var(--good-tint); }
.v-dev { color: var(--bad); background: var(--bad-tint); }
.v-na, .v-info { color: var(--muted); background: rgba(27,33,26,.07); }
.v-wait { color: #7a5a00; background: rgba(160,120,0,.10); }
.v-warn { color: #7a5a00; background: rgba(224,161,0,.18); }
.mk-intro { margin: 6px 0 10px; font-size: .92rem; color: var(--text); max-width: 900px; }
.mk-latest { margin: 0 0 12px; font-size: .92rem; }
.mk-latest .vpill { margin-right: 6px; }
table.mk { table-layout: auto; width: 100%; }
table.mk th small.wk { display: block; font-weight: 300; text-transform: none; letter-spacing: 0; margin-top: 2px; }
table.mk td.name, table.mk th.name { white-space: normal; text-align: left; }
table.mk th:not(.name), table.mk td:not(.name) { width: 112px; text-align: center; }
table.mk td.name .rule { max-width: 560px; }
table.mk td { vertical-align: top; }
table.mk tr.mk-grp td { text-align: left !important; width: auto !important; background: rgba(27,33,26,.04); font-weight: 500; font-size: .72rem; letter-spacing: .6px; text-transform: uppercase; color: var(--muted); padding: 8px 8px 6px; }
table.mk .vpill { white-space: normal; text-align: center; max-width: 104px; }
@media (max-width: 700px) { table.mk th:not(.name), table.mk td:not(.name) { width: 76px; } table.mk td.name b { word-break: break-word; } }
section.audit { display: grid; gap: 22px; }
.audit-verdict { border-left: 6px solid var(--ink); }
.audit-verdict.av-warn { border-left-color: #e0a100; margin-top: 14px; }
.audit-verdict.ku-fold { margin-bottom: 14px; }
.ku-fold > summary { cursor: pointer; list-style: none; }
.ku-fold > summary::-webkit-details-marker { display: none; }
.ku-fold > summary .label { display: block; }
.ku-fold > summary .av-main { margin-bottom: 0; }
.ku-fold > summary::after { content: "Vis detaljer ▾"; display: block; margin-top: 8px; font-size: .85rem; color: var(--muted, #666); }
.ku-fold[open] > summary::after { content: "Skjul detaljer ▴"; }
.ku-fold[open] > summary .av-main { margin-bottom: 10px; }
.audit-verdict:not(.av-warn) { border-left-color: #1f8a4c; }
.audit-verdict.av-neutral { border-left-color: #b7bab6; }
.audit-verdict.av-ok { border-left-color: #1f8a4c; }
.ku-fold > summary .label .vpill { margin-left: 8px; }
.audit-verdict .label .au-dot { margin-right: 6px; }
.av-main { font-size: 1.25rem; font-weight: 500; color: var(--ink); margin: 0 0 10px; }
.av-list { margin: 0 0 12px; padding-left: 18px; color: var(--text); font-size: .92rem; }
.av-list li { margin: 4px 0; }
.av-list ul.ops-tjek { margin: 4px 0 4px; padding-left: 18px; }
.av-next { margin: 0; font-size: .88rem; color: var(--text); }
.tbl-card { padding: 22px 22px 14px; }
.table-wrap.flat { box-shadow: none; border-radius: 0; margin-bottom: 8px; }
table.data .rule { display: block; font-size: .74rem; color: var(--muted); font-weight: 300; white-space: normal; margin-top: 2px; line-height: 1.4; }
table.checks td, table.src td { white-space: normal; vertical-align: top; }
table.checks td.name { width: 34%; }
table.checks td.res { text-align: left; }
table.checks td.v, table.src td.v { text-align: right; }
table.data td.name b { font-weight: 500; }
.hc .value { font-size: 2rem; }
table.wk th { white-space: normal; line-height: 1.25; vertical-align: bottom; padding: 12px 8px 10px; font-size: .64rem; letter-spacing: .6px; }
table.wk td { padding: 10px 8px; font-size: .84rem; }
table.wk td.name { white-space: nowrap; }
.hc .hint .vpill { margin-right: 6px; }
ul.exc { margin: -10px 0 16px; padding-left: 18px; font-size: .84rem; color: var(--text); }
.dbars { display: flex; align-items: flex-end; gap: 3px; height: 130px; padding: 6px 0 18px; }
.dbar { flex: 1; position: relative; height: 100%; }
.dbar i, .dbar b { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 2px 2px 0 0; }
.dbar i { background: #d3d6d2; }
.dbar b { background: var(--ink); }
.dbar.after i { outline: 1.5px solid var(--ink); outline-offset: -1.5px; }
.dbar span { position: absolute; bottom: -16px; left: 0; right: 0; text-align: center; font-size: .58rem; color: #9c9c9c; }
ul.tjek { list-style: none; margin: 4px 0 10px; padding: 0; font-size: .86rem; color: var(--text); }
ul.tjek li { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--line-soft); }
ul.tjek .cb { flex: 0 0 14px; height: 14px; margin-top: 2px; border: 1.5px solid var(--ink); border-radius: 3px; }
@media (max-width: 700px) {
  .dbar span { font-size: .45rem; }
  table.checks, table.checks tbody, table.checks tr, table.checks td { display: block; width: 100% !important; }
  table.checks thead { display: none; }
  table.checks tr { padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
  table.checks td { border: 0 !important; padding: 3px 4px !important; text-align: left !important; }
  .tbl-card { padding: 18px 12px 10px; }
  .av-main { font-size: 1.08rem; }
  table.wk td.name small.wk { display: none; }
  table.wk th { font-size: .6rem; letter-spacing: .3px; }
}

.ku-fold.log-entry { margin-bottom: 10px; }
details.intro-fold:has(+ details.ordliste-fold) { margin-bottom: 12px; }
.ku-fold.log-entry .av-main { font-size: 1.05rem; }
.log-entry .label .sys-chips { white-space: nowrap; }
.log-entry .label .sys-chip { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 6px; background: rgba(27,33,26,.07); color: var(--muted); font-size: .62rem; font-weight: 500; letter-spacing: .3px; text-transform: none; line-height: 1.4; vertical-align: 1px; }
.log-entry .label .sys-chip + .sys-chip { margin-left: 4px; }

.jump-row { display:flex; flex-wrap:wrap; gap:8px; margin: 4px 0 26px; }
.f-hide { display:none !important; }
h3.tier-h3 { font-family: Lexend, system-ui, sans-serif; font-size:22px; font-weight:700; color:var(--ink); margin:0; letter-spacing:-.005em; line-height:1.25; }
h3.tier-h3-pos { margin: 6px 0 12px; }
details.sub-fold { margin-top: 22px; } details.sub-fold > summary { margin-bottom: 12px; }
@media (max-width: 700px) { h3.tier-h3 { font-size:18px; } }
details.sub-fold > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; font-size:.95rem; font-weight:600; color:var(--ink); padding: 2px 0; }
details.sub-fold > summary::-webkit-details-marker { display:none; }
details.sub-fold > summary .heat-n { font-size:.8rem; font-weight:400; color:var(--muted); margin-left:6px; }
details.sub-fold .lbl-hide { display:none; } details.sub-fold[open] .lbl-hide { display:inline; } details.sub-fold[open] .lbl-show { display:none; }
details.sub-fold:not([open]) > summary .fold-chev::before { transform: translateX(-.12em) rotate(-45deg); }
.fold-chev { flex:none; position:relative; width:.7em; height:.7em; font-size:1rem; color:currentColor; display:inline-flex; align-items:center; justify-content:center; margin:0; cursor:pointer; background:none; }
.fold-chev::after { content:''; position:absolute; inset:-13px; }
/* Ensartet rækkehøjde i alle tabeller: sparklines må ikke gøre rækker højere */
table .spark-cell svg { display:block; }
table .spark-cell > .tt { display:inline-block; vertical-align:middle; }
table.queries td.spark-cell svg, table.data td.spark-cell > svg { margin-left:auto; }
table.data td.spark-cell, table.queries td.spark-cell { padding-top:0 !important; padding-bottom:0 !important; vertical-align:middle; }
table.queries td { height:40px; padding-top:0 !important; padding-bottom:0 !important; vertical-align:middle; font-style:normal; font-weight:400; opacity:1; }
table.queries .spark-none { display:inline-block; line-height:24px; }
table.data td { vertical-align: middle; }
input.tab-search { font: inherit; font-size:.82rem; color:var(--ink); border:1px solid #d3d6d2; background:#fff; border-radius:999px; padding:6px 14px; min-width: 220px; outline:none; }
input.tab-search:focus { border-color: var(--ink); }
@media (max-width: 700px) { input.tab-search { flex-basis:100%; min-width:0; } }
.jump-pill { font: inherit; font-size:.78rem; border:1px solid var(--ink); background:#fff; color:var(--ink); border-radius:999px; padding:6px 13px; cursor:pointer; }
.jump-pill span { color: var(--muted); margin-left:4px; font-size:.72rem; }
.jump-pill:hover { background: var(--ink); color:#fff; }
.jump-pill:hover span { color: rgba(255,255,255,.7); }
.ai-per-row { display:flex; gap:8px; margin: 0 0 16px; }
.card .value .delta-ctx { font-size:.42em; font-weight:400; color:var(--muted); letter-spacing:0; vertical-align:.45em; margin-left:2px; white-space:nowrap; }
.ai-bars-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; }
.ai-bars-head .label { margin-bottom:0; }
.heat-legend.ai-legend { margin:0 0 10px; gap:14px; }
.jump-pill.ai-per-btn.on { background: var(--ink); color:#fff; }
section.tier { margin: 0 0 34px; }
section.tier > .tier-head { cursor:default; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding: 4px 0 10px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
section.tier > .tier-head h2.tier-h, .tab-panel[id^="panel-organisk-"] > section > h2, .tab-panel[id^="panel-organisk-"] h2.ov-h2, .tab-panel[id^="panel-organisk-"] h2.rv-h {
  font-family: Lexend, system-ui, sans-serif; font-weight:700; font-size:2.6rem; line-height:1.2; letter-spacing:-.01em; color:var(--ink); margin:0; text-decoration:none; }
.tab-panel[id^="panel-organisk-"] > section > h2 { display:flex; align-items:center; gap:6px; margin: 2.5rem 0 1rem; }
.tab-panel[id^="panel-organisk-"] > section:first-of-type > h2, .tab-panel[id^="panel-organisk-"] > p.tab-meta + section > h2 { margin-top:0; }
.tab-panel[id^="panel-organisk-"] h2.rv-h { margin: 0 0 14px; scroll-margin-top: 90px; }
.tab-panel[id^="panel-maaling-"] > .jump-row + h2.ov-h2 { margin-top: 0; }
.fold-chev::before { content:''; width:.42em; height:.42em; border-right:.12em solid currentColor; border-bottom:.12em solid currentColor; transform: translateY(-.14em) rotate(45deg); transition: transform .18s ease; }
section.folded > h2 .fold-chev::before { transform: translateX(-.12em) rotate(-45deg); }
section.folded > :not(h2) { display:none !important; }
section.fold-sec > summary { border-bottom:0; margin-bottom:6px; }
section.fold-sec { margin-top: 2.5rem; } section.fold-sec:first-of-type { margin-top:0; }
.tier-n { align-self:center; }
.tier-stats .per { font-weight:600; color:var(--ink); border-bottom:1px dotted var(--muted); }
.tier-n { font-size:.9rem; font-weight:500; color:var(--muted); background: rgba(27,33,26,.07); border-radius:8px; padding:4px 11px; }
.tier-stats { font-size:.8rem; color:var(--muted); margin-left:auto; }
.tier-stats b { color:var(--ink); font-weight:600; }
table.tier-table td.name { white-space: normal; max-width: 220px; min-width: 160px; }
table.tier-table th:not(.name), table.tier-table td:not(.name) { padding-left: 8px; padding-right: 8px; }
table.tier-table thead tr.col-row th { letter-spacing: .4px; }
table.tier-table .spark-cell { padding-left: 6px; padding-right: 6px; }
table.tier-table td.name .pn { display:inline; font-weight:500; line-height:1.3; }
tr.page-row td.name::before { color: var(--ink) !important; }
table.tier-table td.name .pp { display:block; font-size:.68rem; color:var(--muted); font-weight:300; max-width: 200px; margin-left: 14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
table.tier-table td { vertical-align: middle; }
.tt { cursor: help; }
.ai-cell { white-space:nowrap; }
td.bk-cell, td.ctr-cell, td.conv-cell { white-space:nowrap; }
td.conv-cell .muted, td.ctr-cell .muted { color:#b7bab6; }
.bk-d { font-size:.78em; margin-left:3px; } .bk-d.muted { font-weight:400; }
.ai-n { font-weight:600; }
.ai-n.zero { color:#b7bab6; font-weight:400; }
.ai-m { display:inline-block; margin-left:6px; width:14px; height:14px; line-height:13px; border-radius:50%; border:1px dashed #b7bab6; color:#b7bab6; font-size:.6rem; text-align:center; vertical-align:1px; }
svg.sp { display:block; }
svg.spark path { stroke: #86aef0 !important; stroke-width: 2 !important; }
svg.spark circle { fill: #86aef0 !important; }
#tt-pop { position:absolute; z-index:1000; max-width: 260px; background:#fff; color:var(--ink); font-size:14px; line-height:1.4; padding:9px 12px; border-radius:8px; border:1px solid #e3e5e2; box-shadow: 0 6px 20px rgba(27,33,26,.12); pointer-events:none; }
#tt-pop .tp-t { font-weight:600; margin-bottom:2px; }
#tt-pop .tp-l { color:#5d625c; font-size:13.5px; }
#tt-pop .tp-t + .tp-l, #tt-pop .tp-l + .tp-l { margin-top:1px; }
.tier-intro { display:grid; grid-template-columns: max-content 1fr; gap: 3px 16px; margin: 4px 0 6px 28px; font-size:.82rem; line-height:1.45; color:var(--ink); max-width: 900px; }
.spw { display:inline-block; padding: 8px 0; margin: -8px 0; cursor:crosshair; touch-action: manipulation; vertical-align: middle; line-height:0; }
.spw svg { overflow: visible; } circle.sp-hl { fill:#fff; stroke:#1b211a; stroke-width:1.6; opacity:0; } circle.sp-hl.on { opacity:1; }
@media (hover:none) { .spw { padding: 12px 4px; margin: -12px -4px; } }
details.intro-fold { margin: 0 0 30px; } details.intro-fold:has(+ details.holdoeje-fold) { margin-bottom: 12px; } section.tier > .table-wrap, section.tier > .src-box { margin-top: 16px; } details.intro-fold > summary { margin-bottom: 10px; gap: 6px !important; color: var(--ink); }
h3.tier-h3.intro-h { font-size: 1rem !important; font-weight: 600 !important; margin:0 !important; }
#til-toppen { position:fixed; right:22px; bottom:22px; z-index:60; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid #d9dcd8; box-shadow:0 2px 8px rgba(27,33,26,.12); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .2s, transform .2s; }
#til-toppen.on { opacity:1; pointer-events:auto; transform:none; } #til-toppen:hover { border-color:#1b211a; }
@media (max-width:700px) { #til-toppen { right:14px; bottom:14px; } }
table.tier-table thead tr.grp-row th { border-bottom: 0; padding-bottom: 2px; }
table.tier-table thead tr.grp-row th.grp { text-align:left; font-size:.72rem; font-weight:700; letter-spacing:.9px; color:var(--ink); padding-top: 12px; }
table.tier-table thead tr.grp-row th.grp > span { display:block; border-bottom: 1px solid #d3d6d2; padding-bottom: 5px; }
table.tier-table thead tr.grp-row th.name { vertical-align: bottom; }
table.tier-table th.ai-first, table.tier-table td.ai-first { border-left: 1px solid #e6e8e5; padding-left: 12px; }
.tier-intro dt.blk, .tier-intro dd.blk { margin-top: 10px; } .tier-intro dt.blk { text-transform: uppercase; letter-spacing:.9px; font-size:.72rem; font-weight:700; } .tier-intro dt.blk:first-child, .tier-intro dt.blk:first-child + dd { margin-top:0; }
table.tier-table tfoot tr.sum-row td { background:#f3f4f2; border-top: 2px solid #d3d6d2; border-bottom:0; font-weight:600; }
table.tier-table tfoot tr.sum-row td.name { padding-left: 14px; }
table.tier-table tfoot .sum-sub { display:block; font-size:.68rem; font-weight:400; color:var(--muted); line-height:1.2; margin-top:2px; }
.intro-body { margin: 0 0 6px 28px; max-width: 900px; }
.intro-body h4.intro-sub { font-family: Lexend, system-ui, sans-serif; font-size: .95rem; font-weight: 700; line-height: 1.35; color: var(--ink); margin: 14px 0 4px; padding: 0; border: 0; text-transform:none; letter-spacing:0; }
.intro-body h4.intro-sub:first-child { margin-top: 4px; }
.intro-body p.intro-desc { font-size: .82rem; color: var(--muted); margin: 0 0 6px; }
.intro-body .tier-intro { margin: 0; grid-template-columns: 220px 1fr; }
@media (max-width: 700px) { .intro-body .tier-intro { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .intro-body { margin-left: 0; } }
.tier-intro dt { font-weight:400; margin:0; } .tier-intro dd { margin:0; color:#4a4f49; }
.tier-intro .pos-up { color: var(--good, #1a7f37); } .tier-intro .pos-down { color: var(--bad, #c0392b); }
.heat-legend.tier-intro-lg { display:inline-flex; flex-wrap:wrap; gap:4px 10px; margin:0 0 0 4px; padding:0; vertical-align:middle; font-size:inherit; }
@media (max-width: 700px) { .tier-intro { grid-template-columns: 1fr; gap: 0; margin-left: 0; } .tier-intro dd { margin-bottom: 7px; } }
.tier-why { flex-basis:100%; font-size:.8rem; color:var(--muted); margin: -2px 0 0 0; } .tier-why .tt { border-bottom:0; cursor:help; }
.tier-why a { color:var(--ink); text-decoration: underline; text-underline-offset: 2px; }
section.tier > .tier-head .tier-stats { flex-basis:100%; margin: 0; }
.heat-block { margin-top: 18px; }
.heat-title { font-size:.66rem; text-transform:uppercase; letter-spacing:.8px; color:var(--muted); margin: 0 0 8px; }
table.tiers-heat td { font-size:.62rem; color:#1b211a; font-weight:600; font-variant-numeric: tabular-nums; }
table.tiers-heat td.h3, table.tiers-heat td.h4 { color: var(--ink); }
.h1 { background:#86aef0 !important; }
.h2 { background:#b3cdf5 !important; }
.h3 { background:#dbe7fb !important; }
.h4 { background:#ececf0 !important; }
/* Absolutte positioner altid sort – kun ▲/▼ er farvet */
.pos-good, .pos-low { color: var(--ink) !important; font-weight: inherit !important; opacity: 1 !important; font-style: normal !important; }
.h0 { background:#fff !important; box-shadow: inset 0 0 0 1px #eceeea; }
table.tiers-heat { border-spacing: 3px 0; }
table.tiers-heat tbody th.name { font-size:.88rem; color:var(--ink); font-weight:400; height:auto; padding: 13.6px 14px 13.6px 6px; border-bottom:1px solid var(--line-soft); max-width: 260px; min-width:170px; white-space:normal; vertical-align:middle; }
table.tiers-heat tbody tr:last-child th.name { border-bottom:none; }
table.tiers-heat tbody th.name .pn { display:block; font-weight:500; line-height:1.3; }
table.tiers-heat tbody th.name .pp { display:block; font-size:.68rem; color:var(--muted); font-weight:300; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:240px; }
table.tiers-heat tbody td { height:auto; border-top:3px solid #fff; border-bottom:3px solid #fff; background-clip: padding-box; }
table.prompts td { white-space: normal; }
.tab-panel code { word-break: break-all; overflow-wrap: anywhere; }
table.prompts td .missing { font-size:.72rem; }
table.prompts td.name { min-width: 230px; }
table.data .rule { display:block; font-size:.7rem; color:var(--muted); font-weight:300; margin-top:2px; }
.dbars { display:flex; align-items:flex-end; gap:6px; height:120px; padding:6px 0 18px; margin-bottom: 12px; }
.dbar { flex:1; position:relative; height:100%; }
.dbar i, .dbar b { position:absolute; bottom:0; left:0; right:0; border-radius:2px 2px 0 0; }
.dbar i { background:#d3d6d2; } .dbar b { background:var(--ink); }
.dbar span { position:absolute; bottom:-16px; left:0; right:0; text-align:center; font-size:.6rem; color:#9c9c9c; }
@media (max-width: 700px) {
  .tier-stats { margin-left: 0; width:100%; }
  .tier-why, section.tier > .tier-head .tier-stats { margin-left: 0; }
  section.tier > .tier-head h2.tier-h, .tab-panel[id^="panel-organisk-"] > section > h2, .tab-panel[id^="panel-organisk-"] h2.ov-h2, .tab-panel[id^="panel-organisk-"] h2.rv-h { font-size:1.85rem; }
  .tab-panel[id^="panel-organisk-"] > section > h2 { margin-top:2rem; }
  table.tier-table td.name { min-width: 130px; max-width: 160px; }
  table.tier-table td.name .pp { max-width: 130px; }
  table.tiers-heat tbody th.name { min-width: 130px; max-width: 150px; font-size:.82rem; padding: 8.7px 9px 8.7px 4px; }
  table.tiers-heat tbody th.name .pp { max-width: 130px; }
}

.src-box { display:flex; flex-direction:column; min-width:0; }
.src-box > .card, .src-box > .table-wrap, .src-box > .heat-wrap { flex:1 1 auto; }
.src-line, p.src-line { font-size:12.5px !important; font-style:italic !important; font-weight:400 !important; color:var(--muted) !important; margin:8px 0 0 4px !important; padding:0 !important; text-align:left !important; line-height:1.35 !important; letter-spacing:0 !important; text-transform:none !important; }

.rv-grid { align-items: stretch; }
.rv-col { display:flex; flex-direction:column; min-width:0; } .rv-col > .card { flex:1; }
h2.rv-h { margin: 0 0 12px; scroll-margin-top: 90px; }
.rv-card .value { margin-bottom: 12px; } .rv-star { color:#1b211a; font-size:.8em; }
.rv-kv { display:flex; justify-content:space-between; gap:12px; font-size:.88rem; padding: 6px 0; border-bottom: 1px solid var(--line-soft, #eceeeb); }
.rv-kv .k { color: var(--muted); } .rv-kv .v { font-weight:600; color: var(--ink); }
.rv-sub { font-size:.66rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); margin: 18px 0 6px; }
ul.rv-list { list-style:none; margin:0; padding:0; }
ul.rv-list li { padding: 9px 0; border-bottom: 1px solid var(--line-soft, #eceeeb); } ul.rv-list li:last-child { border-bottom:0; }
.rv-meta { display:flex; align-items:center; gap:10px; font-size:.78rem; color:var(--muted); }
.rv-meta .rv-rep { margin-left:auto; } .rv-rep.yes { color: var(--muted); } .rv-rep.no { color: var(--bad); font-weight:600; }
.rv-txt { font-size:.88rem; color: var(--ink); margin-top: 3px; line-height:1.4; }
.rv-none { font-size:.9rem; }
@media (max-width:700px) { .rv-grid { grid-template-columns: 1fr !important; } }
.rv-stars { color:#1b211a; letter-spacing:1px; white-space:nowrap; } .rv-stars .rv-off { color:#d3d6d2; }
table.rv-table td.rv-txt { white-space: normal; min-width: 260px; max-width: 620px; line-height:1.4; }
table.rv-table td.rv-date { white-space:nowrap; }
table.rv-table td.rv-rep.no { color: var(--bad); font-weight:600; }
.rv-wrap > .label { padding: 18px 20px 4px; font-size:.66rem; text-transform:uppercase; letter-spacing:1px; color:var(--muted); font-weight:400; }
.rv-afv .missing, .rv-afv { font-size: 1rem !important; }
.rv-ov .rv-ov-row { display:flex; justify-content:space-between; gap:10px; font-size:.95rem; margin: 6px 0; }
.rv-ov .rv-ov-row b { font-size: 1.25rem; }

details.au-done { margin-top: 10px; color: var(--muted); }
details.au-done > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; padding: 10px 0; font-weight:600; font-size:.9rem; }
details.au-done > summary::-webkit-details-marker { display:none; }
details.au-done:not([open]) > summary .fold-chev::before { transform: translateX(-.12em) rotate(-45deg); }
details.au-done ul.au-list li, details.au-done .pn { color: var(--muted); }
.au-tag { display:inline-block; font-size:.7rem; font-weight:600; color:#4a4f49; background:#eceeeb; border-radius:999px; padding:1px 8px; margin-right:4px; }
.au-dot { display:inline-block; width:10px; height:10px; border-radius:50%; flex:none; vertical-align:middle; margin-right:8px; }
.au-dot.p { background:#4f86e0; }
.au-dot.g { background:#1f8a4c; } .au-dot.y { background:#e0a100; } .au-dot.r { background:#c62d1f; } .au-dot.n { background:#c9ccc8; }
.au-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px 18px; margin-top: 8px; }
a.au-card { display:flex; align-items:center; gap:0; padding: 8px 0; border-bottom: 1px solid var(--line-soft, #eceeeb); color: var(--ink); text-decoration:none; font-size:.9rem; }
a.au-card:hover .au-lab { text-decoration: underline; }
.au-card .au-lab { flex:1; font-weight:600; } .au-card .au-cnt { color: var(--muted); font-size:.82rem; white-space:nowrap; }
.au-legend { margin-top: 12px; }
h2.au-h { display:flex; align-items:center; scroll-margin-top: 90px; }
h2.au-h .au-dot { width: .36em; height: .36em; margin: 0 0 0 .32em; }
.au-card .au-lab .au-dot { margin: 0 0 0 7px; width: 9px; height: 9px; position: relative; top: -1px; }
.au-sum { font-size:.88rem; color:#4a4f49; margin: 6px 0 12px; line-height:1.5; }
.au-ok { font-size:.88rem; color: var(--muted); margin:0; }
details.au-grp { border-top: 1px solid var(--line-soft, #eceeeb); }
details.au-grp > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; padding: 10px 0; font-weight:600; font-size:.92rem; }
details.au-grp > summary::-webkit-details-marker { display:none; }
details.au-grp:not([open]) > summary .fold-chev::before { transform: translateX(-.12em) rotate(-45deg); }
.au-n { color: var(--muted); font-weight:400; }
ul.au-list { list-style:none; margin:0 0 10px 18px; padding:0; }
ul.au-list li { display:grid; grid-template-columns: minmax(150px, 230px) 1fr; column-gap: 16px; padding: 7px 0; border-bottom: 1px solid var(--line-soft, #eceeeb); font-size:.86rem; }
ul.au-list li:last-child { border-bottom:0; }
ul.au-list .pn { font-weight:500; grid-column:1; } ul.au-list .pp { grid-column:1; font-size:.68rem; color: var(--muted); font-weight:300; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
ul.au-list .au-iss { grid-column:2; grid-row: 1 / span 2; align-self:center; color:#4a4f49; }
.au-iss b.bad, .au-sum b.bad, .au-plain b.bad { color: var(--bad); font-weight:600; }
.au-iss b.warn { color:#9a6b00; font-weight:600; }
.au-act { display:block; margin-top: 3px; color: var(--ink); font-weight: 500; }
.au-fix { font-size:.86rem; margin: 12px 0 0; padding: 8px 12px; background: #f4f6f3; border-radius: 8px; line-height: 1.5; }
ul.au-plain { margin: 8px 0 0 18px; padding:0; font-size:.86rem; line-height:1.6; }
@media (max-width:700px) { ul.au-list { margin-left: 0; } ul.au-list li { grid-template-columns: 1fr; } ul.au-list .au-iss { grid-column:1; grid-row:auto; margin-top:3px; } }

table.noegle-table th { white-space: nowrap; }
table.noegle-table td.name .pp.var { white-space: normal; max-width: 300px; }
table.noegle-table th[data-k] { cursor: pointer; user-select: none; }
table.noegle-table th[data-k].s-asc::after { content: " ▲"; font-size: .6rem; } table.noegle-table th[data-k].s-desc::after { content: " ▼"; font-size: .6rem; }
@media (max-width:700px) { table.noegle-table td.name { min-width: 120px; } table.noegle-table td.rang { min-width: 100px; } table.noegle-table th, table.noegle-table td { padding-left: 6px; padding-right: 6px; } table.noegle-table td.comp .cp { display:block; margin-bottom: 4px; } table.noegle-table td.comp .cp .pn { display:inline; } table.noegle-table td.comp .share { font-size:.74rem; color: var(--muted); }
.kanib-tag { font-size:.64rem; padding:1px 6px; } }
.kanib-toggle { display:inline-flex; align-items:center; gap:6px; font-size:.85rem; cursor:pointer; min-height:36px; padding: 0 12px; border:1px solid #d3d6d2; border-radius:999px; background:#fff; }
.kanib-toggle input { accent-color: var(--bad); width:16px; height:16px; margin:0; }
.only-kanib table.noegle-table tbody tr:not(.is-kanib) { display:none; }
.only-kanib section.tier:not(.has-kanib), .only-kanib .jump-pill { display:none; }
table.noegle-table td.name .pp.auto-tag { font-size:.64rem; color:#9aa0a6; letter-spacing:.02em; }
table.noegle-table td.name { white-space: normal; min-width: 170px; }
table.noegle-table td.name .pn { display:block; font-weight:500; line-height:1.3; }
table.noegle-table td.name .pp { display:block; font-size:.68rem; color:var(--muted); font-weight:300; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width: 280px; }
table.noegle-table td.rang .tt .pn { display:inline; }
table.noegle-table td { vertical-align: middle; }
table.noegle-table td.tt { cursor: help; }
table.noegle-table td.comp { min-width: 170px; max-width: 300px; }
table.noegle-table td.comp .cp { display:block; margin-bottom: 4px; }
table.noegle-table td.comp .cp .pp { white-space: normal; overflow-wrap: anywhere; overflow: visible; text-overflow: clip; max-width: none; }
.kanib-tag.kanib-mulig { background: #9aa0a6; }
.kanib-tag { display:inline-block; margin-top:3px; font-size:.7rem; font-weight:600; color:#fff; background: var(--bad); border-radius: 999px; padding: 1px 8px; }

.nt-grid .card { display:flex; flex-direction:column; }
/* Ens korthøjde pr. række: hver src-box fylder to rækkespor (kort + kildelinje) via subgrid, så kildelinjens længde ikke strækker kortet. */
.nt-grid > .src-box { display:grid; grid-row: span 2; grid-template-rows: subgrid; row-gap:0; }
.nt-grid > .src-box > .card { height:100%; box-sizing:border-box; }
.nt-grid > .src-box > .src-line { align-self:start; }
.nt-grid .card .nt-link { margin-top:auto; padding-top:12px; font-size:.78rem; color:var(--muted); text-decoration:underline; text-underline-offset:2px; align-self:flex-start; }
.nt-grid .card .nt-link:hover { color:var(--ink); }
.nt-grid .card .goal-line { margin-top:8px; }
.nt-grid .card .hint.nt-bk { margin-top:6px; }
.nt-grid .card .hint .nt-bk-d { font-size:.92em; margin-left:2px; border-bottom:0; } .nt-grid .card .nt-bk-d.muted { font-weight:400; }
.nt-grid .card .hint .tt { border-bottom:1px dotted var(--muted); }
ul.nt-list { list-style:none; margin:6px 0 0; padding:0; font-size:.86rem; color:var(--ink); }
ul.nt-list li { display:flex; justify-content:space-between; gap:10px; padding:3px 0; }
ul.nt-list li span:last-child { color:var(--muted); white-space:nowrap; }

.an-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 6px; }
.an-kpi .sublabel { font-size: .74rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.an-kpi .badges { margin-top: 8px; }
.an-card + .src-line, .an-card { margin-bottom: 0; }
.an-status { margin: 4px 0 18px; }
.delta.neutral { color: var(--blue); }
.an-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.an-chart { position: relative; height: 220px; margin-top: 8px; }
@media (max-width: 900px) { .an-two { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .an-kpis { grid-template-columns: 1fr; } }
