/* kunnskap.css — Kunnskapsbasen (ADR-0139). Prefiks .kb-.
   Redaksjonen (steg 3): Oversikt = tre + liste + ark (lerret A, samme mønster som Bildebiblioteket og Nyhetssentralen,
   ADR-0073/0128); skrivevisning = artikkelen i midten, Innstillinger i sidepanel med fot Forkast · Avbryt · Lagre kladd ·
   Publiser (ADR-0127). Artikkelinnholdet (.kb-art) er det samme i editoren, i «Åpne versjon» og — fra steg 4 — i Hjelp.
   Merker er .hub-tag (ADR-0049), knapper .btn-cyber, felt = elementregelen (ADR-0050). Kun CSS-variabler. */

/* ------------------------------------------------------------------ felles */
.kb-hint { font-size: 0.85em; color: var(--text-muted); }
.kb-etikett { display: block; margin: 0; font-size: 0.72em; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.kb-panel { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; box-shadow: var(--shadow-main); }
.kb-ib { width: 34px; height: 34px; padding: 0; border-radius: 8px; border: 1px solid var(--border-color); background: var(--surface-raised); color: var(--text-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.kb-ib:hover { color: var(--text-main); border-color: var(--brand-primary); }
.kb-merker { display: flex; flex-wrap: wrap; gap: 6px; }
.kb-lenkeknapp { border: 0; background: none; padding: 4px 2px; font: inherit; color: var(--brand-primary); cursor: pointer; }
.kb-lenkeknapp:hover { text-decoration: underline; }
.kb-tom { padding: 28px; text-align: center; color: var(--text-muted); display: flex; flex-direction: column; gap: 12px; align-items: center; border: 1px dashed var(--border-color); border-radius: 12px; }
.kb-tom p { margin: 0; max-width: 46ch; }
.kb-hd-knapper { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.kb-gruppe { margin: 4px 0 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.kb-gruppe > legend { padding: 0; margin-bottom: 6px; font-weight: 700; }

/* ------------------------------------------------------------------ oversikten */
/* Arket kommer og går: kolonnen finnes bare når en artikkel er valgt (som .mb-split.has-ark). */
.kb-split { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 20px; align-items: start; }
.kb-split.has-ark { grid-template-columns: 270px minmax(0, 1fr) minmax(320px, 380px); }

.kb-tre-panel { position: sticky; top: 16px; max-height: calc(100dvh - 32px); display: flex; flex-direction: column; min-width: 0; }
.kb-tre-veksle { display: none; }
.kb-tre-innhold { padding: 12px; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; min-height: 0; }
/* Søkefeltet: wrapperen bærer bare ikonet — elementregelen eier rammen (ADR-0050). */
.kb-sok { position: relative; display: flex; align-items: center; }
.kb-sok > .fa { position: absolute; left: 12px; color: var(--text-muted); pointer-events: none; }
.kb-sok input[type="search"] { width: 100%; margin: 0; padding-left: 34px; }

.kb-tre { display: flex; flex-direction: column; gap: 2px; }
.kb-tre-gruppe { margin: 12px 0 4px; padding: 0 8px; font-size: 0.7em; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.kb-tre-gruppe:first-child { margin-top: 4px; }
.kb-node { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 6px 8px; box-sizing: border-box; border: 0; border-radius: 8px; background: transparent; font: inherit; font-size: 0.92em; color: var(--text-main); text-align: left; cursor: pointer; }
.kb-node:hover { background: var(--nav-hover); }
.kb-node:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 1px; }
.kb-node.is-valgt { background: var(--nav-hover); color: var(--brand-primary); box-shadow: inset 3px 0 0 var(--brand-primary); }
.kb-node.is-omraade { font-weight: 700; }
.kb-node.is-under { padding-left: 30px; font-size: 0.88em; }
.kb-node.is-tom { color: var(--text-muted); }
.kb-node-ikon { width: 14px; text-align: center; color: var(--text-muted); flex: none; font-size: 0.85em; }
.kb-node-navn { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-node .hub-tag { font-size: 0.68em; flex: none; }
.kb-n { margin-left: auto; flex: none; font-size: 0.8em; font-weight: 600; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.kb-node-tom { margin: 2px 0 4px 30px; font-size: 0.82em; color: var(--text-muted); }
.kb-nytt-omraade { margin-top: 10px; justify-content: center; }

.kb-midt { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.kb-midt-hd { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.kb-midt-tittel { min-width: 0; }
.kb-midt-tittel h2 { margin: 2px 0 0; font-size: 1.6em; overflow-wrap: anywhere; }
.kb-midt-handling { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kb-filter { margin-bottom: 0; }

.kb-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.kb-rad { width: 100%; display: flex; gap: 14px; align-items: center; padding: 12px 14px; box-sizing: border-box; text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; transition: border-color 0.15s, box-shadow 0.15s; }
.kb-rad:hover { border-color: var(--brand-primary); }
.kb-rad.is-valgt { background: linear-gradient(var(--nav-hover), var(--nav-hover)), var(--card-bg); border-color: var(--brand-primary); box-shadow: var(--brand-glow); }
.kb-rad:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.kb-rad.is-snarvei { border-style: dashed; }
.kb-rad-ikon { width: 38px; height: 38px; flex: none; border-radius: 10px; background: var(--surface-raised); border: 1px solid var(--border-color); color: var(--brand-primary); display: inline-flex; align-items: center; justify-content: center; }
.kb-rad-tekst { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.kb-rad-tittel { font-weight: 700; font-size: 1.02em; color: var(--text-main); overflow-wrap: anywhere; }
.kb-rad-meta { flex: none; display: flex; flex-direction: column; gap: 4px; align-items: flex-end; font-size: 0.82em; color: var(--text-muted); text-align: right; max-width: 40%; }

/* Arket: sticky på desktop, bunnark på mobil (over bunnmenyen). */
.kb-ark { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; box-shadow: var(--shadow-main); padding: 14px 16px 16px; box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; position: sticky; top: 16px; max-height: calc(100dvh - 32px); overflow-y: auto; min-width: 0; }
.kb-ark[hidden] { display: none; }
.kb-ark > * { flex-shrink: 0; }
.kb-ark-hd { display: flex; align-items: center; justify-content: space-between; }
.kb-ark-topp { display: flex; flex-direction: column; gap: 8px; }
.kb-ark-tittel { margin: 0; font-size: 1.3em; color: var(--text-main); overflow-wrap: anywhere; }
.kb-meta { margin: 0; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px 12px; font-size: 0.92em; }
.kb-meta dt { color: var(--text-muted); }
.kb-meta dd { margin: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; overflow-wrap: anywhere; }
.kb-ark-sek { display: flex; flex-direction: column; gap: 8px; }
.kb-versjoner { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 0.9em; }
.kb-versjoner li { display: flex; gap: 8px; align-items: center; min-height: 32px; }
.kb-versjoner .kb-v-tekst { min-width: 0; overflow-wrap: anywhere; }
.kb-versjoner .kb-lenkeknapp { margin-left: auto; flex: none; }
.kb-versjoner .kb-lenkeknapp + .kb-lenkeknapp { margin-left: 0; }   /* Åpne · Gjenopprett deler høyrekanten */
.kb-ark-knapper { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; border-top: 1px solid var(--border-color); }
.kb-ark-knapper > .btn-cyber { flex: 1 1 140px; justify-content: center; }
.kb-ark-knapper > [hidden] { display: none; }

/* ------------------------------------------------------------------ versjonen («Åpne») */
.kb-v-overskrift { margin: 0 0 6px; font-size: 1.5em; color: var(--text-main); }
.kb-v-sokeord { margin: 0 0 14px; font-size: 0.88em; color: var(--text-muted); }
#kbv_gjenopprett[hidden] { display: none; }

/* ------------------------------------------------------------------ artikkelinnholdet (.kb-art)
   Samme utseende i editoren (.kb-skriv .ql-editor), i «Åpne versjon» og i Hjelp (steg 4). Tips og Obs er låst til
   temaets betydningsfarger (ADR-0139 pkt 18): Tips = merkefargen, Obs = varsel. Etiketten er CSS — teksten er leserens. */
.kb-art, .kb-skriv .ql-editor { line-height: 1.65; color: var(--text-main); overflow-wrap: anywhere; }
.kb-art > :first-child { margin-top: 0; }
.kb-art h2, .kb-skriv .ql-editor h2 { font-size: 1.35em; margin: 1.2em 0 0.4em; }
.kb-art h3, .kb-skriv .ql-editor h3 { font-size: 1.12em; margin: 1.1em 0 0.35em; }
.kb-art img, .kb-skriv .ql-editor img { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--border-color); display: inline-block; vertical-align: top; }
.kb-art video, .kb-skriv .ql-editor video { display: block; max-width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-main); }
.kb-art a { color: var(--brand-primary); }
.kb-art kbd, .kb-skriv .ql-editor kbd { font-family: inherit; font-size: 0.8em; font-weight: 700; line-height: 1; padding: 3px 6px; border: 1px solid var(--border-color); border-bottom-width: 2px; border-radius: 5px; background: var(--surface-raised); color: var(--text-main); white-space: nowrap; }
/* Lenke til artikkel (via id, aldri URL): stiplet, så den skiller seg fra en vanlig lenke. Hjelp (steg 4) gjør den om
   til en ekte lenke bare for lesere med tilgang til målet. */
.kb-art a[data-artikkel-id], .kb-skriv .ql-editor a.kb-lenke { color: var(--brand-primary); text-decoration: none; border-bottom: 1px dashed var(--brand-primary); }
.kb-art p.kb-tips, .kb-art p.kb-obs, .kb-skriv .ql-editor p.kb-tips, .kb-skriv .ql-editor p.kb-obs {
    --kb-s: var(--brand-primary);
    margin: 0.8em 0; padding: 12px 14px 12px 16px; border-radius: 10px; border: 1px solid color-mix(in srgb, var(--kb-s) 40%, transparent);
    border-left-width: 4px; border-left-color: var(--kb-s); background: color-mix(in srgb, var(--kb-s) 9%, transparent);
}
.kb-art p.kb-obs, .kb-skriv .ql-editor p.kb-obs { --kb-s: var(--status-warning); }
.kb-art p.kb-tips::before, .kb-art p.kb-obs::before, .kb-skriv .ql-editor p.kb-tips::before, .kb-skriv .ql-editor p.kb-obs::before {
    content: 'Tips'; display: block; margin-bottom: 2px; font-weight: 800; font-size: 0.82em; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-main);
}
.kb-art p.kb-obs::before, .kb-skriv .ql-editor p.kb-obs::before { content: 'Obs'; }
/* To Tips-linjer etter hverandre er én boks (Quill skriver én blokk per linje). */
.kb-art p.kb-tips + p.kb-tips, .kb-art p.kb-obs + p.kb-obs, .kb-skriv .ql-editor p.kb-tips + p.kb-tips, .kb-skriv .ql-editor p.kb-obs + p.kb-obs {
    margin-top: -0.8em; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 0;
}
.kb-art p.kb-tips + p.kb-tips::before, .kb-art p.kb-obs + p.kb-obs::before, .kb-skriv .ql-editor p.kb-tips + p.kb-tips::before, .kb-skriv .ql-editor p.kb-obs + p.kb-obs::before { content: none; }
.kb-art p.kb-tips:has(+ p.kb-tips), .kb-art p.kb-obs:has(+ p.kb-obs), .kb-skriv .ql-editor p.kb-tips:has(+ p.kb-tips), .kb-skriv .ql-editor p.kb-obs:has(+ p.kb-obs) {
    border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; margin-bottom: 0.8em; padding-bottom: 4px;
}

/* ------------------------------------------------------------------ skrivevisningen */
.kb-skriv-topp { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 16px; }
.kb-tilbake { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--brand-primary); text-decoration: none; font-weight: 600; margin-right: 6px; }
.kb-tilbake:hover { text-decoration: underline; }
.kb-konflikt { margin-bottom: 16px; padding: 12px 16px; border-radius: 10px; border: 1px solid var(--status-danger); background: var(--surface-raised); display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.kb-konflikt[hidden] { display: none; }
.kb-konflikt p { margin: 0; flex: 1 1 260px; color: var(--text-main); font-weight: 600; }
.kb-konflikt .fa { color: var(--ink-danger, var(--status-danger)); }

.kb-skriv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: 20px; align-items: start; }
.kb-artikkel { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.kb-felt { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kb-felt input, .kb-felt select { margin: 0; }
.kb-felt label, .kb-felt .kb-felt-navn { font-size: 0.78em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--brand-primary); }
.kb-tittel-rad { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.kb-tittel-rad .hub-chip-nav { margin-bottom: 0; }
.kb-felt input.kb-tittel { height: 52px; font-size: 1.25em; font-weight: 700; }

/* Hub Editor: skinnet er `.hub-editor` i hub-layout.css (på .kb-artikkel). Her bare artikkelens høyde, luft og at
   verktøylinja bryter (profilen har knapper med tekst). */
.kb-skriv .ql-toolbar.ql-snow { display: flex; flex-wrap: wrap; gap: 2px; }
.kb-skriv .ql-toolbar.ql-snow .ql-formats { margin-right: 10px; display: inline-flex; flex-wrap: wrap; align-items: center; }
.kb-skriv .ql-editor { min-height: 420px; padding: 18px 20px; }
/* Profilens egne knapper (Artikkel, Video, Tips, Obs, Tast) har tekst, ikke bare ikon. */
.kb-skriv .ql-snow.ql-toolbar button.kb-vk { width: auto; padding: 3px 8px; font: inherit; font-size: 0.82em; font-weight: 700; color: var(--brand-primary); display: inline-flex; align-items: center; gap: 5px; border-radius: 6px; }
.kb-skriv .ql-snow.ql-toolbar button.kb-vk:hover, .kb-skriv .ql-snow.ql-toolbar button.kb-vk.ql-active { background: var(--nav-hover); color: var(--brand-primary); }
.kb-skriv .ql-editor img.kb-bilde { cursor: pointer; }

/* Innstillinger: sticky panel med fot (ADR-0127). */
.kb-innstillinger { position: sticky; top: 16px; max-height: calc(100dvh - 32px); display: flex; flex-direction: column; min-width: 0; }
.kb-innst-hd { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--border-color); }
.kb-innst-hd h2 { margin: 0; font-size: 1.1em; color: var(--text-main); }
.kb-innst-kropp { padding: 16px 18px; display: flex; flex-direction: column; gap: 20px; overflow-y: auto; min-height: 0; }
.kb-snarveier { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.kb-snarvei { display: inline-flex; align-items: center; gap: 4px; }
.kb-snarvei button { border: 0; background: none; padding: 0 2px; margin-left: 2px; font: inherit; color: var(--text-muted); cursor: pointer; line-height: 1; }
.kb-snarvei button:hover { color: var(--ink-danger, var(--status-danger)); }
.kb-snarvei-ny { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; width: 100%; }
.kb-snarvei-ny[hidden] { display: none; }
.kb-snarvei-ny select { flex: 1 1 180px; min-width: 0; margin: 0; }
.kb-fot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--border-color); background: var(--card-bg); border-radius: 0 0 12px 12px; }
.kb-fot .grow { flex: 1; }
.kb-fot [hidden] { display: none; }

/* Lenke til artikkel: velgeren i modalen. */
.kb-artvelger { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: 50dvh; overflow-y: auto; }
.kb-artvelger button { width: 100%; text-align: left; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--border-color); border-radius: 10px; background: var(--surface-raised); font: inherit; color: var(--text-main); cursor: pointer; }
.kb-artvelger button:hover, .kb-artvelger button:focus-visible { border-color: var(--brand-primary); outline: none; }
.kb-artvelger span { font-size: 0.82em; color: var(--text-muted); }

/* ------------------------------------------------------------------ smal skjerm */
/* Treet sammenlagt: en knapp som viser hvor du står, og som folder treet ut over lista. Brukes når det ikke er plass
   til tre kolonner — med arket åpent under 1400 px (sidemenyen tar ~280), og alltid under 900 px. */
.kb-tre-veksle .kb-pil { margin-left: auto; color: var(--text-muted); transition: transform 0.15s; }
.kb-tre-panel.is-aapen .kb-pil { transform: rotate(180deg); }

@media (max-width: 1400px) {
    .kb-split.has-ark { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
    .kb-split.has-ark .kb-tre-panel { grid-column: 1 / -1; position: static; max-height: none; }
    .kb-split.has-ark .kb-tre-veksle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; background: none; font: inherit; font-weight: 700; color: var(--text-main); text-align: left; cursor: pointer; }
    .kb-split.has-ark .kb-tre-innhold { display: none; border-top: 1px solid var(--border-color); max-height: 60dvh; }
    .kb-split.has-ark .kb-tre-panel.is-aapen .kb-tre-innhold { display: flex; }
}

@media (max-width: 1100px) {
    .kb-skriv { grid-template-columns: minmax(0, 1fr); }
    .kb-innstillinger { position: static; max-height: none; }
}

@media (max-width: 900px) {
    .kb-split, .kb-split.has-ark { grid-template-columns: minmax(0, 1fr); }
    .kb-tre-panel { position: static; max-height: none; }
    .kb-tre-veksle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; background: none; font: inherit; font-weight: 700; color: var(--text-main); text-align: left; cursor: pointer; }
    .kb-tre-innhold { display: none; border-top: 1px solid var(--border-color); max-height: 60dvh; }
    .kb-tre-panel.is-aapen .kb-tre-innhold { display: flex; }
}

@media (max-width: 768px) {
    .kb-hd-knapper { width: 100%; }
    .kb-hd-knapper .btn-cyber { flex: 1; justify-content: center; }
    .kb-midt-tittel h2 { font-size: 1.35em; }
    .kb-midt-handling { margin-left: 0; width: 100%; }
    .kb-rad { gap: 10px; padding: 10px 12px; }
    .kb-rad-ikon { display: none; }
    .kb-rad-meta { display: none; }

    /* Bunnark over den faste bunnmenyen (65 px + safe area — STYLEGUIDE «Mobil-chrome»). */
    .kb-ark { position: fixed; left: 0; right: 0; top: auto; bottom: calc(65px + env(safe-area-inset-bottom)); max-height: 72dvh; border-radius: 16px 16px 0 0; box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.35); z-index: 900; }

    .kb-artikkel { padding: 16px; }
    .kb-tittel-rad { grid-template-columns: minmax(0, 1fr); }
    .kb-skriv .ql-editor { min-height: 280px; padding: 14px; }
    /* Knapperaden står fast over bunnmenyen mens man skriver; skjemaet får plass under seg. */
    .kb-skriv { padding-bottom: 120px; }   /* foten er to knapperader på smal skjerm */
    .kb-fot { position: fixed; left: 0; right: 0; bottom: calc(65px + env(safe-area-inset-bottom)); z-index: 800; border-radius: 0; box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.25); padding: 10px 15px; }
    .kb-fot .btn-cyber { flex: 1 1 auto; justify-content: center; }
    .kb-fot .grow { display: none; }
}

/* ------------------------------------------------------------------ vedlikeholdet (steg 6) */
/* «Var dette nyttig?» + «Dette stemmer ikke» under en artikkel (.kbs — hjelp_svar.js). Samme tegning på Hjelp-sidene,
   i «Som leser» og i foten av «?»-arket (.kbs.is-kompakt). */
.kbs { display: flex; flex-direction: column; gap: 12px; margin-top: 26px; }
.kbs-rad { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 14px 16px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--surface-raised); }
.kbs-spm { font-weight: 700; color: var(--text-main); }
.kbs-tomler { display: inline-flex; gap: 8px; }
.kbs-tommel { width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid var(--border-color); background: var(--card-bg); color: var(--text-muted); display: inline-flex; align-items: center; justify-content: center; font: inherit; font-size: 1.05em; cursor: pointer; transition: border-color 0.15s, color 0.15s; }
.kbs-tommel:hover:not(:disabled) { border-color: var(--brand-primary); color: var(--text-main); }
.kbs-tommel:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 2px; }
.kbs-tommel[aria-pressed="true"] { border-color: var(--brand-primary); color: var(--brand-primary); background: var(--nav-hover); }
.kbs-tommel:disabled { opacity: 0.55; cursor: default; }
.kbs-status, .kbs-hint { font-size: 0.85em; color: var(--text-muted); }
.kbs-rad .grow { flex: 1; }
.kbs-sendt { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85em; color: var(--text-muted); }
.kbs-sendt .fa, .kbs-skjema-hd .fa { color: var(--status-warning); }
.kbs-logg-inn { margin-left: auto; font-size: 0.92em; color: var(--brand-primary); }
.kbs-logg-inn[aria-disabled="true"] { color: var(--text-muted); }

/* Skjemaet «Hva stemmer ikke?» */
.kbs-skjema { display: flex; flex-direction: column; gap: 12px; padding: 16px 18px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--card-bg); }
.kbs-skjema-hd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.kbs-skjema-hd .kbs-hint { margin-left: auto; }
.kbs-valg { margin: 0; flex-wrap: wrap; }
.kbs-felt { display: flex; flex-direction: column; gap: 6px; }
.kbs-felt textarea { margin: 0; resize: vertical; }
.kbs-knapper { display: flex; gap: 10px; justify-content: flex-end; }

