/* Lokalt hostede fonte (SIL OFL 1.1), subsettet til dansk */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts-da/hankengrotesk_v12_ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts-da/hankengrotesk_v12_ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts-da/hankengrotesk_v12_ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts-da/hankengrotesk_v12_ieVn2YZDLWuGJpnzaiwFXS9tYtpd59A.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts-da/inter_v20_UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts-da/inter_v20_UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts-da/inter_v20_UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts-da/inter_v20_UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts-da/inter_v20_UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts-da/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts-da/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts-da/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts-da/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.da.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2082,U+20AC,U+2122,U+2190-2193,U+2212,U+2264-2265,U+00D7}
/* OMNI salgsdemo · navy/guld på hvid og lys kølig grå (ingen sand/beige – runde 4) fra OMNI-logopakken, typografi som evidens-designet
   (Hanken Grotesk til overskrifter, Inter til brødtekst, JetBrains Mono til etiketter). Lokalt hostede fonte. */
:root{
  --navy:#0E1A30; --navy-2:#1B2A47; --navy-3:#2C3D5E;
  --gold:#0b5e5a; --gold-l:#137a72; --gold-xl:#e8f1f0; --gold-d:#0b5e5a;
  --ivory:#f6f9f9; --paper:#FFFFFF; --line:#d6e4e2; --line-2:#C9D1DE;
  --ink:#0E1A30; --muted:#4F5A6E; --ok:#1D6B4E; --ok-bg:#E3F1EA; --warn:#0E1A30; --warn-bg:#F1F4F9; --err:#9A2B2B; --err-bg:#F9E3E1;
  --r:14px; --r-s:10px; --shadow:0 1px 2px rgba(14,26,48,.06),0 8px 24px rgba(14,26,48,.06);
  --gold-grad:linear-gradient(135deg,#137a72 0%,#0b5e5a 45%,#137a72 70%,#0b5e5a 100%);
  --f-head:'Hanken Grotesk',system-ui,sans-serif; --f-body:'Inter',system-ui,sans-serif; --f-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
img,svg{display:block;max-width:100%}
button,input,select{font:inherit;color:inherit}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Banner + header */
.demo-banner{position:sticky;top:0;z-index:30;height:30px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#e8f1f0;font:500 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.top{position:sticky;top:30px;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold-grad);opacity:.85}
.top-in{max-width:1180px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:20px}
.brand img{height:54px;width:auto}
.stepper{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:6px;counter-reset:s}
.stepper li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:2px;font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.stepper li .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-2);font-size:11px;color:var(--muted);background:#fff}
.stepper li.done .n{background:var(--navy);border-color:var(--navy);color:#fff}
.stepper li.now{background:var(--gold-xl);color:var(--navy)}
.stepper li.now .n{border-color:var(--gold);color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(11,94,90,.18)}

main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 40px;outline:none}
.screen{animation:in .35s ease both}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.eyebrow{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--gold)}
h1{font:600 40px/1.1 var(--f-head);letter-spacing:-.025em;margin:10px 0 8px}
h2{font:600 22px/1.25 var(--f-head);letter-spacing:-.01em;margin:0}
h3{font:600 12px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.lead{font-size:18px;color:var(--muted);margin:0 0 24px;max-width:640px}
.mono{font-family:var(--f-mono)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}
.card-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.card-h img{width:40px;height:40px}
.card-h .sub{font-size:13px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}
.grid-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.span2{grid-column:1/-1}

/* Knapper */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:2px;border:1.5px solid transparent;font:600 16px/1 var(--f-body);text-decoration:none;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;user-select:none}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(14,26,48,.22)}
.btn.primary:hover{background:var(--navy-2)}
.btn.gold{background:var(--gold-grad);color:var(--navy);box-shadow:0 6px 16px rgba(11,94,90,.28)}
.btn.secondary{background:#fff;color:var(--navy);border-color:var(--line-2)}
.btn.secondary:hover{border-color:var(--navy)}
.btn.big{min-height:60px;font-size:17px;padding:0 26px}
.btn.wide{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn svg{width:22px;height:22px;flex:none}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.actions .btn{flex:1 1 200px}
.linkbtn{background:none;border:0;padding:10px 4px;color:var(--navy);font-weight:600;text-decoration:underline;cursor:pointer;min-height:44px}

/* Chips */
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:2px;font:600 11px/1.1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--muted);background:#fff;white-space:nowrap}
.chip.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.chip.gold{background:var(--gold-xl);border-color:#137a72;color:var(--gold-d)}
.chip.ok{background:var(--ok-bg);border-color:#BFDCCD;color:var(--ok)}
.chip.warn{background:var(--warn-bg);border-color:#137a72;color:var(--warn)}
.chip.err{background:var(--err-bg);border-color:#EBC3BF;color:var(--err)}
.eks{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:2px;background:var(--gold-xl);color:var(--gold-d);font:600 10px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}

/* SCAN */
.scan-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
.viewfinder{position:relative;aspect-ratio:16/10;border-radius:2px;background:linear-gradient(160deg,#16243F,#0E1A30);display:grid;place-items:center;overflow:hidden;color:#DCE3EE}
.viewfinder .corner{position:absolute;width:44px;height:44px;border:3px solid var(--gold-l)}
.viewfinder .c1{top:18px;left:18px;border-right:0;border-bottom:0;border-radius:2px 0 0 0}
.viewfinder .c2{top:18px;right:18px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.viewfinder .c3{bottom:18px;left:18px;border-right:0;border-top:0;border-radius:0 0 0 10px}
.viewfinder .c4{bottom:18px;right:18px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.viewfinder .hint{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px;font:500 13px/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.viewfinder .hint svg{width:72px;height:72px;opacity:.9}
.viewfinder img.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0b1426}
.viewfinder .scanline{position:absolute;left:6%;right:6%;height:3px;background:linear-gradient(90deg,transparent,var(--gold-l),transparent);box-shadow:0 0 18px 4px rgba(11,94,90,.55);top:10%;animation:scan 1.6s ease-in-out infinite alternate}
@keyframes scan{to{top:88%}}
.progress{margin-top:14px}
.progress .track{height:6px;border-radius:2px;background:#E9EEF5;overflow:hidden}
.progress .bar{height:100%;width:0;background:var(--gold-grad);transition:width .25s ease}
.progress .status{margin-top:8px;font-size:14px;color:var(--muted);min-height:21px}
.privacy{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:2px;background:var(--gold-xl);color:var(--navy);font-size:15px;font-weight:500}
.privacy svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--gold-d)}
.plate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plate{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:2px;border:1.5px solid var(--line);background:#fff;cursor:pointer;text-align:left;min-height:44px;transition:border-color .15s,box-shadow .15s,transform .08s}
.plate:hover{border-color:var(--gold)}
.plate:active{transform:scale(.98)}
.plate img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#EEF0F2;border-radius:2px;border:1px solid var(--line)}
.plate b{font:600 15px/1.2 var(--f-head)}
.plate span{font-size:12px;color:var(--muted)}
.fields{display:grid;gap:14px;margin-top:4px}
.field label{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field input{width:100%;min-height:56px;padding:0 16px;border-radius:2px;border:1.5px solid var(--line-2);background:#fff;font:600 20px/1 var(--f-mono);letter-spacing:.02em;color:var(--navy)}
.field input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px rgba(11,94,90,.2)}
.match{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:2px;font-weight:500;font-size:15px}
.match svg{width:22px;height:22px;flex:none}
.match.ok{background:var(--ok-bg);color:var(--ok)}
.match.no{background:var(--warn-bg);color:var(--warn)}
.thumbnote{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:12px}
.thumbnote svg{width:18px;height:18px;color:var(--ok)}
.session{margin-top:24px}
.session ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.session a{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:2px;background:#fff;border:1px solid var(--line);text-decoration:none;min-height:52px}
.session a svg{width:36px;height:36px}
.session a b{display:block;font:600 14px/1.2 var(--f-head)}
.session a span{font:500 11px/1.2 var(--f-mono);color:var(--muted)}

/* OPRETTET */
.created{max-width:760px;margin:0 auto;text-align:center}
.created .eyebrow{justify-content:center}
.seal{width:116px;height:116px;margin:8px auto 6px;position:relative}
.seal svg{width:100%;height:100%}
.seal .ring{stroke-dasharray:340;stroke-dashoffset:340;animation:draw .7s ease-out .1s forwards}
.seal .tick{stroke-dasharray:80;stroke-dashoffset:80;animation:draw .45s ease-out .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.seal::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid var(--gold-l);opacity:0;animation:pulse 1.2s ease-out .9s}
@keyframes pulse{0%{opacity:.8;transform:scale(.85)}100%{opacity:0;transform:scale(1.25)}}
.pcard{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;text-align:left;margin:22px 0;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;animation:rise .5s ease .5s both}
.pcard::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--gold-grad)}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.pcard .ill{width:120px;height:120px;border-radius:2px;background:var(--ivory);display:grid;place-items:center}
.pcard .ill svg{width:88px;height:88px}
.pcard .kat{font:600 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.pcard .name{font:600 26px/1.15 var(--f-head);margin:6px 0 10px;letter-spacing:-.01em}
.pcard .chips{display:flex;flex-wrap:wrap;gap:8px}
.pcard .meta{margin-top:10px;font-size:13px;color:var(--muted)}
.notice{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px 16px;border-radius:2px;background:var(--ok-bg);color:var(--ok);font-weight:500;margin-bottom:18px}
.notice svg{width:22px;height:22px;flex:none}

/* KOBLET */
.linker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 22px}
.lk{display:flex;align-items:center;gap:10px;padding:14px;border-radius:2px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:14px;transition:border-color .3s,background .3s}
.lk .st{width:26px;height:26px;flex:none;display:grid;place-items:center}
.lk .spin{width:22px;height:22px;border-radius:50%;border:3px solid #E8EDF4;border-top-color:var(--gold);animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.lk.done{border-color:#BFDCCD;background:var(--ok-bg)}
.lk.done .st svg{width:24px;height:24px;color:var(--ok)}
.lk small{display:block;font:500 11px/1.3 var(--f-mono);color:var(--muted);letter-spacing:.02em}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.reveal.on{opacity:1;transform:none}
table{width:100%;border-collapse:collapse}
th{font:600 11px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px 8px 10px 0;border-bottom:1px solid var(--line)}
td{padding:12px 8px 12px 0;border-bottom:1px solid #EDF1F6;font-size:15px;vertical-align:middle}
td.num,th.num{text-align:right;padding-right:0;white-space:nowrap}
td .vn{display:block;font:500 12px/1.3 var(--f-mono);color:var(--muted)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0}
.kv dt{font-size:14px;color:var(--muted)}
.kv dd{margin:0;font-weight:600;font-size:15px;text-align:right}
.src{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-2);font-size:13px;color:var(--muted)}
.src a{color:var(--navy);font-weight:600}
.empty{padding:14px;border-radius:2px;background:var(--ivory);color:var(--muted);font-size:14px}
.offmsg{margin-top:10px;padding:10px 12px;border-radius:2px;background:var(--warn-bg);color:var(--warn);font-size:14px;font-weight:500}
.next{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}

/* JOURNAL */
.jhead{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;margin-bottom:20px}
.jhead .ill{width:96px;height:96px;border-radius:2px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}
.jhead .ill svg{width:70px;height:70px}
.jhead h1{font-size:32px;margin:6px 0}
.jhead .chips{display:flex;flex-wrap:wrap;gap:8px}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:17px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:12px;padding:10px 0}
.tl .dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line-2);z-index:1}
.tl .dot svg{width:18px;height:18px}
.tl .install .dot{border-color:var(--navy);color:var(--navy)}
.tl .service .dot{border-color:var(--gold);color:var(--gold-d)}
.tl .fejl .dot{border-color:#D9A39E;color:var(--err)}
.tl .omni .dot{background:var(--navy);border-color:var(--navy);color:#fff}
.tl b{display:block;font-size:15px;font-weight:600}
.tl span{font:500 12px/1.4 var(--f-mono);color:var(--muted)}
.calc .fault{padding:12px 14px;border-radius:2px;background:var(--err-bg);color:var(--err);font-weight:500;font-size:15px;margin-bottom:16px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.opt{border:1.5px solid var(--line);border-radius:2px;padding:16px;background:#fff}
.opt.best{border-color:var(--gold);box-shadow:0 0 0 4px rgba(11,94,90,.12)}
.opt h4{margin:0 0 10px;font:600 18px/1.2 var(--f-head);display:flex;align-items:center;justify-content:space-between;gap:8px}
.opt .ln{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:5px 0;color:var(--muted)}
.opt .ln b{color:var(--ink);font-weight:600;white-space:nowrap}
.opt .ln.sum{border-top:1px solid var(--line);margin-top:6px;padding-top:9px;color:var(--ink);font-weight:600}
.opt .note{font-size:12px;color:var(--muted);margin:2px 0 6px}
.opt .big{font:600 30px/1 var(--f-head);color:var(--navy);margin-top:12px;letter-spacing:-.02em}
.opt .big small{font:500 13px/1 var(--f-body);color:var(--muted);letter-spacing:0}
.bars{margin:18px 0 6px;display:grid;gap:10px}
.barrow{display:grid;grid-template-columns:90px 1fr 92px;gap:10px;align-items:center;font-size:14px}
.barrow .tr{height:14px;border-radius:2px;background:#EEF2F7;overflow:hidden}
.barrow .fill{height:100%;width:0;border-radius:2px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.barrow .fill.a{background:var(--gold-grad)}
.barrow .fill.b{background:var(--navy-3)}
.barrow b{text-align:right;font-weight:600}
.verdict{margin-top:14px;padding:14px 16px;border-radius:2px;background:var(--navy);color:#fff;font-size:15px}
.verdict b{color:var(--gold-l)}
.verdict small{display:block;margin-top:6px;color:#C9D0DD;font-size:12px}
.endbar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.endbar .btn{min-width:240px}

/* Footer */
.foot{border-top:1px solid var(--line);background:#fff}
.foot-in{max-width:1180px;margin:0 auto;padding:18px 24px 22px;display:flex;flex-direction:column;gap:10px}
.foot p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13px;color:var(--muted)}
.foot nav a{color:var(--navy);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.foot .off{margin-left:auto;font:500 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.foot .off i{width:8px;height:8px;border-radius:50%;background:var(--line-2);display:inline-block}
.foot .off.ready i{background:var(--ok)}

/* Undersider (privatliv, kreditering) */
.doc{max-width:760px}
.doc h1{font-size:34px}
.doc p,.doc li{color:var(--ink);font-size:16px}
.doc .card{margin-top:16px}

/* Tablet stående og mindre */
/* ---------- ukendt produkt (fallback) ---------- */
[hidden]{display:none!important}
.kilde{margin-top:6px;font:500 11px/1.3 var(--f-mono);letter-spacing:.04em;color:var(--muted)}
.eks.you{background:#E8ECF3;color:var(--navy-2)}
.ukendt{display:grid;gap:14px;padding:14px;border-radius:2px;border:1.5px dashed var(--line-2);background:var(--ivory)}
.ukendt .hint2{margin:0}
.field select{width:100%;min-height:56px;padding:0 14px;border-radius:2px;border:1.5px solid var(--line-2);background:#fff;font:600 17px/1 var(--f-body);color:var(--navy)}
.field select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px rgba(11,94,90,.2)}
.ukendt .field input{font:600 17px/1 var(--f-body)}
.notice.info{background:#E8ECF3;color:var(--navy-2)}
.card .notice.info{margin:0}
.lk.none{border-color:var(--line-2);background:var(--ivory)}
.lk.none .st svg{width:24px;height:24px;color:var(--muted)}
.stack{display:grid;gap:20px;min-width:0}
.tl li.info .dot{color:var(--muted)}
.kv dd .eks{white-space:nowrap}

/* ---------- runde 3: robust scan + altid opret ---------- */
.eks.skilt{background:var(--gold-xl);color:var(--gold-d)}
.match.info{background:#E8ECF3;color:var(--navy-2)}
.consent{margin-top:16px;padding:16px;border-radius:2px;border:1.5px solid var(--gold);background:#fff}
.consent p{margin:0 0 12px;font-weight:500}
.consent .hint2{margin:10px 0 0;font-weight:400}
.kat-q{margin-top:8px;padding:10px 12px;border-radius:2px;background:var(--gold-xl);color:var(--gold-d);font-size:14px}
.motor{font:500 11px/1.4 var(--f-mono);letter-spacing:.04em;color:var(--muted);text-align:center}
.row-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.cropwrap{margin-bottom:16px}
.viewfinder.cropping{cursor:crosshair;touch-action:none}
.cropbox{position:absolute;border:3px solid var(--gold-l);box-shadow:0 0 0 9999px rgba(14,26,48,.45);border-radius:2px;pointer-events:none}
.cropbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.cropbar span{flex:1 1 160px;font-size:14px;color:var(--muted)}
.fade-in{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.fade-in.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.fade-in{opacity:1;transform:none;transition:none}}
@media (max-width:1000px){
  .scan-grid,.grid2{grid-template-columns:1fr}
  .linker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stepper li .t{display:none}
  .stepper li.now .t{display:inline}
}
/* Telefon */
@media (max-width:600px){
  main{padding:18px 16px 32px}
  .top-in{padding:8px 16px;gap:10px}
  .brand img{height:34px}
  .stepper{gap:2px}
  .stepper li{padding:6px}
  .stepper li.now .t{display:none}
  h1{font-size:30px}
  .lead{font-size:16px;margin-bottom:18px}
  .card{padding:16px}
  .grid-k{grid-template-columns:1fr}
  .pcard{grid-template-columns:1fr;text-align:center;justify-items:center}
  .pcard .chips{justify-content:center}
  .opts{grid-template-columns:1fr}
  .jhead{grid-template-columns:72px 1fr}
  .jhead .ill{width:72px;height:72px}
  .jhead .ill svg{width:54px;height:54px}
  .jhead h1{font-size:24px}
  .jhead .chips{grid-column:1/-1}
  .linker{grid-template-columns:1fr 1fr;gap:8px}
  .lk{padding:10px;font-size:13px}
  .endbar .btn,.next .btn{width:100%}
  .foot .off{margin-left:0}
  .barrow{grid-template-columns:70px 1fr 84px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.seal .ring,.seal .tick{stroke-dashoffset:0}.reveal{opacity:1;transform:none}}
.mt16{margin-top:16px}.mb6{margin-bottom:6px}.hint2{margin:0 0 14px;color:var(--muted)}.lead.center{margin:0 auto}.next.center{justify-content:center}
.grid-k>*,.grid2>*,.scan-grid>*{min-width:0}
@media (max-width:600px){
  .parts,.parts tbody{display:block;width:100%}
  .parts thead{display:none}
  .parts tr{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:12px 0;border-bottom:1px solid #EDF1F6}
  .parts td{border:0;padding:0}
  .parts td:first-child{grid-column:1/-1}
  .parts td.num{text-align:left}
  .parts td.num:last-child{justify-self:end}
  .parts td.num:nth-child(2)::before{content:"Eksempelpris (DEMO)";display:block;font:500 10px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
  .parts tr{grid-template-columns:minmax(0,1fr) minmax(0,auto)}
  .parts .chip{white-space:normal;text-align:right}
}

/* kategori som knapper (erstatter <select>) */
.flabel{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.katchips{display:flex;flex-wrap:wrap;gap:8px}
.field .katchip,.katchip{position:relative;display:inline-flex;margin:0;font:inherit;letter-spacing:0;text-transform:none;color:inherit;justify-content:flex-start}
.katchip input{position:absolute;opacity:0;width:1px;height:1px}
.katchip span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:2px;border:1.5px solid var(--line-2);background:#fff;color:var(--navy);font:600 15px/1 var(--f-body);cursor:pointer}
.katchip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.katchip input:focus-visible+span{box-shadow:0 0 0 4px rgba(11,94,90,.35)}

/* ================= Runde 4: navigation, forside, funktioner, beregnere, roller, budget ================= */
.stepper[hidden]{display:none}
.subnav{border-top:1px solid var(--line);background:#fff}
.subnav-in{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subnav-in::-webkit-scrollbar{display:none}
.subnav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-bottom:3px solid transparent;color:var(--muted);font:600 14px/1 var(--f-body);text-decoration:none;white-space:nowrap}
.subnav a:hover{color:var(--navy)}
.subnav a.on{color:var(--navy);border-bottom-color:var(--gold)}
.udv h1{max-width:900px}
.udv .lead{max-width:780px}
.hero{padding:8px 0 4px}
.entry{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--r);background:#fff;border:1.5px solid var(--line);box-shadow:var(--shadow);text-decoration:none;color:var(--navy);transition:border-color .15s,transform .08s}
.entry:hover{border-color:var(--gold)}
.entry:active{transform:translateY(1px)}
.entry .ei{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:2px;background:var(--gold-xl);color:var(--navy)}
.entry .et{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.entry .et b{font:600 19px/1.2 var(--f-head)}
.entry .et span{color:var(--muted);font-size:15px}
.entry .ea{flex:0 0 auto;color:var(--gold-d)}
.entry-main{margin:22px 0 14px;background:var(--navy);border-color:var(--navy);color:#fff}
.entry-main .ei{background:rgba(255,255,255,.12);color:#fff}
.entry-main .et span{color:#D7DEEA}
.entry-main .ea{color:var(--gold-l)}
.entry-main .et b{font-size:22px}
.entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.note-plan{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;padding:12px 14px;border-radius:2px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:14px}
.note-plan svg{flex:0 0 auto;color:var(--navy);width:20px;height:20px}
.note-plan.warnish{background:#e8f1f0;border-color:#C9D1DE;border-left:4px solid var(--gold);color:var(--navy,#0F1B2D);margin:0 0 18px}
.status-plan{display:inline-block;margin-top:12px;padding:4px 10px;border-radius:2px;border:1px dashed var(--line-2);font:600 11px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#fff}
.foto-kommer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:16/7;margin:12px 0 0;border-radius:2px;border:1.5px dashed var(--line-2);background:var(--ivory);color:var(--muted);font:600 13px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.foto-kommer small{font:400 12px/1.3 var(--f-body);letter-spacing:0;text-transform:none}
.lc-wrap{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:28px;align-items:center;margin:22px 0}
.lc{width:100%;height:auto;max-width:380px;margin:0 auto}
.lc-ring{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:4 6}
.lc-l{stroke:var(--line-2);stroke-width:1.5}
.lc-node circle{fill:#fff;stroke:var(--navy);stroke-width:2}
.lc-node text{fill:var(--navy);font:600 13px var(--f-body)}
.lc-node:hover circle,.lc-node:focus circle{fill:var(--gold-xl);stroke:var(--gold)}
.lc-core{fill:var(--navy)}
.lc-t1{fill:var(--gold-l);font:600 13px var(--f-mono);letter-spacing:.2em}
.lc-t2{fill:#fff;font:600 17px var(--f-head)}
.forloeb{list-style:none;margin:12px 0 18px;padding:0;display:grid;gap:8px}
.forloeb li{display:flex;align-items:center;gap:10px;font-weight:500}
.forloeb li span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font:600 12px var(--f-mono)}
.aerlig{display:flex;gap:12px;padding:14px;border-radius:2px;background:var(--gold-xl);border:1px solid var(--line)}
.aerlig>svg{flex:0 0 auto;color:var(--navy)}
.aerlig p{margin:6px 0 10px}
.modgrid,.rolgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rolgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.modul,.rolle{display:flex;flex-direction:column}
.modul.valgt{border-color:var(--gold);box-shadow:0 0 0 3px rgba(11,94,90,.25)}
.mhead{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.mhead h2{font-size:19px}
.mi{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:2px;background:var(--navy);color:var(--gold-l)}
.mname{font:500 18px/1.2 var(--f-head);color:var(--navy)}
.mwho{font-size:13px;color:var(--muted)}
.modul p{margin:4px 0 6px}
.modul ul,.rolle ul{margin:4px 0 0;padding-left:18px;color:var(--ink);font-size:15px}
.modul ul li,.rolle ul li{margin:3px 0}
.modul .status-plan,.rolle .status-plan{align-self:flex-start;margin-top:auto;position:relative;top:10px}
.modul .foto-kommer{margin-bottom:18px}
.rolle ul{margin-bottom:22px}
.kilder{margin:20px 0 0;padding:12px 14px;border-radius:2px;background:#fff;border:1px solid var(--line);font-size:14px;color:var(--muted)}
.kilder summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:44px;display:flex;align-items:center}
.kilder ul{margin:8px 0 0;padding-left:18px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 14px}
.tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:2px;border:1.5px solid var(--line-2);background:#fff;color:var(--navy);text-decoration:none;font-weight:600;font-size:15px}
.tabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.calc h2{margin-bottom:14px}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.inputs{display:grid;gap:14px}
.ifelt label{display:block;font-weight:600;font-size:14px;color:var(--navy);margin-bottom:6px}
.iw{display:flex;align-items:center;border:1.5px solid var(--line-2);border-radius:2px;background:#fff;overflow:hidden}
.iw:focus-within{border-color:var(--navy);box-shadow:0 0 0 4px rgba(11,94,90,.2)}
.iw input{flex:1;min-width:0;min-height:48px;padding:0 12px;border:0;background:transparent;font:600 18px/1 var(--f-mono);color:var(--navy);outline:none}
.iw .unit{padding:0 12px;color:var(--muted);font-size:14px;white-space:nowrap}
input[aria-invalid="true"]{color:var(--err)}
.iw:has(input[aria-invalid="true"]){border-color:var(--err)}
.imeta{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-top:6px}
.imeta .eks{margin-left:0}
.ikilde{font-size:12px;color:var(--muted);line-height:1.35}
.eks.ber{background:var(--ok-bg);color:var(--ok)}
.res{position:sticky;top:150px;padding:18px;border-radius:var(--r);background:var(--ivory);border:1px solid var(--line)}
.res-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}
.res-big>div{padding:12px;border-radius:2px;background:#fff;border:1px solid var(--line)}
.res-big span{display:block;font-size:13px;color:var(--muted)}
.res-big b{display:block;margin-top:4px;font:600 24px/1.15 var(--f-head);color:var(--navy)}
.res-line{margin:8px 0;font-size:15px}
.res-note{margin:10px 0 0;font-size:13px;color:var(--muted)}
.formel{margin-top:12px}
.formel pre{margin:6px 0 0;padding:12px;border-radius:2px;background:#fff;border:1px solid var(--line);font:500 12.5px/1.6 var(--f-mono);color:var(--navy);white-space:pre-wrap;word-break:break-word}
.mini{font:600 14px/1.3 var(--f-body);color:var(--navy);margin:14px 0 6px}
.barer{width:100%;height:auto;max-width:520px}
.barer .bl{fill:var(--ink);font:500 12px var(--f-body)}
.barer .bv{fill:var(--navy);font:600 12px var(--f-mono)}
.bar{fill:#9AA9C2}
.bar-hl{fill:var(--gold)}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.linkbtn{justify-self:start;background:none;border:0;padding:8px 0;min-height:44px;color:var(--navy);text-decoration:underline;font-weight:600;cursor:pointer}
.tblw{position:relative;overflow-x:auto;margin:8px 0 12px;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tbl thead th{font:600 12px/1.25 var(--f-body);color:var(--muted);background:var(--ivory)}
.tbl input{width:100%;min-width:84px;min-height:42px;padding:0 8px;border:1.5px solid var(--line-2);border-radius:2px;background:#fff;font:600 15px var(--f-mono);color:var(--navy)}
.tbl td:first-child input{min-width:130px;font-family:var(--f-body)}
.tbl.num td,.tbl.num tfoot td{text-align:right;font-family:var(--f-mono);white-space:nowrap}
.tbl.num thead th{text-align:right}
.tbl.num thead th:first-child{text-align:left}
.tbl .sep{border-left:2px dashed var(--line-2);color:var(--ok)}
.tbl tfoot th,.tbl tfoot td{font-weight:700;border-top:2px solid var(--navy)}
.bud-top{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ifelt.sm label{font-size:13px;min-height:34px}
.bud-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}
.scope{display:flex;flex-wrap:wrap;gap:6px}
.scope button{min-height:40px;padding:0 12px;border-radius:2px;border:1.5px solid var(--line-2);background:#fff;color:var(--navy);font-weight:600;font-size:14px;cursor:pointer}
.scope button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.bud-svg{width:100%;height:auto;margin-top:10px}
.bud-svg .grid{stroke:var(--line);stroke-width:1}
.bud-svg .ax{fill:var(--muted);font:500 11px var(--f-mono)}
.c1{fill:#9AA9C2;background:#9AA9C2}
.c2{fill:var(--gold);background:var(--gold)}
.c3{fill:var(--navy);background:var(--navy)}
.c4{fill:#3E7C68;background:#3E7C68}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 4px;font-size:13px;color:var(--ink)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.bud-act{margin-top:14px}
.card+.card{margin-top:16px}
.modgrid>.card,.rolgrid>.card,.entries>.card,.bgrid>.card,.calc-grid>.card{margin-top:0}
@media (max-width:1180px){.rolgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bud-top{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){.modgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-wrap,.calc-grid{grid-template-columns:1fr}.res{position:static}.bgrid{grid-template-columns:1fr}}
@media (max-width:640px){.entries,.modgrid,.rolgrid{grid-template-columns:1fr}.bud-top{grid-template-columns:repeat(2,minmax(0,1fr))}.entry .et b{font-size:17px}.entry-main .et b{font-size:19px}.subnav-in{padding:0 8px}}
@media print{
  .top,.subnav,.foot nav,.bud-act,.tabs,.kilder summary,[data-bud-nulstil],.linkbtn{display:none!important}
  .demo-banner{position:static;background:#fff;color:#000;border-bottom:1px solid #000}
  body{background:#fff}
  main{padding:0;max-width:none}
  .card{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .kilder{display:block}.kilder[open] ul,.kilder ul{display:block}
  .tbl input{border:0;padding:0;min-height:0}
  .screen{animation:none}
}

/* ================= FINPUDS (11. okt. 2026) =================
   Ét lag oven på resten: tokens, typografisk skala, 8 pt-grid, ensartede komponenter og nye tilstande.
   Advarsler: lys kølig flade + guldkant + navy tekst (ingen gul/beige). */
:root{--r:12px;--r-s:10px;--r-xs:6px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;
  --shadow:0 1px 2px rgba(14,26,48,.05),0 4px 16px rgba(14,26,48,.06);--shadow-h:0 2px 4px rgba(14,26,48,.06),0 12px 28px rgba(14,26,48,.10);
  --ease:cubic-bezier(.2,.8,.2,1);--warn-line:#0b5e5a}
h1{font-size:clamp(28px,4.2vw,40px);line-height:1.12;margin:var(--s1) 0 var(--s2)}
h2{font-size:clamp(19px,2.2vw,22px)}
.lead{font-size:clamp(16px,1.8vw,18px);line-height:1.55;margin:0 0 var(--s3)}
.card{border-radius:var(--r);padding:var(--s3)}
.card+.card{margin-top:var(--s2)}
.btn{border-radius:var(--r-s);transition:transform .08s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease;min-height:48px}
.btn.big{min-height:56px}
.btn.primary:hover{box-shadow:0 8px 20px rgba(14,26,48,.26)}
.btn.gold{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(14,26,48,.22)}
.chip,.eks,.demodata{border-radius:2px}
.chip.warn{background:#F1F4F9;border-color:var(--warn-line);color:var(--navy)}
.field input,.iw input,.dispo-in{border-radius:var(--r-s)}
.card-h .ci,.ci{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--r-s);background:var(--gold-xl);color:var(--navy)}
.ci svg{width:24px;height:24px}
.ci.big{width:72px;height:72px;margin:0 auto var(--s2)}.ci.big svg{width:40px;height:40px}
.skip{position:absolute;left:8px;top:-60px;z-index:50;padding:12px 16px;border-radius:var(--r-s);background:var(--navy);color:#fff;font-weight:600;text-decoration:none}
.skip:focus{top:8px}
/* DEMODATA-mærke: samme form som Eksempel, men navy kontur, så fiktive data skiller sig ud fra antagelser */
.demodata{display:inline-block;margin-left:6px;padding:2px 8px;border:1px solid var(--navy-3);color:var(--navy);background:#fff;font:600 10px/1.3 var(--f-mono);letter-spacing:.08em;vertical-align:middle;white-space:nowrap}
/* Noter og advarsler */
.note-plan.warnish,.notice.warn,.offmsg,.warnline{background:#F1F4F9;color:var(--navy);border-left:4px solid var(--warn-line)}
.notice.warn{border-radius:var(--r-s)}
.notice.warn svg{color:var(--gold-d)}
.row-links{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s1)}
.row-links .linkbtn{min-height:44px;padding:0;margin:0}
.warnline{padding:12px 16px;border-radius:var(--r-s);font-size:15px;margin:var(--s2) 0 0}
.neg{color:var(--err)!important}
svg .bv.neg{fill:var(--err)}
/* Tom tilstand og "ikke fundet" */
.empty-state{display:flex;gap:var(--s2);align-items:center;margin-top:var(--s3);padding:var(--s2) var(--s3);border:1.5px dashed var(--line-2);border-radius:var(--r);background:#fff}
.empty-state b{display:block;font:600 16px/1.3 var(--f-head)}.empty-state span{color:var(--muted);font-size:14px}
.empty-page{text-align:center;max-width:620px;margin:var(--s5) auto}
.next.center{justify-content:center}
/* OMNI-ID */
.id-note,.id-line{font-size:13px;color:var(--muted)}
.id-line{margin:calc(-1 * var(--s1)) 0 var(--s2)}
/* Muligt match på serienummer */
.match.dup{align-items:flex-start;background:#F1F4F9;color:var(--navy);border-left:4px solid var(--warn-line)}
.match.dup>svg{width:24px;height:24px;flex:none;color:var(--gold-d)}
.match.dup b{display:block;font-family:var(--f-head);font-size:16px;margin-bottom:4px}
.match.dup .actions{margin-top:var(--s2)}
/* Journal: ekstra år + disposition */
.ln.ekstra{align-items:center;gap:var(--s1);flex-wrap:wrap}
.ln.ekstra label{flex:1 1 160px;font-size:14px;color:var(--muted)}
.iw.sm{display:inline-flex;align-items:center;gap:6px}
.iw.sm input{width:76px;min-height:44px;padding:0 10px;border:1.5px solid var(--line-2);font:600 16px/1 var(--f-mono);text-align:right;background:#fff}
.iw.sm input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px rgba(11,94,90,.2)}
input[aria-invalid="true"]{border-color:var(--err)!important;box-shadow:0 0 0 3px rgba(154,43,43,.12)!important}
.ifejl{margin:6px 0 0;color:var(--err);font-size:13px;font-weight:500}
.dispo{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line);display:grid;gap:var(--s1)}
.dispo .katchips{margin:var(--s1) 0}
.dispo-hint{display:flex;gap:var(--s1);align-items:center;margin:0;font-size:14px;color:var(--navy)}
.dispo-hint svg{width:20px;height:20px;color:var(--gold-d)}
.dispo-l{font-size:14px;color:var(--muted)}
.dispo-in{width:100%;min-height:48px;padding:0 14px;border:1.5px solid var(--line-2);background:#fff}
.dispo-in:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px rgba(11,94,90,.2)}
.dispo .btn{justify-self:start}
.flash{animation:flash 1.2s var(--ease)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(11,94,90,.55)}100%{box-shadow:0 0 0 14px rgba(11,94,90,0)}}
.tl li.valg .dot{border-color:var(--gold);color:var(--gold-d)}
/* Roller grupperet */
.gruppe{margin:var(--s4) 0 var(--s2);font:600 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.rnavn{font:600 18px/1.25 var(--f-head);letter-spacing:-.01em;text-transform:none;color:var(--navy)}
.rnr{font:500 11px/1 var(--f-mono);color:var(--muted);letter-spacing:.06em;margin-left:4px}
/* Mikroanimationer: hover og fokus på kort og indgange */
.entry,.plate,.card.modul,.card.rolle,.session a{transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.entry:hover,.plate:hover,.session a:hover{transform:translateY(-2px);box-shadow:var(--shadow-h)}
.entry:hover .ea{transform:translateX(3px)}.ea{transition:transform .18s var(--ease)}
/* Tal: tabulære cifre og højrestilling */
.tbl td,.tbl th.num,.res-big b,.big,.ln b,.bv{font-variant-numeric:tabular-nums}
.tbl td:not(:first-child){text-align:right}
/* Touch-mål ≥ 44 px */
.linkbtn,.tabs a,.scope button,.katchip span,.iconbtn,.subnav a{min-height:44px}
.iconbtn{min-width:44px}
@media (max-width:640px){.card{padding:var(--s2)}main{padding:var(--s3) var(--s2) var(--s4)}}
main{min-height:calc(100vh - 220px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{.skip{display:none}}
.flabel{flex-wrap:wrap;row-gap:4px}
.flabel .eks,.flabel .badge,.flabel span{white-space:normal}
.field,.fields{min-width:0}
.flabel .chip{white-space:normal;text-align:right;line-height:1.25;max-width:62%}
.field label{flex-wrap:wrap;row-gap:6px}.field label>span{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;min-width:0;max-width:100%}.field label .chip{white-space:normal;line-height:1.25;text-align:left}
/* Produktjournal: sektioner */
.grid1{display:grid;gap:var(--s2)}
.jnav{position:sticky;top:96px;z-index:5;display:flex;gap:4px;overflow-x:auto;margin:0 0 var(--s2);padding:6px;border:1px solid var(--line);border-radius:2px;background:rgba(255,255,255,.96);scrollbar-width:none}
.jnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:2px;font-weight:600;font-size:14px;text-decoration:none;color:var(--muted)}
.jnav a:hover{color:var(--navy);background:var(--ivory)}.jnav a.on{background:var(--navy);color:#fff}
.jsek{scroll-margin-top:170px;margin-top:var(--s2)}
.tl-rig li p{margin:2px 0 4px;color:var(--ink);font-size:14px}
.tl-rig li.fremtid{opacity:.8}.tl-rig li.fremtid .dot{border-style:dashed}
.tl-rig li.fejl .dot{border-color:var(--err);color:var(--err)}.tl-rig li.reparation .dot,.tl-rig li.opfoelgning .dot{border-color:var(--ok);color:var(--ok)}
.sb-list{display:grid;gap:var(--s2)}
.sb{border:1px solid var(--line);border-radius:var(--r-s);padding:var(--s2)}
.sb header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--f-head);font-size:17px}
.sb-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0}
.sb-dl dt{font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sb-dl dd{margin:4px 0 0;font-weight:600}
.sb h4,.gar-grid h4{margin:12px 0 4px;font:600 12px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
.sb ul,.gar-grid ul{margin:0;padding-left:20px}.sb li,.gar-grid li{margin:2px 0}
.sb-note{margin:12px 0 0;padding:10px 12px;border-radius:var(--r-xs);background:var(--ivory);font-size:14px}
.dele-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--s3);align-items:start}
.ex-fig{margin:0}.ex-fig figcaption{font-size:12px;color:var(--muted);margin-top:6px}
.eksploderet{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-s)}
.ex-cap{font:600 11px var(--f-mono);fill:#4F5A6E;letter-spacing:.06em}
.ex-n{fill:#fff;stroke:#0E1A30;stroke-width:1.5}.ex-nt{font:700 12px var(--f-mono);fill:#0E1A30}
.ex-pos{cursor:pointer}.ex-pos:hover .ex-n,.ex-pos:focus .ex-n,.ex-pos.on .ex-n{fill:#0b5e5a}
.posn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--navy);font:700 12px var(--f-mono)}
.dele-tbl tr.brugt td{background:#F7F9FC}.dele-tbl tr.hl td{background:var(--gold-xl);transition:background .3s}
.dok-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--s2)}
.dok{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r-s);background:#fff;transition:box-shadow .18s var(--ease),transform .18s var(--ease)}
.dok:hover{box-shadow:var(--shadow-h);transform:translateY(-2px)}
.dok-prev{width:56px;height:70px;flex:none}
.dok b{display:block;font-family:var(--f-head)}.dok span{font-size:12px;color:var(--muted)}.dok p{margin:4px 0;font-size:13px}
.dok .demodata{margin-left:0}
.gar-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s2)}
.gar-top span{display:block;font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gar-top b{display:block;margin-top:6px;font-size:17px}
.gar-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
@media (max-width:820px){.dele-grid,.gar-grid{grid-template-columns:1fr}.gar-top{grid-template-columns:1fr 1fr}.jnav{top:88px}}
.dele-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.dele-tbl td,.dele-tbl th{text-align:left!important;vertical-align:middle}
.dele-tbl td:nth-child(4),.dele-tbl th:nth-child(4){text-align:right!important}
.dele-tbl td.mono{white-space:nowrap;font-size:12px}
.dele-tbl th{white-space:normal}
@media (max-width:1180px){.dele-grid{grid-template-columns:1fr}.ex-fig{max-width:560px}}
.rh{margin:16px 0 6px;font:600 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.flow{list-style:none;margin:0;padding:0;counter-reset:f;display:grid;gap:6px}
.flow li{counter-increment:f;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;font-size:14px}
.flow li::before{content:counter(f);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font:700 11px var(--f-mono)}
.serikke{margin:0;padding-left:0;list-style:none}.serikke li{position:relative;padding-left:20px;font-size:14px;color:var(--muted)}
.serikke li::before{content:"–";position:absolute;left:4px;color:var(--err)}
.betyder{margin-top:var(--s2);padding:var(--s2);border-radius:var(--r-s);background:var(--navy);color:#fff}
.betyder b{font-family:var(--f-head);font-size:16px}.betyder p{margin:6px 0 0;font-size:15px;line-height:1.5}
.forklaring{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}
.forklaring p{margin:6px 0 0;font-size:15px}.forklaring pre{white-space:pre-wrap;font-size:13px}
.antag{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}.antag li{margin:4px 0}.antag b{color:var(--ink)}
.card.rolle.valgt{border-color:var(--gold);box-shadow:0 0 0 4px rgba(11,94,90,.18)}
.calc .fault.neutral{background:var(--ivory);color:var(--muted)}
.rolgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
/* Fotos (lokale, krediterede) */
.foto{margin:0;position:relative;border-radius:var(--r-s);overflow:hidden;background:var(--ivory)}
.foto img{width:100%;height:auto;display:block;aspect-ratio:auto}
.foto figcaption{font-size:11px;line-height:1.3;color:var(--muted);padding:6px 2px 0;background:#fff}
.foto figcaption a{color:var(--muted)}
.card.modul .foto img{aspect-ratio:16/10;object-fit:cover}
.hero-foto{margin:0 0 var(--s3)}.hero-foto img{aspect-ratio:21/8;object-fit:cover;border-radius:var(--r)}
@media (max-width:820px){.hero-foto img{aspect-ratio:16/9}}
.gruppe-foto{margin:0 0 var(--s2)}.gruppe-foto img{height:140px;object-fit:cover;border-radius:var(--r-s)}
.kat-foto{margin:0 0 var(--s2)}.kat-foto img{height:200px;object-fit:cover;border-radius:var(--r-s)}
.sek-foto{margin:0 0 var(--s2)}.sek-foto img{height:180px;object-fit:cover;border-radius:var(--r-s)}
.foto-kommer+.status-plan,.foto+.status-plan{margin-top:var(--s1)}
.kredit small{color:var(--muted)}
.kat-foto,.sek-foto{max-width:280px}.kat-foto img,.sek-foto img{height:auto;aspect-ratio:4/3;object-fit:cover}
.tbl.kredit td,.tbl.kredit th{text-align:left;vertical-align:top}

/* ===== Runde 5 (12/10-2026): evidence-designretning (Runes beslutning 8/10) =====
   Tekst #0f1f3d på #f6f9f9, teal #0f1f3d/#0f1f3d, 2 px hjørner, officielt logo, guldstreg 2 px #0b5e5a ved produkt-ID.
   Gammel stil: src/zz_old_app.runde5-foer-evidens.css */
:root{
  --navy:#0f1f3d; --navy-2:#0f1f3d; --navy-3:#4a5570; --ink:#0f1f3d; --muted:#4a5570;
  --teal:#0f1f3d; --teal-d:#0f1f3d; --teal-l:#e8f1f0;
  --ivory:#f6f9f9; --paper:#ffffff; --line:#e8f1f0; --line-2:#d9d0c0;
  --gold-xl:#e8f1f0; --gold-d:#0f1f3d; --warn-bg:#e8f1f0;
  --r:2px; --r-s:2px; --shadow:0 1px 2px 0 rgba(0,0,0,.05);
}
body{background:#f6f9f9;color:#0f1f3d}
a{color:var(--teal-d)}
:focus-visible{outline:3px solid var(--teal);border-radius:2px}
.top::after{background:var(--teal);opacity:1;height:1px}
.eyebrow{color:var(--teal-d)} .eyebrow::before{background:var(--teal)}
.btn.primary{background:var(--teal);color:#fff;box-shadow:none}
.btn.primary:hover{background:var(--teal-d)}
.btn.gold{background:var(--teal);color:#fff;box-shadow:none}
.btn.secondary:hover{border-color:var(--teal)}
.stepper li.now{background:#e8f1f0;color:var(--teal-d)}
.stepper li.now .n{border-color:var(--teal);box-shadow:0 0 0 3px rgba(11,94,90,.18)}
.stepper li.done .n{background:var(--teal);border-color:var(--teal)}
.card{box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border-color:rgba(189,201,198,.3)}
.iw:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(11,94,90,.18)}
/* Produkt-ID: guldstreg 2 px #0b5e5a + mørk tekst (besluttet A2B2) */
.chip[data-omni-id]{background:#fff;color:#0f1f3d;border:1px solid #d9d0c0;border-left:2px solid #0b5e5a}
/* Mobil: logo og tryk-mål */
.brand{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
figcaption a{display:inline-block;padding:12px 4px;margin:-12px 0}
.iw .unit{white-space:normal}
@media (max-width:420px){.brand img{height:44px}.iw .unit{padding:0 8px;font-size:13px}}
.inputs,.calc-grid>*{min-width:0}
.iw{min-width:0;max-width:100%}
figcaption a{padding:15px 4px;margin:-15px 0}
.inputs{grid-template-columns:minmax(0,1fr)} .ifelt label{overflow-wrap:anywhere}

/* Lancering 12/10: forhindrer at footeren hopper (CLS), mens skærmen bygges i JS */
#app{min-height:100vh;min-height:100svh}

.logud{min-height:44px;padding:0 12px;border:1px solid #d9d0c0;border-radius:2px;background:#fff;color:#0f1f3d;font:500 13px var(--f-body);cursor:pointer}

/* P1: advarsler forbliver amber */
.chip.warn{border-color:#f59e0b}.note-plan.warnish{background:#fef3c7}:root{--warn-line:#f59e0b;--warn-bg:#fef3c7}
