
@font-face{
  font-family:"Source Serif 4"; font-style:normal; font-weight:400 600; font-display:swap;
  src:url(/skrift/source-serif-4-latin.woff2) format("woff2");
}
@font-face{
  font-family:"Source Sans 3"; font-style:normal; font-weight:400 600; font-display:swap;
  src:url(/skrift/source-sans-3-latin.woff2) format("woff2");
}
:root, [data-theme="light"] {
  --color-ground: #f3efe6;
  --color-surface: #fdfbf5;
  --color-ink: #2a251d;
  --color-ink-muted: #6b6353;
  --color-divider: #ddd5c4;
  --color-field-border: #8b8270;
  --color-accent: #6a5232;
  --color-action: #5c4527;
  --color-action-ink: #fdfbf5;
  --lys-kontur: #6a5232;
  --lys-masse: #7b664a;
  --lys-ild: #a4691f;
  --color-action-edge: transparent;
  --color-due-soon: #7a5410;
  --color-overdue: #7c2320;
  --color-overdue-field: #f3ddd8;
  --color-overdue-edge: #e0c2ba;
  --color-highlight: #f0e8d8;
  --color-focus: #6a5232;
  --font-display: "Source Serif 4", Georgia, serif;
  --font-text: "Source Sans 3", system-ui, sans-serif;
  --text-xs: 0.8125rem;
  --text-base: 0.9375rem;
  --text-md: 1.125rem;
  --text-lg: 1.5rem;
  --text-xl: 2.75rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  color-scheme: light;
  --hairline: 1px solid var(--color-divider);
}
[data-theme="dark"] {
  --color-ground: #231f18;
  --color-surface: #2d2820;
  --color-ink: #f0ebe0;
  --color-ink-muted: #aca289;
  --color-divider: #3d372c;
  --color-field-border: #877d68;
  --color-accent: #c9a36b;
  --color-action: #7d5e33;
  --color-action-ink: #f0ebe0;
  --lys-kontur: #c9a36b;
  --lys-masse: #dac09a;
  --lys-ild: #c9a36b;
  --color-action-edge: #877d68;
  --color-due-soon: #d9a862;
  --color-overdue: #e59a86;
  --color-overdue-field: #46261f;
  --color-overdue-edge: #6b4038;
  --color-highlight: #3a3222;
  --color-focus: #c9a36b;
  --hairline: 1px solid var(--color-divider);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-ground: #231f18;
    --color-surface: #2d2820;
    --color-ink: #f0ebe0;
    --color-ink-muted: #aca289;
    --color-divider: #3d372c;
    --color-field-border: #877d68;
    --color-accent: #c9a36b;
    --color-action: #7d5e33;
    --color-action-ink: #f0ebe0;
    --lys-kontur: #c9a36b;
    --lys-masse: #dac09a;
    --lys-ild: #c9a36b;
    --color-action-edge: #877d68;
    --color-due-soon: #d9a862;
    --color-overdue: #e59a86;
    --color-overdue-field: #46261f;
    --color-overdue-edge: #6b4038;
    --color-highlight: #3a3222;
    --color-focus: #c9a36b;
    --hairline: 1px solid var(--color-divider);
    color-scheme: dark;
  }
}
[data-theme="contrast"] {
  --color-ground: #ffffff;
  --color-surface: #ffffff;
  --color-ink: #101010;
  --color-ink-muted: #3a3a3a;
  --color-divider: #5c5c5c;
  --color-field-border: #2b2b2b;
  --color-accent: #54401f;
  --color-action: #332512;
  --color-action-ink: #ffffff;
  --lys-kontur: #101010;
  --lys-masse: #2b2b2b;
  --lys-ild: #5f4108;
  --color-action-edge: #101010;
  --color-due-soon: #5f4108;
  --color-overdue: #6d1f1c;
  --color-overdue-field: #ffe4df;
  --color-overdue-edge: #6d1f1c;
  --color-highlight: #e8e8e8;
  --color-focus: #101010;
  --hairline: 1px solid var(--color-divider);
  color-scheme: light;
}
@media (prefers-contrast: more) {
  :root:not([data-theme]) {
    --color-ground: #ffffff;
    --color-surface: #ffffff;
    --color-ink: #101010;
    --color-ink-muted: #3a3a3a;
    --color-divider: #5c5c5c;
    --color-field-border: #2b2b2b;
    --color-accent: #54401f;
    --color-action: #332512;
    --color-action-ink: #ffffff;
    --lys-kontur: #101010;
    --lys-masse: #2b2b2b;
    --lys-ild: #5f4108;
    --color-action-edge: #101010;
    --color-due-soon: #5f4108;
    --color-overdue: #6d1f1c;
    --color-overdue-field: #ffe4df;
    --color-overdue-edge: #6d1f1c;
    --color-highlight: #e8e8e8;
    --color-focus: #101010;
    --hairline: 1px solid var(--color-divider);
    color-scheme: light;
  }
}
[data-theme="contrast"] :focus-visible { outline-width: 3px; }
@media (prefers-contrast: more) { :root:not([data-theme]) :focus-visible { outline-width: 3px; } }
[data-theme] { background: var(--color-ground); color: var(--color-ink); }
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--color-ground);
  color: var(--color-ink);
  font-family: var(--font-text);
  font-size: var(--text-base);
  line-height: 1.55;
}
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 1.18;
  margin: 0 0 var(--space-2);
}
h1 { font-size: var(--text-xl); }
h2 { font-size: var(--text-lg); }
h3 { font-size: var(--text-md); }
h4, h5, h6 { font-family: var(--font-text); font-weight: 600; margin: 0 0 var(--space-2); }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
a:hover { color: var(--color-ink); }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.text-muted { color: var(--color-ink-muted); }
.kicker {
  font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--color-ink-muted);
}
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }
.hr { height: 1px; border: 0; margin: var(--space-4) 0; background: var(--color-divider); }
body, .shell, .phone { container-type: inline-size; }
.shell { max-width: 1080px; margin: 0 auto; padding: var(--space-6) var(--space-8); }
.phone { width: 390px; }
.topbar {
  display: flex; align-items: center; gap: var(--space-6);
  padding: var(--space-3) var(--space-6);
  background: var(--color-surface);
  border-bottom: var(--hairline);
}
.topbar-product { font-family: var(--font-display); font-weight: 500; font-size: var(--text-md); }
.topbar-scope {
  font-size: var(--text-xs); color: var(--color-ink-muted);
  border-left: var(--hairline); padding-left: var(--space-6);
}
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-4); }
.topbar .search { min-width: 15rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem;
  cursor: pointer; text-decoration: none;
  white-space: nowrap; flex: none;
  font-family: var(--font-text); font-weight: 600;
  font-size: 0.875rem; line-height: 1.2; color: var(--color-ink);
  background: transparent; border: 1px solid transparent;
  padding: 0.5625rem 1.125rem; border-radius: var(--radius-sm);
  min-height: 2.25rem;
}
.btn-primary {
  background: var(--color-action); color: var(--color-action-ink);
  border-color: var(--color-action-edge);
}
.btn-primary:hover { background: color-mix(in srgb, var(--color-action) 88%, var(--color-ink) 12%); }
.btn-secondary { border-color: var(--color-field-border); background: var(--color-surface); }
.btn-secondary:hover { border-color: var(--color-ink); }
.btn-link { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; padding-inline: var(--space-1); }
.btn-link:hover { color: var(--color-ink); }
.btn:disabled, .btn[aria-disabled="true"] {
  cursor: not-allowed;
  background: var(--color-highlight); color: var(--color-ink-muted);
  border-color: transparent;
}
.field { display: block; margin: 0 0 var(--space-4); }
.field > label {
  display: block; font-size: var(--text-xs);
  color: var(--color-ink-muted); margin-bottom: 0.3125rem;
}
.input {
  width: 100%; min-height: 2.375rem; padding: 0.5rem 0.75rem; font: inherit;
  font-size: var(--text-base); color: var(--color-ink);
  caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-field-border); border-radius: var(--radius-sm);
}
.input::placeholder { color: var(--color-ink-muted); opacity: 1; }
.input:hover { border-color: var(--color-ink); }
.input:focus-visible { border-color: var(--color-focus); outline-offset: 0; }
textarea.input { min-height: 5.625rem; resize: vertical; }
.field-hint { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.3125rem; }
.field-error { font-size: var(--text-xs); color: var(--color-overdue); margin-top: 0.3125rem; }
.input[aria-invalid="true"] { border-color: var(--color-overdue); }
.search { position: relative; }
.status {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: var(--text-xs); font-weight: 600;
}
.status-due { color: var(--color-due-soon); }
.status-overdue { color: var(--color-overdue); text-transform: uppercase; letter-spacing: 0.08em; }
.now { display: flex; flex-direction: column; gap: var(--space-2); }
.now-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.now-head > * { min-width: 0; }
.now-item {
  display: grid; grid-template-columns: 7.5rem 1fr auto;
  gap: var(--space-4); align-items: center;
  background: var(--color-surface); border: var(--hairline);
  border-radius: var(--radius-md); padding: 0.875rem 1.125rem;
}
.now-day { font-size: var(--text-xs); font-weight: 600; color: var(--color-due-soon); }
.now-name { font-family: var(--font-display); font-size: 1.0625rem; }
.now-ref { font-family: var(--font-text); font-size: var(--text-xs); color: var(--color-ink-muted); }
.now-task { font-size: var(--text-base); margin-top: 0.125rem; }
.now-item-overdue { background: var(--color-overdue-field); border-color: var(--color-overdue-edge); }
.now-item-overdue .now-task, .now-item-overdue .btn-link { color: var(--color-overdue); }
.table-wrap {
  background: var(--color-surface); border: var(--hairline);
  border-radius: var(--radius-md); overflow: hidden;
}
.table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.table th {
  text-align: left; padding: 0.625rem 1rem;
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 600; color: var(--color-ink-muted);
  border-bottom: var(--hairline);
}
.table td { padding: 0.625rem 1rem; border-bottom: var(--hairline); }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: var(--color-highlight); }
.table .cell-name { font-family: var(--font-display); font-size: var(--text-base); }
.table .cell-ref { color: var(--color-ink-muted); }
.table .cell-due { color: var(--color-due-soon); font-weight: 600; }
.table .cell-overdue { color: var(--color-overdue); font-weight: 600; }
.list { border-top: var(--hairline); }
.list-row {
  display: grid; grid-template-columns: 6.875rem 1fr 13.75rem;
  gap: var(--space-4); padding: 0.6875rem 1rem;
  border-bottom: var(--hairline);
  color: var(--color-ink-muted); font-size: 0.875rem;
}
.list-row .cell-name { font-family: var(--font-display); font-size: var(--text-base); }
.chip {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); cursor: pointer;
  border: 1px solid var(--color-field-border); color: var(--color-ink-muted);
  background: transparent; border-radius: var(--radius-sm);
  padding: 0.25rem 0.75rem; min-height: 1.875rem;
}
.chip:hover { border-color: var(--color-ink); color: var(--color-ink); }
.chip[aria-pressed="true"], .chip-active {
  border-color: var(--color-accent); color: var(--color-accent); font-weight: 600;
}
.chip-row { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.card {
  display: flex; flex-direction: column; gap: var(--space-2);
  background: var(--color-surface); border: var(--hairline);
  border-radius: var(--radius-md); padding: var(--space-4) 1.125rem;
}
.card-title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-md); }
.card-meta { font-size: var(--text-xs); color: var(--color-ink-muted); }
.notice {
  display: flex; align-items: baseline; gap: var(--space-3);
  background: var(--color-highlight); border: var(--hairline);
  border-radius: var(--radius-md); padding: var(--space-3) 1.125rem;
  font-size: 0.875rem;
}
.notice-label { font-weight: 600; white-space: nowrap; }
.empty {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-1);
  padding: var(--space-8) var(--space-6); text-align: center;
  background: var(--color-surface); border: var(--hairline);
  border-radius: var(--radius-md);
}
.empty-title { font-family: var(--font-display); font-size: var(--text-md); }
.empty-date { font-size: var(--text-xs); color: var(--color-ink-muted); }
@container (max-width: 40em) {
  .btn, .input { min-height: 2.75rem; }
  .chip { min-height: 2.75rem; }
  .now-item { grid-template-columns: 1fr; gap: var(--space-1); }
  .list-row { grid-template-columns: 1fr; gap: 0.125rem; }
  .topbar { flex-wrap: wrap; gap: var(--space-3); }
  .topbar-scope { border-left: 0; padding-left: 0; }
}
.select { position: relative; display: block; }
.select select.input { appearance: none; -webkit-appearance: none; padding-right: 2.125rem; cursor: pointer; }
.select::after {
  content: ""; position: absolute; right: 0.875em; top: 50%;
  width: 0.4375em; height: 0.4375em; margin-top: -0.25em; pointer-events: none;
  border-right: 1.5px solid var(--color-ink-muted);
  border-bottom: 1.5px solid var(--color-ink-muted);
  transform: rotate(45deg);
}
.select select.input option { background: var(--color-surface); color: var(--color-ink); }
.kv { display: grid; grid-template-columns: fit-content(12.5rem) 1fr; gap: 0.375rem 1.25rem; margin: 0; font-size: 0.875rem; }
.kv dt { color: var(--color-ink-muted); }
.kv dd { margin: 0; }
@container (max-width: 40em) { .kv { grid-template-columns: 1fr; gap: 0 0; } .kv dt { margin-top: var(--space-2); } }
.masked { display: inline-flex; align-items: baseline; gap: var(--space-3); letter-spacing: 0.12em; }
.deadlines { display: flex; flex-wrap: wrap; gap: var(--space-8); padding: var(--space-4) 0; }
.deadline-label { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-muted); }
.deadline-value { font-family: var(--font-display); font-size: var(--text-md); margin-top: 0.125rem; }
.deadline-due .deadline-value { color: var(--color-due-soon); }
.deadline-overdue .deadline-value { color: var(--color-overdue); }
.subnav { display: flex; flex-wrap: wrap; gap: var(--space-4); font-size: var(--text-xs); border-bottom: var(--hairline); padding-bottom: var(--space-2); }
.subnav a { color: var(--color-ink-muted); text-decoration: none; }
.subnav a:hover, .subnav a[aria-current="true"] { color: var(--color-accent); }
.stepbar { background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); }
.stepbar-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-3); padding: 0.75rem 1.125rem 0.625rem; border-bottom: var(--hairline); }
.stepbar-title { font-family: var(--font-display); font-size: var(--text-md); }
.stepbar-step { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-muted); }
.stepbar-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); padding: 0.625rem 1.125rem; border-bottom: var(--hairline); }
.stepbar-item:last-child { border-bottom: 0; }
.stepbar-what { font-weight: 600; }
.stepbar-where { font-size: var(--text-xs); color: var(--color-ink-muted); }
.stepbar-actions { margin-left: auto; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); }
.stepbar-hide {
  background: none; border: 0; padding: 0; cursor: pointer;
  font: inherit; font-size: var(--text-xs); color: var(--color-ink-muted);
  text-decoration: underline; text-underline-offset: 3px;
}
.stepbar-hide:hover { color: var(--color-ink); }
@container (max-width: 40em) { .stepbar-actions { margin-left: 0; width: 100%; } }
.subnav-mark { color: var(--color-due-soon); font-weight: 600; white-space: nowrap; }
.table-wrap { overflow-x: auto; position: relative; }
.table .table-group th {
  padding: 0.75rem 1rem 0.375rem; background: var(--color-ground);
  font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 600; color: var(--color-ink-muted);
  border-bottom: var(--hairline);
}
.table .table-group-overdue th { color: var(--color-overdue); }
.table tbody tr.row-overdue, .table tbody tr.row-overdue:hover { background: var(--color-overdue-field); }
.table tbody tr.row-overdue td { border-bottom-color: var(--color-overdue-edge); }
@media print {
  .stepbar-hide { display: none; }
  .stepbar, .table .table-group th { break-inside: avoid; }
}
@media print {
  :root, [data-theme="light"], [data-theme="dark"], [data-theme="contrast"] {
    --color-ground: #ffffff;
    --color-surface: #ffffff;
    --color-ink: #1a1712;
    --color-ink-muted: #4a453c;
    --color-divider: #b5ada0;
    --color-field-border: #4a453c;
    --color-accent: #1a1712;
    --lys-kontur: #1a1712;
    --lys-masse: #1a1712;
    --lys-ild: #1a1712;
    --color-due-soon: #1a1712;
    --color-overdue: #1a1712;
    --color-overdue-field: #ffffff;
    --color-overdue-edge: #1a1712;
    --color-highlight: #ffffff;
  }
  body, [data-theme] { background: #ffffff; color: #1a1712; }
  .topbar, .btn, .chip, .chip-row, .search, .no-print { display: none !important; }
  a { color: inherit; text-decoration: none; }
  .card, .table-wrap, .now-item, .empty { border-color: #b5ada0; break-inside: avoid; }
  .now-item-overdue { border-width: 2px; }
}
.choice { position: relative; display: inline-flex; align-items: center; gap: 0.625rem; min-height: 2.75rem; cursor: pointer; font-size: var(--text-base); }
.choice > input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.choice-mark { flex: none; display: grid; place-items: center; width: 1.375rem; height: 1.375rem; background: var(--color-surface); border: 1.5px solid var(--color-field-border); }
.choice input[type="radio"] + .choice-mark { border-radius: 50%; }
.choice input[type="checkbox"] + .choice-mark { border-radius: 0.3125rem; }
.choice:hover input:not(:checked) + .choice-mark { border-color: var(--color-ink); }
.choice input:checked + .choice-mark { border-color: var(--color-accent); }
.choice input[type="radio"]:checked + .choice-mark::after { content: ""; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--color-accent); }
.choice input[type="checkbox"]:checked + .choice-mark { background: var(--color-accent); }
.choice input[type="checkbox"]:checked + .choice-mark::after { content: ""; width: 0.3125rem; height: 0.625rem; margin-top: -0.125rem; border: solid var(--color-surface); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.choice input:focus-visible + .choice-mark, .choice input:focus-visible + .switch-mark { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.switch-mark { flex: none; position: relative; width: 2.75rem; height: 1.5rem; border-radius: 0.75rem; background: var(--color-ground); border: 1.5px solid var(--color-field-border); }
.switch-mark::after { content: ""; position: absolute; top: 0.125rem; left: 0.125rem; width: 1.0625rem; height: 1.0625rem; border-radius: 50%; box-sizing: border-box; background: var(--color-surface); border: 1.5px solid var(--color-field-border); }
.choice input:checked + .switch-mark { background: var(--color-accent); border-color: var(--color-accent); }
.choice input:checked + .switch-mark::after { left: 1.4375rem; border-color: var(--color-accent); }
.choice-group { border: 0; margin: 0 0 var(--space-3); padding: 0; min-width: 0; }
.choice-group legend { font-size: var(--text-xs); color: var(--color-ink-muted); padding: 0; }
.choice-row { display: flex; flex-wrap: wrap; gap: 0 var(--space-6); }
.choice-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.card-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.card-editing { border-color: var(--color-field-border); }
.card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); padding-top: var(--space-3); border-top: var(--hairline); }
.card-actions .card-meta { margin-left: auto; }
.stepbar-return { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); padding: 0.625rem 1.125rem; font-size: var(--text-xs); color: var(--color-ink-muted); }
.status-error { color: var(--color-overdue); }
.doc-cards { display: flex; flex-direction: column; gap: var(--space-3); }
.doc-group { font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); margin: var(--space-3) 0 0; }
.doc-group-overdue { color: var(--color-overdue); }
.doc-card-foot { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-1) var(--space-3); }
.card-overdue { background: var(--color-overdue-field); border-color: var(--color-overdue-edge); }
@media print {
  .card-actions, .stepbar-return { display: none; }
}
.cols { display: grid; grid-template-columns: minmax(0, 1fr) 21.25rem; gap: var(--space-6); align-items: start; }
.col-main, .col-rail { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
@container (max-width: 62.5em) { .cols { grid-template-columns: minmax(0, 1fr); } }
.form-narrow { max-width: 560px; }
.feltvelger { position: relative; display: block; }
.feltvelger .input { width: 100%; padding-right: 2.625rem; }
.feltvelger-knapp { position: absolute; top: 0; right: 0; height: 100%; width: 40px; display: flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; color: var(--color-ink-muted); }
.feltvelger-knapp:hover { color: var(--color-ink); }
.feltvelger-nativ { position: absolute; right: 10px; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; border: 0; padding: 0; }
.masked { flex-wrap: wrap; }
@container (max-width: 64em) { .topbar .search { min-width: 8.75rem; flex: 1 1 8.75rem; } }
@container (max-width: 40em) {
  .deadlines { flex-direction: column; gap: var(--space-4); }
  .subnav { gap: 0 var(--space-4); }
  .subnav a { display: inline-flex; align-items: center; min-height: 2.75rem; }
  .stepbar-hide { min-height: 2.75rem; text-align: left; }
  .now-head { flex-wrap: wrap; }
  .topbar { flex-wrap: wrap; row-gap: var(--space-3); }
  .topbar-actions { flex: 1 1 100%; margin-left: 0; min-width: 0; flex-wrap: wrap; row-gap: var(--space-2); }
  .topbar-actions .btn { white-space: normal; flex: 0 1 auto; }
  .topbar-title { overflow-wrap: anywhere; }
}
.narrow-only { display: none; }
@container (max-width: 40em) {
  .wide-only { display: none; }
  .narrow-only { display: block; }
}
.app { display: flex; flex-direction: column; height: 100dvh; background: var(--color-ground); }
.app-main { flex: 1 1 0; min-height: 0; overflow-y: auto; container-type: inline-size; }
.topbar-ident { display: flex; align-items: baseline; gap: var(--space-6); min-width: 0; }
.topbar-title { display: none; font-family: var(--font-display); font-weight: 500; font-size: var(--text-md); }
.topbar-back { display: none; }
.topbar-nav { display: flex; gap: var(--space-4); }
.topbar-nav a { display: inline-flex; align-items: center; min-height: 2.25rem; padding: 0 0.125rem; font-size: var(--text-base); color: var(--color-ink-muted); text-decoration: none; border-bottom: 2px solid transparent; }
.topbar-nav a:hover { color: var(--color-ink); }
.topbar-nav a[aria-current="page"] { color: var(--color-accent); font-weight: 600; border-bottom-color: var(--color-accent); }
.scopebtn { display: inline-flex; align-items: center; gap: 0.625rem; background: none; border: 0; cursor: pointer; font: inherit; font-size: var(--text-xs); color: var(--color-ink-muted); border-left: var(--hairline); padding: 0 0 0 var(--space-6); min-height: 2.25rem; }
.scopebtn::after { content: ""; flex: none; width: 0.375em; height: 0.375em; margin-top: -0.1875em; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.scopebtn:hover { color: var(--color-ink); }
.userbtn { flex: none; display: grid; place-items: center; width: 2.375rem; height: 2.375rem; border-radius: 50%; background: var(--color-highlight); border: 1px solid var(--color-field-border); color: var(--color-ink); font: inherit; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; cursor: pointer; }
.userbtn:hover { border-color: var(--color-ink); }
.menu-anchor { position: relative; }
.menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; min-width: 16.5rem; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-md); padding: var(--space-2) 0; }
.menu-backdrop { position: fixed; inset: 0; z-index: 29; background: transparent; border: 0; padding: 0; cursor: default; }
.menu-head { padding: 0.5rem 1.125rem 0.375rem; }
.menu-name { font-family: var(--font-display); font-size: var(--text-base); }
.menu-role { font-size: var(--text-xs); color: var(--color-ink-muted); }
.menu-sep { height: 1px; background: var(--color-divider); margin: var(--space-2) 0; }
.menu-label { padding: 0.375rem 1.125rem 0.125rem; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-muted); }
.menu-item { display: flex; align-items: center; width: 100%; gap: 0.625rem; padding: 0 1.125rem; min-height: 2.75rem; background: none; border: 0; cursor: pointer; font: inherit; font-size: 0.875rem; color: var(--color-ink); text-align: left; text-decoration: none; }
.menu-item:hover { background: var(--color-highlight); }
.menu-item[aria-current="true"] { color: var(--color-accent); font-weight: 600; }
.menu .choice { padding: 0 1.125rem; width: 100%; }
.menu .choice:hover { background: var(--color-highlight); }
.tabbar { flex: none; display: none; background: var(--color-surface); border-top: var(--hairline); padding-bottom: env(safe-area-inset-bottom); }
.tabbar-item { display: flex; align-items: center; justify-content: center; min-height: 3.375rem; background: none; border: 0; border-top: 2px solid transparent; margin-top: -0.0625rem; cursor: pointer; font: inherit; font-size: 0.875rem; color: var(--color-ink-muted); text-decoration: none; }
.tabbar-item[aria-current="page"] { color: var(--color-accent); font-weight: 600; border-top-color: var(--color-accent); }
@container (max-width: 64em) {
  .topbar-nav { display: none; }
  .tabbar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; }
}
@container (max-width: 40em) {
  .topbar { align-items: center; }
  .userbtn { width: 2.75rem; height: 2.75rem; }
  .feltvelger-knapp { width: 2.75rem; }
  .topbar-back { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: var(--text-base); color: var(--color-accent); text-decoration: none; white-space: nowrap; }
  .topbar-ident { flex-direction: column; align-items: flex-start; gap: 0; }
  .topbar-title { display: block; }
  .topbar-product { display: none; }
  .topbar .search { display: none; }
  .scopebtn { border-left: 0; padding-left: 0; min-height: 2rem; }
}
.gate { min-height: 100dvh; display: grid; place-items: center; padding: var(--space-6) var(--space-4); }
.gate-inner { width: 100%; max-width: 400px; }
.gate-brand { text-align: center; margin-bottom: var(--space-6); }
.gate-name { font-family: var(--font-display); font-weight: 500; font-size: 2.125rem; line-height: 1.15; }
.gate-sub { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.375rem; }
.gate .card { padding: var(--space-6); }
.gate .input { min-height: 2.75rem; }
.gate .btn-primary { width: 100%; min-height: 2.75rem; }
.gate .btn-link { min-height: 2.75rem; }
.gate .btn { white-space: normal; }
.gate-foot { margin-top: var(--space-4); text-align: center; font-size: var(--text-xs); color: var(--color-ink-muted); }
@media print {
  .tabbar, .userbtn, .menu, .menu-backdrop, .topbar-back { display: none !important; }
  .app { height: auto; }
  .app-main { overflow: visible; }
}
.fence { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.fence-item { display: flex; gap: var(--space-2); font-size: var(--text-base); color: var(--color-ink-muted); }
.fence-item::before { content: "—"; flex: none; }
.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: var(--space-3); }
.tpl { display: flex; flex-direction: column; padding: 0; overflow: hidden; text-align: left; cursor: pointer; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-md); font: inherit; color: inherit; }
.tpl:hover { border-color: var(--color-ink); }
.tpl[aria-pressed="true"] { border-color: var(--color-accent); box-shadow: inset 0 0 0 2px var(--color-accent); }
.tpl-thumb { aspect-ratio: 148 / 210; overflow: hidden; display: flex; flex-direction: column; padding: 10px 9px; }
.tpl-thumb .leaf-kicker { font-size: 7px; }
.tpl-thumb .leaf-name { font-size: 12px; }
.tpl-thumb .leaf-dates { font-size: 7px; white-space: nowrap; }
.tpl-thumb.mal-2 .leaf-dates { font-size: 6px; }
.tpl-thumb .leaf-rule { margin-top: 8px; margin-bottom: 0; }
.tpl-thumb .leaf-photo { flex: none; height: 44px; margin-bottom: 8px; }
.tpl-caption { padding: var(--space-2) var(--space-3); font-size: var(--text-xs); border-top: var(--hairline); }
.tpl-caption strong { display: block; font-size: var(--text-base); font-weight: 500; }
.tpl-open { display: grid; place-items: center; aspect-ratio: 148 / 210; padding: var(--space-3); text-align: center; font-size: var(--text-xs); color: var(--color-ink-muted); background: var(--color-ground); border: 1px dashed var(--color-field-border); border-radius: var(--radius-md); }
.slots { display: grid; }
.slot { display: grid; grid-template-columns: 12.5rem 1fr auto; gap: var(--space-3); align-items: baseline; padding: var(--space-3) 0; border-top: var(--hairline); }
.slot:first-child { border-top: 0; }
.slot-label { font-size: var(--text-base); color: var(--color-ink-muted); }
.slot-title { font-family: var(--font-display); font-size: var(--text-md); }
.slot-meta { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.125rem; }
@container (max-width: 43.75em) {
  .slot { grid-template-columns: 1fr; gap: var(--space-1); }
  .slot .btn { justify-self: start; }
}
.spread { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.leaf-wrap { display: flex; flex-direction: column; }
.leaf-cap { margin-top: 6px; font-size: var(--text-xs); color: var(--color-ink-muted); }
.leaf { position: relative; width: 272px; aspect-ratio: 148 / 210; padding: 22px 20px; display: flex; flex-direction: column; overflow: hidden; border: var(--hairline); print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.blocks { display: grid; gap: var(--space-2); }
.block { display: flex; align-items: center; gap: var(--space-3); min-height: 2.75rem; padding: var(--space-2) var(--space-3); background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); }
.block-kind { font-size: var(--text-xs); color: var(--color-ink-muted); margin-left: auto; }
.block-add { display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 2.75rem; width: 100%; padding: var(--space-2) var(--space-3); cursor: pointer; font: inherit; font-size: var(--text-base); color: var(--color-ink-muted); background: var(--color-ground); border: 1px dashed var(--color-field-border); border-radius: var(--radius-sm); }
.block-add:hover { color: var(--color-ink); border-color: var(--color-ink); }
.motif { display: grid; place-items: center; aspect-ratio: 3 / 2; padding: var(--space-3); text-align: center; font-size: var(--text-xs); color: var(--color-ink-muted); background: var(--color-highlight); border: 1px dashed var(--color-field-border); border-radius: var(--radius-sm); }
.mal-1 { background: #f6f0e3; color: #26221c; border-color: #cfc6b4; font-family: Georgia, "Iowan Old Style", serif; text-align: center; }
.mal-1 .leaf-kicker { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: #6f6659; }
.mal-1 .leaf-name { font-size: 19px; line-height: 1.15; margin-top: auto; font-variant: small-caps; letter-spacing: 0.06em; }
.mal-1 .leaf-dates { font-size: 11px; color: #6f6659; margin-top: 6px; }
.mal-1 .leaf-rule { height: 1px; background: #cfc6b4; margin: 12px 18%; }
.mal-1 .leaf-h { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #7d7365; }
.mal-3 { background: #eef1f2; color: #1d262b; border-color: #c3cccf; font-family: "Helvetica Neue", "Segoe UI", system-ui, sans-serif; text-align: left; }
.mal-3 .leaf-photo { margin: -22px -20px 0; }
.mal-3 .leaf-kicker, .mal-3 .leaf-name, .mal-3 .leaf-dates { background: #26343d; margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; }
.mal-3 .leaf-kicker { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: #7d97a5; padding-top: 14px; }
.mal-3 .leaf-name { font-size: 17px; font-weight: 600; line-height: 1.2; color: #eef1f2; }
.mal-3 .leaf-dates { font-size: 11px; color: #b9c6cc; padding-top: 4px; padding-bottom: 22px; margin-bottom: -22px; }
.tpl-thumb.mal-3 .leaf-photo { margin: -10px -9px 0; }
.tpl-thumb.mal-3 .leaf-kicker, .tpl-thumb.mal-3 .leaf-name, .tpl-thumb.mal-3 .leaf-dates { margin-left: -9px; margin-right: -9px; padding-left: 9px; padding-right: 9px; }
.tpl-thumb.mal-3 .leaf-kicker { padding-top: 8px; }
.tpl-thumb.mal-3 .leaf-dates { padding-bottom: 10px; margin-bottom: -10px; }
.mal-3 .leaf-rule { height: 2px; width: 34px; background: #26343d; margin: 12px 0; }
.mal-3 .leaf-h { font-size: 10px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #4d626d; }
.mal-2 { background: #fdf6e9; color: #3a2f1c; border-color: #d8c39a; font-family: Palatino, "Palatino Linotype", "Book Antiqua", serif; text-align: center; padding: 12px; }
.mal-2 .leaf-frame { padding: 16px 14px; border: 1px solid #b08a52; outline: 3px solid #fdf6e9; outline-offset: -5px; box-shadow: inset 0 0 0 4px #fdf6e9, inset 0 0 0 5px #d8c39a; }
.mal-2 .leaf-kicker { font-size: 10px; letter-spacing: 0.16em; font-variant: small-caps; color: #7a6034; }
.mal-2 .leaf-name { font-size: 27px; line-height: 1.05; margin-top: auto; font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", cursive; font-style: italic; }
.mal-2 .leaf-dates { font-size: 11px; color: #6d5a3c; margin-top: 6px; }
.mal-2 .leaf-rule { height: 1px; background: #b08a52; margin: 10px 22%; }
.mal-2 .leaf-h { font-size: 11px; font-variant: small-caps; letter-spacing: 0.08em; color: #7a6034; }
.leaf-frame { position: relative; z-index: 1; flex: 1; min-height: 0; display: flex; flex-direction: column; }
.leaf-line { font-size: 10px; line-height: 1.5; margin-top: 3px; }
.leaf-verse { font-size: 9.5px; line-height: 1.6; margin-top: 6px; }
.leaf-foot { font-size: 9px; margin-top: auto; opacity: 0.85; }
.leaf-photo { flex: 1; min-height: 0; display: grid; place-items: center; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; background: #dfe4e6; color: #6b7a82; }
.mal-1 .leaf-photo, .mal-2 .leaf-photo,
.mal-4 .leaf-photo, .mal-5 .leaf-photo, .mal-6 .leaf-photo, .mal-7 .leaf-photo,
.mal-8 .leaf-photo, .mal-9 .leaf-photo, .mal-10 .leaf-photo, .mal-11 .leaf-photo { flex: none; height: 96px; background: rgba(0,0,0,0.05); color: inherit; opacity: 0.6; margin-bottom: 14px; }
@media print {
  .tpl-grid, .blocks, .block-add, .slots .btn { display: none !important; }
  .spread { gap: 12px; }
}
.day { display: grid; }
.day-group { display: flex; align-items: baseline; gap: var(--space-3); margin: var(--space-6) 0 0; font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.day-item { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) 11.875rem; gap: var(--space-3) var(--space-4); align-items: baseline; padding: 0.75rem 0; border-top: var(--hairline); }
.day-time { font-family: var(--font-display); font-size: var(--text-md); font-variant-numeric: tabular-nums; }
.day-kind { font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-ink-muted); }
.day-name { font-family: var(--font-display); font-size: 1.0625rem; }
.day-where { font-size: 0.875rem; }
.day-note { font-size: var(--text-xs); color: var(--color-ink-muted); }
.day-who { font-size: var(--text-xs); color: var(--color-ink-muted); }
.day-item-overdue { background: var(--color-overdue-field); border-color: var(--color-overdue-edge); padding-inline: var(--space-3); margin-inline: calc(-1 * var(--space-3)); }
.day-item-overdue .day-time, .day-item-overdue .day-kind { color: var(--color-overdue); }
.num { font-variant-numeric: tabular-nums; }
@container (max-width: 40em) {
  .day-item { grid-template-columns: 5.25rem minmax(0, 1fr); gap: 0.125rem var(--space-3); }
  .day-who { grid-column: 2; }
}
[data-ark] {
  --color-ground: #ffffff;
  --color-surface: #ffffff;
  --color-ink: #1a1712;
  --color-ink-muted: #4a453c;
  --color-divider: #b5ada0;
  --color-field-border: #4a453c;
  --color-accent: #1a1712;
  --lys-kontur: #1a1712;
  --lys-masse: #1a1712;
  --lys-ild: #1a1712;
  --color-due-soon: #1a1712;
  --color-overdue: #1a1712;
  --color-overdue-field: #ffffff;
  --color-overdue-edge: #1a1712;
  --color-highlight: #ffffff;
  background: #ffffff; color: #1a1712;
}
.app[data-ark] > .topbar, .app[data-ark] > .tabbar, .app[data-ark] .crossbar { display: none; }
[data-ark] .day-item-overdue { border-top-width: 2px; }
.sheet { max-width: 700px; margin: 0 auto; }
.sheet-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2) var(--space-4); padding-bottom: var(--space-3); border-bottom: 2px solid var(--color-ink); }
.sheet-title { font-family: var(--font-display); font-size: var(--text-lg); }
.sheet-meta { font-size: var(--text-xs); color: var(--color-ink-muted); }
.sheet-foot { margin-top: var(--space-6); padding-top: var(--space-2); border-top: var(--hairline); font-size: var(--text-xs); color: var(--color-ink-muted); }
.print-only { display: none; }
[data-ark] .print-only { display: block; }
@media print {
  .print-only { display: block; }
  .sheet { max-width: none; }
  .day-item { padding: 7px 0; break-inside: avoid; }
  .day-group { margin-top: var(--space-4); break-after: avoid; }
  .crossbar, .dialog-backdrop { display: none !important; }
}
.app[data-flate="telefon"] { position: relative; container-type: inline-size; width: 390px; height: 780px; margin: var(--space-6) auto; border: 1px solid var(--color-divider); border-radius: 18px; overflow: hidden; }
.dialog-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: var(--space-4); background: rgba(42, 37, 29, 0.45); }
[data-theme="dark"] .dialog-backdrop { background: rgba(35, 31, 24, 0.66); }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .dialog-backdrop { background: rgba(35, 31, 24, 0.66); } }
.dialog { display: flex; flex-direction: column; width: 100%; max-width: 540px; max-height: 88dvh; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-lg); container-type: inline-size; }
.dialog-head { padding: 1.125rem 1.5rem 0.875rem; border-bottom: var(--hairline); }
.dialog-title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-md); }
.dialog-sub { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.125rem; }
.dialog-body { padding: var(--space-4) 1.5rem; overflow-y: auto; }
.dialog-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); padding: 0.875rem 1.5rem; border-top: var(--hairline); }
.dialog-foot .btn { min-height: 2.75rem; }
.dialog-foot .dialog-note { flex: 1 1 100%; order: -1; font-size: var(--text-xs); color: var(--color-ink-muted); }
.crossbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: 0.625rem var(--space-6); background: var(--color-ground); border-bottom: var(--hairline); font-size: 0.875rem; }
.crossbar-on, .crossbar[data-pa="ja"] { background: var(--color-highlight); }
.crossbar-state { font-weight: 600; }
.crossbar-note { color: var(--color-ink-muted); font-size: var(--text-xs); }
.crossbar .choice { min-height: 2.75rem; }
.crossbar-end { margin-left: auto; }
@container (max-width: 40em) { .crossbar { padding-inline: var(--space-4); } .crossbar-end { margin-left: 0; } }
.log-reason { display: inline-flex; align-items: center; background: var(--color-highlight); border-radius: var(--radius-sm); padding: 0.125rem 0.5rem; font-size: var(--text-xs); }
.app-body { flex: 1 1 0; min-height: 0; display: flex; }
.app-body > .app-main { flex: 1 1 0; min-width: 0; }
.side { flex: none; width: 244px; display: flex; flex-direction: column; padding: var(--space-3) 0 var(--space-6); background: var(--color-surface); border-right: var(--hairline); overflow-y: auto; }
.side-label { padding: var(--space-4) var(--space-4) var(--space-1); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-muted); }
.side-nav { display: flex; flex-direction: column; }
.side-item { display: flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; padding: 0 var(--space-4); border-left: 2px solid transparent; font-size: var(--text-base); color: var(--color-ink); text-decoration: none; }
a.side-item:hover { background: var(--color-highlight); color: var(--color-ink); }
.side-item[aria-current="page"] { background: var(--color-highlight); border-left-color: var(--color-accent); color: var(--color-accent); font-weight: 600; }
.side-item .subnav-mark { margin-left: auto; font-size: var(--text-xs); }
.side-item-soon { color: var(--color-ink-muted); }
.side-soon { margin-left: auto; font-size: var(--text-xs); color: var(--color-ink-muted); }
.side-back { display: flex; align-items: center; gap: 0.375rem; width: 100%; min-height: 2.75rem; padding: 0 var(--space-4); background: none; border: 0; font: inherit; font-size: var(--text-xs); text-align: left; color: var(--color-accent); text-decoration: none; }
button.side-back { cursor: pointer; }
.side-back:hover { color: var(--color-ink); }
.side-head { padding: var(--space-1) var(--space-4) var(--space-4); border-bottom: var(--hairline); }
.side-case-name { font-family: var(--font-display); font-size: var(--text-md); line-height: 1.2; }
.side-case-ref { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.125rem; }
.side-case-due { font-size: var(--text-xs); margin-top: var(--space-2); }
.sakbar { display: none; align-items: baseline; gap: var(--space-2) var(--space-4); padding: 0.625rem var(--space-6); background: var(--color-highlight); border-bottom: var(--hairline); font-size: 0.875rem; }
.sakbar-name { font-family: var(--font-display); font-size: var(--text-md); }
.sakbar-ref { font-size: var(--text-xs); color: var(--color-ink-muted); }
.sakbar-open { margin-left: auto; display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; padding: 0; background: none; border: 0; cursor: pointer; font: inherit; font-size: 0.875rem; font-weight: 600; color: var(--color-accent); }
.sakbar-open::after { content: ""; flex: none; width: 0.375em; height: 0.375em; margin-top: -0.1875em; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.dialog-backdrop-bottom { place-items: end stretch; padding: 0; }
.sheetnav { position: relative; z-index: 30; display: flex; flex-direction: column; max-height: 78dvh; overflow-y: auto; background: var(--color-surface); border-top: 1px solid var(--color-field-border); border-radius: var(--radius-lg) var(--radius-lg) 0 0; padding: var(--space-2) 0 env(safe-area-inset-bottom); }
.sheetnav-head { padding: var(--space-3) var(--space-4) var(--space-2); border-bottom: var(--hairline); }
@container (max-width: 1024px) {
  .side { display: none; }
  .sakbar { display: flex; }
}
.app[data-ark] .side, .app[data-ark] .sakbar { display: none; }
.app[data-flate="telefon"] .dialog-backdrop { position: absolute; }
.side-demo { width: 244px; border: 1px solid var(--color-divider); border-radius: var(--radius-md); overflow: hidden; }
.side-demo .side { display: flex; width: 100%; border-right: 0; }
@media print {
  .side, .sakbar, .sheetnav, .dialog-backdrop-bottom { display: none !important; }
  .app-body { display: block; }
}
.slot-titlerow { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-3); }
.slot-kind { display: inline-flex; align-items: center; flex: none; padding: 0.125rem 0.5rem; border-radius: var(--radius-sm); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; }
.slot-kind-sing { background: var(--color-highlight); color: var(--color-ink); }
.slot-kind-listen { border: var(--hairline); color: var(--color-ink-muted); }
.slot-gone { display: flex; gap: var(--space-2); padding: var(--space-2) 0; font-size: var(--text-xs); color: var(--color-ink-muted); }
.arks { display: grid; gap: var(--space-6); }
.ark-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-3); margin-bottom: var(--space-2); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.ark-head-note { letter-spacing: 0; text-transform: none; font-weight: 400; font-size: var(--text-xs); }
.ark-pair { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-4); }
.ark-fold { align-self: stretch; width: 0; border-left: 1px dashed var(--color-field-border); }
.ark-fold-cap { writing-mode: vertical-rl; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-ink-muted); }
@container (max-width: 560px) { .ark-fold, .ark-fold-cap { display: none; } }
.compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--space-4); }
.compare-head { font-family: var(--font-display); font-size: var(--text-md); margin-bottom: var(--space-1); }
.compare-note { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: var(--space-2); }
.edit-split { display: grid; grid-template-columns: minmax(0, 1fr) 18.75rem; gap: var(--space-6); align-items: start; }
.previs { position: sticky; top: 0; display: grid; gap: var(--space-2); padding: var(--space-3); background: var(--color-ground); border: var(--hairline); border-radius: var(--radius-md); }
.previs-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.previs-pair { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.previs-foot { font-size: var(--text-xs); color: var(--color-ink-muted); }
@container (max-width: 56.25em) {
  .edit-split { grid-template-columns: 1fr; }
  .previs { position: static; order: -1; }
}
.salmesplit { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-6); align-items: start; }
@container (max-width: 38.75em) { .salmesplit { grid-template-columns: 1fr; } }
.bb { display: grid; gap: var(--space-2); }
.bb-block { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2) var(--space-3); align-items: start; padding: var(--space-3); background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); }
.bb-name { font-family: var(--font-display); font-size: var(--text-md); }
.bb-what { font-size: var(--text-xs); color: var(--color-ink-muted); }
.bb-side { display: inline-flex; align-items: center; padding: 0.125rem 0.5rem; border-radius: var(--radius-sm); background: var(--color-highlight); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; }
.bb-tools { display: flex; align-items: center; gap: var(--space-1); }
.bb-tool { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.625rem; cursor: pointer; font: inherit; font-size: var(--text-base); color: var(--color-ink); background: none; border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); }
.bb-tool:hover { border-color: var(--color-ink); }
.bb-tool[disabled] { color: var(--color-ink-muted); border-color: var(--color-divider); cursor: default; }
.bb-variants { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); grid-column: 1 / -1; }
.bb-doors { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-top: var(--space-3); border-top: var(--hairline); }
.bb-brudd { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-2) 0 0; font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.bb-brudd::after { content: ""; flex: 1; height: 1px; background: var(--color-divider); }
.bb-empty { padding: var(--space-6) var(--space-4); text-align: center; font-size: var(--text-base); color: var(--color-ink-muted); background: var(--color-ground); border: 1px dashed var(--color-field-border); border-radius: var(--radius-md); }
@container (max-width: 35em) { .bb-block { grid-template-columns: 1fr; } }
.pick { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(13.125rem, 1fr)); }
.pick-label { display: flex; align-items: baseline; gap: var(--space-2); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); margin-bottom: var(--space-2); }
.pick-num { font-variant-numeric: tabular-nums; }
.profil { display: grid; grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr)); gap: var(--space-2); }
.profil-item { display: grid; gap: 0.375rem; padding: var(--space-2); cursor: pointer; text-align: left; font: inherit; color: inherit; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); }
.profil-item:hover { border-color: var(--color-ink); }
.profil-item[aria-pressed="true"] { border-color: var(--color-accent); box-shadow: inset 0 0 0 2px var(--color-accent); }
.profil-flate { height: 34px; border-radius: 4px; border: 1px solid rgba(0,0,0,0.12); }
.profil-navn { font-size: var(--text-xs); }
.leaf-sm { width: 196px; padding: 16px 14px; }
.leaf-sm .leaf-name { font-size: 15px; }
.leaf-sm.mal-2 { padding: 9px; }
.leaf-sm.mal-3 .leaf-photo { margin: -16px -14px 0; }
.leaf-sm.mal-3 .leaf-kicker, .leaf-sm.mal-3 .leaf-name, .leaf-sm.mal-3 .leaf-dates { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }
.leaf-sm.mal-3 .leaf-dates { padding-bottom: 16px; margin-bottom: -16px; }
.leaf-motif { position: absolute; inset: 0; z-index: 0; }
.leaf-motif image-slot, .leaf-portrait image-slot { color: transparent; }
.leaf .leaf-frame, .leaf .leaf-plate { pointer-events: none; }
.leaf-motif-half { position: absolute; inset: auto 0 0 0; height: 56%; z-index: 0; }
.tone-vinter { background: linear-gradient(#dbe7f0 0%, #eef3f7 55%, #f7fafc 100%); }
.tone-lilje { background: linear-gradient(#e9f0e2 0%, #f2f6ee 60%, #fbfcf8 100%); }
.tone-rose { background: linear-gradient(#f2e8e6 0%, #f8f1ef 60%, #fdf9f8 100%); }
.leaf-plate { position: relative; z-index: 1; background: rgba(255,255,255,0.84); padding: 12px 12px 14px; }
.leaf-plate-tight { padding: 8px 10px; }
.leaf-portrait { flex: none; width: 122px; margin: 0 auto 12px; padding: 5px; background: #ffffff; box-shadow: 0 1px 5px rgba(0,0,0,0.22); }
.leaf-portrait > image-slot, .leaf-portrait > .leaf-photo { display: block; width: 112px; height: 134px; }
.leaf-sm .leaf-portrait { width: 88px; padding: 4px; }
.leaf-sm .leaf-portrait > image-slot, .leaf-sm .leaf-portrait > .leaf-photo { width: 80px; height: 96px; }
.leaf-stars { flex: none; margin: 8px 0; font-size: 10px; letter-spacing: 0.34em; text-align: center; opacity: 0.55; }
.leaf-who { display: grid; gap: 2px; font-size: 9px; line-height: 1.5; }
.leaf-sym { flex: none; font-size: 17px; line-height: 1; text-align: center; margin-bottom: 10px; }
.leaf-sym-mark { flex: none; width: 11px; height: 11px; margin: 0 auto 12px; border: 1px solid currentColor; transform: rotate(45deg); opacity: 0.7; }
.leaf .leaf-photo-oval { flex: none; width: 104px; height: 126px; margin: 0 auto 12px; border-radius: 50%; background: #ddd6c6; color: #6b6151; opacity: 1;
  -webkit-mask-image: radial-gradient(closest-side at 50% 48%, #000 62%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(closest-side at 50% 48%, #000 62%, rgba(0,0,0,0) 100%); }
.leaf-sm .leaf-photo-oval { width: 74px; height: 90px; }
.leaf-dates .num { font-variant-numeric: normal; }
.leaf-post { margin-top: 10px; }
.leaf-post:first-child { margin-top: 0; }
.leaf-title-only { font-style: italic; font-size: 10px; line-height: 1.5; margin-top: 2px; }
.leaf-norights { font-size: 8.5px; font-style: italic; line-height: 1.5; margin-top: 4px; opacity: 0.75; }
.leaf-vignette { flex: none; margin: auto auto 0; padding-top: 12px; display: flex; flex-direction: column; align-items: center; gap: 5px; opacity: 0.55; }
.leaf-vignette i { display: block; width: 7px; height: 7px; border: 1px solid currentColor; transform: rotate(45deg); }
.leaf-vignette b { display: block; width: 34px; height: 1px; background: currentColor; }
.leaf-credits { font-size: 9px; line-height: 1.6; margin-top: auto; }
.leaf-brand { font-size: 9px; line-height: 1.6; margin-top: 10px; padding-top: 8px; border-top: 1px solid currentColor; font-style: italic; opacity: 0.85; }
.leaf-brand em { display: block; font-style: normal; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.tpl-thumb { position: relative; }
.tpl-thumb .leaf-plate { padding: 6px 7px 7px; }
.tpl-thumb .leaf-sym { font-size: 11px; margin-bottom: 6px; }
.tpl-thumb .leaf-portrait { width: 54px; padding: 3px; margin-bottom: 7px; }
.tpl-thumb .leaf-portrait > image-slot, .tpl-thumb .leaf-portrait > .leaf-photo { width: 48px; height: 58px; }
.tpl-thumb .leaf-vignette { margin: 6px auto 0; }
.mal-1, .mal-6 { font-family: "EB Garamond", Georgia, serif; }
.mal-2, .mal-7 { font-family: "Cormorant Garamond", Palatino, serif; }
.mal-5 { font-family: "Libre Baskerville", Georgia, serif; }
.mal-4 { font-family: "Lora", Georgia, serif; }
.mal-2 .leaf-name { font-family: "Great Vibes", "Cormorant Garamond", cursive; font-variant: normal; letter-spacing: 0.01em; }
.mal-4 { background: #f4f7ef; color: #23291f; border-color: #cdd8c2; text-align: center; }
.mal-4 .leaf-motif { background: linear-gradient(#e6efdc 0%, #f1f6ea 55%, #fafcf7 100%); }
.mal-4 .leaf-kicker { font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: #5d6b52; }
.mal-4 .leaf-name { font-size: 18px; line-height: 1.2; }
.mal-4 .leaf-dates { font-size: 10.5px; color: #5d6b52; margin-top: 3px; }
.mal-4 .leaf-h { font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #5d6b52; }
.mal-5 { background: #f2f5f8; color: #1b2430; border-color: #c2ced9; text-align: center; }
.mal-5 .leaf-motif { background: linear-gradient(#d6e3ef 0%, #e9f0f6 55%, #f8fafc 100%); }
.mal-5 .leaf-kicker { font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: #4a5a6b; }
.mal-5 .leaf-name { font-size: 15px; line-height: 1.25; }
.mal-5 .leaf-dates { font-size: 9.5px; color: #4a5a6b; margin-top: 4px; }
.mal-5 .leaf-h { font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: #4a5a6b; }
.mal-6 { background: #faf5e8; color: #2c2418; border-color: #ddcda6; text-align: center; }
.mal-6 .leaf-motif { inset: auto 0 0 0; height: 46%; background: linear-gradient(#f3e7c8 0%, #e8d6a6 100%); }
.mal-6 .leaf-kicker { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: #7c6a44; }
.mal-6 .leaf-name { font-size: 19px; line-height: 1.15; font-variant: small-caps; letter-spacing: 0.05em; }
.mal-6 .leaf-dates { font-size: 10.5px; color: #7c6a44; margin-top: 3px; }
.mal-6 .leaf-h { font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #7c6a44; }
.mal-7 { background: #fbf4f2; color: #2e2422; border-color: #e3cdc7; text-align: center; }
.mal-7 .leaf-motif { inset: 0 0 auto 0; height: 38%; background: linear-gradient(#f0dcd7 0%, #fbf4f2 100%); }
.mal-7 .leaf-kicker { font-size: 9px; font-style: italic; letter-spacing: 0.06em; color: #8a6a63; }
.mal-7 .leaf-name { font-size: 19px; font-style: italic; line-height: 1.2; }
.mal-7 .leaf-dates { font-size: 10.5px; color: #8a6a63; margin-top: 3px; }
.mal-7 .leaf-h { font-size: 9.5px; font-style: italic; letter-spacing: 0.08em; color: #8a6a63; }
.mal-8 { background: #f5f6f4; color: #1e2220; border-color: #ccd1cd; text-align: left; font-family: "Lora", Georgia, serif; }
.mal-8 .leaf-motif { background: linear-gradient(#e4e9ea 0%, #eff2f1 60%, #f9faf9 100%); }
.mal-8 .leaf-kicker { font-family: "Helvetica Neue", "Segoe UI", system-ui, sans-serif; font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: #5a635e; }
.mal-8 .leaf-name { font-size: 17px; line-height: 1.2; font-weight: 500; }
.mal-8 .leaf-dates { font-size: 10px; color: #5a635e; margin-top: 4px; }
.mal-8 .leaf-h { font-family: "Helvetica Neue", "Segoe UI", system-ui, sans-serif; font-size: 9px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #5a635e; }
.mal-8 .leaf-rule { height: 1px; width: 40px; background: #9aa5a0; margin: 10px 0; }
.tpl .tpl-thumb .leaf-kicker { font-size: 6.5px; }
.tpl .tpl-thumb .leaf-name { font-size: 11px; line-height: 1.15; }
.tpl .tpl-thumb .leaf-dates { font-size: 6px; margin-top: 2px; }
.tpl .tpl-thumb.mal-2 .leaf-name { font-size: 14px; }
.tpl .tpl-thumb .leaf-frame { padding: 0; border: 0; outline: 0; box-shadow: none; }
.tpl .tpl-thumb.mal-2 .leaf-frame { padding: 7px 6px; border: 1px solid #b08a52; box-shadow: inset 0 0 0 2px #fdf6e9, inset 0 0 0 3px #d8c39a; }
.leaf.leaf-sm .leaf-kicker { font-size: 8px; }
.leaf.leaf-sm .leaf-name { font-size: 14px; line-height: 1.2; }
.leaf.leaf-sm .leaf-dates { font-size: 8.5px; margin-top: 3px; }
.leaf.leaf-sm.mal-2 .leaf-name { font-size: 17px; }
.mal-9 { font-family: "Libre Baskerville", Georgia, serif; }
.mal-10 { font-family: "EB Garamond", Georgia, serif; }
.mal-11 { font-family: "Lora", Georgia, serif; }
.mal-9 { background: #eef3f2; color: #1b2726; border-color: #c3d2d0; text-align: center; }
.mal-9 .leaf-motif { background: linear-gradient(#d4e3e1 0%, #e6eeed 55%, #f7faf9 100%); }
.mal-9 .leaf-kicker { font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: #47605d; }
.mal-9 .leaf-name { font-size: 15px; line-height: 1.25; }
.mal-9 .leaf-dates { font-size: 9.5px; color: #47605d; margin-top: 4px; }
.mal-9 .leaf-h { font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: #47605d; }
.mal-10 { background: #f4f3f0; color: #262420; border-color: #d0ccc3; text-align: center; }
.mal-10 .leaf-motif { inset: auto 0 0 0; height: 44%; background: linear-gradient(#e2ded4 0%, #cfc9ba 100%); }
.mal-10 .leaf-kicker { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: #6b6559; }
.mal-10 .leaf-name { font-size: 19px; line-height: 1.15; }
.mal-10 .leaf-dates { font-size: 10.5px; color: #6b6559; margin-top: 3px; }
.mal-10 .leaf-h { font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #6b6559; }
.mal-11 { background: #f9f2ef; color: #2b201d; border-color: #dfc6bd; text-align: center; }
.mal-11 .leaf-motif { inset: 0 0 auto 0; height: 40%; background: linear-gradient(#e6c8bd 0%, #f9f2ef 100%); }
.mal-11 .leaf-kicker { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #85594d; }
.mal-11 .leaf-name { font-size: 18px; line-height: 1.2; font-weight: 500; }
.mal-11 .leaf-dates { font-size: 10px; color: #85594d; margin-top: 3px; }
.mal-11 .leaf-h { font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: #85594d; }
.profil-item { align-items: stretch; text-align: left; }
.profil-prove { display: grid; place-items: center; height: 34px; font-size: 17px; line-height: 1; border: 1px solid var(--color-field-border); }
.profil-font { display: block; margin-top: 2px; font-size: 10px; color: var(--color-ink-muted); }
.prove-1, .prove-6, .prove-10 { background: #faf5e8; color: #2c2418; font-family: "EB Garamond", Georgia, serif; }
.prove-2, .prove-7 { background: #fdf6e9; color: #3a2f1c; font-family: "Great Vibes", cursive; }
.prove-3 { background: #eef1f2; color: #1d262b; font-family: "Helvetica Neue", system-ui, sans-serif; font-weight: 600; }
.prove-4 { background: #f4f7ef; color: #23291f; font-family: "Lora", Georgia, serif; }
.prove-5, .prove-9 { background: #f2f5f8; color: #1b2430; font-family: "Libre Baskerville", Georgia, serif; }
.prove-8 { background: #f5f6f4; color: #1e2220; font-family: "Lora", Georgia, serif; }
.prove-11 { background: #f9f2ef; color: #2b201d; font-family: "Lora", Georgia, serif; }
.paletter { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.palett { display: grid; gap: 4px; padding: var(--space-2); min-width: 84px; cursor: pointer; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); font: inherit; color: inherit; text-align: left; }
.palett:hover { border-color: var(--color-ink); }
.palett[aria-pressed="true"] { border-color: var(--color-accent); box-shadow: inset 0 0 0 2px var(--color-accent); }
.palett-band { display: flex; height: 22px; overflow: hidden; border-radius: 2px; }
.palett-band span { flex: 1; }
.palett-navn { font-size: var(--text-xs); }
.lagre { display: grid; gap: var(--space-2); padding: var(--space-3); margin-top: var(--space-3); background: var(--color-ground); border: var(--hairline); border-radius: var(--radius-md); }
.lagre-rad { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lagre-plass { min-width: 40px; min-height: 40px; padding: var(--space-2); cursor: pointer; background: var(--color-surface); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); font: inherit; color: inherit; }
.lagre-plass:hover { border-color: var(--color-ink); }
.lagre-plass[aria-pressed="true"] { border-color: var(--color-accent); box-shadow: inset 0 0 0 2px var(--color-accent); }
.rite { display: grid; gap: var(--space-4); max-width: 700px; margin: 0 auto; }
.rite-meta { display: flex; flex-wrap: wrap; column-gap: var(--space-3); row-gap: 0.125rem; font-size: var(--text-base); color: var(--color-ink-muted); }
.rite-progress { font-size: var(--text-xs); color: var(--color-ink-muted); }
.rite-now { display: grid; gap: var(--space-1); padding: 1.125rem 1.25rem; background: var(--color-highlight); border: var(--hairline); border-left: 3px solid var(--color-accent); border-radius: var(--radius-md); }
.rite-now-kicker { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.rite-now-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); }
.rite-now-time { font-family: var(--font-display); font-size: var(--text-lg); font-variant-numeric: tabular-nums; }
.rite-now-title { font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.2; }
.rite-now-note { font-size: var(--text-base); }
.rite-now-who { font-size: var(--text-xs); color: var(--color-ink-muted); }
.rite-next { width: 100%; min-height: 4rem; font-size: 1.0625rem; white-space: normal; }
.rite-list { display: grid; background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.rite-post { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.125rem var(--space-3); align-items: baseline; min-height: 3.5rem; padding: 0.625rem var(--space-4); background: none; border: 0; border-top: var(--hairline); border-left: 3px solid transparent; cursor: pointer; font: inherit; text-align: left; color: var(--color-ink); }
.rite-post:first-child { border-top: 0; }
.rite-post:hover { background: var(--color-highlight); }
.rite-time { font-family: var(--font-display); font-size: var(--text-md); font-variant-numeric: tabular-nums; }
.rite-title { font-size: var(--text-base); font-weight: 600; }
.rite-detail { grid-column: 2; font-size: var(--text-xs); color: var(--color-ink-muted); }
.rite-state { margin-left: var(--space-2); font-size: var(--text-xs); font-weight: 400; color: var(--color-ink-muted); }
.rite-post-done, .rite-post-done .rite-time, .rite-post-done .rite-title { color: var(--color-ink-muted); font-weight: 400; }
.rite-post-now { background: var(--color-highlight); border-left-color: var(--color-accent); }
.rite-calls { display: grid; background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.rite-call { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.125rem var(--space-3); min-height: 3.5rem; padding: 0.625rem var(--space-4); border-top: var(--hairline); text-decoration: none; color: var(--color-ink); }
.rite-call:first-child { border-top: 0; }
.rite-call:hover { background: var(--color-highlight); color: var(--color-ink); }
.rite-call-role { font-size: var(--text-xs); color: var(--color-ink-muted); min-width: 6rem; }
.rite-call-num { margin-left: auto; color: var(--color-accent); font-weight: 600; font-variant-numeric: tabular-nums; }
.rite-receipt { display: grid; gap: var(--space-1); padding: 1.125rem 1.25rem; background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); }
@media print { .rite-next, .rite-calls { display: none; } }
.tabbar-item[aria-disabled="true"] { color: var(--color-ink-muted); border-top: 2px dashed var(--color-field-border); cursor: default; pointer-events: none; }
.wizsteps-label { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-ink-muted); }
.wizsteps { display: flex; flex-wrap: wrap; gap: 0.125rem var(--space-4); margin: 0.375rem 0 var(--space-4); }
.wizsteps-item { padding: 0; background: none; border: 0; cursor: pointer; font: inherit; font-size: var(--text-xs); color: var(--color-ink-muted); text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.wizsteps-item:hover { color: var(--color-ink); }
.wizsteps-item[aria-current="step"] { color: var(--color-ink); font-weight: 600; text-decoration: none; cursor: default; }
@media (pointer: coarse) { .wizsteps-item { min-height: 2.75rem; } }
@media print { .wizsteps { display: none; } }
.etikett { box-sizing: border-box; width: 105mm; height: 74mm; display: flex; flex-direction: column; gap: 3px; padding: 5mm 6mm; background: var(--color-surface); border: 1px solid var(--color-field-border); color: var(--color-ink); overflow: hidden; }
.etikett-navn { font-family: var(--font-display); font-size: 26px; line-height: 1.15; }
.etikett-liv { font-size: 15px; color: var(--color-ink-muted); margin-bottom: 4px; }
.etikett-rad { font-size: 15px; }
.etikett-advarsel { margin-top: auto; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; border: 2px solid var(--color-ink); padding: 6px 9px; }
.etikett-advarsel-ja { background: var(--color-ink); color: var(--color-surface); }
.etikett-advarsel-nei { border: 0; padding: 0; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--color-ink-muted); }
.etikett-fot { margin-top: 5px; font-size: 9px; line-height: 1.3; color: var(--color-ink-muted); }
@media print { .etikett { border: 0; } }
.port { max-width: 560px; margin: var(--space-8) auto; display: flex; flex-direction: column; gap: var(--space-3); background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); padding: var(--space-6); }
.port-title { font-family: var(--font-display); font-size: var(--text-lg); }
.utkast-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(13.75rem, 1fr)); gap: var(--space-3); }
.utkast { cursor: pointer; text-align: left; font: inherit; color: inherit; display: flex; flex-direction: column; gap: var(--space-2); border: 1px solid var(--color-field-border); border-radius: var(--radius-md); padding: var(--space-3); background: var(--color-surface); }
.utkast:hover { border-color: var(--color-ink); }
.utkast[aria-pressed="true"] { border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); }
.utkast-navn { font-size: var(--text-xs); font-weight: 600; }
.annonse { display: flex; flex-direction: column; gap: 5px; text-align: center; padding: 11px 12px; background: var(--color-surface); border: 1px solid var(--color-ink); font-size: 11px; line-height: 1.35; }
.annonse-symbol { align-self: center; display: grid; place-items: center; width: 26px; height: 26px; font-size: 8px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-ink-muted); border: 1px dashed var(--color-field-border); }
.annonse-relasjon { font-size: 10px; white-space: pre-line; }
.annonse-navn { font-family: var(--font-display); font-weight: 600; font-size: 17px; line-height: 1.1; margin-top: 2px; }
.annonse-dato { font-size: 10px; }
.annonse-gruppe { font-weight: 600; }
.annonse-epitaf, .annonse-vers { font-style: italic; white-space: pre-line; }
.annonse-seremoni { margin-top: 4px; white-space: pre-line; }
.annonse-byra { font-size: 9px; color: var(--color-ink-muted); }
.forslag { display: grid; grid-template-columns: 1fr auto; gap: 0.125rem var(--space-4); padding: 0.625rem 0; border-bottom: var(--hairline); align-items: baseline; }
.forslag:last-child { border-bottom: 0; }
.forslag-navn { font-family: var(--font-display); font-size: var(--text-base); }
.forslag-grunn { grid-column: 1; font-size: var(--text-xs); color: var(--color-ink-muted); }
.forslag-handling { grid-row: 1 / span 2; display: flex; gap: var(--space-2); align-items: center; }
.ko-rad { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3) 0; border-bottom: var(--hairline); }
.ko-rad:last-child { border-bottom: 0; }
.ko-tekst { font-family: var(--font-display); font-size: var(--text-base); line-height: 1.5; }
.ko-hvem { font-size: var(--text-xs); color: var(--color-ink-muted); }
.ko-handling { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.korrektur { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--color-divider); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); overflow: hidden; user-select: none; }
.korrektur-side { background: var(--color-surface); aspect-ratio: 148 / 210; display: flex; flex-direction: column; gap: 6px; padding: var(--space-4); text-align: center; }
.korrektur-side > * { filter: blur(0.4px); }
.korrektur-navn { font-family: var(--font-display); font-size: 15px; margin-top: auto; }
.korrektur-linje { font-size: 11px; color: var(--color-ink-muted); }
.korrektur-fyll { margin-top: auto; display: grid; gap: 4px; }
.korrektur-fyll span { height: 5px; border-radius: 2px; background: var(--color-highlight); }
.korrektur-merke { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); font-size: var(--text-xs); color: var(--color-ink-muted); }
.kv-scan {
  display: grid;
  grid-template-columns: fit-content(8.75rem) minmax(0, 1fr) fit-content(8.75rem) minmax(0, 1fr);
  gap: 0.3125rem var(--space-4);
  margin: 0; font-size: 0.875rem;
}
.kv-scan dt { color: var(--color-ink-muted); }
.kv-scan dd { margin: 0; }
.kv-scan .kv-wide { grid-column: span 3; }
@container (max-width: 56.25em) {
  .kv-scan { grid-template-columns: fit-content(10rem) minmax(0, 1fr); }
  .kv-scan .kv-wide { grid-column: auto; }
}
.besl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14.375rem, 100%), 1fr)); gap: var(--space-4) var(--space-6); margin-top: var(--space-2); }
.besl-post { display: flex; flex-direction: column; gap: 0.0625rem; min-width: 0; }
.besl-verdi { font-family: var(--font-display); font-size: var(--text-base); line-height: 1.35; text-wrap: pretty; }
.besl-etikett { font-size: var(--text-xs); color: var(--color-ink-muted); }
.besl-post-mangel .besl-verdi { font-family: var(--font-text); font-size: 0.875rem; color: var(--color-ink-muted); }
.besl-post-mangel .besl-etikett { color: var(--color-ink); }
.skjema { list-style: none; margin: var(--space-2) 0 0; padding: 0; counter-reset: sporsmal; }
.skjema li {
  counter-increment: sporsmal;
  display: grid; grid-template-columns: 1.625rem minmax(0, 1fr) 9.375rem;
  gap: var(--space-3); align-items: baseline;
  padding: 0.3125rem 0; border-bottom: var(--hairline); font-size: 0.875rem;
}
.skjema li:last-child { border-bottom: 0; }
.skjema li::before { content: counter(sporsmal) "."; color: var(--color-ink-muted); font-variant-numeric: tabular-nums; }
.skjema-svar { font-weight: 600; }
.skjema-tom { color: var(--color-ink-muted); font-weight: 400; }
@container (max-width: 40em) {
  .skjema li { grid-template-columns: 1.625rem minmax(0, 1fr); }
  .skjema-svar { grid-column: 2; }
}
.kort-rad { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(13.4375rem, 100%), 1fr)); gap: var(--space-3); margin-top: var(--space-2); }
.kort {
  display: flex; flex-direction: column; gap: 0.0625rem; min-width: 0;
  background: var(--color-surface); border: 1px solid var(--color-field-border);
  border-radius: var(--radius-sm); padding: 0.625rem 0.75rem;
}
.kort-rolle { font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.kort-navn { font-family: var(--font-display); font-size: var(--text-base); line-height: 1.35; }
.kort-linje { font-size: var(--text-xs); color: var(--color-ink-muted); word-break: break-word; }
.kort-apen { border-style: dashed; }
.kort-apen .kort-navn { color: var(--color-ink-muted); }
.bolk { border: var(--hairline); border-radius: var(--radius-sm); margin-top: var(--space-3); }
.bolk-head { background: var(--color-highlight); border-bottom: var(--hairline); border-radius: var(--radius-sm) var(--radius-sm) 0 0; padding: 0.4375rem 0.75rem; }
.bolk-kropp { padding: 0.625rem 0.75rem; }
.bolk-head-naken { background: none; border-bottom: 0; border-radius: 0; padding: var(--space-3) 0 0; }
.bolk-navn { font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--color-ink-muted); }
.bolk-sum { font-size: 0.875rem; color: var(--color-ink); text-wrap: pretty; }
.bolk-head .bolk-navn + .bolk-sum { margin-top: 0.0625rem; }
.bolk-kropp > .kv-scan:first-child, .bolk-kropp > .besl:first-child, .bolk-kropp > .skjema:first-child { margin-top: 0; }
.bolk-kropp > * + .bolk-kropp-luft { margin-top: var(--space-3); }
.program { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.program-post {
  display: grid; gap: 0.125rem var(--space-3); align-items: baseline;
  padding: var(--space-3) 0; border-bottom: var(--hairline);
  counter-increment: program;
}
.program { counter-reset: program; }
.program-post:last-child { border-bottom: 0; padding-bottom: 0; }
.program-plass {
  font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--color-ink-muted);
}
.program-plass::before { content: counter(program) " · "; }
.program-tittel { font-family: var(--font-display); font-size: var(--text-base); }
.program-note { font-size: var(--text-xs); color: var(--color-ink-muted); margin-top: 0.125rem; }
.program-trykk { font-size: var(--text-xs); color: var(--color-ink-muted); white-space: nowrap; }
.program-trykk-sperret { color: var(--color-due-soon); font-weight: 600; }
@container (min-width: 38.75em) {
  .program-post { grid-template-columns: minmax(9.25rem, 12.5rem) 1fr auto; }
  .program-trykk { text-align: right; }
}
@media print {
  .program-post { break-inside: avoid; }
}
@page hefte { size: A4 landscape; margin: 0; }
@media print {
  [data-trykk="hefte"] .arks > * { page: hefte; }
  [data-trykk="hefte"] { padding: 0 !important; max-width: none; }
  [data-trykk="hefte"] > *:not(#oppslaget) { display: none !important; }
  [data-trykk="hefte"] #oppslaget { padding: 0; border: 0; background: none; box-shadow: none; }
  [data-trykk="hefte"] #oppslaget > .card-head,
  [data-trykk="hefte"] #oppslaget > .card-meta,
  [data-trykk="hefte"] #oppslaget > .notice,
  [data-trykk="hefte"] .ark-head,
  [data-trykk="hefte"] .leaf-cap { display: none !important; }
  [data-trykk="hefte"] .arks { display: block; gap: 0; }
  [data-trykk="hefte"] .arks > * { break-after: page; break-inside: avoid; }
  [data-trykk="hefte"] .arks > *:last-child { break-after: auto; }
  [data-trykk="hefte"] .ark-pair { flex-wrap: nowrap; align-items: stretch; gap: 0; }
  [data-trykk="hefte"] .leaf-wrap { break-inside: avoid; }
}
[data-trykk="hefte"] .leaf {
  width: 148mm; height: 210mm; aspect-ratio: auto;
  padding: 18mm 15mm 16mm; border: 0; overflow: visible;
}
[data-trykk="hefte"] .leaf.mal-2 { padding: 10mm; }
[data-trykk="hefte"] .leaf.mal-2 .leaf-frame {
  padding: 9mm 7mm; border-width: 0.3mm;
  outline: 1.2mm solid #fdf6e9; outline-offset: -1.8mm;
  box-shadow: inset 0 0 0 1.5mm #fdf6e9, inset 0 0 0 1.8mm #d8c39a;
}
[data-trykk="hefte"] .leaf.mal-2 .leaf-rule { margin: 7mm 22%; height: 0.3mm; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-photo { margin: -18mm -15mm 0; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-kicker,
[data-trykk="hefte"] .leaf.mal-3 .leaf-name,
[data-trykk="hefte"] .leaf.mal-3 .leaf-dates { margin-left: -15mm; margin-right: -15mm; padding-left: 15mm; padding-right: 15mm; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-kicker { padding-top: 11mm; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-dates { padding-top: 2mm; padding-bottom: 16mm; margin-bottom: -16mm; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-rule { height: 0.6mm; width: 22mm; margin: 8mm 0; }
[data-trykk="hefte"] .leaf.mal-1 .leaf-rule { margin: 8mm 18%; height: 0.3mm; }
[data-trykk="hefte"] .leaf .leaf-kicker { font-size: 10pt; }
[data-trykk="hefte"] .leaf .leaf-name { font-size: 30pt; }
[data-trykk="hefte"] .leaf.mal-1 .leaf-name { font-size: 28pt; }
[data-trykk="hefte"] .leaf.mal-2 .leaf-name { font-size: 42pt; }
[data-trykk="hefte"] .leaf.mal-3 .leaf-name { font-size: 24pt; }
[data-trykk="hefte"] .leaf .leaf-dates { font-size: 11pt; margin-top: 3mm; }
[data-trykk="hefte"] .leaf .leaf-h { font-size: 10pt; }
[data-trykk="hefte"] .leaf .leaf-line { font-size: 13pt; line-height: 1.45; margin-top: 1.5mm; }
[data-trykk="hefte"] .leaf .leaf-verse { font-size: 11.5pt; line-height: 1.6; margin-top: 3mm; }
[data-trykk="hefte"] .leaf .leaf-title-only { font-size: 12pt; line-height: 1.45; margin-top: 1mm; }
[data-trykk="hefte"] .leaf .leaf-norights { font-size: 9pt; margin-top: 2mm; }
[data-trykk="hefte"] .leaf .leaf-foot { font-size: 9.5pt; }
[data-trykk="hefte"] .leaf .leaf-who { font-size: 9.5pt; }
[data-trykk="hefte"] .leaf .leaf-brand { font-size: 9pt; }
[data-trykk="hefte"] .leaf .leaf-post { margin-top: 7mm; }
[data-trykk="hefte"] .leaf .leaf-post:first-child { margin-top: 0; }
[data-trykk="hefte"] .leaf .leaf-stars { font-size: 11pt; margin: 5mm 0; }
[data-trykk="hefte"] .leaf .leaf-plate { padding: 8mm 8mm 9mm; }
[data-trykk="hefte"] .leaf .leaf-plate-tight { padding: 5mm 6mm; }
[data-trykk="hefte"] .leaf .leaf-portrait { width: 62mm; padding: 2.5mm; margin-bottom: 8mm; box-shadow: 0 0.3mm 1.2mm rgba(0,0,0,0.22); }
[data-trykk="hefte"] .leaf .leaf-portrait > image-slot,
[data-trykk="hefte"] .leaf .leaf-portrait > .leaf-photo { width: 57mm; height: 68mm; }
[data-trykk="hefte"] .leaf.mal-1 .leaf-photo, [data-trykk="hefte"] .leaf.mal-2 .leaf-photo,
[data-trykk="hefte"] .leaf.mal-4 .leaf-photo, [data-trykk="hefte"] .leaf.mal-5 .leaf-photo,
[data-trykk="hefte"] .leaf.mal-6 .leaf-photo, [data-trykk="hefte"] .leaf.mal-7 .leaf-photo,
[data-trykk="hefte"] .leaf.mal-8 .leaf-photo, [data-trykk="hefte"] .leaf.mal-9 .leaf-photo,
[data-trykk="hefte"] .leaf.mal-10 .leaf-photo, [data-trykk="hefte"] .leaf.mal-11 .leaf-photo { height: 52mm; margin-bottom: 9mm; }
[data-trykk="hefte"] .leaf .leaf-photo-oval { width: 52mm; height: 63mm; }
[data-trykk="hefte"] .leaf .leaf-sym { font-size: 22pt; margin-bottom: 6mm; }
[data-trykk="hefte"] .leaf .leaf-sym-mark { width: 3.5mm; height: 3.5mm; margin-bottom: 8mm; }
[data-trykk="hefte"] .leaf .leaf-vignette { padding-top: 8mm; gap: 1.5mm; }
[data-trykk="hefte"] .leaf .leaf-vignette i { width: 2.5mm; height: 2.5mm; }
[data-trykk="hefte"] .leaf .leaf-vignette b { width: 22mm; height: 0.3mm; }
@media screen {
  [data-trykk="hefte"] .leaf {
    --korrektur: 0.35;
    transform: scale(var(--korrektur)); transform-origin: top left;
    margin-right: calc(148mm * (var(--korrektur) - 1));
    margin-bottom: calc(210mm * (var(--korrektur) - 1));
    outline: 3px solid var(--color-field-border);
  }
}
@media print {
  [data-trykk="hefte"] .ark-fold { width: 0; border-left: 0; position: relative; }
  [data-trykk="hefte"] .ark-fold::before,
  [data-trykk="hefte"] .ark-fold::after {
    content: ""; position: absolute; left: -0.15mm; width: 0; height: 5mm;
    border-left: 0.3mm solid #b0a89b; background: none;
    print-color-adjust: exact; -webkit-print-color-adjust: exact;
  }
  [data-trykk="hefte"] .ark-fold::before { top: 0; }
  [data-trykk="hefte"] .ark-fold::after { bottom: 0; }
  [data-trykk="hefte"] .ark-fold-cap { display: none; }
}
.trykkvalg { padding: var(--space-3); background: var(--color-highlight); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); }
.trykkvalg-tittel { font-size: var(--text-base); font-weight: 600; margin-bottom: var(--space-2); }
.trykkvalg-note { margin-top: var(--space-2); font-size: var(--text-xs); line-height: 1.5; color: var(--color-ink-muted); }
@media print { .trykkvalg { display: none !important; } }
@page kontor { size: A4 landscape; margin: 5mm; }
@media print {
  [data-trykk-modus="kontor"] .arks > * { page: kontor; }
}
[data-trykk-modus="kontor"] .leaf {
  width: 143.5mm; height: 200mm;
  padding: 16mm 13mm 14mm;
}
[data-trykk-modus="kontor"] .leaf.mal-2 { padding: 8mm; }
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-photo { margin: -16mm -13mm 0; }
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-kicker,
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-name,
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-dates { margin-left: -13mm; margin-right: -13mm; padding-left: 13mm; padding-right: 13mm; }
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-kicker { padding-top: 9mm; }
[data-trykk-modus="kontor"] .leaf.mal-3 .leaf-dates { padding-bottom: 14mm; margin-bottom: -14mm; }
@media screen {
  [data-trykk-modus="kontor"] .leaf {
    margin-right: calc(143.5mm * (var(--korrektur) - 1));
    margin-bottom: calc(200mm * (var(--korrektur) - 1));
  }
}
@media print {
  [data-trykk-modus="kontor"] .ark-fold::before,
  [data-trykk-modus="kontor"] .ark-fold::after { height: 3mm; }
  [data-trykk-modus="kontor"] .ark-pair { position: relative; }
  [data-trykk-modus="kontor"] .ark-pair::before,
  [data-trykk-modus="kontor"] .ark-pair::after {
    content: ""; position: absolute; width: 3mm; height: 3mm;
    border: 0 solid #b0a89b; pointer-events: none;
    print-color-adjust: exact; -webkit-print-color-adjust: exact;
  }
  [data-trykk-modus="kontor"] .ark-pair::before { top: 0; left: 0; border-top-width: 0.3mm; border-left-width: 0.3mm; }
  [data-trykk-modus="kontor"] .ark-pair::after { bottom: 0; right: 0; border-bottom-width: 0.3mm; border-right-width: 0.3mm; }
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:first-child { position: relative; }
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:last-child { position: relative; }
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:first-child::after,
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:last-child::after {
    content: ""; position: absolute; width: 3mm; height: 3mm;
    border: 0 solid #b0a89b; pointer-events: none;
    print-color-adjust: exact; -webkit-print-color-adjust: exact;
  }
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:first-child::after { bottom: 0; left: 0; border-bottom-width: 0.3mm; border-left-width: 0.3mm; }
  [data-trykk-modus="kontor"] .ark-pair > .leaf-wrap:last-child::after { top: 0; right: 0; border-top-width: 0.3mm; border-right-width: 0.3mm; }
}
[data-demo] {
  --demomerke-hoyde: 1.625rem;
  padding-bottom: calc(var(--demomerke-hoyde) + env(safe-area-inset-bottom));
}
[data-demo]::after {
  content: "Demo — oppdiktet sak til gjennomgang. Ingen av personene finnes.";
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
  display: flex; align-items: center;
  min-height: var(--demomerke-hoyde);
  padding: 0.1875rem var(--space-4) calc(0.1875rem + env(safe-area-inset-bottom));
  background: var(--color-highlight);
  border-top: var(--hairline);
  font-family: var(--font-text); font-size: var(--text-xs); font-weight: 500;
  line-height: 1.3; color: var(--color-ink);
  pointer-events: none;
}
[data-demo][data-flate="telefon"]::after { position: absolute; }
[data-demo][data-ark] { padding-bottom: 0; }
[data-demo][data-ark]::after { display: none; }
[data-demo] .sheet::after {
  content: "Demo — ikke til bruk";
  display: block; margin-top: var(--space-4); padding-top: var(--space-2);
  border-top: 0.4mm solid var(--color-ink);
  font-family: var(--font-text); font-size: 8pt; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-ink);
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
[data-demo] .leaf:not(.tpl-thumb)::after {
  content: "Demo — ikke til bruk";
  position: absolute; left: 0; right: 0; bottom: 6px; z-index: 2;
  text-align: center; font-family: var(--font-text);
  font-size: 6px; font-weight: 600; letter-spacing: 0.16em;
  text-transform: uppercase; color: #4a453c;
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
[data-trykk="hefte"] .leaf:not(.tpl-thumb)::after { bottom: 5mm; font-size: 6.5pt; }
[data-trykk-modus="kontor"] .leaf:not(.tpl-thumb)::after { bottom: 4mm; }
[data-demo] .etikett {
  border: 1.2mm solid var(--color-ink);
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
[data-demo] .etikett::before {
  content: "Demo — ikke et ekte dødsfall";
  margin: -5mm -6mm 3px;
  padding: 3px 6mm;
  background: var(--color-ink);
  font-family: var(--font-text); font-size: 13px; font-weight: 700;
  line-height: 1.2; letter-spacing: 0.1em; text-transform: uppercase;
  text-align: center; color: var(--color-surface);
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
[data-demo] .etikett-advarsel::after {
  content: "Demo — advarselen gjelder en oppdiktet person";
  display: block; margin-top: 5px;
  font-size: 12px; font-weight: 700; line-height: 1.25;
  letter-spacing: 0; text-transform: none;
  print-color-adjust: exact; -webkit-print-color-adjust: exact;
}
@media print {
  [data-demo] { padding-bottom: 0; }
  [data-demo]::after { display: none !important; }
}
.ov-hode { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); }
.ov-hode h1 { margin: 0; font-size: 2rem; line-height: 1.15; }
.ov-frister { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-top: var(--space-2); }
.ov-frist { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--space-2); }
.ov { container: ov / inline-size; background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
.ov-rad + .ov-rad { border-top: var(--hairline); }
.ov-knapp { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) auto 1rem; align-items: center; gap: var(--space-3);
  width: 100%; min-height: 44px; padding: 0 1.125rem; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.ov-knapp:hover { background: var(--color-highlight); }
.ov-knapp:focus-visible { outline: 2px solid var(--color-focus, currentColor); outline-offset: -2px; }
.ov-navn { font-weight: 600; }
.ov-linje { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--color-ink-muted); }
.ov-rad[data-apen] .ov-linje { color: var(--color-ink); }
.ov-pil { width: 0.5rem; height: 0.5rem; border-right: 1.5px solid var(--color-ink-muted); border-bottom: 1.5px solid var(--color-ink-muted); transform: rotate(-45deg); justify-self: center; }
.ov-rad[data-apen] .ov-pil { transform: rotate(45deg); }
.ov-rad[data-apen] .ov-knapp { background: var(--color-highlight); }
.ov-kropp { display: grid; gap: var(--space-2); padding: var(--space-2) 1.125rem var(--space-2); }
.ov-kropp .kv-scan { grid-template-columns: fit-content(9rem) minmax(0, 1fr) fit-content(9rem) minmax(0, 1fr); gap: 0 var(--space-4); line-height: 1.5; }
.ov-kropp .kv-scan dd { min-width: 0; overflow-wrap: break-word; }
.ov-note { margin: 0; font-size: var(--text-xs); color: var(--color-ink-muted); }
.ov-handlinger { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ov-handlinger:empty { display: none; }
@container ov (max-width: 34em) {
  .ov-kropp .kv-scan { grid-template-columns: fit-content(9rem) minmax(0, 1fr); }
}
@container ov (max-width: 40em) {
  .ov-knapp { grid-template-columns: minmax(0, 1fr) auto 1rem; padding-block: var(--space-2); }
  .ov-linje { grid-column: 1 / -1; grid-row: 2; white-space: normal; }
}
@container ov (max-width: 26em) {
  .ov-kropp .kv-scan { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ov-kropp .kv-scan dd + dt { margin-top: var(--space-2); }
}
.pl { position: sticky; top: 0; z-index: 4; background: var(--color-surface); border: var(--hairline); border-radius: var(--radius-sm); }
.pl-hode, .pl-rad { display: grid; grid-template-columns: minmax(9rem, 1.1fr) 6.5rem minmax(0, 2.4fr) 7rem; gap: var(--space-3); align-items: center; padding: 0 0.75rem; }
.pl-hode { min-height: 32px; font-size: var(--text-xs); color: var(--color-ink-muted); border-bottom: var(--hairline); }
.pl-rad { width: 100%; min-height: 44px; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.pl-rad + .pl-rad { border-top: var(--hairline); }
.pl-rad:hover { background: var(--color-highlight); }
.pl-rad[aria-selected="true"] { background: var(--color-highlight); box-shadow: inset 3px 0 0 var(--color-ink); }
.pl-navn { font-weight: 600; }
.pl-roller { color: var(--color-ink-muted); }
.pl-rad[aria-selected="true"] .pl-roller { color: var(--color-ink); }
.pl-kort { margin-top: var(--space-3); border: var(--hairline); border-radius: var(--radius-sm); padding: var(--space-3) 0.75rem var(--space-4); display: grid; gap: var(--space-3); min-width: 0; }
.pl-kort-tittel { font-family: var(--font-display); font-size: var(--text-md); }
.pl-kort-kropp { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: var(--space-3) var(--space-6); }
.pl-bolk { display: grid; gap: var(--space-2); align-content: start; min-width: 0; }
.pl-bolk .kv { margin: 0; }
.pl-bolk .kv dd { min-width: 0; overflow-wrap: anywhere; }
@container (max-width: 40em) {
  .pl { position: static; }
  .pl-hode { display: none; }
  .pl-rad { grid-template-columns: minmax(0, 1fr) auto; padding-block: var(--space-2); }
  .pl-roller { grid-column: 1 / -1; }
  .pl-tlf { grid-row: 1; grid-column: 2; }
  .pl-slekt { display: none; }
}
@media (max-height: 40rem) { .pl { position: static; } }
.tabbar { grid-auto-columns: minmax(0, 1fr); }
.tabbar-item { min-width: 0; padding: 0.25rem 0.25rem; text-align: center; line-height: 1.2; overflow-wrap: normal; hyphens: auto; -webkit-hyphens: auto; }
[data-hjelp="av"] .field-hint:not(.alltid) { display: none; }
.wiz .field { margin-bottom: var(--space-3); }
.wiz .card-actions { padding-top: var(--space-2); }
.wiz .card { gap: var(--space-1); }
.wiz .wizsteps { margin-bottom: var(--space-3); column-gap: var(--space-3); }
.wiz-spalter { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr)); gap: 0 var(--space-6); align-items: start; }
.wiz-spalter > * { min-width: 0; }
.wiz-spalter-3 { grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); gap: 0 var(--space-4); }
.side-item.side-item-inn { padding-left: calc(var(--space-4) + var(--space-4)); font-size: 0.9375rem; }
.wiz { max-width: 65rem; }
.wiz.wiz-ferdig { max-width: 35rem; }
.wizsteps-label-meta { text-transform: none; letter-spacing: 0; }
.wiz-person { border-top: var(--hairline); padding-top: var(--space-3); margin-top: var(--space-1); min-width: 0; }
.wiz-person-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); }
.sheet-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1) var(--space-4); }
.sheet-foot > :last-child { margin-left: auto; text-align: right; }
.kontrollark { max-width: 794px; margin: var(--space-4) auto var(--space-8); padding: 18mm 16mm; border: 1px solid var(--color-field-border); background: #ffffff; box-sizing: border-box; }
.kontroll-bolk { margin-top: var(--space-6); break-inside: avoid; }
.kontroll-bolk h3 { margin: 0 0 var(--space-2); font-size: var(--text-md); }
.kontroll { display: grid; grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr) 1.5rem minmax(7rem, 11rem); column-gap: var(--space-3); font-size: 0.9375rem; }
.kontroll-th { font-size: var(--text-xs); color: var(--color-ink-muted); padding-bottom: 4px; }
.kontroll-td { padding: 7px 0; border-top: 1px solid var(--color-divider); }
.kontroll-e { color: var(--color-ink-muted); }
.kontroll-v { font-weight: 600; font-variant-numeric: tabular-nums; }
.kontroll-kryss { display: inline-block; width: 14px; height: 14px; border: 1.5px solid var(--color-ink); box-sizing: border-box; vertical-align: -2px; }
.kontroll-rett { display: block; height: 1.1em; border-bottom: 1px dotted var(--color-ink); }
@media print {
  .kontrollark { max-width: none; margin: 0; padding: 0; border: 0; }
  .kontrollark .sheet-head { padding-bottom: 2mm; }
  .kontrollark .sheet-title { font-size: 15pt; }
  .kontrollark .sheet-meta { font-size: 8pt; }
  .kontroll-bolk { margin-top: 4mm; }
  .kontroll-bolk h3 { margin-bottom: 1mm; font-size: 10.5pt; }
  .kontroll { grid-template-columns: 42mm minmax(0, 1fr) 6mm 40mm; column-gap: 3mm; font-size: 9pt; line-height: 1.25; }
  .kontroll-th { font-size: 7.5pt; padding-bottom: 1mm; }
  .kontroll-td { padding: 1.4mm 0; border-top: 0.5pt solid #8b8270; }
  .kontroll-kryss { width: 3.2mm; height: 3.2mm; border-width: 0.75pt; vertical-align: -0.5mm; }
  .kontroll-rett { height: 1em; border-bottom: 0.75pt dotted #2a251d; }
  .kontrollark .sheet-foot { margin-top: 5mm; padding-top: 1.5mm; font-size: 7.5pt; }
}
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important;
  white-space: nowrap !important; border: 0 !important;
}
.app > .shell { width: 100%; }
.kjoring-felt { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); gap: 0 var(--space-4); align-items: start; }
.kjoring-felt > * { min-width: 0; }
.strekninger { container-type: inline-size; margin: var(--space-2) 0 var(--space-3); }
.strekning, .strekning-hode { display: grid; grid-template-columns: minmax(0, 1fr) 1rem minmax(0, 1fr) 5.5rem 5.5rem 4.5rem; gap: 0 var(--space-2); align-items: center; }
.strekning-hode { font-size: var(--text-xs); color: var(--color-ink-muted); padding-bottom: 0.3125rem; }
.strekning-hode > :nth-child(n+4) { text-align: right; }
.strekning { padding: var(--space-1) 0; border-top: var(--hairline); }
.strekning:last-of-type { border-bottom: var(--hairline); }
.strekning > * { min-width: 0; }
.strekning-pil { text-align: center; color: var(--color-ink-muted); }
.strekning .input { min-height: 2.375rem; }
.strekning-km .input { text-align: right; font-variant-numeric: tabular-nums; }
.strekning-regnet { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.strekning-regnet small { display: block; font-weight: 400; font-size: var(--text-xs); color: var(--color-ink-muted); }
.strekning-fjern { text-align: right; }
.strekning-merke { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0 var(--space-3); font-size: var(--text-xs); color: var(--color-ink-muted); padding-top: 0.25rem; }
.strekning-merke strong { color: var(--color-ink); font-weight: 600; }
.strekning-etikett { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
@container (max-width: 36em) {
  .strekning-hode { display: none; }
  .strekning { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--space-2); padding: var(--space-3) 0; }
  .strekning-fra, .strekning-til { grid-column: 1 / -1; }
  .strekning-pil { display: none; }
  .strekning-regnet { align-self: end; text-align: left; padding-bottom: 0.5rem; }
  .strekning-fjern { align-self: end; }
  .strekning-etikett { position: static; width: auto; height: auto; margin: 0 0 0.3125rem; overflow: visible; clip: auto; clip-path: none; white-space: normal; display: block; font-size: var(--text-xs); color: var(--color-ink-muted); }
  .strekning .input { min-height: 2.75rem; }
}
.regnestykke { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-1) var(--space-4); margin: 0; padding-top: var(--space-3); border-top: var(--hairline); font-variant-numeric: tabular-nums; }
.regnestykke-ledd { color: var(--color-ink-muted); }
.regnestykke-sum { font-family: var(--font-display); font-size: var(--text-md); font-weight: 600; white-space: nowrap; }
.hentet { font-size: var(--text-xs); color: var(--color-ink-muted); margin: 0; }
.felt-enhet { display: flex; align-items: center; gap: var(--space-2); max-width: 12rem; }
.felt-enhet .input { text-align: right; font-variant-numeric: tabular-nums; }
.felt-enhet > span { color: var(--color-ink-muted); font-size: var(--text-xs); white-space: nowrap; }
.satser { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: var(--space-4); align-items: start; }
.regning { display: grid; grid-template-columns: minmax(0, 1fr) 10rem 7rem; column-gap: var(--space-3); font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.regning-th { font-size: var(--text-xs); color: var(--color-ink-muted); padding-bottom: 4px; }
.regning-td { padding: 7px 0; border-top: 1px solid var(--color-divider); }
.regning-th:nth-child(3n+2), .regning-th:nth-child(3n), .regning-tall { text-align: right; }
.regning-sum { font-weight: 600; border-top: 1px solid var(--color-ink); }
.regning-til-slutt { margin-top: var(--space-6); }
@container (max-width: 36em) { .regning { grid-template-columns: minmax(0, 1fr) 7.5rem 6rem; } }
@media print {
  .regning { grid-template-columns: minmax(0, 1fr) 34mm 26mm; column-gap: 3mm; font-size: 9pt; line-height: 1.25; }
  .regning-th { font-size: 7.5pt; padding-bottom: 1mm; }
  .regning-td { padding: 1.4mm 0; border-top: 0.5pt solid #8b8270; }
  .regning-sum { border-top: 0.75pt solid #1a1712; }
  .regning-til-slutt { margin-top: 5mm; }
  .kontrollark .kv { font-size: 9pt; gap: 0.6mm 4mm; }
}
.samtale { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: var(--space-6); align-items: start; max-width: 1240px; padding: var(--space-4) var(--space-6) var(--space-6); }
@container (max-width: 64em) { .samtale { grid-template-columns: minmax(0, 1fr); } }
.samtale-hode { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-1) var(--space-4); }
.samtale-hode h2 { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); line-height: 1.2; }
.samtale-kilde { margin: var(--space-1) 0 0; font-size: var(--text-xs); color: var(--color-ink-muted); }
.samtale-felter { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(10.5rem, 100%), 1fr)); gap: var(--space-3) var(--space-4); margin-top: var(--space-4); }
.samtale-felter .field { margin: 0; }
.samtale-felter .bred { grid-column: 1 / -1; }
.samtale-felter .choice-group { margin: 0; }
.samtale-fot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); margin-top: var(--space-4); padding-top: var(--space-3); border-top: var(--hairline); }
.mangler-merke { margin-left: 0.375rem; color: var(--color-due-soon); font-weight: 600; }
.steg-rad { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; align-items: center; column-gap: var(--space-2); width: 100%; min-height: 2.75rem; padding: 0.25rem var(--space-4); background: none; border: 0; border-left: 2px solid transparent; font: inherit; color: var(--color-ink); text-align: left; cursor: pointer; }
.steg-rad:hover { background: var(--color-highlight); }
.steg-rad[aria-current="step"] { background: var(--color-highlight); border-left-color: var(--color-accent); }
.steg-rad[aria-current="step"] .steg-navn { color: var(--color-accent); font-weight: 600; }
.steg-nr { font-size: var(--text-xs); color: var(--color-ink-muted); font-variant-numeric: tabular-nums; }
.steg-navn { font-size: var(--text-base); line-height: 1.25; }
.steg-status { font-size: var(--text-xs); color: var(--color-ink-muted); white-space: nowrap; }
.steg-status.status-due { color: var(--color-due-soon); font-weight: 600; }
.steg-ikke { color: var(--color-ink-muted); }
.notatblokk { position: sticky; top: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); }
.notatblokk textarea.input { min-height: 18rem; font-size: var(--text-base); line-height: 1.5; }
@container (max-width: 64em) { .notatblokk { position: static; } .notatblokk textarea.input { min-height: 8rem; } }
.personrad { display: grid; grid-template-columns: minmax(9rem, 1fr) 7rem minmax(0, 2fr); gap: var(--space-3); align-items: center; width: 100%; min-height: 2.75rem; padding: 0 0.75rem; background: none; border: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.personrad + .personrad, .personrad + .person-apen, .person-apen + .personrad { border-top: var(--hairline); }
.personrad:hover { background: var(--color-highlight); }
.personrad-navn { font-family: var(--font-display); font-size: var(--text-base); }
.personrad-roller { font-size: var(--text-xs); color: var(--color-ink-muted); }
.person-apen { padding: var(--space-3) 0.75rem var(--space-4); background: var(--color-highlight); border-left: 2px solid var(--color-accent); }
.person-apen-hode { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); }
.person-apen-navn { font-family: var(--font-display); font-size: var(--text-md); }
.personliste { border: var(--hairline); border-radius: var(--radius-sm); background: var(--color-surface); overflow: hidden; }
.rolle-rad { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-3); min-height: 2.75rem; }
.rolle-opptatt { color: var(--color-ink-muted); }
@container (max-width: 40em) { .personrad { grid-template-columns: minmax(0, 1fr) auto; } .personrad-roller { grid-column: 1 / -1; padding-bottom: var(--space-2); } }
.salmer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-4); margin-top: var(--space-4); align-items: start; }
@container (max-width: 48em) { .salmer { grid-template-columns: minmax(0, 1fr); } }
.treff { display: flex; flex-direction: column; border-top: var(--hairline); }
.treff-rad { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); min-height: 2.75rem; border-bottom: var(--hairline); }
.treff-tittel { font-size: var(--text-base); }
.treff-bok { display: block; font-size: var(--text-xs); color: var(--color-ink-muted); }
.program { margin: 0; padding: 0; list-style: none; border-top: var(--hairline); counter-reset: prog; }
.program-rad { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); min-height: 2.75rem; border-bottom: var(--hairline); counter-increment: prog; }
.program-rad::before { content: counter(prog) "."; font-size: var(--text-xs); color: var(--color-ink-muted); font-variant-numeric: tabular-nums; }
.program-knapper { display: flex; gap: 2px; }
.program-knapper .btn { min-width: 2.75rem; min-height: 2.75rem; padding: 0; }
.oppsum { display: grid; grid-template-columns: fit-content(14rem) minmax(0, 1fr) auto; gap: 0 var(--space-4); margin: 0; font-size: 0.875rem; }
.oppsum > * { padding: 0.5rem 0; border-top: var(--hairline); }
.oppsum dt { font-weight: 600; }
.oppsum dd { margin: 0; }
.oppsum .oppsum-lenke { text-align: right; }
.oppsum .text-muted { font-weight: 400; }
@container (max-width: 40em) { .oppsum { grid-template-columns: minmax(0, 1fr) auto; } .oppsum dd:not(.oppsum-lenke) { grid-column: 1 / -1; border-top: 0; padding-top: 0; } }
.igjen { margin: 0; padding: 0; list-style: none; }
.igjen li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2); min-height: 2.75rem; border-top: var(--hairline); }
[data-tetthet="tett"] {
  --space-3: 0.5rem; --space-4: 0.625rem; --space-6: 1rem; --space-8: 1.25rem;
}
[data-tetthet="tett"] .card { padding: 0.625rem 0.875rem; gap: 0.375rem; }
[data-tetthet="tett"] .field { margin-bottom: 0.5rem; }
[data-tetthet="tett"] .field > label { margin-bottom: 0.125rem; }
[data-tetthet="tett"] .kv { gap: 0.125rem 1rem; }
[data-tetthet="tett"] .table th, [data-tetthet="tett"] .table td { padding: 0.375rem 0.625rem; }
[data-tetthet="tett"] .input, [data-tetthet="tett"] .btn { min-height: 2.75rem; }
[data-tetthet="tett"] .shell { padding: var(--space-4) var(--space-6); }
.hurtigvalg { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.hurtigvalg .btn { min-height: 2.75rem; }
.dash { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: var(--space-4); align-items: start; }
.dash-rad { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 0 var(--space-3); padding: 0.5rem 0; border-top: var(--hairline); font-size: 0.875rem; }
.dash-rad:first-of-type { border-top: 0; }
.dash-tid { color: var(--color-ink-muted); font-variant-numeric: tabular-nums; }
.dash-tid.status-due { color: var(--color-due-soon); font-weight: 600; }
.dash-tid.status-overdue { color: var(--color-overdue); font-weight: 600; letter-spacing: 0; text-transform: none; }
.sesom { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: 0.5rem var(--space-6); background: var(--color-highlight); border-bottom: var(--hairline); font-size: 0.875rem; }
@page ark { size: A4; margin: 14mm; }
@media print { .kontrollark { page: ark; } }
@media print { .shell:has(> .kontrollark) { padding: 0; } }
.notice-sjekk { margin-top: var(--space-3); }
.notice-sjekk .notice-label { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-xs); }
@media print { .notice-sjekk { background: none; border: 0.75pt solid #1a1712; padding: 1.6mm 2.4mm; font-size: 9pt; } }
