/* ==========================================================================
   print.css — <link rel="stylesheet" href="css/print.css" media="print">
   Bogholdere printer. En udskrift er et bilag: den skal kunne læses om et
   år, i sort/hvid, uden fladen ved siden af.

   Tre regler bærer arket:
     1. Ingen farvefyld. Betydningen bæres af ikon, kantform og tekst —
        præcis de tre, komponentbiblioteket allerede kræver.
     2. Ingen chrome. Menu, filtre og knapper er ikke bilag.
     3. Alt, der stod som "nu", skrives ud: hvilken flade, hvilken tenant,
        hvilket filter, hvornår.
   ========================================================================== */

@page { margin: 14mm 12mm; }

* {
  -webkit-print-color-adjust: economy;
  print-color-adjust: economy;
}

html, body {
  background: #ffffff !important;
  color: #000000 !important;
  font-size: 10pt;
  line-height: 1.4;
}

/* --- 1 · Væk med chrome og alt, der ikke kan klikkes på papir ------------ */

.topbaand,
.rail,
.spring-til-indhold,
.filterlinje,
.tabel-udvalg,
.tabel-sidefod__navigation,
.sideoverskrift__handlinger,
.gruppe__handlinger,
.tilstand__handlinger,
.kvittering__handlinger,
.dialog-baggrund,
.skuffe__luk,
.faner a:not([aria-current="true"]),
.knap,
.skelet,
.raekke--skelet {
  display: none !important;
}

.side { display: block; }
.indhold { padding: 0; max-width: none; }

/* Sideskuffen (K-6) printes som et almindeligt afsnit på arket. */
.skuffe {
  position: static;
  width: auto;
  box-shadow: none;
  border: 1pt solid #000;
  padding: 4mm;
  overflow: visible;
}

/* --- 2 · Udskriftshoved: hvilken flade, hvilken tenant ------------------- */

.kun-udskrift { display: block !important; }

/* Udskriftshovedet er et ELEMENT i dokumentet (.udskriftshoved) og ikke en
   ::before-content her i arket.

   Grunden er ikke smag. Hovedet bærer produktets navn, og produktnavnet er en
   indstilling — én pr. installation, og én pr. tenant for den, der kører
   white-label. Et stilark, der udleveres uændret til alle, kan ikke kende den
   værdi, og et hardkodet navn er præcis den fejl, en white-label-tenant ser
   først. Arket bestemmer FORMEN; dokumentet leverer ORDENE. */
.udskriftshoved {
  display: block !important;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-bottom: 1pt solid #000;
  padding-bottom: 2mm;
  margin-bottom: 4mm;
}

/* --- 3 · Typografi ------------------------------------------------------- */

