/* Idema-plattformen: farger, innlogging, feillinje og dashboardmeny.
   En modul kan ha egne farger i sitt eget stilark, som lastes etter dette. Menyen har egne farger (--pf-*), så den ser lik ut overalt. */
html { scroll-padding-top: env(safe-area-inset-top, 0px); }
body { margin: 0; }
img { max-width: 100%; }
[hidden]:not([hidden=until-found i]) { display: none !important; }
:root {
  --bg: #f3f5f6; --surface: #ffffff; --ink: #17212a; --muted: #5d6b76; --line: #d5dbdf;
  --accent: #1d5a7a; --accent-ink: #ffffff; --accent-soft: #dbe8ef;
  --ok: #2f7a4f; --warn: #a8650a; --warn-soft: #f8ead2; --crit: #b4322a; --crit-soft: #f6dcd9;
  --font-display: "Archivo", "Arial Narrow", system-ui, sans-serif;
  --font-body: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  --radius: 6px;
  --pf-side: #e6eaed; --pf-sunk: #d9dfe3; --pf-surface: #ffffff; --pf-ink: #17212a; --pf-muted: #5d6b76; --pf-line: #d5dbdf; --pf-accent: #1d5a7a; --pf-accent-ink: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #12181d; --surface: #1a2228; --ink: #e6ecef; --muted: #93a2ad; --line: #2f3b44;
    --accent: #6fb2d6; --accent-ink: #0d1a22; --accent-soft: #1f3442;
    --ok: #6cc792; --warn: #e8a64a; --warn-soft: #3a2c17; --crit: #ef7d72; --crit-soft: #3f1f1c;
    --pf-side: #0d1317; --pf-sunk: #222c33; --pf-surface: #1a2228; --pf-ink: #e6ecef; --pf-muted: #93a2ad; --pf-line: #2f3b44; --pf-accent: #6fb2d6; --pf-accent-ink: #0d1a22;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #12181d; --surface: #1a2228; --ink: #e6ecef; --muted: #93a2ad; --line: #2f3b44;
  --accent: #6fb2d6; --accent-ink: #0d1a22; --accent-soft: #1f3442;
  --ok: #6cc792; --warn: #e8a64a; --warn-soft: #3a2c17; --crit: #ef7d72; --crit-soft: #3f1f1c;
  --pf-side: #0d1317; --pf-sunk: #222c33; --pf-surface: #1a2228; --pf-ink: #e6ecef; --pf-muted: #93a2ad; --pf-line: #2f3b44; --pf-accent: #6fb2d6; --pf-accent-ink: #0d1a22;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { background: var(--bg); color: var(--ink); font-family: var(--font-body); font-size: 15px; line-height: 1.45; }
h1, h2, h3 { font-family: var(--font-display); margin: 0; text-wrap: balance; }
h1 { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.01em; }
h2 { font-size: 1.05rem; font-weight: 700; }
button { font: inherit; cursor: pointer; border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface); color: var(--ink); padding: 8px 14px; font-weight: 500; }
button:hover:not(:disabled) { border-color: var(--muted); }
button:disabled { cursor: not-allowed; opacity: 0.4; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
button.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-weight: 600; }
button.primary:hover:not(:disabled) { filter: brightness(1.08); }
button.ghost { border-color: transparent; background: transparent; color: var(--muted); }
button.ghost:hover { color: var(--ink); }
input { font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 9px 11px; width: 100%; }
.field { display: grid; gap: 5px; min-width: 0; }
.field label { font-size: 0.82rem; font-weight: 600; }
.err { color: var(--crit); font-size: 0.85rem; min-height: 1.2em; margin: 0; }
.ai-hint { font-size: 0.82rem; color: var(--muted); }
.big { font-family: var(--font-mono); font-size: 1.5rem; text-align: center; font-variant-numeric: tabular-nums; }
.toggle { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--muted); cursor: pointer; white-space: nowrap; }
.toggle input { width: 16px; height: 16px; margin: 0; }

