/* Min Ledertid skive 1 - udseende fra wireframe v42 (LÅST). Kun de regler, skive 1 bruger, med v42's endelige (kaskade-)værdier.
   Skrifter: v42 henter Teko/Mukta fra Google Fonts. Det gør skive 1 IKKE (CSP + persondata: Google ville få brugerens IP).
   Læg evt. egne woff2-filer i /assets/fonts/ (se vendor/README.md); indtil da bruges systemskrift som reserve. */
@font-face{font-family:Teko;font-weight:500;src:local("Teko Medium"),local("Teko-Medium"),url(/assets/fonts/Teko-500.woff2) format("woff2");font-display:swap}
@font-face{font-family:Mukta;font-weight:400;src:local("Mukta"),local("Mukta-Regular"),url(/assets/fonts/Mukta-400.woff2) format("woff2");font-display:swap}
@font-face{font-family:Mukta;font-weight:600;src:local("Mukta SemiBold"),local("Mukta-SemiBold"),url(/assets/fonts/Mukta-600.woff2) format("woff2");font-display:swap}

/* designtokens fra DESIGNMANUAL.html afsnit 13 (abcd7905); uaendrede vaerdier, ingen synlig aendring */
:root{
  /* farver */
  --ml-navy:#012a3e; --ml-acc:#1f4e79; --ml-acc-t:#edf3f9; --ml-acc-line:#d3e1ee;
  --ml-or:#fbaa2e; --ml-or-d:#b35f00;
  --ml-ink:#1c2528; --ml-text2:#3b4a52; --ml-muted:#596569; --ml-muted2:#7a8588; --ml-label:#5f7f92;
  --ml-bg:#ffffff; --ml-card:#ffffff; --ml-grey:#eceeee; --ml-dis-ink:#4f5a5d;
  --ml-line:#e4e8ea; --ml-line-card:#d5dde2; --ml-on-navy:#ffffff; --ml-on-navy-sub:#d3e0e8;
  --ml-warm:#f6efe4; --ml-warm-ink:#4a370d; --ml-warm-line:#d9c9a6;
  --ml-red:#8a2a1a; --ml-ok:#2f6b3a; --ml-scrim:rgba(28,37,40,.5);
  --ml-st-ok-t:#1b5e20; --ml-st-ok-b:#e3f1e4; --ml-st-warn-t:#5c3d00; --ml-st-warn-b:#fdf0c4;
  --ml-st-late-t:#8a1c10; --ml-st-late-b:#fbe4e0;
  --ml-dot-ok:#2e7d32; --ml-dot-warn:#fbaa2e; --ml-dot-late:#8a2a1a; --ml-track:#e4e8ea;
  --ml-grid:rgba(255,255,255,.09);
  /* skrift */
  --ml-font-head:Teko,Mukta,system-ui,sans-serif;
  --ml-font-body:Mukta,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --ml-fs-body:16px; --ml-lh-body:1.45; --ml-fs-h1:28px; --ml-fs-hero:34px; --ml-fs-tile:28px;
  --ml-fs-h3:24px; --ml-fs-btn:22px; --ml-fs-btn-sm:20px; --ml-fs-sec:13px; --ml-fs-sub:14px;
  --ml-fs-small:13px; --ml-fs-micro:12px; --ml-ls-head:.5px; --ml-ls-btn:1.2px; --ml-ls-sec:.07em;
  /* form */
  --ml-r:4px; --ml-r-ico:10px; --ml-bw:1px; --ml-bw-btn:1.5px;
  /* afstande og trykflader */
  --ml-pad-x:16px; --ml-pad-top:24px; --ml-gap-sec:24px; --ml-gap-grid:14px; --ml-gap-row:10px;
  --ml-pad-card:16px 18px; --ml-pad-tile:18px 16px; --ml-col-max:480px;
  --ml-gap-under-tabs:44px; --ml-hit:44px; --ml-hit-btn:48px; --ml-hit-sm:46px; --ml-row-min:52px; --ml-top-h:56px; --ml-tab-h:56px;
  --ml-ico:24px; --ml-ico-tile:42px; --ml-ico-w:1.35;
  /* skygge og fokus */
  --ml-shadow-tile:0 1px 3px rgba(20,40,60,.08),0 4px 14px rgba(20,40,60,.06);
  --ml-shadow-tabs:0 -2px 12px rgba(20,40,60,.08);
  --ml-focus:3px solid var(--ml-acc);
}
:root{--ink:var(--ml-ink);--muted:var(--ml-muted);--line:var(--ml-line);--bg:#fff;--card:#fff;--acc:var(--ml-acc);--acc-t:var(--ml-acc-t);--acc-line:var(--ml-acc-line);--or:var(--ml-or);--gl:var(--ml-grid);--on-acc:#fff;--grey:var(--ml-grey);--red:#8a2b1d;--ok:var(--ml-ok);--dis-ink:var(--ml-dis-ink);color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html,body{height:100%}
body{font:16px/1.45 Mukta,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);background:#fff;overflow-wrap:anywhere}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
#app{max-width:480px;margin:0 auto;min-height:100%;background:#fff;box-shadow:0 0 0 1px #e6eaeb;display:flex;flex-direction:column;position:relative}
main{flex:1;padding:24px max(16px,env(safe-area-inset-left,0px)) 48px;min-width:0}

/* toplinje (blueprint) */
.bp{background-color:var(--ml-navy);background-image:linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px);background-size:20px 20px;color:#fff;position:relative}
.bp::after{content:"";position:absolute;left:8px;right:8px;bottom:6px;height:1px;background:rgba(255,255,255,.55);pointer-events:none}
.top{background-color:var(--ml-navy);background-image:linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px);background-size:20px 20px;border-bottom:2px solid var(--or);color:#fff;min-height:56px;position:relative;padding:6px max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;gap:8px}
.top::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:rgba(255,255,255,.5);pointer-events:none}
.top :focus-visible,.bp :focus-visible{outline-color:#fff}
.brand{font-family:Teko,Mukta,system-ui,sans-serif;font-weight:700;font-size:18px;color:#fff;flex:1}
.logo{display:inline-flex;align-items:center;gap:8px;font-family:Teko,Mukta,sans-serif;font-weight:500;letter-spacing:1px;line-height:1;color:#fff}
.logo svg{width:26px;height:26px;flex:none}
.logo .lw{font-size:24px}
.logo .lw em{font-style:normal;color:var(--or);margin-right:6px;font-weight:400}
.hero.bp{margin:-18px -16px 0;padding:36px 16px 34px}
.hero.bp .brand{display:block;font-size:30px;margin-bottom:10px}
.hero.bp .logo{margin-bottom:22px}
.hero.bp .logo svg{width:44px;height:44px}
.hero.bp .logo .lw{font-size:44px}
.hero.bp h1{color:#fff;font-size:34px}
.hero.bp .sub{color:var(--ml-on-navy-sub)}
.hero.plain{text-align:center;padding:44px 0 8px}
.hero.plain h1{font-size:34px;letter-spacing:1.4px;color:var(--ml-navy);position:relative;display:table;margin:0 auto;padding-bottom:8px}
.hero.plain h1::after{content:"";position:absolute;left:50%;bottom:0;width:38px;height:2px;margin-left:-19px;background:var(--or)}

h1,h2{font-family:Teko,Mukta,system-ui,sans-serif;font-weight:500;letter-spacing:.5px;font-size:28px;line-height:1.1;text-wrap:balance}
h1{margin-bottom:6px}
h2.sec{font-size:13px;font-family:Mukta,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--acc);margin:24px 0 8px;font-weight:600}
.sub{color:var(--muted);font-size:14px;margin-top:6px}
.note{font-size:13px;color:var(--muted);margin-top:8px}

/* knapper */
.btn{display:block;width:100%;border:1px solid var(--or);background:var(--or);color:var(--ml-navy);padding:12px 16px;text-align:center;margin-top:24px;min-height:48px;border-radius:var(--ml-r);font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:22px;letter-spacing:1.2px;line-height:1;text-decoration:none}
.btn.sec{background:#fff;color:var(--acc);border:1px solid var(--acc)}
.btn[disabled]{background:var(--grey);border-color:var(--line);color:var(--dis-ink);cursor:not-allowed}
.sm{border:1.5px solid var(--ml-navy);background:#fff;color:var(--ml-navy);border-radius:var(--ml-r);font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:20px;letter-spacing:1.2px;line-height:1;min-height:46px;padding:0 16px;display:inline-block;text-align:center}
.sm.red{border-color:var(--ml-red);color:var(--ml-red)}
.tl{display:block;text-align:center;color:var(--red);text-decoration:underline;margin-top:8px;min-height:44px}
.pflink{display:block;margin:18px 0 0;padding:0;border:0;background:none;color:var(--ml-navy);font-family:Mukta,sans-serif;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--or);cursor:pointer;min-height:32px;text-align:left}

/* sprogvælger (som v42 .seg.lang) */
.seg.lang{display:flex;gap:8px;margin-top:24px}
.seg.lang a{flex:1 1 0;min-width:0;min-height:46px;border:1.5px solid var(--ml-navy);border-radius:var(--ml-r);background:#fff;color:var(--ml-navy);font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:20px;letter-spacing:1.2px;line-height:1;padding:0 4px;display:grid;place-items:center;text-decoration:none}
.seg.lang a.on{background:var(--ml-navy);color:#fff}

/* fliser (v42 .grid/.tile) */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fff;border-radius:var(--ml-r);padding:18px 16px;text-align:left;border:1px solid var(--ml-line-card);min-height:176px;text-decoration:none;color:inherit}
.tile .ini{width:42px;height:42px;border-radius:var(--ml-r-ico);overflow:hidden;background:var(--ml-navy);display:inline-grid;place-items:center;flex:none;margin-bottom:6px}
.tile .ini svg{width:100%;height:100%;display:block}
.tile .nm{font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:28px;line-height:1;letter-spacing:1.2px;color:var(--ml-navy);white-space:nowrap;padding-bottom:6px;position:relative;margin-top:2px}
.tile .nm::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--or)}
.tile .mt{font-size:12px;color:var(--ml-muted2);line-height:1.35}
.pill{font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--ml-r);background:var(--or);color:var(--ml-navy);white-space:nowrap;margin-top:auto}

/* formularfelter (v42 .pfl/.pfok/.pferr) */
label.fl{display:block;font-family:Mukta,sans-serif;font-weight:600;font-size:13px;color:var(--ml-label);letter-spacing:.3px;margin-top:16px}
input.fld{display:block;width:100%;min-height:48px;margin-top:4px;border:1px solid var(--ml-line-card);border-radius:var(--ml-r);padding:8px 10px;font-family:Mukta,sans-serif;font-size:16px;font-weight:600;color:var(--ml-navy);background:#fff}
input.fld:focus{outline:1.5px solid var(--ml-navy);outline-offset:0;border-color:var(--ml-navy)}
.pfok{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;font-family:Mukta,sans-serif;font-size:14px;line-height:1.4;color:var(--ml-text2);cursor:pointer}
.pfok input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ml-navy)}
.pferr{color:var(--ml-red);font-family:Mukta,sans-serif;font-size:14px;font-weight:600;margin:8px 0 0}
.okmsg{color:var(--ok);font-weight:600;margin-top:10px}
details.db{margin-top:14px;border:1px solid var(--ml-line-card);border-radius:var(--ml-r);padding:10px 14px;background:#fff}
details.db summary{cursor:pointer;font-weight:600;color:var(--ml-navy);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px;min-height:32px}
.dbl{margin:8px 0 8px 18px;font-size:15px;line-height:1.5;color:var(--ml-text2)}

/* administration */
.list{background:#fff;border:1px solid var(--ml-line-card);border-radius:var(--ml-r);margin-top:8px}
.li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--ml-line-card);min-height:52px}
.li:first-child{border-top:0}
.li .l{display:grid;min-width:0;flex:1}
.nm2{font-weight:600}
.mt2{font-size:13px;color:var(--muted)}
.bar2{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:28px}
.bar2 form{margin:0}
select.fld{appearance:auto}
.foot{margin-top:32px}

/* offentlig privatlivsside (/privatliv): bredere kolonne kun her; samme farver og skrifter */
body:has(.priv) #app{max-width:760px}
.priv h1{font-size:30px;margin:4px 0 10px;color:var(--ml-navy)}
.priv h2.sec{margin-top:28px}
.priv p,.priv li{margin-top:8px}
.priv ul,.priv ol{margin:6px 0 6px 20px}
.priv hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.priv blockquote{border-left:3px solid var(--or);background:var(--acc-t);padding:4px 14px 10px;margin:14px 0;font-size:15px}
.priv a{color:var(--acc)}
.priv .privnote{font-weight:600;color:var(--acc);margin:0 0 8px}
.priv .tbl{margin-top:10px}
.priv table{width:100%;border-collapse:collapse;font-size:14px}
.priv th,.priv td{border:1px solid var(--ml-line-card);padding:6px 8px;text-align:left;vertical-align:top}
.priv th{background:var(--acc-t);font-weight:600}
@media (max-width:640px){
  .priv thead{display:none}
  .priv table,.priv tbody,.priv tr,.priv td{display:block;width:100%}
  .priv tr{border:1px solid var(--ml-line-card);border-radius:var(--ml-r);margin-top:10px}
  .priv td{border:0;border-top:1px solid var(--line)}
  .priv td:first-child{border-top:0}
  .priv td::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
}
/* Fælles norm for appens opstilling (APP_FIL_FORM §13, facit = v43: 448 px indhold, centreret, 16 px sidemargen, 24 px fra headeren).
   Værtens <main id="ml-app"> leverer 16 px sidemargen og 24 px top; appen tager normen i brug med klassen .ml-app-ramme på sin egen rod. Skallen tvinger intet. */
:root{--ml-app-maks:448px;--ml-app-top:24px}
.ml-app-ramme{box-sizing:border-box;display:block;width:100%;max-width:var(--ml-app-maks,448px);margin:0 auto;padding:max(0px,calc(var(--ml-app-top,24px) - 24px)) 0 0;min-width:0}
/* Appens titelblok (APP_FIL_FORM §13b, facit = Stemning, frys_1027c, målt live 27/10 ved 390 og 1280): ikon-flise 44 px (navy, 10 px hjørner) + appnavn i Teko 34/500 + valgfri rubrik i Teko 18 versaler.
   Bygges med MLIkoner.titel(el, id, sprog[, rubrik]) (ml_ikoner.js). Nyt og additivt: ingen eksisterende regel er rørt, ingen app bruger klassen før den selv tager den i brug. */
.ml-app-titel{display:flex;gap:12px;align-items:center;margin-top:2px}
.ml-app-titel__ikon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;overflow:hidden;background:#012a3e;flex:none}
.ml-app-titel__ikon svg{width:100%;height:100%;display:block}
.ml-app-titel__navn{font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:34px;letter-spacing:1px;color:var(--ml-navy,#012a3e);line-height:1.1}
.ml-app-titel__rubrik{display:block;font-family:Teko,Mukta,sans-serif;font-weight:500;font-size:18px;letter-spacing:1px;text-transform:uppercase;color:var(--ml-acc,#1f4e79);margin:24px 0 8px}
