/* Halvorsen & Lund v2: klassisk familie, stil Marine (PLAYBOOK 3b v2: ro og præcision).
   Public Sans til alt, også overskrifter (600, samlet i --head) og alle tal (tabular + lining).
   Ingen versaler, ingen spatiering på småt, ingen streg under titlen, ingen kursiv som stemning.
   Motorkontrakt: alt UI inde i #app, ingen vw/vh, rem sættes af PH.fitRem('#app') (10 px ved 1600×1000). */
:root{
  color-scheme:dark;
  --bg:#0C1624;
  --side:#09121D;
  --card:#132036;
  --in:#18283F;
  --in-2:#1F3250;
  --ink:#F3EDE1;
  --ink-2:rgba(243,237,225,.78);
  --ink-3:rgba(243,237,225,.6);
  --ink-4:rgba(243,237,225,.3);
  --line:rgba(243,237,225,.08);
  --brass:#C8A15A;
  --sea:#6E9FC9;
  --ok:#7FBF9A;
  --crit:#E07A6B;
  --paper:#F4EFE4;
  --r-card:20px;
  --r-in:14px;
  --sh:inset 0 1px 0 rgba(255,255,255,.04),0 1px 2px rgba(0,0,0,.28),0 22px 44px -22px rgba(0,0,0,.72);
  --head:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --ph-ripple:rgba(200,161,90,.85);
  --ph-frame-bg:#0C1624;
}
*{box-sizing:border-box}
html{font-size:10px;background:var(--bg)}
body{margin:0;overflow:hidden;font-family:var(--sans);font-size:1.4rem;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums lining-nums}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid rgba(200,161,90,.85);outline-offset:3px}
svg.i{width:1.8rem;height:1.8rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sprite{position:absolute;width:0;height:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lbl{font-size:1.28rem;font-weight:500;color:var(--ink-3)}
.muted{color:var(--ink-3)}
.r{margin-left:auto}
.grow{flex:1}
.num,.big,.mid,.amt{font-variant-numeric:tabular-nums lining-nums}
.top .m-only{display:none}

/* ---------- Ramme ---------- */
#app{position:fixed;inset:0;overflow:hidden;background:var(--bg)}
.shell{position:relative;display:grid;grid-template-columns:23rem minmax(0,1fr);height:100%}

/* ---------- Sidebjælke ---------- */
.side{position:relative;z-index:6;display:flex;flex-direction:column;gap:2.2rem;min-height:0;padding:2.4rem 1.6rem 2rem 1.8rem;background:var(--side);box-shadow:1px 0 0 rgba(0,0,0,.28),10px 0 32px -18px rgba(0,0,0,.6)}
.brand{display:flex;align-items:center;gap:1.2rem}
/* Mærket: halvskjoldet, venstre halvdel fyldt og højre tegnet (#logo i spriten) */
.ring{display:block;width:4.4rem;height:4.4rem;flex:none;color:var(--brass)}
.ring svg{display:block;width:100%;height:100%}
.brand-t b .amp{color:var(--brass)}
.brand-t b{display:block;font-size:1.5rem;font-weight:600;line-height:1.2}
.brand-t small{display:block;font-size:1.25rem;color:var(--ink-3)}
.nav{display:flex;flex-direction:column;gap:.2rem;min-height:0}
.nav-h{margin:1.4rem 0 .4rem 1.2rem;font-size:1.25rem;font-weight:600;color:var(--ink-3)}
.nav-h:first-child{margin-top:0}
.nav-i{position:relative;display:flex;align-items:center;gap:1.1rem;height:4rem;padding:0 1rem 0 1.2rem;border:0;border-radius:99px;background:none;color:var(--ink-2);font:500 1.4rem var(--sans);text-align:left;white-space:nowrap;transition:background .25s,color .25s}
.nav-i svg.i{width:1.9rem;height:1.9rem;color:var(--ink-3)}
.nav-i:hover,.nav-i[data-ph-hover]{color:var(--ink);background:rgba(243,237,225,.04)}
.nav-i.on{color:var(--ink);font-weight:600;background:rgba(243,237,225,.07)}
.nav-i.on svg.i{color:var(--brass)}
.nav-i.on::before{content:"";position:absolute;left:-1.8rem;top:1rem;bottom:1rem;width:.3rem;border-radius:0 3px 3px 0;background:var(--brass)}
.cnt{margin-left:auto;font-style:normal;min-width:2.3rem;height:2.1rem;padding:0 .7rem;border-radius:99px;display:grid;place-items:center;font-size:1.15rem;font-weight:700;background:rgba(243,237,225,.08);color:var(--ink-2)}
.cnt:empty{display:none}
.cnt.brass{background:var(--brass);color:#0C1624}
.cnt.sea{background:var(--sea);color:#0C1624}
.side-adv{margin-top:auto;display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:0;border-radius:var(--r-in);background:var(--card);color:var(--ink);text-align:left;box-shadow:var(--sh);transition:background .2s}
.side-adv:hover,.side-adv[data-ph-hover]{background:var(--in)}
.side-adv b{display:block;font-size:1.35rem;font-weight:600}
.side-adv small{display:block;font-size:1.25rem;color:var(--ink-3)}
.nav-more{display:none}
.more{display:none}

/* ---------- Hovedområde og header på én linje ---------- */
.main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1.8rem;min-width:0;min-height:0;padding:2.4rem 2.8rem}
.top{display:flex;align-items:center;gap:1.6rem;min-width:0;height:4.6rem;container-type:inline-size}
#h1{margin:0;font:600 2.4rem/1.1 var(--head);letter-spacing:-.01em;white-space:nowrap}
.ctx{flex:1;min-width:0;margin:0;font-size:1.4rem;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.ctx b{color:var(--ink-2);font-weight:600}
.ctx i{display:inline-block;width:.4rem;height:.4rem;margin:0 1rem .25rem;border-radius:50%;background:var(--ink-4);vertical-align:middle}
@container (max-width:112rem){.ctx .xtra{display:none}}
.search{display:flex;align-items:center;gap:1rem;width:30rem;flex:none;height:4.4rem;padding:0 .8rem 0 1.5rem;border:0;border-radius:99px;background:var(--card);color:var(--ink-3);font:500 1.35rem var(--sans);box-shadow:var(--sh);transition:background .25s}
.search:hover,.search[data-ph-hover]{background:var(--in)}
.search svg{color:var(--brass)}
.search span{white-space:nowrap;overflow:hidden}
.search kbd{margin-left:auto}
.me{display:flex;align-items:center;gap:1rem;flex:none;height:4.4rem;padding:0 1.4rem 0 .5rem;border-radius:99px;background:var(--card);box-shadow:var(--sh);white-space:nowrap}
.me-av{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;font:600 1.3rem var(--sans);color:#0C1624;background:var(--ink)}
.me b{display:block;font-size:1.3rem;font-weight:600;line-height:1.2}
.me small{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;color:var(--ink-3);line-height:1.3}
.me small::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--brass)}
kbd{display:inline-grid;place-items:center;min-width:2.2rem;height:2.2rem;padding:0 .6rem;border-radius:99px;font:600 1.15rem var(--sans);color:var(--ink-2);background:rgba(243,237,225,.08);white-space:nowrap}

/* ---------- Visninger og kort ---------- */
.views{position:relative;min-width:0;min-height:0}
.view{position:absolute;inset:0;display:none;gap:2rem;min-width:0;min-height:0}
.view.on{display:grid}
.col{display:flex;flex-direction:column;gap:2rem;min-width:0;min-height:0}
.card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;padding:2.4rem 2.6rem;border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh)}
.card.ping{animation:ping 1.1s var(--ease)}
@keyframes ping{0%{box-shadow:var(--sh),0 0 0 0 rgba(200,161,90,.5)}100%{box-shadow:var(--sh),0 0 0 1.2rem rgba(200,161,90,0)}}
.c-head{display:flex;align-items:center;gap:1.2rem;min-height:3.2rem;flex:none}
.c-head h2{margin:0;font:600 1.7rem/1.25 var(--head);color:var(--ink);white-space:nowrap}
.c-head .ctx-r{margin-left:auto;font-size:1.3rem;color:var(--ink-3);white-space:nowrap}
.c-ico{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;flex:none;background:var(--in);color:var(--brass)}
.c-ico svg.i{width:1.8rem;height:1.8rem}
.big{font-family:var(--sans);font-weight:500;font-size:6.4rem;line-height:1;letter-spacing:-.025em;white-space:nowrap;color:var(--ink)}
.big .u{font-size:1.8rem;font-weight:500;color:var(--ink-2);margin-left:.8rem;letter-spacing:0}
.big.brass{color:var(--brass)}
.mid{font:500 3.2rem/1 var(--sans);letter-spacing:-.015em;white-space:nowrap}
.mid small{font-size:1.4rem;font-weight:500;color:var(--ink-3);letter-spacing:0;margin-left:.4rem}
.say{margin:1rem 0 0;font-size:1.45rem;line-height:1.45;color:var(--ink-2)}
.link{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:0;background:none;font:600 1.3rem var(--sans);color:var(--brass)}
.link svg.i{width:1.5rem;height:1.5rem;transition:transform .3s var(--ease)}
.link:hover svg.i,.link[data-ph-hover] svg.i{transform:translateX(3px)}
.hint{margin:0;font-size:1.25rem;color:var(--ink-3)}
.foot{display:flex;align-items:center;gap:1rem;margin-top:auto;padding-top:1.6rem;flex:none}

/* ---------- Knapper, chips og kontroller ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;height:4.2rem;padding:0 1.8rem;border:0;border-radius:99px;font:600 1.38rem var(--sans);color:var(--ink);
  background:var(--in);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 2px rgba(0,0,0,.25);white-space:nowrap;transition:background .25s,color .25s,transform .2s}
.btn svg.i{width:1.7rem;height:1.7rem}
.btn:hover,.btn[data-ph-hover]{background:var(--in-2)}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--brass);color:#0C1624;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 14px -8px rgba(0,0,0,.7)}
.btn.pri:hover,.btn.pri[data-ph-hover]{background:#D5AF69}
.btn.ghost{background:none;box-shadow:none;color:var(--ink-2)}
.btn.ghost:hover,.btn.ghost[data-ph-hover]{background:rgba(243,237,225,.05);color:var(--ink)}
.btn.sm{height:3.6rem;padding:0 1.4rem;font-size:1.3rem}
.btn.wide{width:100%}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.btn:disabled:hover{background:var(--in)}
.btn.pri:disabled:hover{background:var(--brass)}
.btn kbd{margin:0 -.7rem 0 .1rem}
.btn.pri kbd{background:rgba(12,22,36,.14);color:#0C1624}
.btn.done{opacity:1;background:rgba(127,191,154,.13);color:var(--ok);cursor:default}
.chip{display:inline-flex;align-items:center;gap:.5rem;height:2.8rem;padding:0 1.2rem;border-radius:99px;font-size:1.25rem;font-weight:600;white-space:nowrap;background:rgba(243,237,225,.07);color:var(--ink-2)}
.chip svg.i{width:1.4rem;height:1.4rem;stroke-width:2}
.chip.ok{background:rgba(127,191,154,.13);color:var(--ok)}
.chip.brass{background:rgba(200,161,90,.14);color:var(--brass)}
.chip.sea{background:rgba(110,159,201,.15);color:var(--sea)}
.chip.crit{background:rgba(224,122,107,.14);color:var(--crit)}
.chip.mute{background:rgba(243,237,225,.06);color:var(--ink-3)}
.seg{display:inline-flex;gap:.2rem;padding:.4rem;border-radius:99px;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.seg button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:3.4rem;padding:0 1.5rem;border:0;border-radius:99px;background:none;color:var(--ink-3);font:600 1.3rem var(--sans);white-space:nowrap;transition:background .25s,color .25s}
.seg button:hover,.seg button[data-ph-hover]{color:var(--ink)}
.seg button.on{background:var(--in-2);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.35)}
.seg button em{font-style:normal;font-size:1.2rem;color:var(--ink-3)}
.seg.wide{display:flex}
.seg.wide button{flex:1;padding:0 1rem}
.chips{display:flex;flex-wrap:wrap;gap:.8rem}
.chip-b{display:inline-flex;align-items:center;gap:.7rem;height:3.8rem;padding:0 1.6rem;border:0;border-radius:99px;background:var(--in);color:var(--ink-2);font:600 1.32rem var(--sans);white-space:nowrap;transition:background .25s,color .25s}
.chip-b svg.i{width:1.6rem;height:1.6rem}
.chip-b:hover,.chip-b[data-ph-hover]{background:var(--in-2);color:var(--ink)}
.chip-b.on{background:rgba(200,161,90,.15);color:var(--brass);box-shadow:inset 0 0 0 1.5px rgba(200,161,90,.55)}
.chip-b em{font-style:normal;font-size:1.2rem;color:var(--ink-3)}
.chip-b.on em{color:var(--brass)}
.chip-b.sm{height:3.4rem;padding:0 1.4rem;font-size:1.28rem}
.field{width:100%;padding:1.2rem 1.5rem;border:0;border-radius:var(--r-in);background:var(--bg);color:var(--ink);font:500 1.45rem/1.5 var(--sans);resize:none;outline:none;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35),inset 0 0 0 1px rgba(243,237,225,.07);transition:box-shadow .25s}
.field:focus{box-shadow:inset 0 1px 2px rgba(0,0,0,.35),0 0 0 2px rgba(200,161,90,.6)}
.field::placeholder{color:var(--ink-3)}
.x{margin-left:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.6rem;height:3.6rem;padding:0 .8rem 0 1rem;border:0;border-radius:99px;background:var(--in);color:var(--ink-2);flex:none}
.x:hover,.x[data-ph-hover]{background:var(--in-2);color:var(--ink)}
.av{display:grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:50%;flex:none;font:600 1.4rem var(--sans);color:var(--brass);background:var(--in)}
.av.ring2{box-shadow:inset 0 0 0 1.5px var(--brass)}
.av.sm{width:3.2rem;height:3.2rem;font-size:1.2rem}
.av.xl{width:8.4rem;height:8.4rem;font-size:2.6rem;box-shadow:inset 0 0 0 1.5px var(--brass),0 0 0 .5rem var(--card),0 0 0 .6rem rgba(200,161,90,.35)}
.im,.ins{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;flex:none;background:var(--in);font:600 1.4rem/1 var(--sans);color:var(--ink-2)}
.pi{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;flex:none;background:var(--in);color:var(--ink-2)}
.pi svg.i{width:1.8rem;height:1.8rem}
.pi.lg{width:5.2rem;height:5.2rem;color:var(--brass)}
.pi.lg svg.i{width:2.4rem;height:2.4rem}
.note{display:flex;gap:1.2rem;align-items:flex-start;padding:1.3rem 1.5rem;border-radius:var(--r-in);background:var(--in);font-size:1.35rem;line-height:1.5;color:var(--ink-2)}
.note p{margin:0}
.note b{color:var(--ink);font-weight:600}
.note svg.i{width:2rem;height:2rem;margin-top:.1rem}
.note.warn svg.i{color:var(--brass)}
.note.ok svg.i{color:var(--ok)}
.track{height:.8rem;border-radius:99px;background:rgba(243,237,225,.08);overflow:hidden}
.track i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--brass);transition:width .6s var(--ease)}
.dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:var(--ink-3);flex:none}
.dot.ok{background:var(--ok)}.dot.brass{background:var(--brass)}.dot.sea{background:var(--sea)}.dot.crit{background:var(--crit)}
.live{display:inline-flex;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:600;color:var(--ok)}
.live::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--ok);animation:live 2.4s ease-out infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(127,191,154,.55)}80%,100%{box-shadow:0 0 0 .7rem rgba(127,191,154,0)}}

/* ---------- Grafer og tooltip ---------- */
.chart{position:relative;flex:1;min-height:0}
.chart svg{display:block;overflow:visible}
.ax{stroke:rgba(243,237,225,.1);stroke-width:1}
.ax-t{font:500 12px var(--sans);fill:var(--ink-3)}
.ln{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lim{stroke:var(--crit);stroke-width:1.5;stroke-dasharray:4 5;opacity:.75}
.lim-t{font:600 12px var(--sans);fill:var(--crit)}
.hit{fill:transparent;cursor:crosshair}
.hit:hover,.hit[data-ph-hover]{fill:rgba(243,237,225,.05)}
.tip{position:absolute;z-index:90;left:0;top:0;max-width:30rem;padding:.9rem 1.2rem;border-radius:12px;background:#22375A;color:var(--ink);font-size:1.28rem;line-height:1.45;pointer-events:none;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.85);opacity:0;transform:translateY(.4rem);transition:opacity .15s,transform .15s}
.tip.on{opacity:1;transform:none}
.tip b{display:block;font-weight:600}
.tip span{display:block;color:var(--ink-2)}
.hbar{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:.5rem;column-gap:1.2rem;align-items:center;padding:.5rem 1rem;margin:0 -1rem;border-radius:12px;cursor:default;transition:background .2s}
.hbar:hover,.hbar[data-ph-hover]{background:rgba(243,237,225,.04)}
.hbar .nm{font-size:1.35rem;color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:.8rem;min-width:0}
.hbar .amt{font-size:1.35rem;font-weight:600;text-align:right;white-space:nowrap}
.hbar .bar{grid-column:1 / -1;height:1rem;border-radius:99px;background:rgba(243,237,225,.07);overflow:hidden}
.hbar .bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--sea);transform-origin:left;transition:width .5s var(--ease)}
.hbar .bar i.brass{background:var(--brass)}
.hbar .bar i.ok{background:var(--ok)}
.vbars{display:flex;align-items:flex-end;gap:1.2rem;flex:1;min-height:0;padding-top:2.4rem}
.vb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;cursor:default}
.vb .v{font-size:1.25rem;font-weight:600;color:var(--ink-2);white-space:nowrap;margin-bottom:.4rem}
.vb .b{width:100%;max-width:5.6rem;display:flex;flex-direction:column-reverse;border-radius:8px 8px 3px 3px;overflow:hidden;background:rgba(243,237,225,.05)}
.vb .b i{display:block;width:100%;background:var(--sea);transition:height .5s var(--ease)}
.vb .b i.ok{background:var(--ok)}
.vb .b i.brass{background:var(--brass)}
.vb .x-l{margin-top:.6rem;font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.vb:hover .b,.vb[data-ph-hover] .b{box-shadow:0 0 0 2px rgba(243,237,225,.18)}

/* ---------- Overblik ---------- */
.v-over{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,1.22fr) minmax(0,1fr);
  grid-template-areas:"hero hero hero hero hero hero hero hero chk chk chk chk" "cl cl cl cl cl dl dl dl kk kk kk kk"}