/* Innlogging */
.login { min-height: 80vh; display: grid; place-items: center; }
.login-box { width: min(380px, 100%); display: grid; gap: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 24px 20px; }
.login-box img { border-radius: 12px; }
.login-box .ms { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 15px 14px; font-size: 1.05rem; font-weight: 600; background: var(--surface); border: 2px solid var(--accent); }
.login-box .ms svg { width: 20px; height: 20px; flex: none; }
.login-box .sub { margin: 0; color: var(--muted); font-size: 0.9rem; }
.login-box #lStep1, .login-box #lStep2, .login-box #lStep3, .login-box #lGuestBox, .login-box #lQrBox { display: grid; gap: 10px; }
.login-box #lStep1[hidden], .login-box #lStep2[hidden], .login-box #lStep3[hidden], .login-box #lGuestBox[hidden], .login-box #lQrBox[hidden], .login-box #lGo[hidden], .login-box #lBack[hidden], .login-box #lCodeInfo[hidden] { display: none; }
.login-box #lQr { justify-self: center; background: #fff; padding: 8px; border-radius: 8px; }
.login-box code { overflow-wrap: anywhere; font-weight: 600; }

/* Feillinje */
.errbar { position: fixed; left: 50%; transform: translateX(-50%); top: calc(10px + env(safe-area-inset-top, 0px)); z-index: 50; width: min(560px, calc(100vw - 24px)); display: flex; gap: 8px; align-items: flex-start; background: var(--crit-soft); color: var(--crit); border: 1px solid var(--crit); border-radius: var(--radius); padding: 10px 12px; font-size: 0.9rem; box-shadow: 0 4px 14px rgb(0 0 0 / 0.18); }
.errbar #errList { flex: 1; display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.errbar .detail { display: block; font-size: 0.78rem; opacity: 0.85; font-family: var(--font-mono); }
.errbar button { border: none; background: transparent; color: var(--crit); font-size: 1.3rem; line-height: 1; padding: 0 4px; }
.errqueued { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(64px + env(safe-area-inset-bottom, 0px)); z-index: 40; margin: 0; width: min(560px, calc(100vw - 24px)); background: var(--warn-soft); color: var(--warn); border: 1px solid var(--warn); border-radius: var(--radius); padding: 8px 12px; font-size: 0.85rem; }

/* Dashboardmeny som i utviklingsutgaven: fast til venstre på PC (kan skjules), skuff på telefon. Aldri i en snarvei. */
.pf-side { display: none; }
body.pf-med-meny .pf-side {
  display: flex; flex-direction: column; gap: 2px; position: fixed; inset: 0 auto 0 0; width: 248px; z-index: 50; overflow-y: auto; padding: 14px 10px 10px;
  background: var(--pf-side); border-right: 1px solid var(--pf-line); color: var(--pf-ink); font-family: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 0.92rem; line-height: 1.45;
  transition: transform 0.18s ease;
}
@media (min-width: 900px) {
  body.pf-med-meny { padding-left: 264px; }
  /* Smal meny: bare ikoner, som i utviklingsutgaven. Gruppene og brukeren åpnes som en liten meny ved siden av ikonet. */
  body.pf-med-meny.pf-meny-smal { padding-left: 84px; }
  body.pf-meny-smal .pf-side { width: 64px; padding-inline: 8px; }
  body.pf-meny-smal .pf-logo > span:not(.pf-mark), body.pf-meny-smal .pf-lenke > span, body.pf-meny-smal .pf-gruppe-navn, body.pf-meny-smal .pf-pluss,
  body.pf-meny-smal .pf-gruppe .pf-punkter, body.pf-meny-smal .pf-bruker { display: none; }
  body.pf-meny-smal .pf-logo, body.pf-meny-smal .pf-lenke, body.pf-meny-smal .pf-gruppe-knapp { justify-content: center; padding-inline: 0; }
  body.pf-meny-smal .pf-gruppe-knapp { border-radius: 6px; }
  body.pf-meny-smal .pf-gruppe-ikon svg { width: 18px; height: 18px; }
  body.pf-meny-smal .pf-gruppe:has(.pf-punkt.aktiv) .pf-gruppe-knapp, body.pf-meny-smal .pf-gruppe.apen:has(.aktiv) .pf-gruppe-knapp { background: var(--pf-surface); box-shadow: 0 0 0 1px var(--pf-line); }
  body.pf-meny-smal .pf-bruker-ikon { display: grid; }
  body.pf-meny-smal .pf-status { justify-content: center; font-size: 0; padding-inline: 0; }
}
.pf-bruker-ikon { display: none; place-items: center; width: 34px; height: 34px; margin: 8px auto 0; padding: 0; border-radius: 50%; border: 1px solid var(--pf-line); background: var(--pf-surface); color: var(--pf-ink); font-size: 0.75rem; font-weight: 700; }
.pf-flyout { position: fixed; z-index: 60; min-width: 190px; max-width: 280px; max-height: calc(100vh - 16px); overflow-y: auto; display: grid; gap: 1px; padding: 6px; background: var(--pf-side); color: var(--pf-ink);
  border: 1px solid var(--pf-line); border-radius: 8px; box-shadow: 0 6px 24px rgb(0 0 0 / 0.18); font-family: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 0.92rem; line-height: 1.45; }
