/*
 * Utskrift: kvitteringer på 80 mm kvitteringsskriver (72 mm skrivebredde) og etiketter på
 * 76 × 32 mm. Alt er svart på hvitt; termoskrivere gjengir grått dårlig. På skjermen vises
 * utskriften som papir, så den frivillige ser hva som kommer ut.
 */

/* ---------- skjerm ---------- */

body.utskriftsside { background: #dfe5ec; }
.verktoy {
  display: flex; flex-wrap: wrap; gap: .75rem; align-items: center;
  padding: .75rem var(--luft); background: var(--hvit); border-bottom: 1px solid var(--strek);
}
.papir { display: flex; justify-content: center; padding: 1.5rem var(--luft) 4rem; }
.bare-utskrift { display: none; }

/* Sidetypen settes på hele dokumentet, så Chrome ikke deler utskriften der sidetypen skifter. */
.side-kvittering, body:has(.bare-utskrift .kvittering) { page: kvittering; }
.side-etikett { page: etikett; }

.kvittering {
  width: 72mm;
  padding: 3mm 0 10mm; /* luft før kuttet */
  background: #fff;
  color: #000;
  font-size: 9.5pt;
  line-height: 1.3;
}
.utskriftsside .kvittering { padding: 4mm 3mm 10mm; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.kvittering p { margin: 0 0 1.5mm; max-width: none; }
.kv-logo { display: block; max-width: 40mm; max-height: 18mm; margin: 0 auto 2mm; filter: grayscale(1); }
.kv-klubb { font-size: 13pt; font-weight: 700; text-align: center; }
.kv-liten { font-size: 8.5pt; text-align: center; }
.kv-tittel { font-size: 11pt; font-weight: 700; text-align: center; text-transform: uppercase; letter-spacing: .08em;
  border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 1mm 0; margin: 2mm 0 !important; }
.kv-annullert { font-size: 16pt; }
.kv-midt { text-align: center; }
.kv-stor { font-size: 16pt; }
.kv-ref { font-size: 22pt; font-weight: 700; letter-spacing: .2em; text-align: center; margin: 1mm 0 !important; }
.kv-strekkode { display: flex; justify-content: center; margin: 0 0 2mm; }
.kv-strekkode svg, .et-strekkode svg { display: block; fill: #000; }
.kv-del { font-weight: 700; margin-top: 3mm !important; border-bottom: 1px solid #000; }
.kv-linjer { width: 100%; border-collapse: collapse; margin: 0 0 2mm; font-variant-numeric: tabular-nums; }
.kv-linjer th, .kv-linjer td { padding: .6mm 0; border: 0; vertical-align: top; font-size: 9pt; color: #000; }
.kv-linjer th { text-align: left; font-weight: 700; border-bottom: 1px solid #000; }
.kv-linjer td.tall, .kv-linjer th.tall { text-align: right; padding-left: 2mm; white-space: nowrap; }
/* Totalen er en vanlig rad: Chrome flytter tfoot til en ny side ved utskrift. */
.kv-linjer .kv-totalrad td { font-size: 11pt; font-weight: 700; border-top: 1px solid #000; padding-top: 1mm; }
.kv-linjer tbody tr:hover { background: none; }
.kv-kode { font-weight: 700; }
.kv-sum { margin-top: 3mm; }
.kv-tekst { font-size: 8.5pt; }
.kv-signatur { margin-top: 14mm !important; border-top: 1px dotted #000; padding-top: 1mm; font-size: 8.5pt; }
.kv-bunn { text-align: center; margin-top: 3mm !important; font-size: 9pt; }

.etiketter { display: flex; flex-wrap: wrap; gap: 4mm; justify-content: center; max-width: 170mm; }
.etikett {
  width: 76mm; height: 32mm;
  padding: 1.5mm 3mm;
  overflow: hidden;
  background: #fff; color: #000;
  display: flex; flex-direction: column; justify-content: space-between;
  break-inside: avoid;
}
.utskriftsside .etikett { box-shadow: 0 1px 6px rgba(0, 0, 0, .18); border-radius: 2mm; }
.et-topp, .et-bunn { display: flex; align-items: baseline; gap: 2mm; white-space: nowrap; }
.et-tekst { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 8pt; }
.et-pris { font-size: 15pt; font-weight: 700; }
.et-strekkode { display: flex; justify-content: center; }
.et-kode { font-size: 11pt; font-weight: 700; letter-spacing: .04em; }
.et-selger { font-size: 8pt; }

/* ---------- papir ---------- */

@page kvittering { margin: 0; }
@page etikett { size: 76mm 32mm; margin: 0; }

@media print {
  body, body.utskriftsside { background: #fff; }
  .ikke-utskrift, .verktoy { display: none !important; }
  .bare-utskrift { display: block !important; }
  .papir { display: block; padding: 0; }
  .utskriftsside .kvittering { box-shadow: none; padding: 3mm 0 10mm; }
  .etiketter { display: block; max-width: none; }
  .utskriftsside .etikett { box-shadow: none; border-radius: 0; }
  .etikett { break-after: page; }
  .etikett:last-child { break-after: auto; }
  main { padding: 0 !important; margin: 0 !important; max-width: none !important; }
}

/* ---------- skrivervalg per PC ---------- */

.utskriftsstatus { font-weight: 700; color: var(--ok); }
.utskriftsstatus--feil { color: var(--feil); }
.verktoy__hoyre { margin-left: auto; }
