








/* Layout: mørk steg-rail til venstre (samme familie som Mockupgeneratoren), arbeidsflate i midten, papirforhåndsvisning til høyre */
:root{
  --bg:#EEF2F4; --surface:#FFFFFF; --surface-2:#F6F8F9; --line:#D5DEE3; --fg:#13263A; --muted:#5B6E7E;
  --rail:#0C2340; --rail-fg:#E7EEF4; --rail-muted:#9FB4C6; --accent:#167A86; --accent-soft:#DDF0F1;
  --ok:#2E7D4F; --ok-soft:#E1F2E7; --warn:#A86200; --warn-soft:#FBEEDB; --bad:#B3261E; --bad-soft:#FBE3E1;
  --stage:#DCE3E8;
  /* papir – trykkobjektet har faste farger i begge tema */
  --paper:#FFFFFF; --p-ink:#000000; --p-navy:#0C2340; --p-line:#BCC8D1; --p-tint:#E9EFF3; --p-muted:#3D4B57;
  --f-ui:'Barlow',system-ui,sans-serif; --f-cond:'Barlow Semi Condensed','Arial Narrow',sans-serif; --f-serif:'Source Serif 4',Georgia,serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1A24; --surface:#16232F; --surface-2:#1B2A37; --line:#2B3D4C; --fg:#E6EDF2; --muted:#9AAEBE;
  --rail:#08131D; --rail-fg:#E7EEF4; --rail-muted:#8AA0B2; --accent:#4FB8C4; --accent-soft:#163C42;
  --ok:#6CC08E; --ok-soft:#173326; --warn:#E5A54A; --warn-soft:#3A2A12; --bad:#F08A82; --bad-soft:#3D1C1A; --stage:#0A131B; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1A24; --surface:#16232F; --surface-2:#1B2A37; --line:#2B3D4C; --fg:#E6EDF2; --muted:#9AAEBE;
  --rail:#08131D; --rail-fg:#E7EEF4; --rail-muted:#8AA0B2; --accent:#4FB8C4; --accent-soft:#163C42;
  --ok:#6CC08E; --ok-soft:#173326; --warn:#E5A54A; --warn-soft:#3A2A12; --bad:#F08A82; --bad-soft:#3D1C1A; --stage:#0A131B; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-size:15px;line-height:1.45}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.rail{background:var(--rail);color:var(--rail-fg);padding:28px 18px;display:flex;flex-direction:column;gap:22px}
.rail .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rail-muted);font-weight:600}
.rail h1{font-size:21px;line-height:1.15;margin:4px 0 0;font-weight:600}
.steps{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}
.steps button{all:unset;cursor:pointer;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px;border-radius:8px;width:100%;box-sizing:border-box;border:1px solid transparent}
.steps button:hover{background:rgba(255,255,255,.05)}
.steps button[aria-current="step"]{border-color:#2E5576;background:rgba(79,184,196,.12)}
.steps .num{width:34px;height:34px;border-radius:50%;border:1px solid #3B5C79;display:grid;place-items:center;font-size:12px;font-variant-numeric:tabular-nums}
.steps .done .num{background:#2E7D4F;border-color:#2E7D4F}
.steps b{display:block;font-weight:600;font-size:14.5px}
.steps small{color:var(--rail-muted);font-size:12.5px}
.rail .meta{margin-top:auto;font-size:12.5px;color:var(--rail-muted);border-top:1px solid #23415E;padding-top:14px}
.rail .meta strong{color:var(--rail-fg);font-weight:600}

main{padding:28px 28px 40px;min-width:0}
.top{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.top .eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.top h2{font-size:30px;line-height:1.1;margin:4px 0 0;font-weight:600;text-wrap:balance}
.top p{margin:6px 0 0;color:var(--muted);max-width:60ch}
.timer{text-align:right}
.timer .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.timer .val{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.timer .goal{font-size:12.5px;color:var(--ok)}
.demo-flag{display:inline-block;font-size:12px;background:var(--warn-soft);color:var(--warn);padding:2px 8px;border-radius:99px;font-weight:600;margin-top:6px}

.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:22px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.panel-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.panel-h h3{margin:0;font-size:16px;font-weight:600}
.ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ctrl label{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
select,input[type=date],input[type=text]{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:14px}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;font-weight:600;font-size:14px;cursor:pointer}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary[disabled]{opacity:.45;cursor:not-allowed}
.btn.sm{padding:4px 9px;font-size:13px}

/* malstige */
.ladder{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.ladder-top{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.ladder-sum{font-size:15px}
.ladder-sum b{font-weight:600}
.rungs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.rung{border:1px solid var(--line);border-radius:8px;padding:7px 6px;text-align:center;background:var(--surface-2);font-size:12.5px;line-height:1.25}
.rung b{display:block;font-size:13.5px;font-weight:600}
.rung span{color:var(--muted);font-variant-numeric:tabular-nums}
.rung.cur{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.rung.off{opacity:.45}
.switch{display:inline-flex;gap:8px;align-items:center;font-size:13.5px;cursor:pointer}
.switch input{width:34px;height:20px;appearance:none;background:var(--line);border-radius:99px;position:relative;cursor:pointer;transition:background .15s}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.switch input:checked{background:var(--accent)}
.switch input:checked::after{left:17px}
.note{font-size:13.5px;padding:8px 11px;border-radius:8px}
.note.info{background:var(--accent-soft)}
.note.warn{background:var(--warn-soft);color:var(--fg)}
.note.warn b{color:var(--warn)}

/* stillingsliste */
.list{list-style:none;margin:0;padding:6px 0}
.job{display:grid;grid-template-columns:22px 22px 64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line)}
.job:last-child{border-bottom:0}
.job.out{opacity:.55}
.job.drag{background:var(--accent-soft)}
.job .pos{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
.job .handle{cursor:grab;color:var(--muted);font-size:16px;line-height:1;user-select:none;text-align:center}
.job .mini{height:30px;border:1px solid var(--line);border-radius:5px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:2px}
.job .mini svg{width:100%;height:100%}
.job .txt{min-width:0}
.job .t{font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job .s{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.badge{font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.badge.info{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.badge.over{background:var(--surface-2);color:var(--fg)}
.job .acts{display:flex;gap:4px}
.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;font-size:13px}
.icon-btn:hover{border-color:var(--accent)}
.chk{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.edit{grid-column:1/-1;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.edit label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);font-weight:600}
.edit input,.edit select{width:100%}
.counter{font-weight:400;font-variant-numeric:tabular-nums}
.counter.over{color:var(--bad)}
.group-h{padding:12px 16px 4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;border-top:1px solid var(--line)}

/* forhåndsvisning */
.preview{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}
.stage{background:var(--stage);border-radius:12px;padding:16px;overflow:auto;display:flex;justify-content:center;max-height:calc(100vh - 230px)}
.stage.full{max-height:none}
.scaler{transform-origin:top left}
.checks{list-style:none;margin:0;padding:10px 16px 14px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.checks li{display:grid;grid-template-columns:20px 1fr;gap:6px}
.checks .i-ok{color:var(--ok);font-weight:700}
.checks .i-warn{color:var(--warn);font-weight:700}
.checks .i-bad{color:var(--bad);font-weight:700}

/* send */
.send{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:22px;align-items:start}
.send .body{padding:16px;display:flex;flex-direction:column;gap:16px}
.titles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px}
.titles label{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:14px;cursor:pointer}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.files li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:var(--surface-2)}
.files code{font-size:12.5px;word-break:break-all}
.pill{font-size:12px;font-weight:600;padding:1px 8px;border-radius:99px;background:var(--ok-soft);color:var(--ok);white-space:nowrap}
.fetch{padding:16px;display:flex;flex-direction:column;gap:12px}
.fetch pre{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12.5px;overflow:auto;margin:0}

/* ===== Trykkside (mm) ===== */
.pp{background:var(--paper);color:var(--p-ink);display:flex;flex-direction:column;overflow:hidden;font-family:var(--f-cond);position:relative}
.pp-head{background:var(--p-navy);color:#fff;padding:4.5mm 5mm 4mm;display:flex;flex-direction:column;gap:1.2mm}
.pp-head h1{font-family:var(--f-serif);font-weight:700;margin:0;line-height:.95;letter-spacing:-.01em}
.pp-head p{margin:0;font-family:var(--f-cond);font-weight:500;line-height:1.2;opacity:.92}
.pp-body{flex:1;display:flex;flex-direction:column;gap:2mm;padding:3mm 3mm 2.5mm;min-height:0}
.pp-grid{flex:1;display:grid;gap:1.6mm;min-height:0}
.cell{border:.25mm solid var(--p-line);background:#fff;display:grid;min-height:0;min-width:0;overflow:hidden}
.cell .logo{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:1.6mm}
.cell .logo svg{width:100%;height:100%;max-height:100%}
.cell .logo .wm{font-family:var(--f-cond);font-weight:700;text-transform:uppercase;text-align:center;line-height:1.05;letter-spacing:.02em}
.cell .info{display:flex;flex-direction:column;justify-content:center;gap:.7mm;min-width:0;padding:1.4mm 2mm}
.cell .ti{font-weight:700;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--p-ink)}
.cell .fr{font-weight:500;color:var(--p-ink)}
.cell .via{font-weight:500;color:var(--p-muted)}
.l-row .cell{grid-template-columns:46% 1fr}
.l-row .cell .logo{border-right:.25mm solid var(--p-line)}
.l-stack .cell,.l-compact .cell{grid-template-rows:minmax(0,1fr) auto}
.l-stack .cell .logo,.l-compact .cell .logo{border-bottom:.25mm solid var(--p-line)}
.l-stack .cell .info,.l-compact .cell .info{justify-content:flex-start}
.cell.own{background:var(--p-tint);border-color:var(--p-tint);grid-template-columns:1fr;grid-template-rows:1fr}
.cell.own .info{justify-content:center;align-items:flex-start}
.cell.own .ti{color:var(--p-navy)}
.pp-more{font-size:6.6pt;line-height:1.3;border-top:.35mm solid var(--p-navy);padding-top:1.2mm;color:var(--p-ink)}
.pp-more b{font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--p-navy)}
.pp-foot{display:grid;grid-template-columns:auto 1fr;gap:3.5mm;align-items:center;padding:3mm 4mm 3.5mm;border-top:.6mm solid var(--p-navy)}
.pp-foot .qr{display:block}
.pp-foot .cta{display:flex;flex-direction:column;gap:.6mm;min-width:0}
.pp-foot .cta small{font-weight:500;font-size:7.5pt;color:var(--p-ink)}
.pp-foot .cta strong{font-weight:700;color:var(--p-navy);line-height:1}
.pp-foot .tn{font-family:var(--f-serif);font-weight:700;color:var(--p-ink);margin-top:1.2mm}
/* størrelser per modul */
.m-53 .pp-head h1{font-size:23pt}.m-53 .pp-head p{font-size:7.6pt}
.m-56 .pp-head h1{font-size:44pt}.m-56 .pp-head p{font-size:11pt}
.m-33B .pp-head h1{font-size:21pt}.m-33B .pp-head p{font-size:7pt}
.m-53 .pp-foot .qr,.m-33B .pp-foot .qr{width:20mm;height:20mm}.m-56 .pp-foot .qr{width:24mm;height:24mm}
.m-53 .pp-foot .cta strong,.m-33B .pp-foot .cta strong{font-size:15pt}.m-56 .pp-foot .cta strong{font-size:22pt}
.m-53 .pp-foot .tn,.m-33B .pp-foot .tn{font-size:9pt}.m-56 .pp-foot .tn{font-size:12pt}
.l-stack .ti{font-size:9.5pt}.l-stack .fr{font-size:7pt}.l-stack .via{font-size:6.5pt}
.l-compact .ti{font-size:8.5pt}.l-compact .fr{font-size:6.6pt}.l-compact .via{font-size:6.2pt}
.l-row .ti{font-size:8pt}.l-row .fr{font-size:6.5pt}.l-row .via{font-size:6pt}
.cell .wm{font-size:7.5pt}
.l-row .cell .info{padding:1mm 1.6mm}
/* kun i appen: markering av advarsler, skrives aldri ut */
.app .cell.flag{outline:.6mm solid var(--warn);outline-offset:-.6mm}

#printRoot{display:none}
html.print-only .app{display:none}
html.print-only, html.print-only body{background:#fff;margin:0;padding:0}
html.print-only #printRoot{display:block}

@media (max-width:1100px){.work,.send{grid-template-columns:minmax(0,1fr)}.preview{position:static}.stage{max-height:none}}
@media (max-width:760px){
  .app{grid-template-columns:minmax(0,1fr)}
  .rail{padding:16px;gap:12px}
  .steps{flex-direction:row;overflow-x:auto}
  .steps button{grid-template-columns:28px auto;padding:6px 8px}
  .steps .num{width:28px;height:28px}
  .steps small,.rail .meta{display:none}
  main{padding:18px 16px 32px}
  .top h2{font-size:24px}
  .rungs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .job{grid-template-columns:22px 52px minmax(0,1fr) auto;padding:8px 12px}
  .job .pos{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

:root{color-scheme:light;--bg:#EEF2F4;--surface:#fff;--surface-2:#F6F8F9;--line:#D5DEE3;--fg:#13263A;--muted:#5B6E7E;--rail:#0C2340;--rail-fg:#E7EEF4;--rail-muted:#9FB4C6;--accent:#167A86;--accent-soft:#DDF0F1;--ok:#2E7D4F;--warn:#A86200;--bad:#B3261E;--stage:#DCE3E8;--warn-soft:#FBEEDB;--bad-soft:#FBE3E1}
body{margin:0} .rail{position:sticky;top:0;height:100vh}.rail p{font-size:12px;color:var(--rail-muted)}main{padding:22px 24px} #pilot-note{margin-bottom:16px} .body{padding:16px} .settings-link{background:none;color:var(--rail-fg);border:0;text-align:left;cursor:pointer;padding:8px 0;font:inherit;font-size:13px} .meta{line-height:1.8}.btn:disabled{opacity:.5;cursor:not-allowed}.fields{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}.fields label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px}textarea{width:100%;font:13px monospace;background:var(--surface-2);color:var(--fg);border:1px solid var(--line);padding:10px;border-radius:7px} input,select{max-width:100%} .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.rungs{grid-template-columns:repeat(3,minmax(0,1fr))}.rung{cursor:pointer;color:var(--fg)}.rung.off{cursor:not-allowed}.job .mini img,.check-mini img{max-width:100%;max-height:100%;object-fit:contain}.job .txt .t,.job .txt .s{white-space:normal}.list{max-height:390px;overflow:auto}.preview{position:sticky;top:20px}.stage{height:min(540px,calc(100vh - 320px));min-height:300px;overflow:auto;background:var(--stage);display:flex;align-items:flex-start;justify-content:center;padding:12px}.stage img{height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:0 2px 8px #0002}.stage.full{display:block}.stage.full img{max-width:none;width:auto;height:auto;max-height:none}.empty-preview{margin:auto;text-align:center;color:var(--muted);max-width:28ch}.checks{max-height:360px;overflow:auto}.checks li{align-items:start}.check-mini{width:40px;height:28px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0}.check-text{flex:1;min-width:0}.check-text small{display:block;color:var(--muted)}.checks button{margin-top:4px}.status-line{padding:10px 0;font-size:13px}.muted{color:var(--muted);font-size:13px}.note{margin:10px 0}.technical{font-size:12px;overflow-wrap:anywhere}details{margin:14px 0}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px} .title-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.title-picks label{display:flex;gap:8px;align-items:center;font-size:14px}.send{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}.approval-confirm{font-size:14px;margin-top:14px}.rebook-confirm{font-size:13px;display:flex;gap:8px;align-items:center}.exception-form{padding:8px;background:var(--surface-2)}.exception-form input{width:100%}#message{padding:10px 14px;border-radius:8px;background:var(--accent-soft);margin-bottom:14px}#message.error{background:var(--bad-soft)}a{color:#116874}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.receipt{background:var(--ok-soft);padding:12px;border-radius:8px}.job .acts{align-self:center}.kv dd{overflow-wrap:anywhere}.history-pick{width:100%;margin:8px 0} .timer .goal{color:#256d45} .agency-label{font-size:12px}
@media(max-width:1100px){.app{grid-template-columns:200px minmax(0,1fr)}.rail{padding:22px 14px}main{padding:20px 18px}.work{grid-template-columns:minmax(0,1fr) minmax(265px,.8fr);gap:16px}.job{grid-template-columns:18px 18px 44px minmax(0,1fr);gap:7px;padding:10px}.job .acts{grid-column:4;justify-content:flex-end}.rung b{font-size:12px}.ctrl{gap:6px}.top h2{font-size:26px}.send{grid-template-columns:1fr}.preview{top:12px}}
@media(max-width:780px){.app{grid-template-columns:1fr}.rail{position:static;height:auto;padding:16px;gap:10px}.steps{flex-direction:row}.steps button{display:block;padding:6px;font-size:12px}.steps .num,.steps small,.meta{display:none}.steps b{font-size:12px}.work{grid-template-columns:1fr}.preview{position:static}.stage{height:500px}.top{align-items:flex-start}.timer{font-size:12px}.title-picks{grid-template-columns:1fr}.list{max-height:400px}}

.job.excluded{display:block;padding:10px 16px}.checks li{display:flex;gap:8px}.checks .i-ok,.checks .i-warn,.checks .i-bad{width:18px;flex-shrink:0}.stage{min-width:0}.job.out{opacity:1}.job.out .txt{color:var(--muted)}

.send .body{gap:8px}.send .body h3{margin:0;font-size:16px}.send .checks{margin:0;padding:0;max-height:220px}.title-picks{margin-bottom:4px}.send .status-line{padding:6px 0}.send .technical{margin:8px 0}.send .approval-confirm{margin-top:8px}

:root{--ok-soft:#E1F2E7}
@media(min-width:1101px){.rungs{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:781px) and (max-width:1100px){.rungs{grid-template-columns:repeat(3,minmax(0,1fr))}}

.house-scope{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px}.house-scope legend{font-weight:700;padding:0 5px}.house-scope p{grid-column:1/-1;margin:0}.house-scope label,.house-option{display:flex;align-items:center;gap:8px}.house-library{list-style:none;padding:0;display:grid;gap:8px}.house-library li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:10px}.house-library li span:nth-child(2){color:var(--muted);font-size:13px}.house-option{padding:6px 0}

/* Innlogging og tilbakestilling */
main:has(#login:not([hidden])){display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(24px,7vw,96px)}
#login{width:min(100%,640px);margin:0 auto;border-radius:16px;box-shadow:0 18px 54px #0c234014}
#login .body{padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:18px}
.login-heading{margin-bottom:4px}.login-heading .eyebrow{font-size:11px;letter-spacing:.14em;color:var(--accent);font-weight:700}
.login-heading h2{font-size:30px;line-height:1.15;margin:8px 0 6px}.login-heading p,.reset-panel p{margin:0;color:var(--muted);max-width:50ch}
#email-login,#token-login,.reset-panel{display:flex;flex-direction:column;gap:15px}
#login label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
#login input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-size:16px;transition:border-color .15s,box-shadow .15s}
#login input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent)}
#login .login-submit,#login .login-actions .btn{min-height:46px;padding:10px 18px}
.text-button{align-self:flex-end;border:0;background:none;color:var(--accent);padding:2px 0;font-weight:600;cursor:pointer}
.text-button:hover{text-decoration:underline}.reset-panel{border-top:1px solid var(--line);padding-top:22px;margin-top:2px}
.reset-panel h3{margin:0;font-size:20px}.login-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:760px){main:has(#login:not([hidden])){min-height:auto;padding:24px 16px 40px}#login .body{padding:28px 22px}.login-heading h2{font-size:26px}.login-actions{flex-direction:column}.login-actions .btn{width:100%}}