h1 { font-size: 16pt; }
h2 { font-size: 13pt; }
h3 { font-size: 11pt; }
h1, h2, h3, h4 { color: #000 !important; page-break-after: avoid; break-after: avoid; }
p, li, td, th { color: #000 !important; }

a { color: #000 !important; text-decoration: underline; }
/* Kun absolutte adresser skrives ud. Interne links er støj på papir. */
a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; }

/* --- 4 · Tabeller: den vigtigste komponent også på papir ----------------- */

.tabel-ramme, .kort, .zone, .gruppe, .politikspejl, .adgangsdoer {
  border: 0.5pt solid #000 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.tabel-rul { overflow: visible !important; }
.tabel-kort { display: none !important; }

.tabel { font-size: 8.5pt; width: 100%; }
.tabel thead { display: table-header-group; }   /* gentages på hver side     */
.tabel tfoot { display: table-footer-group; }
.tabel tr { page-break-inside: avoid; break-inside: avoid; }
.tabel thead th {
  position: static;
  background: none !important;
  border-bottom: 1pt solid #000 !important;
  color: #000 !important;
}
.tabel tbody td { border-bottom: 0.25pt solid #666 !important; height: auto; padding: 1.5mm 2mm; }
.tabel tbody tr { background: none !important; }
.tabel--zebra tbody tr:nth-child(even) { background: none !important; }

/* Rækker, der betyder noget, beholder deres form — ikke deres farve. */
.tabel tbody tr.raekke--standset td:first-child,
.tabel tbody tr.raekke--opmaerksom td:first-child { box-shadow: none !important; }
.tabel tbody tr.raekke--standset td:first-child::before { content: "\25A0  "; }
.tabel tbody tr.raekke--opmaerksom td:first-child::before { content: "\25B2  "; }

/* Sideoverskriften printes: brødkrumme, h1 og underlinje fortæller, hvad
   arket er et bilag FOR. Kun handlingszonen falder bort (skjult ovenfor). */
.sideoverskrift { border-bottom: 0.5pt solid #000 !important; }
.brodkrumme, .sideoverskrift__meta { color: #000 !important; font-size: 8pt; }

/* --- 5 · Statusmærker uden farve ---------------------------------------- */

.maerke {
  background: none !important;
  color: #000 !important;
  border-color: #000 !important;
  padding: 0 1mm;
}
.maerke--forelobig { border-style: dashed !important; }
.maerke--afsluttet { border-left-width: 1.5pt !important; }
.maerke .ikon { stroke: #000 !important; }

/* LEGENDEN PRINTES. Den bærer nu den betydning, `.maerke-forklaring` bar i
   rækkerne; udelades den, er udskriften ulæselig — «Kladde» uden sin
   forklaring er et ord, ikke en tilstand. Den er ét af de få steder, hvor
   arket SKAL vise mere end skærmen: på papir kan man ikke slå op. */
.maerke-legende {
  display: flex !important;
  color: #000 !important;
  font-size: 8pt;
  border-top: 0.25pt solid #666;
  padding-top: 1.5mm;
  page-break-inside: avoid;
  break-inside: avoid;
}

/* --- 6 · Bånd, kvitteringer og tilstande -------------------------------- */

.baand, .kvittering, .tilstand, .pris-ved-at-vente, .dialog__konsekvens {
  background: none !important;
  color: #000 !important;
  border: 1pt solid #000 !important;
  border-left-width: 3pt !important;
  border-radius: 0 !important;
  page-break-inside: avoid;
  break-inside: avoid;
}
/* Tørkørsel beholder sine skråstriber — striberne er hele beviset for,
   at arket ikke dokumenterer en rigtig kørsel. */
.baand--toerkoersel {
  background-image: repeating-linear-gradient(
    135deg, #000 0, #000 0.4mm, transparent 0.4mm, transparent 2.4mm
  ) !important;
  background-color: #fff !important;
}
/* Pladen — samme greb som på skærmen: striberne løber udenom indholdet,
   så de ikke gør ordene ulæselige. Gælder hvert direkte barn, ikonet med. */
.baand--toerkoersel > * { background: #fff; padding: 1mm 2mm; }

.baand--kritisk::before        { content: "!! "; font-weight: 700; }
.baand--impersonering::before  { content: "!! "; font-weight: 700; }
.baand--alvorlig::before       { content: "!  "; font-weight: 700; }

/* --- 7 · Før og efter (K-13) — prikken bliver et ord --------------------- */

.aendringsprik { color: #000 !important; }
.aendringsprik--aendret::after { content: " ændret"; }
.aendringsprik--ny::after      { content: " ny"; }
.aendringsprik--fjernet::after { content: " fjernet"; }

/* Foldede detaljer åbnes, så udskriften ikke er halv. */
details { display: block !important; }
details > summary { display: none; }
details > *:not(summary) { display: block !important; }

/* --- 8 · Tal ------------------------------------------------------------- */

.beloeb, .dato, .tal, .kol-tal, .kol-beloeb, .kol-dato {
  font-family: "DejaVu Sans Mono", Consolas, monospace;
  font-variant-numeric: tabular-nums lining-nums;
}
.tidslinje__sammendrag { -webkit-line-clamp: none; overflow: visible; display: block; }