/* Foten i «?»-arket: én linje, lite luft — ledeteksten og takken skjules når plassen er knapp. */
.kbs.is-kompakt { margin: 0; }
.kbs.is-kompakt .kbs-rad { padding: 0; border: 0; background: none; gap: 8px; }
.kbs.is-kompakt .kbs-spm { font-weight: 600; font-size: 0.9em; color: var(--text-muted); }
.kbs.is-kompakt .kbs-tommel { width: 36px; height: 36px; font-size: 0.95em; }
.kbs.is-kompakt .kbs-status { display: none; }
.kbs.is-kompakt .grow { display: none; }

/* Innspill i redaksjonen: arket, skrivevisningen (med «Lukkes når du publiserer») og «Som leser»-linja. */
.kb-innspill-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kb-innspill { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border: 1px solid var(--border-color); border-left: 3px solid var(--status-warning); border-radius: 10px; background: var(--surface-raised); }
.kb-innspill-hd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 0.85em; color: var(--text-muted); }
.kb-innspill-hd .grow { flex: 1; }
.kb-innspill p { margin: 0; font-size: 0.92em; color: var(--text-main); overflow-wrap: anywhere; }
.kb-innspill label, .kb-felt .kb-innspill label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 0.88em; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--text-main); cursor: pointer; }
.kb-innspill label input { margin: 0; width: auto; }
.kb-nyttig { color: var(--text-muted); }

@media (max-width: 768px) {
    .kbs-rad { padding: 12px; }
    .kbs-rad .grow { display: none; }
    .kbs-meld { width: 100%; justify-content: center; }
    .kbs-skjema { padding: 14px; }
    .kbs-skjema-hd .kbs-hint { margin-left: 0; flex-basis: 100%; }
    .kbs-knapper .btn-cyber { flex: 1; justify-content: center; }
    .kbs.is-kompakt .kbs-spm { display: none; }
    .kbs.is-kompakt .kbs-meld { width: auto; }
}
/* Utvalget Innspill i treet: tallet er «noe venter» (samme betydning som .chip-count.is-hot, ADR-0049). */
.kb-n.is-hot { padding: 1px 7px; border-radius: 999px; background: var(--status-warning); color: var(--text-on-status); }
/* I arket ligger tomlene på kortets bakgrunn — gi dem det hevede laget, så de synes i alle tre temaene. */
.kbs.is-kompakt .kbs-tommel:not([aria-pressed="true"]) { background: var(--surface-raised); }