.pf-flyout-tittel { padding: 4px 10px 6px; font-weight: 700; }
.pf-flyout .pf-punkt { padding-left: 10px; }
.pf-flyout > span, .pf-flyout > .pf-admbryter { padding: 4px 10px; overflow-wrap: anywhere; }
.pf-flyout > button { justify-self: start; margin: 4px 10px; padding: 4px 10px; font-size: 0.82rem; font-family: inherit; color: var(--pf-ink); background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: 6px; }
@media (max-width: 899px) {
  body.pf-med-meny .pf-side { transform: translateX(-100%); box-shadow: 0 0 24px rgb(0 0 0 / 0.25); }
  body.pf-med-meny.pf-meny-apen .pf-side { transform: none; }
  body.pf-meny-apen .pf-skygge { position: fixed; inset: 0; z-index: 49; background: rgb(0 0 0 / 0.3); }
}
/* Topplinjen: vis/skjul menyen og stien til siden */
.pf-bar { display: none; }
body.pf-med-meny .pf-bar { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: -6px 0 10px; padding: 0 0 8px; border-bottom: 1px solid var(--pf-line, var(--line)); font-size: 0.92rem; }
.pf-bar-hoyre { display: flex; align-items: center; gap: 6px; margin-left: auto; flex: none; }
.pf-bar-hoyre:empty { display: none; }
/* Hovedknappen «+ Ny …» for siden du står på. På telefon bare «+». Knappen på siden den trykker på, skjules. */
.pf-hoved { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 6px 12px; }
.pf-hoved > span:first-child { font-size: 1.1em; line-height: 1; }
@media (max-width: 599px) { .pf-hoved { padding: 6px 11px; } .pf-hoved-tekst { display: none; } }
body.pf-med-meny .pf-hovedkilde { display: none !important; }
/* Språkvalget: lite og diskret oppe i hjørnet, som i utviklingsutgaven */
select.pf-sprak { width: auto; max-width: 110px; min-height: 0; margin: 0; padding: 4px 6px; font-size: 0.8rem; font-family: inherit; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted, #5d6b76); }
select.pf-sprak:hover, select.pf-sprak:focus { border-color: var(--line, #d5dbdf); }
.pf-sprak-login { justify-self: end; margin: -12px -8px -6px 0; }
.pf-sprak-snarvei { margin-left: auto; }
.userbar .pf-sprak-snarvei { margin-left: 0; }
.pf-bar-knapp { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: inherit; }
.pf-bar-knapp:hover { border-color: var(--pf-line, var(--line)); }
.pf-bar-knapp svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.pf-sti { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-weight: 600; min-width: 0; flex: 1 1 auto; }
.pf-sti a { color: var(--muted); text-decoration: none; font-weight: 500; }
.pf-sti a:hover { color: var(--accent); }
.pf-sep { color: var(--muted); font-weight: 400; }
/* Modulgruppene */
.pf-grupper { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 6px; }
body.pf-med-meny .pf-side { overflow-x: hidden; }
.pf-gruppe, .pf-gruppe-knapp { min-width: 0; box-sizing: border-box; }
.pf-punkter { grid-template-columns: minmax(0, 1fr); }
.pf-gruppe { border-top: 1px solid var(--pf-line); }
.pf-gruppe-knapp { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 10px; border: none; border-radius: 0; background: transparent; color: inherit; text-align: left;
  font-family: "Archivo", "Arial Narrow", system-ui, sans-serif; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.pf-gruppe-knapp:hover { background: var(--pf-sunk); }
.pf-gruppe-ikon svg { width: 15px; height: 15px; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pf-gruppe-navn { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-pluss { font-size: 1rem; font-weight: 500; color: var(--pf-muted); }
.pf-punkter { display: none; padding: 0 0 8px; }
.pf-gruppe.apen .pf-punkter { display: grid; gap: 1px; }
.pf-punkt { display: flex; align-items: center; gap: 8px; padding: 6px 10px 6px 35px; border-radius: 6px; color: inherit; text-decoration: none; }
.pf-punkt:hover { background: var(--pf-sunk); }
.pf-punkt.aktiv { background: var(--pf-surface); box-shadow: 0 0 0 1px var(--pf-line); font-weight: 600; }
.pf-punkt-navn { flex: 1; min-width: 0; }
.pf-tall { font-size: 0.75rem; padding: 0 7px; border-radius: 999px; background: var(--pf-sunk); color: var(--pf-muted); font-variant-numeric: tabular-nums; }
.pf-tall.rod { background: var(--crit-soft, #fde8e6); color: var(--crit, #b3261e); font-weight: 600; }
.pf-status { display: flex; align-items: center; gap: 6px; padding: 8px 10px 0; color: var(--pf-muted); font-size: 0.78rem; }
.pf-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ok, #2e7d32); }
.pf-status.av::before { background: var(--crit, #b3261e); }
/* Modulens egne faner skjules når menyen viser dem (knapper i fanelinjen står igjen) */
body.pf-med-meny nav.fm-faner.pf-speilet > a { display: none; }
body.pf-med-meny nav.fm-faner.pf-speilet:not(:has(> :not(a))) { display: none; }
.pf-logo { display: flex; align-items: center; gap: 10px; padding: 2px 4px 14px; color: inherit; text-decoration: none; font-family: "Archivo", "Arial Narrow", system-ui, sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; font-size: 1.05rem; }
.pf-mark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: var(--pf-accent); color: var(--pf-accent-ink); font-size: 0.95rem; }
.pf-lenke { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 6px; color: inherit; text-decoration: none; }
.pf-lenke:hover { background: var(--pf-sunk); }
.pf-lenke.aktiv { background: var(--pf-surface); box-shadow: 0 0 0 1px var(--pf-line); font-weight: 600; }
.pf-lenke svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pf-fyll { flex: 1 0 8px; }
.pf-bruker { display: grid; gap: 6px; padding: 10px 10px 0; border-top: 1px solid var(--pf-line); color: var(--pf-muted); font-size: 0.82rem; overflow-wrap: anywhere; }
.pf-book-hjem:empty { display: none; }
.pf-book-hjem { margin: 4px 0 8px; }
@media (min-width: 900px) { body.pf-med-meny .pf-book-hjem { display: none; } }
.pf-admbryter { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; color: var(--pf-ink, inherit); cursor: pointer; }
.pf-admbryter input { width: auto; margin: 0; }
.pf-topp .pf-admbryter { margin-right: 8px; }
body .pf-bruker button { justify-self: start; padding: 4px 10px; font-size: 0.82rem; font-weight: 500; font-family: inherit; color: var(--pf-ink); background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: 6px; }

/* Brukere og tilganger */
.br-tilbake { color: var(--accent); font-size: 0.9rem; }
@media (min-width: 900px) { body.pf-med-meny .br-tilbake { display: none; } }
.br-faner { display: flex; gap: 6px; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.br-faner button { border-radius: 999px; padding: 5px 12px; font-size: 0.88rem; }
.br-faner button[aria-selected="true"] { background: var(--accent-soft); border-color: var(--accent); font-weight: 600; }
.br-liste { display: grid; }
.br-h2 { margin: 24px 0 4px; }
select { font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 10px; width: 100%; }
.urow { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 0.88rem; padding: 8px 0; border-bottom: 1px solid var(--line); }
.urow .who { flex: 1 1 240px; min-width: 0; overflow-wrap: anywhere; }
.urow select { width: auto; padding: 5px 8px; }
.urow button { padding: 5px 10px; font-size: 0.85rem; }
.urow button.danger { color: var(--crit); border-color: var(--crit); background: transparent; }
.urow[data-off="true"] .who { color: var(--muted); text-decoration: line-through; }
.note { color: var(--muted); }
.br-detalj { display: grid; gap: 12px; padding: 12px; margin: 8px 0 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.br-valg { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.br-funk { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.br-funk .toggle { font-size: 0.88rem; color: var(--ink); }
.br-rull { overflow-x: auto; }
.br-tab { border-collapse: collapse; font-size: 0.85rem; width: 100%; }
.br-tab th { text-align: left; font-size: 0.75rem; color: var(--muted); padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: bottom; }
.br-tab td { padding: 4px 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.br-tab select { width: auto; padding: 3px 6px; font-size: 0.82rem; }
#mTab td.n0 select { color: var(--muted); }
#mTab td.n3 select { border-color: var(--ok); }
.br-gjest { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; align-items: end; margin-top: 8px; }
.pwbox { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 0.88rem; padding: 10px; margin: 8px 0; border: 1px solid var(--accent); border-radius: 8px; }
.pwbox code { font-family: var(--font-mono); font-size: 1.05rem; font-weight: 600; user-select: all; }
.pwbox .note { flex-basis: 100%; }
.br-toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); background: var(--ink); color: var(--bg); padding: 10px 16px; border-radius: var(--radius); font-size: 0.9rem; max-width: calc(100vw - 32px); z-index: 60; }

/* Forsiden i dashboardet */
body.pf-hjem { padding: 20px max(16px, env(safe-area-inset-right, 0px)) 48px max(16px, env(safe-area-inset-left, 0px)); }
@media (min-width: 900px) { body.pf-hjem.pf-med-meny { padding-left: 280px; } body.pf-hjem.pf-med-meny.pf-meny-smal { padding-left: 84px; } }
.pf-innhold { max-width: 960px; margin: 0 auto; display: grid; gap: 22px; }
.pf-innhold > * { min-width: 0; }
.pf-topp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.pf-topp p { margin: 4px 0 0; color: var(--muted); }
body.pf-med-meny #pfUtTopp { display: none; } /* Logg ut ligger i menyen */
.pf-kort { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.pf-modul { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: inherit; text-decoration: none; }
.pf-modul:hover { border-color: var(--accent); }
.pf-modul svg { grid-row: span 2; width: 26px; height: 26px; margin-top: 2px; fill: none; stroke: var(--accent); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pf-modul strong { font-family: var(--font-display); font-size: 1.05rem; }
.pf-modul span { color: var(--muted); font-size: 0.9rem; }
/* Forsiden som i utviklingsutgaven: tittel, antall, og én flis per modul med nøkkeltall */
.pf-tittel { margin: 0; font-family: "Archivo", "Arial Narrow", system-ui, sans-serif; font-weight: 800; font-size: clamp(1.8rem, 4vw, 2.4rem); text-transform: uppercase; letter-spacing: 0.01em; }
.pf-h2 { margin: 0; font-family: "Archivo", "Arial Narrow", system-ui, sans-serif; font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; }
.pf-innhold:has(.pf-fliser) { max-width: 1140px; }
.pf-fliser { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pf-flis { display: grid; align-content: start; gap: 10px; padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: inherit; text-decoration: none; }
.pf-flis:hover { border-color: var(--accent); }
.pf-flis-topp { display: flex; align-items: center; gap: 12px; }
.pf-flis-topp strong { font-family: var(--font-display); font-size: 1.1rem; }
.pf-flis-ikon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--accent-soft); }
.pf-flis-ikon svg { width: 18px; height: 18px; fill: none; stroke: var(--accent); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pf-flis-tekst { color: var(--muted); font-size: 0.9rem; }
.pf-flis .fm-tall span { color: var(--muted); font-size: 0.8rem; }
.pf-flis .fm-tall b.rod { color: var(--crit); }
.pf-tom { padding: 24px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: var(--muted); }

/* Knapp tilbake til dashboardet øverst i modulene: alltid når modulen er åpnet fra dashboardet (ikke i en egen snarvei) */
.pf-tilbake { display: none; align-items: center; gap: 4px; color: var(--accent); font-size: 0.9rem; font-weight: 600; text-decoration: none; padding: 4px 0; }
body.pf-fra-dashboard .pf-tilbake { display: inline-flex; }
body.pf-med-meny .pf-tilbake { display: none; } /* stien i topplinjen går tilbake til Hjem */

/* Feilloggen: rødt merke for administrator på alle sider */
.pf-feilmerke { position: fixed; right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 45; background: var(--crit); color: #fff; font-weight: 600; font-size: 0.85rem; padding: 6px 12px; border-radius: 999px; text-decoration: none; box-shadow: 0 2px 8px rgb(0 0 0 / 0.18); }
.pf-feilmerke:hover { filter: brightness(1.1); }
.pf-feilmerke.pf-her { display: none; }

/* Hjemskjerm-knappen i innstillingene til en modul */
.pf-hjemskjerm { display: grid; gap: 8px; justify-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.pf-hjemskjerm p { margin: 0; color: var(--muted); font-size: 0.9rem; }
