/* Vinnuseðlar og merkimiðar. Alltaf svart á hvítu pappír, óháð þema. */
.print-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 24px; }
.print-area { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 0 16px 40px; }
.sheet { background: #fff; color: #111; box-shadow: 0 2px 16px rgba(0,0,0,.18); display: flex; flex-wrap: wrap; overflow: hidden; }
.sheet-n2 > .tk { width: 50% !important; height: 100% !important; border-right: 1px dashed #bbb; }
.sheet-n4 > .tk { width: 50% !important; height: 50% !important; border-right: 1px dashed #bbb; border-bottom: 1px dashed #bbb; }

/* ---------- Vinnuseðill ---------- */
.tk { --ink: #111; --mut: #4a4a4a; --arch-paper: #fff; box-sizing: border-box; padding: 1.6em 1.7em; color: var(--ink); background: #fff; font-family: 'IBM Plex Sans', system-ui, sans-serif;
  text-align: left; display: grid; grid-template-columns: minmax(0, 1fr) 36%; grid-template-rows: auto auto auto 1fr auto;
  grid-template-areas: "head head" "main side" "steps steps" "notes notes" "foot foot"; gap: .9em 1.2em; overflow: hidden; line-height: 1.3; }
.tk-main { grid-area: main; display: flex; flex-direction: column; gap: .8em; min-width: 0; }
.tk-head { grid-area: head; display: flex; justify-content: space-between; align-items: center; gap: 1em; border-bottom: .18em solid var(--ink); padding-bottom: .6em; }
.tk-lab { display: flex; align-items: center; gap: .6em; font-weight: 600; font-size: 1.05em; min-width: 0; }
.tk-lab .tk-logo { height: 2.6em; width: auto; max-width: 9em; object-fit: contain; }
.tk-lab span.tk-logo { width: 2.2em; height: 2.2em; border-radius: .4em; background: #111; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.tk-no { font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 1.75em; white-space: nowrap; }
.tk-rush { margin-left: .5em; font-size: .55em; background: #111; color: #fff; padding: .15em .45em; border-radius: .25em; vertical-align: .35em; }
.tk-due { border: .22em solid var(--wd); border-left-width: 1.1em; border-radius: .45em; padding: .55em .9em .6em; align-self: start; }
.tk-wd { font-weight: 700; font-size: 1.45em; line-height: 1.1; }
.tk-date { font-size: 1.3em; font-weight: 600; } .tk-day { font-size: 1.5em; font-weight: 700; }
.tk-time { font-size: 1.05em; font-weight: 600; }
.tk-lbl { font-size: .72em; font-weight: 700; letter-spacing: .07em; color: var(--mut); }
.tk-side { grid-area: side; display: flex; flex-direction: column; align-items: center; gap: .6em; }
.tk-qr { width: 42%; aspect-ratio: 1; } .tk-qr svg { width: 100%; height: 100%; display: block; }
.tk-arch { width: 100%; color: #111; } .tk-arch svg { width: 100%; height: auto; display: block; }
.tk-ppl { display: flex; flex-direction: column; gap: .5em; font-size: 1.05em; }
.tk-mut { color: var(--mut); font-size: .9em; }
.tk-spec { border-top: .08em solid #999; padding-top: .6em; }
.tk-title { font-weight: 700; font-size: 1.2em; margin-bottom: .35em; }
.tk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25em 1em; }
.tk-grid .tk-lbl { margin-right: .3em; }
.tk-steps, .tk-reqs { grid-area: steps; display: flex; flex-wrap: wrap; gap: .3em 1.1em; font-size: .92em; }
.tk-reqs { grid-area: notes; align-self: start; }
.tk-step em { color: var(--mut); font-style: normal; }
.tk-ck { display: inline-block; width: .95em; height: .95em; border: .1em solid #111; margin-right: .35em; vertical-align: -.1em; text-align: center; font-size: .9em; line-height: .9em; }
.tk-notes { grid-area: notes; display: flex; flex-direction: column; gap: .3em; min-height: 0; overflow: hidden; }
.tk-note { white-space: pre-wrap; font-size: .98em; }
.tk-lines { flex: 1; min-height: 2.2em; background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 1.75em, #9a9a9a 1.75em, #9a9a9a calc(1.75em + 1px)); }
.tk-foot { grid-area: foot; display: flex; justify-content: space-between; gap: 1em; font-size: .75em; color: var(--mut); border-top: .08em solid #111; padding-top: .35em; }

/* Litaborði: dagur vikunnar sem breiður borði efst */
/* Útlit þar sem skiladagur er í fullri breidd: vinstri dálkurinn leysist upp í grindina */
.tk.l-litabordi, .tk.l-storskil { grid-template-rows: auto auto auto auto auto 1fr auto; }
.tk.l-litabordi .tk-main, .tk.l-storskil .tk-main { display: contents; }
.tk.l-litabordi .tk-due, .tk.l-storskil .tk-due { grid-area: due; }
.tk.l-litabordi .tk-ppl, .tk.l-storskil .tk-ppl { grid-area: ppl; align-self: start; }
.tk.l-litabordi .tk-spec, .tk.l-storskil .tk-spec { grid-area: spec; align-self: start; }

/* Litaborði: dagur vikunnar sem breiður borði efst */
.tk.l-litabordi { grid-template-areas: "due due" "head head" "ppl side" "spec side" "steps steps" "notes notes" "foot foot"; }
.tk.l-litabordi .tk-due { background: var(--wd); color: var(--wd-ink); border: 0; border-radius: .4em; display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em 1em; padding: .7em 1em; }
.tk.l-litabordi .tk-due .tk-lbl { color: inherit; opacity: .85; width: 100%; }
.tk.l-litabordi .tk-wd { font-size: 2em; text-transform: uppercase; letter-spacing: .02em; }
.tk.l-litabordi .tk-head { border-bottom-width: .1em; }

/* Þéttur */
.tk.l-thettur { font-size: .92em; padding: 1.2em 1.3em; gap: .6em 1em; grid-template-columns: minmax(0, 1fr) 40%; }
.tk.l-thettur .tk-wd { font-size: 1.2em; } .tk.l-thettur .tk-no { font-size: 1.45em; }
.tk.l-thettur .tk-grid { grid-template-columns: 1fr; }

/* Stór skiladagur */
.tk.l-storskil { grid-template-areas: "head head" "due due" "ppl side" "spec side" "steps steps" "notes notes" "foot foot"; }
.tk.l-storskil .tk-due { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .9em; border-left-width: .22em; padding: .5em 1em .6em; }
.tk.l-storskil .tk-due .tk-lbl { width: 100%; order: 0; }
.tk.l-storskil .tk-date { order: 1; font-size: 1.6em; } .tk.l-storskil .tk-day { font-size: 3em; line-height: .95; }
.tk.l-storskil .tk-wd { order: 2; font-size: 1.5em; } .tk.l-storskil .tk-time { order: 3; font-size: 1.3em; }
.tk.l-storskil .tk-wd::before { content: ''; display: inline-block; width: .7em; height: .7em; border-radius: 50%; background: var(--wd); margin-right: .3em; vertical-align: .05em; }

/* ---------- Merkimiðar ---------- */
.lb { box-sizing: border-box; background: #fff; color: #111; display: flex; align-items: center; gap: 2.5mm; padding: 2mm 3mm 2mm 4mm; overflow: hidden; font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: calc(var(--lh) * 0.115); line-height: 1.18; border-left: 2.2mm solid var(--wd); }
.lb-addr { border-left: 0; padding-left: 4mm; }
.lb-qr { height: calc(var(--lh) - 5mm); aspect-ratio: 1; flex: none; } .lb-qr svg { width: 100%; height: 100%; display: block; }
.lb-txt { min-width: 0; display: flex; flex-direction: column; gap: .15em; }
.lb-big { font-weight: 700; font-size: 1.15em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-no { font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 1.2em; }
.lb-addr-lines { white-space: pre-line; }

@media print {
  html, body { background: #fff !important; }
  .topnav, .no-print, #toasts, .drawer, .drawer-tab { display: none !important; }
  .print-area { padding: 0; gap: 0; display: block; }
  .sheet { box-shadow: none; page-break-after: always; break-after: page; margin: 0; }
  .sheet:last-child { page-break-after: auto; break-after: auto; }
  .sheet-n2 > .tk, .sheet-n4 > .tk { border-color: #ddd; }
}