.hero{grid-area:hero}.chk{grid-area:chk}.claims{grid-area:cl}.card.dl{grid-area:dl}.kk{grid-area:kk}
.hero-b{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:4rem;margin-top:1.8rem}
.hero-l{display:flex;flex-direction:column;min-height:0;min-width:0}
.count{margin-top:2.2rem}
.chg{display:flex;align-items:flex-start;gap:.6rem;margin:1.2rem 0 0;font-size:1.35rem;line-height:1.45;color:var(--ink-2)}
.chg svg.i{width:1.5rem;height:1.5rem;margin-top:.2rem;color:var(--ok);stroke-width:2.2}
.count .cd{display:flex;align-items:baseline;gap:.8rem;white-space:nowrap}
.count .cd b{font-size:2.2rem;font-weight:600;letter-spacing:-.01em}
.count .cd span{font-size:1.35rem;color:var(--ink-3)}
.count .track{margin-top:1rem}
.hero-l .foot{margin-top:0;padding-top:2.2rem}
.ochart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;column-gap:2.4rem;min-height:0;min-width:0;padding-top:1rem}
.oc-top{position:relative;grid-row:1;min-height:0}
.oc-top::before{content:"";position:absolute;left:-1.2rem;right:-1.2rem;bottom:var(--t);border-top:1.5px dashed rgba(243,237,225,.32);pointer-events:none;z-index:1}
.oc-top:first-child::before{left:0}
.oc-top:nth-child(3)::before{right:0}
.tday{position:absolute;right:0;bottom:calc(var(--t) + .5rem);font-size:1.25rem;font-weight:600;color:var(--ink-2);white-space:nowrap;z-index:2}
.oc-top{display:flex;align-items:flex-end;justify-content:center;cursor:pointer;border-radius:12px 12px 0 0;transition:background .2s}
.oc-top:hover,.oc-top[data-ph-hover]{background:rgba(243,237,225,.035)}
.oc-bar{width:56%;max-width:6.4rem;height:var(--h);border-radius:9px 9px 2px 2px;background:var(--in-2);transform-origin:bottom}
.oc-top.rec .oc-bar{background:var(--brass)}
.oc-top.ank .oc-bar,.oc-top.kyst .oc-bar{background:#2A3D5B}
.oc-top.dim,.oc-bot.dim{opacity:.45}
.oc-bot{grid-row:2;padding-top:1rem;box-shadow:inset 0 1px 0 rgba(243,237,225,.14);text-align:center;min-width:0}
.oc-n{display:block;font-size:1.3rem;color:var(--ink-3);white-space:nowrap}
.oc-bot.rec .oc-n{color:var(--brass);font-weight:600}
.oc-v{display:block;margin-top:.2rem;font-size:1.6rem;font-weight:600;white-space:nowrap}
.oc-d{display:block;font-size:1.25rem;font-weight:600;white-space:nowrap}
.oc-d.down{color:var(--ok)}.oc-d.up{color:var(--crit)}
.oc-a{list-style:none;margin:.5rem 0 0;padding:0}
.oc-a li{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:1.2rem;color:var(--ink-3);line-height:1.5;white-space:nowrap}
.oc-a svg.i{width:1.2rem;height:1.2rem;stroke-width:2.4}
.oc-a .up,.oc-a .dn{color:var(--ink-2)}
.ring-wrap{flex:1;min-height:0;display:flex;align-items:center;gap:2.6rem;margin-top:1rem}
.plist{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.plist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.35rem .8rem;margin:0 -.8rem;border-radius:9px;font-size:1.3rem;cursor:pointer;transition:background .2s}
.plist li:hover,.plist li[data-ph-hover]{background:rgba(243,237,225,.04)}
.plist span{white-space:nowrap;color:var(--ink-2)}
.plist em{font-style:normal;font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.plist em.w{color:var(--brass);font-weight:600}
.segring{position:relative;width:15rem;height:15rem;flex:none}
.chk{container-type:inline-size}
@container (max-width:46rem){.chk .segring{width:11rem;height:11rem}.chk .segring .c b{font-size:2.4rem}.chk .ring-wrap{gap:1.4rem}.plist li{font-size:1.25rem;gap:.7rem}}
.segring svg{width:100%;height:100%;overflow:visible}
.segring path{fill:none;stroke-width:13;stroke-linecap:butt;cursor:pointer;transition:stroke-width .2s,opacity .2s}
.segring path:hover,.segring path[data-ph-hover]{stroke-width:16}
.segring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.segring .c b{font-size:3.2rem;font-weight:500;line-height:1;letter-spacing:-.015em}
.segring .c span{margin-top:.4rem;font-size:1.3rem;color:var(--ink-3)}
.prem{min-width:0}
.prem .mid{display:block;margin-top:.4rem}
.prem p{margin:.6rem 0 0;font-size:1.3rem;color:var(--ink-3)}
.chk .note{margin-top:1rem}
.chk .foot{margin-top:0;padding-top:2rem}
.cl-list{list-style:none;margin:1.4rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem}
.cl{flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1.2rem 1.6rem;border-radius:var(--r-in);background:var(--in);cursor:pointer;transition:background .25s}
.cl:hover,.cl[data-ph-hover]{background:var(--in-2)}
.cl.fresh{animation:freshIn 2.4s var(--ease)}
@keyframes freshIn{0%{box-shadow:inset 0 0 0 1.5px rgba(200,161,90,.7)}100%{box-shadow:inset 0 0 0 1.5px rgba(200,161,90,0)}}
.cl-top{display:flex;align-items:baseline;gap:1.2rem}
.cl-top b{flex:1;min-width:0;font-size:1.42rem;font-weight:600;white-space:nowrap;overflow:hidden}
.cl-top .amt{font-size:1.6rem;font-weight:600;white-space:nowrap}
.cl-meta{margin:0;font-size:1.25rem;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.steps{list-style:none;margin:.9rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.steps li{position:relative;padding-top:1.9rem;min-width:0}
.steps li::before{content:"";position:absolute;top:.55rem;left:1.6rem;right:.4rem;height:1.5px;background:rgba(243,237,225,.12)}
.steps li:last-child::before{display:none}
.steps li.done::before{background:var(--sea)}
.steps i{position:absolute;top:0;left:0;width:1.2rem;height:1.2rem;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(243,237,225,.25)}
.steps li.done i{background:var(--sea);box-shadow:none}
.steps li.cur i{background:var(--brass);box-shadow:none;animation:stepPulse 2.6s ease-out infinite}
@keyframes stepPulse{0%{box-shadow:0 0 0 0 rgba(200,161,90,.5)}70%,100%{box-shadow:0 0 0 .7rem rgba(200,161,90,0)}}
.steps b{display:block;font-size:1.25rem;font-weight:600;color:var(--ink-3);white-space:nowrap}
.steps li.done b{color:var(--ink-2)}
.steps li.cur b{color:var(--brass)}
.steps small{display:block;font-size:1.2rem;color:var(--ink-3);white-space:nowrap}
.dl-list{list-style:none;margin:1.2rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
.dl-list li{position:relative;display:flex;align-items:center;gap:1.4rem;padding:.4rem 0;min-width:0;cursor:pointer}
.dl-list li:not(:last-child)::after{content:"";position:absolute;left:2.5rem;top:calc(50% + 2.8rem);height:calc(100% - 4.6rem);width:1.5px;background:rgba(243,237,225,.1)}
.dd{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:5rem;height:5.2rem;border-radius:var(--r-in);background:var(--in);line-height:1}
.dd b{font-size:2rem;font-weight:600}
.dd small{margin-top:.3rem;font-size:1.15rem;color:var(--ink-3)}
.dl-list li.k-due .dd{background:rgba(200,161,90,.15)}
.dl-list li.k-due .dd b,.dl-list li.k-due .dd small{color:var(--brass)}
.dl-list li.k-done .dd b{color:var(--ok)}
.dl-list li.k-done .dt b{color:var(--ink-3)}
.dt{min-width:0}
.dt b{display:block;font-size:1.36rem;font-weight:600;white-space:nowrap}
.dt small{display:block;font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.temps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem;flex:none}
.temp{padding:1rem 1.2rem;border-radius:var(--r-in);background:var(--in)}
.temp small{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.temp b{display:block;margin-top:.2rem;font-size:2.2rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;transition:color .4s}
.temp b.tick{animation:tick .9s var(--ease)}
@keyframes tick{0%{color:var(--brass)}100%{color:var(--ink)}}
.ldocs{list-style:none;margin:1.2rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
.ldocs li{display:flex;align-items:center;gap:1.2rem;padding:.6rem .8rem;margin:0 -.8rem;border-radius:12px;cursor:pointer;transition:background .2s}
.ldocs li:hover,.ldocs li[data-ph-hover]{background:rgba(243,237,225,.04)}
.ldocs li.fresh{animation:freshIn 2.4s var(--ease)}
.ldocs .dn{min-width:0}
.ldocs b{display:block;font-size:1.35rem;font-weight:600;white-space:nowrap;overflow:hidden}
.ldocs small{display:block;font-size:1.25rem;color:var(--ink-3)}

/* ---------- Tabeller ---------- */
.tbl-wrap{min-height:0;overflow:auto;margin:1.2rem -1.2rem 0;padding:0 1.2rem;scrollbar-width:thin;scrollbar-color:rgba(243,237,225,.15) transparent}
.tbl-wrap.fill{flex:1}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:1.36rem}
.tbl.stretch{height:100%}
.tbl th{position:sticky;top:0;z-index:2;height:4.2rem;padding:0 1.4rem;background:var(--card);text-align:left;font-size:1.25rem;font-weight:600;color:var(--ink-3);white-space:nowrap;box-shadow:inset 0 -1px 0 rgba(243,237,225,.1)}
.tbl td{height:6rem;padding:.9rem 1.4rem;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2);transition:background .2s}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl .num{text-align:right;white-space:nowrap}
.tbl td b{color:var(--ink);font-weight:600}
.tbl td small{display:block;margin-top:.2rem;font-size:1.25rem;color:var(--ink-3)}
.tbl tbody tr{cursor:pointer}
.tbl tbody tr:hover td,.tbl tbody tr[data-ph-hover] td{background:rgba(243,237,225,.03)}
.tbl tbody tr.sel td{background:var(--in)}
.tbl tbody tr.sel td:first-child{box-shadow:inset .3rem 0 0 var(--brass)}
.tbl tbody tr.sel .pi{background:var(--in-2)}
.tbl tbody tr:focus{outline:none}
.tbl tbody tr:focus-visible td{background:rgba(110,159,201,.09)}
.tbl tbody tr.empty td{height:12rem;text-align:center;color:var(--ink-3);cursor:default}
.tbl tfoot td{height:5.6rem;padding:0 1.4rem;font-size:1.32rem;font-weight:600;color:var(--ink-3);box-shadow:inset 0 1px 0 rgba(243,237,225,.14)}
.tbl tfoot b{color:var(--ink)}
.tbl tr.fresh td{animation:freshRow 2.6s var(--ease)}
@keyframes freshRow{0%,35%{background:rgba(200,161,90,.13)}}
.tbl .act{width:1%;text-align:right;white-space:nowrap}
.tbl .nw{white-space:nowrap}
.pcell{display:flex;align-items:center;gap:1.3rem;min-width:0}
.pcell b{display:block;white-space:nowrap}
.new{font-style:normal;margin-left:.8rem;padding:.2rem .8rem;border-radius:99px;font-size:1.15rem;font-weight:700;background:var(--brass);color:#0C1624;vertical-align:.1em}
.tnote{margin:1rem 0 0;font-size:1.25rem;color:var(--ink-3);flex:none}

/* ---------- Policer ---------- */
.v-pol{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr)}
.fordeling .hbars{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;margin-top:1.4rem}

/* ---------- Skuffe ---------- */
.scrim{position:absolute;inset:0;z-index:40;background:rgba(5,10,18,.55);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:absolute;z-index:45;top:1.6rem;right:1.6rem;bottom:1.6rem;width:62rem;display:flex;flex-direction:column;border-radius:var(--r-card);background:var(--card);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 40px 80px -30px rgba(0,0,0,.85);transform:translateX(calc(100% + 3rem));visibility:hidden;transition:transform .5s var(--ease),visibility 0s linear .5s}
.drawer.open{transform:none;visibility:visible;transition:transform .5s var(--ease)}
.drawer:focus{outline:none}
.dr-head{display:flex;align-items:center;gap:1.4rem;padding:2.4rem 2.6rem 2rem}
.dr-head h2{margin:.2rem 0 0;font:600 2.3rem/1.15 var(--head)}
.dr-head .lbl{margin:0}
.dr-body{flex:1;min-height:0;overflow:auto;padding:0 2.6rem 2rem;scrollbar-width:thin;scrollbar-color:rgba(243,237,225,.15) transparent}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;flex:none}
.stats3 div{padding:1.2rem 1.4rem;border-radius:var(--r-in);background:var(--in);min-width:0}
.stats3 small{display:block;font-size:1.25rem;color:var(--ink-3)}
.stats3 b{display:block;margin-top:.3rem;font-size:2rem;font-weight:500;white-space:nowrap}
.stats3 b.ok{color:var(--ok)}
.stats3 span{display:block;font-size:1.2rem;color:var(--ink-3)}
.dr-body .note{margin-top:1.2rem}
.dr-sec{margin-top:2.2rem}
.dr-sec h3{margin:0 0 1rem;font-size:1.4rem;font-weight:600;color:var(--ink-2)}
.plain{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.plain > div{padding:1.4rem 1.6rem;border-radius:var(--r-in);background:var(--in)}
.pl-h{display:flex;align-items:center;gap:.7rem;margin:0 0 .8rem;font-size:1.35rem;font-weight:600}
.pl-h.ok{color:var(--ok)}.pl-h.crit{color:var(--crit)}
.pl-h svg.i{width:1.7rem;height:1.7rem;stroke-width:2}
.plain ul{margin:0;padding-left:1.8rem;font-size:1.36rem;line-height:1.5;color:var(--ink-2)}
.plain li + li{margin-top:.6rem}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;align-items:center;gap:1.6rem;min-height:4.4rem;box-shadow:inset 0 -1px 0 var(--line);font-size:1.36rem;color:var(--ink-2)}
.rows li:last-child{box-shadow:none}
.rows li b{font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}
.rows li b small{font-weight:500;font-size:1.25rem;color:var(--ink-3)}
.rows li.sub span{padding-left:1.6rem;color:var(--ink-3)}
.dr-foot{display:flex;gap:1rem;padding:1.6rem 2.6rem 2.2rem;box-shadow:0 -1px 0 var(--line)}

/* ---------- Skader ---------- */
.v-clm{grid-template-columns:minmax(0,1.42fr) minmax(0,1fr)}
.ctbl .stats3{margin-top:1.4rem}
.ctbl .yrs{flex:1;min-height:12rem;display:flex;flex-direction:column;margin-top:1.6rem}
.ctbl .yrs .lbl{margin:0}
.cd-h{margin:.4rem 0 0;font:600 2.2rem/1.2 var(--head)}
.cdet .lbl:first-child{margin:0}
.cdet .stats3{margin-top:1.6rem}
.cdet .steps{margin-top:2rem;flex:none}
.cd-scroll{flex:1;min-height:0;overflow:auto;margin-top:2rem;padding-right:.6rem;scrollbar-width:thin;scrollbar-color:rgba(243,237,225,.15) transparent}
.cd-scroll h3{margin:0 0 1rem;font-size:1.4rem;font-weight:600;color:var(--ink-2)}
.receipt{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1.8rem;padding:1.4rem 1.6rem;border-radius:var(--r-in);background:rgba(110,159,201,.11);animation:rcIn .6s var(--ease) .45s backwards}
.receipt .lbl{margin:0 0 .3rem;color:var(--sea)}
.receipt p:last-child{margin:0;font-size:1.36rem;line-height:1.5;color:var(--ink)}
@keyframes rcIn{from{opacity:0;transform:translateY(.8rem)}}
.cd-lines{margin:0 0 1.8rem}
.tl{list-style:none;margin:0;padding:0}
.tl li{position:relative;display:grid;grid-template-columns:7rem 1.4rem minmax(0,1fr);gap:1.2rem;padding-bottom:1.5rem}
.tl li::before{content:"";position:absolute;left:8.85rem;top:1.7rem;bottom:.1rem;width:1.5px;background:rgba(243,237,225,.12)}
.tl li:last-child::before{display:none}
.tl time{font-size:1.3rem;font-weight:600;color:var(--ink-2);text-align:right;white-space:nowrap}
.tl time small{display:block;font-size:1.2rem;font-weight:500;color:var(--ink-3)}
.tl i{width:1rem;height:1rem;margin:.45rem auto 0;border-radius:50%;background:var(--sea)}
.tl li:first-child i{background:var(--brass)}
.tl div b{display:block;font-size:1.36rem;font-weight:600;color:var(--ink)}
.tl div small{display:block;font-size:1.25rem;color:var(--ink-3)}
.cd-foot{display:flex;align-items:center;gap:1.4rem;margin-top:1.2rem;padding-top:1.4rem;box-shadow:inset 0 1px 0 var(--line);flex:none}
.next{flex:1;min-width:0;display:flex;gap:1rem;align-items:flex-start;margin:0;font-size:1.3rem;color:var(--ink-3)}
.next b{display:block;font-size:1.3rem;color:var(--ink)}
.next svg.i{width:2rem;height:2rem;color:var(--brass)}

/* ---------- Fornyelse 2027 ---------- */
.v-rn{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr)}
.band{grid-column:1 / -1;flex-direction:row;align-items:center;gap:4rem;padding:2rem 2.6rem}
.rn-num{flex:none;min-width:30rem}
.rn-num .lbl{margin:0 0 .6rem}
.rn-num .big{font-size:5.4rem}
.rn-save{margin:.8rem 0 0;font-size:1.32rem;color:var(--ink-3);white-space:nowrap}
.rn-save b{color:var(--brass);font-weight:600}
.rn-save .chip{height:3rem;font-size:1.3rem}
.proc{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.proc li{position:relative;padding-top:3.8rem;min-width:0}
.proc li::before{content:"";position:absolute;top:1.4rem;left:3.8rem;right:1rem;height:1.5px;background:rgba(243,237,225,.12)}
.proc li:last-child::before{display:none}
.proc li.done::before{background:var(--sea)}
.proc .n{position:absolute;top:0;left:0;display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;font:600 1.3rem/1 var(--sans);background:var(--in);color:var(--ink-3)}
.proc li.done .n{background:var(--sea);color:var(--bg)}
.proc .n svg.i{width:1.5rem;height:1.5rem;stroke-width:2.4}
.proc li.cur .n{background:var(--bg);color:var(--brass);box-shadow:inset 0 0 0 1.5px var(--brass)}
.proc b{display:block;font-size:1.36rem;font-weight:600;color:var(--ink-2);white-space:nowrap}
.proc li.cur b{color:var(--brass)}
.proc small{display:block;margin-top:.2rem;font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.rn-tools{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.rn-tools .lbl{margin:0}
.offer{padding:2.2rem 2.6rem;transition:opacity .5s var(--ease),box-shadow .3s var(--ease)}
.offer.rec{box-shadow:var(--sh),inset 0 0 0 1.5px rgba(200,161,90,.5)}
.offer.focus{box-shadow:var(--sh),inset 0 0 0 1.5px rgba(110,159,201,.65)}
.offer.rec.focus{box-shadow:var(--sh),inset 0 0 0 2px rgba(200,161,90,.9)}
.offer.chosen{box-shadow:var(--sh),inset 0 0 0 2px var(--brass)}
.offer.dim{opacity:.48}
.ribbon{align-self:flex-start;display:inline-flex;align-items:center;gap:.6rem;height:2.8rem;padding:0 1.2rem;border-radius:99px;font-size:1.25rem;font-weight:600;background:rgba(200,161,90,.14);color:var(--brass);flex:none}
.ribbon svg.i{width:1.5rem;height:1.5rem}
.ribbon.mute{background:rgba(243,237,225,.06);color:var(--ink-3)}
.of-head{display:flex;align-items:center;gap:1.2rem;margin-top:1.4rem;flex:none}
.of-head .ins{width:4.2rem;height:4.2rem;font-size:1.8rem}
.offer.rec .ins,.cf-ins .ins{background:rgba(200,161,90,.16);color:var(--brass)}
.of-head h2{margin:0;font:600 1.9rem/1.2 var(--head);white-space:nowrap}
.of-price{margin-top:1.4rem;padding-bottom:1.4rem;box-shadow:inset 0 -1px 0 var(--line);flex:none}
.of-price .mid{font-size:3.8rem}
.delta{margin:.7rem 0 0;font-size:1.32rem;font-weight:600}
.delta.down{color:var(--ok)}.delta.up{color:var(--crit)}
.of-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.kv{margin:.2rem 0 0;display:flex;flex-direction:column}
.kv div{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.1rem;box-shadow:inset 0 -1px 0 var(--line)}
.kv dt{font-size:1.3rem;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.kv dd{margin:0;display:flex;align-items:center;gap:.9rem}
.kv dd b{font-size:1.38rem;font-weight:600;color:var(--ink);white-space:nowrap}
.g{display:inline-flex;align-items:center;gap:.3rem;font-style:normal;font-size:1.25rem;font-weight:600;color:var(--ink-3);white-space:nowrap;min-width:8.6rem;justify-content:flex-end}
.g svg.i{width:1.3rem;height:1.3rem;stroke-width:2.2}
.g.better{color:var(--ok)}.g.worse{color:var(--crit)}
.diff{margin:1.3rem 0 0;font-size:1.32rem;line-height:1.48;color:var(--ink-2)}
.view.on > .offer{align-self:start}
.verdict-b{display:flex;gap:1.1rem;align-items:flex-start;margin-top:1.4rem;padding:1.2rem 1.4rem;border-radius:var(--r-in);background:var(--in)}
.verdict-b p{margin:0;font-size:1.35rem;line-height:1.45;color:var(--ink)}
.verdict-b p b{display:block;font-size:1.25rem;font-weight:600;color:var(--ink-3)}
.of-foot{margin-top:1.4rem;flex:none}
.ppol{list-style:none;margin:.2rem 0 0;padding:0}
.ppol li{display:grid;grid-template-columns:minmax(0,1fr) auto 6.6rem;column-gap:1rem;row-gap:.3rem;align-items:center;padding:.55rem 0;box-shadow:inset 0 -1px 0 var(--line);font-size:1.3rem;color:var(--ink-3)}
.ppol b{color:var(--ink);font-weight:600;text-align:right;white-space:nowrap}
.ppol em{font-style:normal;text-align:right;font-weight:600}
.ppol em.down{color:var(--ok)}.ppol em.up{color:var(--crit)}
.ppol .pb{grid-column:1 / -1;height:.6rem;border-radius:99px;background:rgba(243,237,225,.06);overflow:hidden}
.ppol .pb i{display:block;height:100%;width:var(--w);border-radius:inherit;background:rgba(110,159,201,.8);transform-origin:left;animation:grow .6s var(--ease) backwards}
.offer.rec .ppol .pb i{background:var(--brass)}
@keyframes grow{from{transform:scaleX(0)}}
.ppol li.tot{box-shadow:none}
.ppol li.tot span{color:var(--ink);font-weight:600}
.sealed{display:flex;align-items:center;gap:1.6rem;margin-top:1.4rem;padding:1rem 1.6rem 1rem 1rem;border-radius:var(--r-in);background:var(--in)}
.sealed .lbl{margin:0;color:var(--brass);font-weight:600}
.sealed p{margin:.2rem 0 0;font-size:1.3rem;color:var(--ink-2);line-height:1.45}
.sealed b{color:var(--ink)}
.stamp{width:11rem;height:11rem;flex:none;color:var(--brass);transform:rotate(-12deg);overflow:visible}
.stamp .st-fill{fill:rgba(12,22,36,.5)}
.stamp .st-o,.stamp .st-o2,.stamp .st-i{fill:none;stroke:currentColor}
.stamp .st-o{stroke-width:2.4}.stamp .st-o2{stroke-width:.9}.stamp .st-i{stroke-width:1.2}
.stamp .st-ring{font:600 10.5px var(--sans);fill:currentColor}
.stamp .st-big{font:600 21px var(--head);fill:currentColor}
.stamp .st-d{font:600 11px var(--sans);fill:currentColor}
.stamp .st-l{stroke:currentColor;stroke-width:1}
.stamp.land{animation:stampIn .8s cubic-bezier(.2,1.2,.35,1) .1s both}
@keyframes stampIn{0%{opacity:0;transform:rotate(-26deg) scale(2.1)}55%{opacity:1;transform:rotate(-11deg) scale(.92)}75%{transform:rotate(-12.5deg) scale(1.03)}100%{opacity:1;transform:rotate(-12deg) scale(1)}}
@media (min-width:1181px) and (max-height:860px){
  .of-head{margin-top:1rem}
  .of-price{margin-top:1rem;padding-bottom:1rem}
  .of-price .mid{font-size:3.2rem}
  .kv div{height:3.6rem}
  .of-foot{margin-top:1rem}
  .stamp{width:9rem;height:9rem}
  .sealed{gap:1.2rem;padding:.8rem 1.2rem .8rem .8rem}
  .verdict-b{margin-top:1rem}
  .ppol li{padding:.35rem 0}
}

/* ---------- Risiko og forebyggelse ---------- */
.v-risk{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"temp temp temp temp temp temp temp temp plan plan plan plan" "eff eff eff eff eff eff eff eff plan plan plan plan"}
.c-temp{grid-area:temp}.c-plan{grid-area:plan}.c-eff{grid-area:eff}
.c-temp .chart{margin-top:1.2rem}
.eff-sum{display:flex;align-items:baseline;gap:1.2rem;margin-top:1.2rem;flex:none}
.eff-list{list-style:none;margin:1.2rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
.eff-list li{display:grid;grid-template-columns:minmax(0,1fr) 9rem auto;align-items:center;column-gap:1.6rem;row-gap:.5rem;padding:.4rem 0}
.eff-list .nm{font-size:1.36rem;color:var(--ink);white-space:nowrap}
.eff-list .nm small{display:block;font-size:1.25rem;color:var(--ink-3)}
.eff-list .amt{font-size:1.36rem;font-weight:600;text-align:right;white-space:nowrap}
.eff-list .bar{grid-column:1 / 3;height:.9rem;border-radius:99px;background:rgba(243,237,225,.06);overflow:hidden;cursor:default}
.eff-list .bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--ok)}
.eff-list .btn{grid-row:1 / 3;grid-column:3}
.plan-top{display:flex;align-items:center;gap:1.8rem;margin-top:1.4rem;flex:none}
.pring{position:relative;width:9rem;height:9rem;flex:none}
.pring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pring circle{fill:none;stroke-width:9}
.pring .c{position:absolute;inset:0;display:grid;place-items:center;font-size:1.9rem;font-weight:600}
.checks{list-style:none;margin:1.4rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
.checks li button{display:flex;align-items:center;gap:1.2rem;width:100%;min-height:4.4rem;padding:.6rem 1rem;margin:0 -1rem;width:calc(100% + 2rem);border:0;border-radius:12px;background:none;color:var(--ink-2);font:500 1.36rem/1.35 var(--sans);text-align:left;transition:background .2s}
.checks li button:hover,.checks li button[data-ph-hover]{background:rgba(243,237,225,.04)}
.checks .box{flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:7px;background:var(--bg);box-shadow:inset 0 0 0 1.5px rgba(243,237,225,.35);color:transparent}
.checks .box svg.i{width:1.6rem;height:1.6rem;stroke-width:2.6}
.checks li.ok .box{background:var(--ok);box-shadow:none;color:#0C1624}
.checks li.ok button{color:var(--ink)}

/* ---------- Køretøjer ---------- */
.v-veh{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr)}
.vdet .reg{align-self:flex-start;display:inline-flex;align-items:center;height:3.4rem;padding:0 1.2rem;border-radius:8px;background:var(--paper);color:#13202f;font-size:1.6rem;font-weight:700;margin-top:.6rem}
.vdet h3{margin:1rem 0 0;font-size:1.6rem;font-weight:600}
.vdet .rows{margin-top:1.4rem}
.synstrip{margin-top:1.6rem;flex:1;min-height:9rem;display:flex;flex-direction:column}
.synstrip .lbl{margin:0}

/* ---------- Medarbejdere og arbejdsskade ---------- */
.v-ppl{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.pay-rows{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.2rem;flex:none}
.pay-rows li{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.6rem;align-items:center;padding:1.2rem 1.4rem;border-radius:var(--r-in);background:var(--in)}
.pay-rows b{display:block;font-size:1.4rem;font-weight:600}
.pay-rows small{display:block;font-size:1.25rem;color:var(--ink-3)}
.pay-rows .field{text-align:right;font-weight:600;padding:.9rem 1.2rem}
.pay-rows .field[readonly]{opacity:.7}
.cmp{flex:1;min-height:12rem;display:flex;flex-direction:column;margin-top:1.6rem}
.cmp .lbl{margin:0}
.reg-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem;flex:none}
.reg-sum div{padding:1.2rem 1.4rem;border-radius:var(--r-in);background:rgba(243,237,225,.03)}
.reg-sum small{display:block;font-size:1.25rem;color:var(--ink-3)}
.reg-sum b{display:block;margin-top:.3rem;font-size:2rem;font-weight:500;white-space:nowrap}
.ppl-done{display:flex;align-items:center;gap:1rem;color:var(--ok);font-weight:600;font-size:1.36rem}

/* ---------- Betalinger ---------- */
.v-pay{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.toggle{display:inline-flex;align-items:center;gap:1rem;border:0;background:none;padding:0;color:var(--ink-2);font:500 1.32rem var(--sans)}
.toggle .tr{position:relative;width:4.2rem;height:2.4rem;border-radius:99px;background:var(--bg);box-shadow:inset 0 0 0 1.5px rgba(243,237,225,.25);transition:background .25s}
.toggle .tr::after{content:"";position:absolute;top:.3rem;left:.3rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--ink-3);transition:transform .25s var(--ease),background .25s}
.toggle.on .tr{background:rgba(127,191,154,.3);box-shadow:none}
.toggle.on .tr::after{transform:translateX(1.8rem);background:var(--ok)}
.hist{flex:1;min-height:14rem;margin-top:1.4rem}

/* ---------- Dokumenter ---------- */
.v-doc{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.filters{margin-top:1.4rem;flex:none}
.prev{display:flex;flex-direction:column}
.sheet{position:relative;flex:1;min-height:0;margin-top:1.4rem;padding:2.6rem 2.8rem;border-radius:6px;background:var(--paper);color:#1A2433;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 24px 50px -24px rgba(0,0,0,.8);overflow:hidden;animation:sheetIn .45s var(--ease)}
@keyframes sheetIn{from{opacity:0;transform:translateY(.8rem)}}
.sheet .lh{display:flex;align-items:center;gap:1rem;padding-bottom:1.2rem;box-shadow:inset 0 -1px 0 rgba(26,36,51,.15)}
.sheet .lh .im{background:#1A2433;color:var(--paper)}
.sheet .lh b{font-size:1.35rem}
.sheet .lh small{margin-left:auto;font-size:1.25rem;color:#5d6675}
.sheet h3{margin:1.6rem 0 0;font:600 1.9rem/1.25 var(--head);color:#13202F}
.sheet dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.6rem;margin:1.4rem 0 0;font-size:1.3rem}
.sheet dt{color:#5d6675}
.sheet dd{margin:0;font-weight:600;color:#1A2433}
.sheet .sk{margin-top:1.6rem;display:flex;flex-direction:column;gap:.8rem}
.sheet .sk i{display:block;height:.8rem;border-radius:4px;background:rgba(26,36,51,.1)}
.sheet .pg{position:absolute;right:2.8rem;bottom:2rem;font-size:1.2rem;color:#5d6675}
.prev .foot .btn{flex:1}

/* ---------- Rådgiver ---------- */
.v-adv{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,1.12fr)}
.prof{align-items:center;text-align:center;padding-top:3rem}
.prof h2{margin:1.6rem 0 .2rem;font:600 2.2rem/1.2 var(--head)}
.prof > .lbl{margin:0}
.facts{margin:1.6rem 0 0;width:100%;text-align:left}
.facts div{display:flex;justify-content:space-between;gap:1.2rem;padding:1rem 0;box-shadow:inset 0 -1px 0 var(--line);font-size:1.3rem}
.facts dt{color:var(--ink-3)}
.facts dd{margin:0;color:var(--ink);text-align:right}
.did{list-style:none;margin:1.6rem 0 0;padding:0;width:100%;text-align:left;display:flex;flex-direction:column;gap:.8rem}
.did li{display:flex;align-items:baseline;gap:1.2rem;padding:1rem 1.4rem;border-radius:var(--r-in);background:var(--in)}
.did b{font-size:2rem;font-weight:600;color:var(--brass);white-space:nowrap}
.did span{font-size:1.3rem;color:var(--ink-2)}
.nextmeet{width:100%;padding:1.3rem 1.4rem;border-radius:var(--r-in);background:rgba(110,159,201,.1);text-align:left}
.nextmeet small{display:block;font-size:1.25rem;color:var(--sea);font-weight:600}
.nextmeet b{display:block;margin-top:.2rem;font-size:1.4rem}
.msgs{flex:1;min-height:0;overflow:hidden;margin-top:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;gap:1.2rem}
.msgs.scroll{overflow:auto;justify-content:flex-start}
.older{align-self:center;flex:none}
.day-sep{align-self:center;margin:.4rem 0 0;font-size:1.25rem;font-weight:600;color:var(--ink-3)}
.msg{display:flex;gap:1rem;align-items:flex-end;max-width:88%;flex:none}
.msg.mine{align-self:flex-end;flex-direction:row-reverse}
.bub{padding:1.1rem 1.5rem;border-radius:18px 18px 18px 6px;background:var(--in)}
.msg.mine .bub{border-radius:18px 18px 6px 18px;background:rgba(110,159,201,.16)}
.bub p{margin:0;font-size:1.4rem;line-height:1.5;color:var(--ink)}
.bub time{display:block;margin-top:.4rem;font-size:1.2rem;color:var(--ink-3)}
.msg.unread .bub{box-shadow:inset .3rem 0 0 var(--sea);animation:unread 2.6s ease-in-out infinite}
@keyframes unread{50%{background:#1D3352}}
.msg.fresh{animation:rowIn .45s var(--ease)}
@keyframes rowIn{from{opacity:0;transform:translateY(.8rem)}}
.composer{display:flex;gap:1rem;align-items:flex-end;margin-top:1.2rem;flex:none}
.composer .field{flex:1}
.book .seg{margin-top:1.4rem}
.mt-sub{display:flex;align-items:center;gap:.8rem;margin:1rem 0 0;font-size:1.3rem;color:var(--ink-3)}
.mt-sub svg.i{width:1.6rem;height:1.6rem}
.mt-h{margin:1.6rem 0 .8rem;font-size:1.3rem;font-weight:600;color:var(--ink-2)}
.days{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}
.day{display:flex;align-items:center;gap:1.4rem;padding:1rem 0;box-shadow:inset 0 -1px 0 var(--line)}
.day:last-child{box-shadow:none}
.day > p{margin:0;width:9.6rem;flex:none;font-size:1.25rem;color:var(--ink-3)}
.day > p b{display:block;font-size:1.38rem;font-weight:600;color:var(--ink)}
.slots{display:flex;flex-wrap:wrap;gap:.7rem}
.slot{display:inline-flex;align-items:center;gap:.5rem;height:3.6rem;padding:0 1.4rem;border:0;border-radius:99px;background:var(--in);color:var(--ink-2);font:600 1.32rem var(--sans);transition:background .2s,color .2s}
.slot:hover,.slot[data-ph-hover]{background:var(--in-2);color:var(--ink)}
.slot.on,.slot.on:hover{background:var(--brass);color:#0C1624}
.slot.booked{background:rgba(127,191,154,.14);color:var(--ok);cursor:default}
.slot svg.i{width:1.4rem;height:1.4rem;stroke-width:2.2}
.book-foot{display:flex;align-items:center;gap:1.2rem;margin-top:1.4rem;flex:none}
#book-sum{flex:1;min-width:0;margin:0;font-size:1.3rem;color:var(--ink-3)}
#book-sum b{display:block;font-size:1.4rem;color:var(--ink)}
#book-sum .ok{display:inline-flex;align-items:center;gap:.6rem;color:var(--ok);font-weight:600}

/* ---------- Modal: bekræftelse og skadeguide ---------- */
.modal{position:absolute;inset:0;z-index:60;display:grid;place-items:center;padding:3rem;background:rgba(5,10,18,.62);visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility 0s linear .3s}
.modal.on{visibility:visible;opacity:1;transition:opacity .3s var(--ease)}
.mbox{position:relative;width:58rem;max-height:100%;display:flex;flex-direction:column;border-radius:22px;background:var(--card);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 50px 100px -30px rgba(0,0,0,.9)}
.mbox:focus{outline:none}
.modal.on .mbox{animation:mIn .45s var(--ease)}
.modal.on .mbox.still{animation:none}
@keyframes mIn{from{opacity:0;transform:translateY(1.4rem) scale(.985)}}
.m-top{display:flex;align-items:flex-start;gap:1.4rem;padding:2.6rem 2.8rem 0}
.m-top .lbl{margin:0}
.m-top h2{margin:.3rem 0 0;font:600 2.4rem/1.15 var(--head)}
.m-foot{display:flex;align-items:center;gap:1rem;padding:2rem 2.8rem 2.4rem;flex:none}
.who{font-size:1.3rem;color:var(--ink-3)}
.who b{color:var(--ink-2);font-weight:600}
.cf-main{padding:2rem 2.8rem .6rem;overflow:auto}
.cf-ins{display:flex;align-items:center;gap:1.4rem;padding:1.4rem 1.6rem;border-radius:var(--r-in);background:var(--in)}
.cf-ins .ins{width:4.4rem;height:4.4rem;font-size:1.9rem}
.cf-ins b{display:block;font-size:1.6rem;font-weight:600}
.cf-ins small{font-size:1.25rem;color:var(--ink-3)}
.cf-ins .chip{margin-left:auto}
.cf-main .stats3{margin-top:1rem}
.cf-main .stats3 div{background:rgba(243,237,225,.03)}
.cf-main .stats3 b{font-size:2.4rem}
.cf-diff{margin:1.6rem 0 0;font-size:1.36rem;line-height:1.5;color:var(--ink-2)}
.cf-diff b{display:block;font-size:1.3rem;color:var(--ink-3);font-weight:600}
.cf-note{display:flex;gap:1rem;margin:1.2rem 0 0;font-size:1.3rem;line-height:1.5;color:var(--ink-3)}
.cf-note svg.i{width:2rem;height:2rem;color:var(--sea)}
.check{display:flex;align-items:flex-start;gap:1.2rem;width:100%;margin-top:1.8rem;padding:1.4rem 1.6rem;border:0;border-radius:var(--r-in);background:var(--in);color:var(--ink);font:500 1.38rem/1.45 var(--sans);text-align:left;transition:background .25s}
.check:hover,.check[data-ph-hover]{background:var(--in-2)}
.check .box{flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:7px;background:var(--bg);box-shadow:inset 0 0 0 1.5px rgba(243,237,225,.4);color:transparent;transition:background .2s,color .2s}
.check .box svg.i{width:1.6rem;height:1.6rem;stroke-width:2.6}
.check.on .box{background:var(--brass);box-shadow:none;color:#0C1624}
.mbox.wiz{width:80rem;height:62rem}
.wsteps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:2.2rem 2.8rem 0;padding:0;flex:none}
.wsteps li{display:flex;align-items:center;gap:1rem;height:4.4rem;padding:0 1.4rem;border-radius:99px;font-size:1.3rem;font-weight:600;color:var(--ink-3);background:rgba(243,237,225,.03);white-space:nowrap}
.wsteps span{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;flex:none;background:var(--in);font:600 1.3rem/1 var(--sans)}
.wsteps span svg.i{width:1.4rem;height:1.4rem;stroke-width:2.4}
.wsteps li.cur{background:rgba(200,161,90,.12);color:var(--brass)}
.wsteps li.cur span{background:var(--brass);color:#0C1624}
.wsteps li.done{color:var(--ink-2)}
.wsteps li.done span{background:var(--sea);color:var(--bg)}
.wz-body{flex:1;min-height:0;overflow:auto;padding:2.4rem 2.8rem .4rem;animation:panelIn .4s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateX(1rem)}}
.q{display:block;margin:0 0 1rem;font-size:1.6rem;font-weight:600;color:var(--ink)}
.wz-body .chips + .q,.wz-body .seg + .q,.wz-body .row2 + .q,.wz-body .hint + .q{margin-top:2.4rem}
.wz-body .hint{display:flex;align-items:center;gap:.8rem;margin:1rem 0 0;font-size:1.3rem}
.wz-body .hint svg.i{width:1.7rem;height:1.7rem}
.hint.warn{color:var(--brass)}
.row2{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.time{display:flex;align-items:center;gap:1rem;font-size:1.3rem;color:var(--ink-3)}
.time .field{width:9.4rem;padding:.9rem 1.2rem;text-align:center}
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1.8rem}
.ph{aspect-ratio:4 / 3;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;border:0;border-radius:var(--r-in);background:var(--in);color:var(--ink-3);font:600 1.32rem var(--sans)}
.ph.add{cursor:pointer;background:rgba(200,161,90,.08);color:var(--brass);transition:background .25s}
.ph.add:hover,.ph.add[data-ph-hover]{background:rgba(200,161,90,.15)}
.ph.add svg.i{width:3rem;height:3rem}
.ph.empty svg.i{width:2.6rem;height:2.6rem;opacity:.45}
.ph.on{position:relative;justify-content:flex-start;padding:0;overflow:hidden;background:#1A2B44;animation:phIn .5s var(--ease)}
.ph.on svg{flex:1;width:100%;min-height:0;padding:1.6rem 1.6rem .4rem;fill:none;stroke:rgba(110,159,201,.8);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ph figcaption{width:100%;padding:.8rem 1.2rem;font-size:1.25rem;color:var(--ink-3);background:rgba(9,18,29,.55)}
@keyframes phIn{from{opacity:0;transform:scale(.96)}}
.sum{margin:0}
.sum div{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:1.6rem;padding:1.1rem 0;box-shadow:inset 0 -1px 0 var(--line)}
.sum dt{font-size:1.3rem;color:var(--ink-3)}
.sum dd{margin:0;font-size:1.4rem;color:var(--ink)}

/* ---------- Søgning (⌘K) ---------- */
.pal{position:absolute;inset:0;z-index:70;display:grid;justify-items:center;align-items:start;padding-top:10rem;background:rgba(5,10,18,.6);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.pal.open{opacity:1;pointer-events:auto}
.pal-box{width:66rem;max-width:calc(100% - 2.4rem);padding:1.2rem;border-radius:22px;background:var(--card);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 50px 100px -30px rgba(0,0,0,.9);transform:translateY(-1rem);transition:transform .4s var(--ease)}
.pal.open .pal-box{transform:none}
.pal-in{display:flex;align-items:center;gap:1rem;height:5.2rem;padding:0 1.2rem 0 1.8rem;border-radius:99px;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.pal-in svg.i{color:var(--brass)}
.pal-in input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 1.6rem var(--sans);color:var(--ink)}
.pal-in input::placeholder{color:var(--ink-3)}
.pal-list{list-style:none;margin:.8rem 0 0;padding:0;max-height:48rem;overflow:auto}
.pal-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.2rem;padding:.8rem 1.4rem .8rem .8rem;border-radius:16px;cursor:pointer;transition:background .2s}
.pal-list li.sel,.pal-list li:hover,.pal-list li[data-ph-hover]{background:var(--in)}
.pal-list li.sel .pi{background:rgba(200,161,90,.15);color:var(--brass)}
.pal-list .pt{min-width:0}
.pal-list .pt b{display:block;font-size:1.4rem;font-weight:600}
.pal-list .pt small{display:block;font-size:1.25rem;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.pal-list .pk small{font-size:1.25rem;font-weight:600;color:var(--ink-3)}
.pal-list .pal-empty{display:block;padding:2.4rem;text-align:center;color:var(--ink-3);cursor:default}
.pal-list .pal-empty:hover{background:none}
.pal-foot{display:flex;gap:1.8rem;padding:1.1rem 1.4rem .4rem;font-size:1.25rem;color:var(--ink-3)}

/* ---------- Toasts og papirkort ---------- */
.toasts{position:absolute;z-index:80;right:2.4rem;bottom:2.4rem;display:flex;flex-direction:column;gap:1rem;pointer-events:none}
.toast{display:flex;align-items:center;gap:1.3rem;width:44rem;padding:1.4rem 1.8rem 1.4rem 1.4rem;border-radius:18px;background:var(--in);pointer-events:auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 60px -20px rgba(0,0,0,.85);animation:toastIn .5s var(--ease) backwards}
.toast .ti{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;flex:none;background:rgba(127,191,154,.16);color:var(--ok)}
.toast .ti svg.i{width:2rem;height:2rem;stroke-width:2}
.toast.brass .ti{background:rgba(200,161,90,.18);color:var(--brass)}
.toast.sea .ti{background:rgba(110,159,201,.18);color:var(--sea)}
.toast div{min-width:0}
.toast b{display:block;font-size:1.4rem;font-weight:600}
.toast span{display:block;font-size:1.28rem;color:var(--ink-3)}
.toast time{margin-left:auto;align-self:flex-start;font-size:1.2rem;color:var(--ink-3)}
.toast.out{transition:opacity .4s,transform .4s;opacity:0;transform:translateY(1rem)}
@keyframes toastIn{from{opacity:0;transform:translateY(1.6rem)}}
.papers{position:absolute;z-index:85;right:3rem;bottom:0;pointer-events:none}
.paper{position:relative;width:32rem;margin-bottom:2.4rem;padding:2rem 2.2rem 1.8rem;border-radius:6px;background:var(--paper);color:#1A2433;box-shadow:0 30px 60px -20px rgba(0,0,0,.9);transform:rotate(-1.5deg);animation:paperIn .7s var(--ease) both}
.paper.out{animation:paperOut .5s var(--ease) both}
@keyframes paperIn{from{transform:translateY(120%) rotate(4deg)}to{transform:rotate(-1.5deg)}}
@keyframes paperOut{to{transform:translateY(130%) rotate(5deg);opacity:.6}}
.paper .lh{display:flex;align-items:center;gap:.8rem;font-size:1.25rem;color:#5d6675}
.paper .lh .im{width:2.6rem;height:2.6rem;font-size:1.1rem;background:#1A2433;color:var(--paper)}
.paper h4{margin:1rem 0 0;font:600 1.6rem/1.25 var(--head);color:#13202F}
.paper .sk{margin-top:1.1rem;display:flex;flex-direction:column;gap:.6rem}
.paper .sk i{display:block;height:.7rem;border-radius:4px;background:rgba(26,36,51,.1)}
.paper .pf{display:flex;align-items:center;gap:.6rem;margin-top:1.3rem;font-size:1.25rem;font-weight:600;color:#2F6B4A}
.paper .pf svg.i{width:1.6rem;height:1.6rem;stroke-width:2.4}

/* ---------- Indlæsning ---------- */
#app.pre .side,#app.pre .top,#app.pre .view.on > *{opacity:0}
.view .in{animation:cardIn .55s var(--ease) backwards;animation-delay:var(--delay,0s)}
.side.in{animation:sideIn .55s var(--ease) backwards}
.top.in{animation:topIn .55s var(--ease) .05s backwards}
@keyframes cardIn{from{opacity:0;transform:translateY(1.4rem)}}
@keyframes sideIn{from{opacity:0;transform:translateX(-1.2rem)}}
@keyframes topIn{from{opacity:0;transform:translateY(-.6rem)}}

/* ---------- Nye elementer ---------- */
.syn{position:relative;height:100%;min-height:8rem;box-shadow:inset 0 -1px 0 rgba(243,237,225,.12);margin-bottom:2.4rem}
.syn-m{position:absolute;bottom:-2.2rem;transform:translateX(-50%);font-size:1.25rem;color:var(--ink-3);white-space:nowrap}
.syn-m:first-child{transform:none}
.syn-d{position:absolute;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--sea);transform:translate(-50%,-50%);cursor:pointer;transition:transform .2s}
.syn-d:hover,.syn-d[data-ph-hover]{transform:translate(-50%,-50%) scale(1.3)}
.syn-d.on{background:var(--brass);box-shadow:0 0 0 .4rem rgba(200,161,90,.25)}
.vlbls{display:flex;gap:1.2rem;margin-top:.6rem;flex:none}
.vlbls span{flex:1;text-align:center;font-size:1.25rem;color:var(--ink-3)}
.cmp .vbars,.yrs .vbars,.inj .vbars{padding-top:1.6rem}
.inj .vbars{flex:1;min-height:10rem;margin-top:1rem}
.inj .rows{margin-top:1.4rem;flex:none}
.cmpx{display:none}
.proc-m{display:none}
.cmp-t td,.cmp-t th{height:4.6rem}
.cmp-t td:first-child{color:var(--ink-3)}
.cmp-t .ok-t,.cmp-t .g-better{color:var(--ok)}
.cmp-t .crit-t,.cmp-t .g-worse{color:var(--crit)}
.vtbl,.dtbl,.invc,.lon,.inj,.phist,.prev,.vdet,.ptbl,.fordeling,.thread,.book,.prof{min-height:0}
.phist .foot b{font-size:1.4rem;font-weight:600}
.synlist{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.synlist li{display:grid;grid-template-columns:7.4rem auto minmax(0,1fr);align-items:baseline;gap:1rem;padding:.7rem 1rem;margin:0 -1rem;border-radius:10px;cursor:pointer;transition:background .2s}
.synlist li:hover,.synlist li[data-ph-hover]{background:rgba(243,237,225,.04)}
.synlist .sd{font-size:1.3rem;color:var(--ink-3);white-space:nowrap}
.synlist li.soon .sd{color:var(--ink);font-weight:600}
.synlist b{font-size:1.35rem;white-space:nowrap}
.synlist small{font-size:1.25rem;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.synlist li.on{background:rgba(200,161,90,.12)}
.synlist li.on b,.synlist li.on .sd{color:var(--brass)}
.invc .phist{flex:1;min-height:16rem;display:flex;flex-direction:column;margin-top:2rem}
.invc .phist .lbl{margin:0}
.invc .hist{margin-top:.6rem}
.plan27{flex:1}
.rates27{list-style:none;margin:1.4rem 0 0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.rates27::before{content:"";position:absolute;left:.55rem;top:1.6rem;bottom:1.6rem;width:1.5px;background:rgba(243,237,225,.14)}
.rates27 li{position:relative;display:grid;grid-template-columns:1.2rem minmax(0,1fr) auto;align-items:center;gap:1.4rem;padding:.8rem 0;cursor:default}
.rates27 i{width:1.2rem;height:1.2rem;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--brass);z-index:1}
.rates27 li.set i{background:var(--brass)}
.rates27 b{display:block;font-size:1.36rem;font-weight:600}
.rates27 small{display:block;font-size:1.25rem;color:var(--ink-3)}
.rates27 em{font-style:normal;font-size:1.4rem;font-weight:600;white-space:nowrap}
.payform{flex:none}
.prof .nextmeet{margin-top:1.6rem}
.prof .foot{width:100%;justify-content:center}
.vdet .foot{flex-wrap:wrap}

/* ---------- Mellemtrin 761-1180 px: ikonrail og to kolonner, der scroller ---------- */
@media (max-width:1180px){
/* Gælder ikke i demo-rammen (9:16 er 1080 px bred): */ :root:not(.ph-frame){
  .shell{grid-template-columns:7.2rem minmax(0,1fr)}
  .side{padding:2rem .8rem;align-items:center}
  .brand-t,.nav-h,.side-adv{display:none}
  .nav{width:100%;gap:.4rem}
  .nav-i{justify-content:center;padding:0;height:4.6rem}
  .nav-i span{display:none}
  .nav-i.on::before{left:-.8rem}
  .cnt{position:absolute;top:.2rem;right:.2rem;min-width:1.8rem;height:1.8rem;padding:0 .4rem;font-size:1.05rem}
  .cnt.brass{min-width:1rem;width:1rem;height:1rem;padding:0;font-size:0;top:.8rem;right:1rem}
  .search{width:auto;padding:0 .8rem 0 1.4rem}
  .search span{display:none}
  .me{padding:0 .5rem}
  .me-t{display:none}
  .view.on{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-template-areas:none;grid-auto-rows:max-content;align-content:start;overflow-y:auto;overflow-x:hidden;padding-bottom:2rem}
  .view.on > *{grid-area:auto;grid-column:auto;min-height:auto}
  .view.on > :is(.hero,.band,.cmpx,.ptbl,.fordeling,.ctbl,.cdet,.c-temp,.c-eff,.c-plan,.vtbl,.vdet,.lon,.inj,.invc,.dtbl,.prev,.thread,.offer){grid-column:1 / -1}
  .view.on > .thread{order:3}
  .view.on .card > *,.hero-b > *,.hero-l > *{flex:0 0 auto}
  .hero-b{min-height:auto}
  .tbl-wrap.fill{flex:none}
  .tbl.stretch{height:auto}
  .chart{flex:none;height:22rem}
  .hist{flex:none;height:24rem}
  .cmp,.yrs,.synstrip,.invc .phist,.rates27{flex:none}
  .cmp .vbars,.yrs .vbars,.inj .vbars{flex:none;height:18rem}
  .syn{height:12rem}
  .cl-list,.dl-list,.eff-list,.checks,.days,.fordeling .hbars{flex:none}
  .fordeling .hbars{gap:.6rem}
  .cl{flex:none}
  .cl-top b{white-space:normal}
  .cd-scroll{flex:none;overflow:visible}
  .msgs{flex:none;overflow:visible;justify-content:flex-start}
  .sheet{flex:none;min-height:46rem}
  .ochart{height:30rem}
  .of-body{overflow:visible}
  .verdict-b,.sealed{margin-top:1.6rem}
  .foot{margin-top:0}
  .segring{width:13rem;height:13rem}
  .segring .c b{font-size:2.6rem}
  .band{flex-wrap:wrap;gap:2rem}
  .view.on .band > .proc{order:3;flex:0 0 100%}
  .rn-tools{margin-left:auto}
  .eff-list li{grid-template-columns:minmax(0,1fr) auto auto}
  .eff-list .nm{white-space:normal}
}
}

/* ---------- Mobil: designet smal visning ---------- */
@media (max-width:760px){
/* Samme vægt som blokken ovenfor, så rækkefølgen stadig afgør: */ :root:not(.ph-frame){
  .top .m-only{display:grid}
  .shell{grid-template-columns:1fr}
  .side{position:absolute;left:0;right:0;bottom:0;z-index:30;flex-direction:row;padding:.6rem .6rem calc(.6rem + env(safe-area-inset-bottom,0px));gap:0;box-shadow:0 -1px 0 rgba(0,0,0,.3),0 -12px 30px -16px rgba(0,0,0,.7)}
  .side .brand,.nav-h,.side-adv{display:none}
  .nav-i.sec{display:none}
  .nav-more{display:flex}
  .nav-i .yr{display:none}
  .nav{flex-direction:row;flex:1;gap:0}
  .nav-i{flex:1;min-width:0;height:5.8rem;padding:.4rem 0 0;flex-direction:column;justify-content:center;border-radius:12px;gap:.3rem}
  .nav-i span{display:block;font-size:1.2rem;font-weight:600;line-height:1.1}
  .nav-i svg.i{width:2.2rem;height:2.2rem}
  .nav-i.on::before{left:30%;right:30%;top:auto;bottom:.2rem;width:auto;height:.3rem;border-radius:3px}
  .nav .cnt{position:absolute;top:.2rem;left:calc(50% + 1.5rem);right:auto;min-width:1.7rem;height:1.7rem;padding:0 .4rem;font-size:1.05rem}
  .nav .cnt.brass{min-width:1rem;width:1rem;height:1rem;padding:0;font-size:0;top:.5rem;left:calc(50% + 1.5rem)}
  .more{display:block;position:absolute;inset:0;z-index:29;background:rgba(5,10,18,.55);opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
  .more.open{opacity:1;pointer-events:auto}
  .more-box{position:absolute;left:1rem;right:1rem;bottom:8.2rem;padding:1.6rem;border-radius:20px;background:var(--card);box-shadow:var(--sh);transform:translateY(1rem);transition:transform .3s var(--ease)}
  .more.open .more-box{transform:none}
  .more-h{margin:0 0 1rem;font-size:1.4rem;font-weight:600;color:var(--ink-2)}
  .more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
  .more-i{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:7.4rem;padding:.8rem .4rem;border:0;border-radius:14px;background:var(--in);color:var(--ink-2);font:600 1.25rem/1.2 var(--sans);text-align:center}
  .more-i svg.i{width:2.2rem;height:2.2rem;color:var(--ink-3)}
  .more-i.on{color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(200,161,90,.6)}
  .more-i.on svg.i{color:var(--brass)}
  .more-i .cnt{position:absolute;top:.5rem;right:.5rem}
  .main{padding:1.4rem 1.4rem 8.4rem;gap:1.2rem;grid-template-rows:auto minmax(0,1fr)}
  .top{flex-wrap:wrap;height:auto;gap:1rem 1.2rem}
  .top .ring{width:3.6rem;height:3.6rem}
  #h1{font-size:2.2rem;line-height:1.3;flex:1;min-width:0;white-space:normal}
  .ctx{display:none}
  .me{order:3;height:3.8rem;padding:0 .3rem;background:none;box-shadow:none}
  .me-t{display:none}
  .search{order:4;width:100%;height:4.2rem}
  .search span{display:block}
  .view.on{display:flex;flex-direction:column;overflow-y:auto;gap:1.2rem;padding-bottom:1rem}
  .view.on > .card,.view.on > .col{flex:none}
  .card{padding:1.8rem 1.8rem}
  .c-temp,.chk{container-type:normal}
  .hero-b{grid-template-columns:1fr;gap:2rem}
  .big{font-size:5.2rem}
  .ochart{height:26rem}
  .count{margin-top:1.4rem}
  .ring-wrap{gap:1.6rem}
  .segring{width:13rem;height:13rem}
  .segring .c b{font-size:2.6rem}
  .cl{flex:none}
  .cl-list,.dl-list{flex:none}
  .dl-list li:not(:last-child)::after{display:none}
  .dl-list li{padding:.6rem 0}
  .temps{grid-template-columns:1fr 1fr 1fr}
  .temp b{font-size:1.9rem}
  .chart,.hist{flex:none;height:18rem}
  .invc .phist{flex:none}
  .band{flex-direction:column;align-items:flex-start;gap:1.8rem}
  .rn-num{min-width:0}
  .rn-num .big{font-size:4.6rem}
  .proc{display:none}
  .cmpx{display:flex}
  .oc-d,.oc-a{display:none}
  .proc-m{display:block;margin:0;font-size:1.4rem;font-weight:600;color:var(--brass)}
  .rn-tools{margin-left:0}
  .cmp-t{table-layout:fixed}
  .cmp-t td,.cmp-t th{font-size:1.15rem;padding:.4rem .4rem;height:auto;white-space:normal}
  .cmp-t th:first-child,.cmp-t td:first-child{width:28%}
  .cmpx .tbl-wrap{overflow:visible}
  .ochart{column-gap:1.2rem;height:18rem}
  .rn-tools{align-items:flex-start}
  .offer{min-height:56rem}
  .stats3,.reg-sum{grid-template-columns:1fr 1fr 1fr}
  .stats3 b,.reg-sum b{font-size:1.6rem}
  .stats3 small,.reg-sum small{font-size:1.15rem}
  .plain{grid-template-columns:1fr}
  .drawer{left:1rem;right:1rem;width:auto}
  .mbox,.mbox.wiz{width:100%;height:auto}
  .wsteps{grid-template-columns:1fr 1fr}
  .tbl .m-hide{display:none}
  .tbl td{height:5.6rem;padding:.8rem 1rem}
  .tbl th{padding:0 1rem}
  .pcell .pi{display:none}
  .pcell b{white-space:normal}
  .pay-rows li{grid-template-columns:1fr}
  .eff-list li{grid-template-columns:minmax(0,1fr) auto}
  .eff-list .nm{white-space:normal}
  .eff-list .bar{grid-column:1 / -1}
  .eff-list .btn{grid-row:auto;grid-column:1 / -1}
  .sheet{min-height:42rem;flex:none}
  .msgs{max-height:48rem}
  .toast{width:calc(100vw - 4.8rem);max-width:36rem}
  .toasts{bottom:8rem}
  .papers{right:1.4rem;bottom:6rem}
  .paper{width:28rem}
}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  #app.pre .side,#app.pre .top,#app.pre .view.on > *{opacity:1}
}

/* Tastaturmærker kun, hvor der er et tastatur: skjules ved berøring og ved 820 px og derunder */
@media (hover:none),(max-width:820px){
/* Samme vægt som blokken ovenfor, så rækkefølgen stadig afgør: */ :root:not(.ph-frame){
  kbd,.kh,.pal-foot{display:none!important}
}
}
