/* ---- 00-core.css ---- */
/* ============================== SERVICEOS — case ==============================
   Skærmene er genskabt som animerede komponenter (ingen screenshots, ingen server). Alle data er fiktive.
   Størrelser i komponenter: 1 enhed = --e = 1 % af komponentens bredde (§-notation i kilden). */
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-latin.woff2) format("woff2");font-weight:300 900;font-display:swap}
.so{--nat:#0b1626;--navy:#0d1b2e;--brand:#2e6be6;--brand-soft:#e8effd;--brand-dk:#7fa2ff;--canvas:#f4f5f2;--surface:#fff;--muted:#5b6676;--line:#e1e4df;
  --ok:#1b7f55;--ok-soft:#e5f3ec;--bad:#b83a2e;--bad-soft:#fbeae7;--warn:#8a5a12;--warn-soft:#fef1d6;--sf:"Figtree","Inter",system-ui,sans-serif;
  background:var(--nat);color:#fff;font-family:var(--sf)}
.so h1,.so h2,.so h3,.so h4{font-family:var(--sf)}
.so svg.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- scener: baggrund og fælles layout ---------- */
.so-d .pin{background:var(--nat);color:#fff}
.so-l .pin{background:var(--canvas);color:var(--navy)}
.so-b .pin{background:var(--brand);color:#fff}
.sv{position:absolute;inset:var(--hdr) 0 0 0;display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.9fr);grid-template-rows:minmax(0,1fr);gap:clamp(24px,3.6vw,72px);padding:0 var(--g) clamp(16px,3.4vh,40px)}
.sv--r{grid-template-columns:minmax(0,1.9fr) minmax(0,.66fr)}
.sv--r .sv__txt{order:2}
.sv__txt{align-self:center;display:grid;gap:clamp(12px,1.5vw,24px);max-width:31em;min-width:0}
.sv__vis{container-type:size;min-width:0;min-height:0;align-self:stretch;display:grid;place-items:center}
.so-k{font:700 clamp(11px,.85vw,13px)/1 var(--sf);letter-spacing:.16em;text-transform:uppercase;opacity:.72}
.so-h{font:800 clamp(34px,4vw,76px)/.98 var(--sf);letter-spacing:-.04em;text-wrap:balance}
.so-h span{display:block;opacity:.55}
.so-p{font:500 clamp(15px,1.25vw,20px)/1.5 var(--sf);max-width:30em;opacity:.82}
.so-l .so-p,.so-l .so-k{opacity:.7}
.so-steps{display:grid;gap:clamp(6px,.7vw,12px);margin-top:clamp(2px,.6vw,10px)}
.so-steps li{display:flex;align-items:center;gap:12px;font:600 clamp(13px,1.05vw,17px)/1.25 var(--sf);opacity:.38;transition:opacity .5s var(--ease),transform .5s var(--ease);transform:translateX(0)}
.so-steps li::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.5;flex:none;transition:background .4s,opacity .4s,transform .4s var(--ease)}
.so-steps li.is-on{opacity:1;transform:translateX(6px)}
.so-steps li.is-on::before{background:var(--brand-dk);opacity:1;transform:scale(1.35)}
.so-l .so-steps li.is-on::before{background:var(--brand)}
.so-b .so-steps li.is-on::before{background:#fff}
.so-note{display:inline-flex;align-items:center;gap:10px;font:600 clamp(11px,.85vw,13px)/1.2 var(--sf);letter-spacing:.04em;padding:8px 14px;border-radius:99px;border:1px solid currentColor;opacity:.78;justify-self:start}
.so-note i{width:7px;height:7px;border-radius:50%;background:#f0b429;flex:none}

/* ---------- komponentramme ---------- */
.ui{--ar:1.6;width:min(100cqw,calc(100cqh*var(--ar)));aspect-ratio:var(--ar);container-type:inline-size;position:relative}
.ui__in{--e:1cqw;position:absolute;inset:0;font-family:var(--sf);color:var(--navy);line-height:1.3;font-size:calc(var(--e)*1.3)}
@media (max-width:760px){.ui{--ar:.74}.ui__in{--e:2.4cqw}}
.win{position:absolute;background:#fff;border-radius:calc(var(--e)*1.8);box-shadow:0 calc(var(--e)*3) calc(var(--e)*8) calc(var(--e)*-1) rgba(2,8,20,.5),0 0 0 1px rgba(13,27,46,.06);overflow:hidden}
.so-l .win{box-shadow:0 calc(var(--e)*3) calc(var(--e)*7) calc(var(--e)*-2) rgba(13,27,46,.22),0 0 0 1px rgba(13,27,46,.06)}
.cd{background:#fff;border:1px solid var(--line);border-radius:calc(var(--e)*1.4);box-shadow:0 1px 2px rgba(13,27,46,.04)}
.bd{display:inline-flex;align-items:center;gap:calc(var(--e)*.5);padding:calc(var(--e)*.35) calc(var(--e)*1.1);border-radius:99px;font-weight:700;font-size:calc(var(--e)*1.15);line-height:1.2;white-space:nowrap;background:var(--bgc,#eef0ed);color:var(--fgc,#5b6676);transition:background .45s,color .45s}
.bd{justify-self:start;align-self:center}
.bd--ok{--bgc:var(--ok-soft);--fgc:var(--ok)}
.bd--bad{--bgc:var(--bad-soft);--fgc:var(--bad)}
.bd--warn{--bgc:var(--warn-soft);--fgc:var(--warn)}
.bd--brand{--bgc:var(--brand-soft);--fgc:var(--brand)}
.bd--dark{--bgc:var(--navy);--fgc:#fff}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--e)*.8);padding:calc(var(--e)*1.2) calc(var(--e)*2.4);border-radius:calc(var(--e)*1.2);background:var(--brand);color:#fff;font-weight:700;font-size:calc(var(--e)*1.35);line-height:1;white-space:nowrap}
.bt--line{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--line)}
.bt .ic,.bd .ic{font-size:1.15em}
.mini{font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:600}
.lbl{font-size:calc(var(--e)*1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8494}

/* app-skal: sidebar + hoved */
.app{position:absolute;inset:0;display:grid;grid-template-columns:calc(var(--e)*19) 1fr;background:var(--canvas)}
.app__sb{background:#f7f8f5;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:calc(var(--e)*2) calc(var(--e)*1.2);gap:calc(var(--e)*.4)}
.app__logo{display:flex;align-items:center;gap:calc(var(--e)*.9);padding:calc(var(--e)*.4) calc(var(--e)*.9) calc(var(--e)*2)}
.app__logo img{width:calc(var(--e)*3);height:calc(var(--e)*3)}
.app__logo b{font-size:calc(var(--e)*1.75);font-weight:700;letter-spacing:-.02em}
.app__logo small{font-size:calc(var(--e)*.85);line-height:1;color:var(--muted);font-weight:500;margin-left:calc(var(--e)*-.2);align-self:flex-end;margin-bottom:calc(var(--e)*.3)}
.app__grp{font-size:calc(var(--e)*.95);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a93a1;padding:calc(var(--e)*1.2) calc(var(--e)*1) calc(var(--e)*.5)}
.app__nav{display:flex;align-items:center;gap:calc(var(--e)*1.2);padding:calc(var(--e)*1) calc(var(--e)*1.2);border-radius:calc(var(--e)*1.1);font-size:calc(var(--e)*1.45);font-weight:600;color:#42505f;transition:background .4s,color .4s}
.app__nav .ic{font-size:calc(var(--e)*2);color:#6b7684;transition:color .4s}
.app__nav.is-on{background:var(--brand-soft);color:var(--brand)}
.app__nav.is-on .ic{color:var(--brand)}
.app__co{margin-top:auto;background:#eceee9;border-radius:calc(var(--e)*1.4);padding:calc(var(--e)*1.1);display:flex;align-items:center;gap:calc(var(--e)*1.1)}
.app__co i{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:calc(var(--e)*1);background:var(--navy);color:#fff;font-style:normal;font-weight:700;font-size:calc(var(--e)*1.3);display:grid;place-items:center;flex:none}
.app__co b{display:block;font-size:calc(var(--e)*1.3);font-weight:700;line-height:1.15}
.app__co span{font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.app__main{position:relative;min-width:0;overflow:hidden}
.app__top{height:calc(var(--e)*6.4);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--e)*2.4);background:#fff}
.app__top b{font-size:calc(var(--e)*1.8);font-weight:700}
.app__tools{display:flex;align-items:center;gap:calc(var(--e)*1.2)}
.app__search{display:flex;align-items:center;gap:calc(var(--e)*.9);width:calc(var(--e)*22);padding:calc(var(--e)*.9) calc(var(--e)*1.3);border:1px solid var(--line);border-radius:calc(var(--e)*1.1);font-size:calc(var(--e)*1.25);color:#8a93a1;background:#fff}
.app__search .ic{font-size:calc(var(--e)*1.6)}
.app__bell{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border:1px solid var(--line);border-radius:calc(var(--e)*1.1);display:grid;place-items:center;font-size:calc(var(--e)*1.7);color:#42505f;background:#fff}
.app__av{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:calc(var(--e)*1.25);display:grid;place-items:center}
.app__pg{position:absolute;inset:calc(var(--e)*6.4) 0 0 0;padding:calc(var(--e)*2.4);overflow:hidden}
.app__h{font-size:calc(var(--e)*3);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.app__sub{font-size:calc(var(--e)*1.5);color:var(--muted);margin-top:calc(var(--e)*.5)}

/* telefon (genbruges i flere scener) */
.sph{position:absolute;background:#0b0f14;border-radius:15.5% / 7.5%;padding:calc(var(--e)*1.1);box-shadow:0 calc(var(--e)*3) calc(var(--e)*7) rgba(2,8,20,.45),inset 0 0 0 1px rgba(255,255,255,.1)}
.sph__scr{position:relative;width:100%;height:100%;background:#fff;border-radius:12.6% / 6.1%;overflow:hidden;color:var(--navy)}
.sph__scr::before{content:"";position:absolute;left:50%;top:calc(var(--e)*1.1);width:calc(var(--e)*7.6);height:calc(var(--e)*2.6);margin-left:calc(var(--e)*-3.8);border-radius:99px;background:#0b0f14;z-index:5}

@media (orientation:portrait){
  .sv{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,2svh,28px);padding-top:clamp(8px,2svh,28px);align-content:start}
  .sv--r{grid-template-columns:minmax(0,1fr)}
  .sv--r .sv__txt{order:0}
  .sv--r .sv__vis{order:2}
  .sv__txt{max-width:none;align-self:start;gap:clamp(8px,1.6svh,16px)}
  .so-h{font-size:clamp(30px,9.2vw,64px)}
  .so-p{font-size:clamp(14px,3.9vw,18px)}
}
@media (orientation:portrait) and (max-width:760px){
  .so-p,.so-steps{display:none}
}

.flat .so .scene,.flat .scene.so-d,.flat .scene.so-l,.flat .scene.so-b{height:auto}
.flat .so .scene>.pin{position:relative;height:100svh;min-height:560px;display:block}

.sph__bar{position:relative;z-index:3;background:#fff;border-bottom:1px solid #eceee9;height:calc(var(--e)*10.6)}
.sb{display:flex;justify-content:space-between;align-items:center;height:calc(var(--e)*4.4);padding:calc(var(--e)*.2) calc(var(--e)*2.8) 0 calc(var(--e)*3.6);font-size:calc(var(--e)*1.2);font-weight:800;letter-spacing:-.01em}
.hd{display:flex;align-items:center;gap:calc(var(--e)*1);padding:calc(var(--e)*.5) calc(var(--e)*2.2) 0;font-size:calc(var(--e)*1.5);font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.hd b{width:calc(var(--e)*3);height:calc(var(--e)*3);border-radius:calc(var(--e)*.9);background:#0d1b2e;color:#fff;font-size:calc(var(--e)*1.1);display:grid;place-items:center;letter-spacing:0;flex:none}
.hd em{margin-left:auto;font-style:normal;font-size:calc(var(--e)*1.05);font-weight:700;color:var(--brand);background:var(--brand-soft);border-radius:99px;padding:calc(var(--e)*.35) calc(var(--e)*1)}

.sb u{display:flex;align-items:center;gap:calc(var(--e)*.38*var(--k,1));text-decoration:none;color:#0d1b2e;--k:.82}
.sb u svg{display:block;height:calc(var(--e)*1.35*var(--k,1));width:auto;fill:currentColor}
.sb u .wf,.sb u .bt3{fill:none}
@media (max-width:760px){.sb u{--k:.66}}

/* ydelse: --p sættes på hver scene hver frame; lad den ikke arves af hele undertræet */
@property --p{syntax:"<number>";inherits:false;initial-value:0}
.ui__in{contain:layout style}
.ui__in [data-s],.ui__in [data-o]{will-change:transform,opacity}

/* ---- 10-open.css ---- */
/* ---------- 0 · åbning: fem ord samles til logoet ---------- */
.so-open .pin{display:grid;place-items:center}
.so-open__c{position:relative;display:grid;justify-items:center;gap:clamp(18px,3.4vmin,44px);text-align:center;padding:calc(var(--hdr) + 2vh) var(--g) 6vh;width:100%}
.so-meta{position:absolute;left:var(--g);top:calc(var(--hdr) + 2.4vh);font:700 clamp(10px,.8vw,12px)/1 var(--sf);letter-spacing:.16em;text-transform:uppercase;opacity:calc(.7*(1 - var(--o,0)));z-index:3}
.so-words{position:absolute;inset:0;pointer-events:none;z-index:2}
.so-words li{position:absolute;left:50%;top:42%;font:800 clamp(14px,3.1vmin,34px)/1 var(--sf);letter-spacing:.14em;text-transform:uppercase;padding:1.05em 1.7em;border-radius:99px;border:1px solid rgba(127,162,255,.55);background:rgba(46,107,230,.2);color:#fff;white-space:nowrap;
  transform:translate(calc(-50% + (1 - var(--s,1))*var(--x)*1vmin),calc(-50% + (1 - var(--s,1))*var(--y)*1vmin)) rotate(calc((1 - var(--s,1))*var(--r)*1deg)) scale(calc(1 - var(--s,1)*.55));
  opacity:calc(1 - var(--o,1));animation:soPill 1.1s var(--ease) both;animation-delay:calc(.25s + var(--i)*.09s)}
@keyframes soPill{from{opacity:0;translate:0 3vh}}
.so-words li:nth-child(1){--x:-40;--y:-26;--r:-9;--i:0}
.so-words li:nth-child(2){--x:38;--y:-30;--r:7;--i:1}
.so-words li:nth-child(3){--x:-34;--y:24;--r:6;--i:2}
.so-words li:nth-child(4){--x:40;--y:18;--r:-7;--i:3}
.so-words li:nth-child(5){--x:2;--y:-40;--r:3;--i:4}
.so-logo{--lh:clamp(54px,12.5vmin,150px);display:flex;align-items:center;justify-content:center;gap:calc(var(--lh)*.277);height:var(--lh)}
.so-sun{height:var(--lh);width:var(--lh);overflow:visible}
.so-sun *{transform-box:fill-box;transform-origin:50% 100%;fill:#fff}
.so-sun .sun{fill:var(--brand-dk);transform:scale(calc(.35 + var(--l,1)*.65)) translateY(calc((1 - var(--l,1))*30%));opacity:var(--l,1)}
.so-sun .b1{transform:translateX(calc((1 - var(--l,1))*-70%));opacity:var(--l,1);transform-origin:50% 50%}
.so-sun .b2{transform:translateX(calc((1 - var(--l,1))*70%));opacity:var(--l,1);transform-origin:50% 50%}
.so-wm{height:calc(var(--lh)*.764);width:auto;clip-path:inset(-4% calc((1 - var(--w,1))*100%) -4% 0);transform:translateX(calc((1 - var(--w,1))*-6%))}
.so-open__h{font:800 clamp(34px,6.4vw,118px)/.96 var(--sf);letter-spacing:-.045em;max-width:12em;text-wrap:balance;opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*3vh))}
.so-open__h span{display:block;color:var(--brand-dk)}
.so-open__sub{font:500 clamp(15px,1.4vw,22px)/1.5 var(--sf);max-width:34em;opacity:calc(var(--s,1)*.8);transform:translateY(calc((1 - var(--s,1))*2vh))}
.so-open__tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;opacity:var(--s,1)}
.so-open__tags li{font:700 clamp(10px,.8vw,12px)/1 var(--sf);letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.28)}
.flat .so-open .pin{display:grid}
@media (orientation:portrait){.so-open__c{padding-top:calc(var(--hdr) + 10vh)}.so-words li:nth-child(1){--x:-26;--y:-30}.so-words li:nth-child(2){--x:24;--y:-34}.so-words li:nth-child(3){--x:-22;--y:30}.so-words li:nth-child(4){--x:26;--y:26}.so-words li:nth-child(5){--x:0;--y:-44}}
@media (prefers-reduced-motion:reduce){.so-words{display:none}.so-words li{animation:none}}

/* ---- 20-five.css ---- */
/* ---------- 1 · fem værktøjer bliver til ét ---------- */
.so-five .ui{--ar:1.6}
.tool{position:absolute;left:calc(var(--e)*37);top:calc(var(--e)*21);width:calc(var(--e)*26);height:calc(var(--e)*20);background:#fff;border-radius:calc(var(--e)*1.4);border:1px solid #d9ddd6;box-shadow:0 calc(var(--e)*1.6) calc(var(--e)*3.6) calc(var(--e)*-.8) rgba(13,27,46,.28);padding:calc(var(--e)*1.5);overflow:hidden;
  --a:var(--s,1);transform:translate(calc((1 - var(--a))*var(--x0)*var(--e)),calc((1 - var(--a))*var(--y0)*var(--e))) rotate(calc((1 - var(--a))*var(--r)*1deg)) scale(calc(1 - var(--a)*.12));opacity:calc(1 - var(--o,1))}
.tool__t{display:flex;align-items:center;gap:calc(var(--e)*.8);font-size:calc(var(--e)*1.15);font-weight:700;color:#6b7684;margin-bottom:calc(var(--e)*1.1)}
.tool__t i{width:calc(var(--e)*1.2);height:calc(var(--e)*1.2);border-radius:50%;background:var(--ic,#9aa3b0)}
.tool--bk{--x0:-35;--y0:-17;--r:-7;--ic:#e0883a}
.tool--sh{--x0:30;--y0:-19;--r:6;--ic:#3a9a6a}
.tool--dc{--x0:-34;--y0:19;--r:5;--ic:#3a6fd8}
.tool--ac{--x0:31;--y0:17;--r:-5;--ic:#8a5ad8}
.tool--pn{--x0:-2;--y0:-26;--r:9;background:#fde68a;border-color:#f3cf55;--ic:#c9962a;width:calc(var(--e)*19);height:calc(var(--e)*17);left:calc(var(--e)*40.5)}
.tool__cal{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(var(--e)*.5)}
.tool__cal i{height:calc(var(--e)*2.1);border-radius:calc(var(--e)*.5);background:#eceee9}
.tool__cal i.x{background:#f3c8a0}.tool__cal i.y{background:#cfe0f7}
.tool__sh{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1px;background:#d6dbd3;border:1px solid #d6dbd3}
.tool__sh b,.tool__sh span{background:#fff;font-size:calc(var(--e)*1);padding:calc(var(--e)*.55) calc(var(--e)*.8);white-space:nowrap;overflow:hidden;font-weight:500;color:#44505e}
.tool__sh b{background:#e1f0e6;color:#2d7a52;font-weight:700}
.tool__tx i{display:block;height:calc(var(--e)*.9);border-radius:calc(var(--e)*.45);background:#dde1e7;margin-bottom:calc(var(--e)*.9)}
.tool__tx i:nth-child(1){width:60%;background:#b7c3d6;height:calc(var(--e)*1.3)}
.tool__tx i:nth-child(3){width:90%}.tool__tx i:nth-child(5){width:72%}
.tool__ac{display:grid;gap:calc(var(--e)*.7);font-size:calc(var(--e)*1.1);color:#44505e;font-weight:600}
.tool__ac span{display:flex;justify-content:space-between;border-bottom:1px solid #e5e8e2;padding-bottom:calc(var(--e)*.5)}
.tool__pn{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:calc(var(--e)*1.9);line-height:1.25;color:#6f5b12;font-weight:600;transform:rotate(-2deg)}
.one{left:calc(var(--e)*5);top:calc(var(--e)*4);width:calc(var(--e)*90);height:calc(var(--e)*54);opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*4))) scale(calc(.94 + var(--s,1)*.06));display:grid;grid-template-columns:calc(var(--e)*14) 1fr}
.one__rail{background:#f7f8f5;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:calc(var(--e)*2.2) 0;gap:calc(var(--e)*1.1)}
.one__rail img{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);margin-bottom:calc(var(--e)*1.4)}
.one__rail span{width:calc(var(--e)*9.6);display:grid;justify-items:center;gap:calc(var(--e)*.4);padding:calc(var(--e)*1) 0;border-radius:calc(var(--e)*1.2);font-size:calc(var(--e)*.95);font-weight:700;color:#6b7684;transition:background .4s,color .4s}
.one__rail span .ic{font-size:calc(var(--e)*2.4)}
.one__rail span.is-on{background:var(--brand-soft);color:var(--brand)}
.one__main{padding:calc(var(--e)*2.6) calc(var(--e)*3);display:grid;align-content:start;gap:calc(var(--e)*1.5)}
.one__h{font-size:calc(var(--e)*2.8);font-weight:800;letter-spacing:-.03em;margin-bottom:calc(var(--e)*.6)}
.one__row{display:grid;grid-template-columns:calc(var(--e)*4.4) 1fr auto;align-items:center;gap:calc(var(--e)*1.6);padding:calc(var(--e)*1.5) calc(var(--e)*1.8);border:1px solid var(--line);border-radius:calc(var(--e)*1.4);background:#fff;
  opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*6)))}
.one__row>i{width:calc(var(--e)*4.4);height:calc(var(--e)*4.4);border-radius:calc(var(--e)*1.2);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*2.2)}
.one__row b{display:block;font-size:calc(var(--e)*1.6);font-weight:700}
.one__row small{font-size:calc(var(--e)*1.25);color:var(--muted);font-weight:500}
@media (max-width:760px){
  .so-five .ui{--ar:.62}
  .tool{left:calc(var(--e)*11.6);top:calc(var(--e)*26);width:calc(var(--e)*18.6);height:calc(var(--e)*15);padding:calc(var(--e)*1.2)}
  .tool--pn{width:calc(var(--e)*15);height:calc(var(--e)*12);left:calc(var(--e)*13.4);top:calc(var(--e)*27)}
  .tool--bk{--x0:-11;--y0:-22;--r:-7}.tool--sh{--x0:11;--y0:-26;--r:6}.tool--dc{--x0:-11;--y0:22;--r:5}.tool--ac{--x0:11;--y0:26;--r:-5}.tool--pn{--x0:0;--y0:-2;--r:4}
  .tool__t{font-size:calc(var(--e)*1.5)}.tool__sh b,.tool__sh span{font-size:calc(var(--e)*1.2)}.tool__ac{font-size:calc(var(--e)*1.4)}.tool__pn{font-size:calc(var(--e)*2)}.tool__cal i{height:calc(var(--e)*2.4)}
  .one{left:calc(var(--e)*1);top:calc(var(--e)*2);width:calc(var(--e)*41.5);height:calc(var(--e)*60);grid-template-columns:calc(var(--e)*8.5) 1fr}
  .one__rail{padding:calc(var(--e)*1.6) 0;gap:calc(var(--e)*.8)}.one__rail img{width:calc(var(--e)*3);height:calc(var(--e)*3)}.one__rail span{width:calc(var(--e)*6.8);font-size:calc(var(--e)*1.15)}.one__rail span .ic{font-size:calc(var(--e)*2.4)}
  .one__main{padding:calc(var(--e)*2) calc(var(--e)*1.6);gap:calc(var(--e)*1.2)}.one__h{font-size:calc(var(--e)*2.6)}.one__row{grid-template-columns:calc(var(--e)*3.8) 1fr auto;padding:calc(var(--e)*1.2);gap:calc(var(--e)*1.1)}.one__row>i{width:calc(var(--e)*3.8);height:calc(var(--e)*3.8);font-size:calc(var(--e)*2)}
  .one__row b{font-size:calc(var(--e)*1.7)}.one__row small{font-size:calc(var(--e)*1.4)}.one__row .bd{font-size:calc(var(--e)*1.25)}
}

/* ---- 30-book.css ---- */
/* ---------- 2 · kunden booker ---------- */
.so-book .ui{--ar:1.6}
.bk{left:calc(var(--e)*3);top:calc(var(--e)*3);width:calc(var(--e)*64);height:calc(var(--e)*56);display:grid;grid-template-rows:calc(var(--e)*6.6) 1fr;background:#f4f5f2;
  transform:translateX(calc(var(--o,0)*calc(var(--e)*-4))) scale(calc(1 - var(--o,0)*.1));opacity:calc(1 - var(--o,0))}
.bk__top{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--e)*2.4)}
.bk__brand{display:flex;align-items:center;gap:calc(var(--e)*1.2);font-size:calc(var(--e)*1.7);font-weight:800;letter-spacing:-.02em}
.bk__brand i{width:calc(var(--e)*3.4);height:calc(var(--e)*3.4);border-radius:calc(var(--e)*1);background:var(--navy);color:#fff;font-style:normal;font-size:calc(var(--e)*1.4);display:grid;place-items:center;font-weight:800}
.bk__brand small{display:block;font-size:calc(var(--e)*1.05);font-weight:600;color:var(--muted);letter-spacing:0;margin-top:calc(var(--e)*-.1)}
.bk__top .bt{padding:calc(var(--e)*.9) calc(var(--e)*1.8);font-size:calc(var(--e)*1.25)}
.bk__body{position:relative;padding:calc(var(--e)*1.8) calc(var(--e)*2.2)}
.bk__steps{display:flex;align-items:center;gap:calc(var(--e)*1);margin-bottom:calc(var(--e)*1.8)}
.bk__steps li{display:flex;align-items:center;gap:calc(var(--e)*.8);font-size:calc(var(--e)*1.2);font-weight:700;color:#8a93a1;transition:color .4s}
.bk__steps li::before{content:attr(data-n);width:calc(var(--e)*2.6);height:calc(var(--e)*2.6);border-radius:50%;background:#e6e9e4;color:#6b7684;font-size:calc(var(--e)*1.2);display:grid;place-items:center;transition:background .4s,color .4s}
.bk__steps li::after{content:"";width:calc(var(--e)*4);height:2px;background:#dde1db;margin-left:calc(var(--e)*.4);transition:background .4s}
.bk__steps li:last-child::after{display:none}
.bk__steps li.is-on{color:var(--navy)}
.bk__steps li.is-on::before{background:var(--navy);color:#fff}
.bk__steps li.is-done{color:var(--navy)}
.bk__steps li.is-done::before{content:"✓";background:var(--brand);color:#fff}
.bk__steps li.is-done::after{background:var(--brand)}
.bk__card{position:relative;background:#fff;border:1px solid var(--line);border-radius:calc(var(--e)*1.8);height:calc(var(--e)*39.5);overflow:hidden}
.pn{position:absolute;inset:0;padding:calc(var(--e)*2.4) calc(var(--e)*2.6);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*2) - var(--o,0)*calc(var(--e)*1.2)))}
.pn h3{font-size:calc(var(--e)*2.3);font-weight:800;letter-spacing:-.03em}
.pn>p{font-size:calc(var(--e)*1.35);color:var(--muted);margin:calc(var(--e)*.4) 0 calc(var(--e)*1.6);font-weight:500}
.svc{display:grid;grid-template-columns:1fr auto;align-items:center;gap:calc(var(--e)*1);padding:calc(var(--e)*1.3) calc(var(--e)*1.6);border:1.5px solid var(--line);border-radius:calc(var(--e)*1.3);margin-bottom:calc(var(--e)*1.1);transition:border-color .4s,background .4s}
.svc b{font-size:calc(var(--e)*1.55);font-weight:700}
.svc small{display:block;font-size:calc(var(--e)*1.2);color:var(--muted);font-weight:500}
.svc em{font-style:normal;font-size:calc(var(--e)*1.5);font-weight:800}
.svc.is-sel{border-color:var(--brand);background:var(--brand-soft);--sel:1}
.svc--pick{border-color:color-mix(in srgb,var(--line),var(--brand) calc(var(--s,0)*100%));background:color-mix(in srgb,#fff,var(--brand-soft) calc(var(--s,0)*100%))}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(var(--e)*.6);font-size:calc(var(--e)*1.25);text-align:center}
.cal b{font-size:calc(var(--e)*1);font-weight:700;letter-spacing:.1em;color:#8a93a1;text-transform:uppercase;padding-bottom:calc(var(--e)*.4)}
.cal span{display:grid;place-items:center;height:calc(var(--e)*3.5);border-radius:calc(var(--e)*1);font-weight:700;color:var(--navy);background:#f4f5f2}
.cal span.off{background:none;color:#c2c8c0;font-weight:500}
.cal span.pick{background:color-mix(in srgb,#f4f5f2,var(--brand) calc(var(--s,0)*100%));color:color-mix(in srgb,var(--navy),#fff calc(var(--s,0)*100%))}
.cal__m{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--e)*1);font-size:calc(var(--e)*1.5);font-weight:800}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--e)*1)}
.slots span{display:grid;place-items:center;height:calc(var(--e)*5);border:1.5px solid var(--line);border-radius:calc(var(--e)*1.2);font-size:calc(var(--e)*1.5);font-weight:700;background:#fff}
.slots span.off{color:#b6bdb5;text-decoration:line-through;background:#f4f5f2;border-color:#eceee9;font-weight:500}
.slots span.pick{border-color:color-mix(in srgb,var(--line),var(--brand) calc(var(--s,0)*100%));background:color-mix(in srgb,#fff,var(--brand) calc(var(--s,0)*100%));color:color-mix(in srgb,var(--navy),#fff calc(var(--s,0)*100%))}
.slots__k{display:flex;gap:calc(var(--e)*2);font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:600;margin-top:calc(var(--e)*1.5)}
.slots__k i{display:inline-block;width:calc(var(--e)*1.1);height:calc(var(--e)*1.1);border-radius:calc(var(--e)*.3);margin-right:calc(var(--e)*.6);vertical-align:-.1em;border:1.5px solid var(--line);background:#fff}
.slots__k i.o{background:#f4f5f2;border-color:#eceee9}
.slots__k i.v{background:var(--brand);border-color:var(--brand)}
.fld{display:grid;grid-template-columns:calc(var(--e)*12) 1fr;align-items:center;border-bottom:1px solid #eceee9;padding:calc(var(--e)*1) 0;font-size:calc(var(--e)*1.45)}
.fld span{color:var(--muted);font-weight:600;font-size:calc(var(--e)*1.25)}
.fld b{font-weight:700;min-height:1.3em}
.fld b::after{content:"";display:inline-block;width:2px;height:1em;background:var(--brand);margin-left:2px;vertical-align:-.12em;animation:soCaret 1s steps(1) infinite}
@keyframes soCaret{50%{opacity:0}}
.sum{display:grid;gap:calc(var(--e)*.9);font-size:calc(var(--e)*1.5)}
.sum div{display:flex;justify-content:space-between;border-bottom:1px solid #eceee9;padding-bottom:calc(var(--e)*.9)}
.sum span{color:var(--muted);font-weight:600;font-size:calc(var(--e)*1.3)}
.sum b{font-weight:800}
.pn__go{position:absolute;right:calc(var(--e)*2.6);bottom:calc(var(--e)*2)}
.pn__go .bt{transform:scale(calc(1 - var(--s,0)*.06));box-shadow:0 0 0 calc(var(--s,0)*calc(var(--e)*.8)) rgba(46,107,230,.25)}
.ok{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:calc(var(--e)*1.4);text-align:center;background:#fff;opacity:var(--s,0);transform:scale(calc(.96 + var(--s,0)*.04));z-index:3}
.ok i{width:calc(var(--e)*8);height:calc(var(--e)*8);border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:calc(var(--e)*4.4);transform:scale(calc(.5 + var(--s,0)*.5))}
.ok b{font-size:calc(var(--e)*2.6);font-weight:800;letter-spacing:-.03em}
.ok span{font-size:calc(var(--e)*1.5);color:var(--muted);font-weight:500}
.bk__side{left:calc(var(--e)*69);top:calc(var(--e)*3);width:calc(var(--e)*28);height:calc(var(--e)*28);padding:calc(var(--e)*2.2);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*4)))}
.bk__side .lbl{margin-bottom:calc(var(--e)*1.4);display:block}
.sdr{display:grid;grid-template-columns:calc(var(--e)*3.6) 1fr;gap:calc(var(--e)*1.1);align-items:center;margin-bottom:calc(var(--e)*1.2);opacity:var(--s,0);transform:translateX(calc((1 - var(--s,0))*calc(var(--e)*2)))}
.sdr i{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:calc(var(--e)*1);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*2)}
.sdr small{display:block;font-size:calc(var(--e)*1.05);color:var(--muted);font-weight:600}
.sdr b{font-size:calc(var(--e)*1.45);font-weight:700;line-height:1.15}
/* virksomhedens liste */
.bkl{left:calc(var(--e)*36);top:calc(var(--e)*6);width:calc(var(--e)*61);height:calc(var(--e)*50);opacity:var(--s,0);transform:translateX(calc((1 - var(--s,0))*calc(var(--e)*8)));display:grid;grid-template-rows:calc(var(--e)*6.4) 1fr}
.bkl__top{display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--e)*2.4);border-bottom:1px solid var(--line)}
.bkl__top b{font-size:calc(var(--e)*1.9);font-weight:800;letter-spacing:-.02em}
.bkl__tabs{display:flex;gap:calc(var(--e)*1);font-size:calc(var(--e)*1.2);font-weight:700;color:var(--muted)}
.bkl__tabs span{padding:calc(var(--e)*.5) calc(var(--e)*1.1);border-radius:calc(var(--e)*.9)}.bkl__tabs .on{background:var(--brand-soft);color:var(--brand)}
.bkl__body{padding:calc(var(--e)*1.4) calc(var(--e)*2.4)}
.bkl__hd,.bkl__r{display:grid;grid-template-columns:1.6fr .9fr .8fr;gap:calc(var(--e)*1.6);align-items:center}
.bkl__hd{font-size:calc(var(--e)*1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a93a1;padding-bottom:calc(var(--e)*1)}
.bkl__r{padding:calc(var(--e)*1.35) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.45)}
.bkl__r b{display:block;font-weight:700}
.bkl__r small{font-size:calc(var(--e)*1.2);color:var(--muted);font-weight:500}
.bkl__r--new{position:relative;background:linear-gradient(90deg,var(--brand-soft),transparent);margin:0 calc(var(--e)*-2.4);padding-left:calc(var(--e)*2.4);padding-right:calc(var(--e)*2.4);box-shadow:inset 3px 0 0 var(--brand);
  opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*-3)))}
.bkl__r--new .bd--brand{margin-left:calc(var(--e)*.8)}
.mail{left:calc(var(--e)*2);top:calc(var(--e)*10);width:calc(var(--e)*31);padding:calc(var(--e)*2);opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*-4))) rotate(calc((1 - var(--s,0))*3deg));z-index:5}
.mail__h{display:flex;align-items:center;gap:calc(var(--e)*1.2);margin-bottom:calc(var(--e)*1.2)}
.mail__h i{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:calc(var(--e)*2);font-style:normal}
.mail__h b{font-size:calc(var(--e)*1.45);font-weight:700;display:block;line-height:1.15}
.mail__h small{font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.mail p{font-size:calc(var(--e)*1.4);line-height:1.45;color:#2d3a4b}
.mail p+p{margin-top:calc(var(--e)*.8)}
.mail__n{font-size:calc(var(--e)*1.05);color:var(--muted);font-weight:600;margin-top:calc(var(--e)*1.2);display:flex;align-items:center;gap:calc(var(--e)*.7)}
@media (max-width:760px){
  .so-book .ui{--ar:.74}
  .bk{left:calc(var(--e)*1);top:calc(var(--e)*1.5);width:calc(var(--e)*41.5);height:calc(var(--e)*56);grid-template-rows:calc(var(--e)*5.6) 1fr}
  .bk__top{padding:0 calc(var(--e)*1.6)}.bk__brand{font-size:calc(var(--e)*1.7)}.bk__brand i{width:calc(var(--e)*3.2);height:calc(var(--e)*3.2)}.bk__top .bt{display:none}
  .bk__body{padding:calc(var(--e)*1.4) calc(var(--e)*1.4)}
  .bk__steps{gap:calc(var(--e)*.5);margin-bottom:calc(var(--e)*1.4);justify-content:space-between}.bk__steps li{font-size:0}.bk__steps li::before{width:calc(var(--e)*3.2);height:calc(var(--e)*3.2);font-size:calc(var(--e)*1.5)}.bk__steps li::after{width:calc(var(--e)*3.4)}
  .bk__card{height:calc(var(--e)*41)}
  .pn{padding:calc(var(--e)*1.8) calc(var(--e)*1.8)}.pn h3{font-size:calc(var(--e)*2.7)}.pn>p{font-size:calc(var(--e)*1.5);margin-bottom:calc(var(--e)*1.2)}
  .svc{padding:calc(var(--e)*1.1) calc(var(--e)*1.3);margin-bottom:calc(var(--e)*.9)}.svc b{font-size:calc(var(--e)*1.7)}.svc small{font-size:calc(var(--e)*1.35)}.svc em{font-size:calc(var(--e)*1.6)}
  .cal{gap:calc(var(--e)*.4)}.cal span{height:calc(var(--e)*3.9);font-size:calc(var(--e)*1.5)}.cal b{font-size:calc(var(--e)*1.15)}.cal__m{font-size:calc(var(--e)*1.8)}
  .slots{gap:calc(var(--e)*.8)}.slots span{height:calc(var(--e)*5.2);font-size:calc(var(--e)*1.7)}.slots__k{font-size:calc(var(--e)*1.3);flex-wrap:wrap;gap:calc(var(--e)*1)}
  .fld{grid-template-columns:calc(var(--e)*10) 1fr;font-size:calc(var(--e)*1.6)}.fld span{font-size:calc(var(--e)*1.35)}
  .sum{font-size:calc(var(--e)*1.6)}.sum span{font-size:calc(var(--e)*1.4)}
  .pn__go{right:calc(var(--e)*1.8);bottom:calc(var(--e)*1.4)}.bt{font-size:calc(var(--e)*1.6);padding:calc(var(--e)*1.1) calc(var(--e)*2.2)}
  .bk__side{display:none}
  .bkl{left:calc(var(--e)*1);top:calc(var(--e)*1.5);width:calc(var(--e)*41.5);height:calc(var(--e)*56);grid-template-rows:calc(var(--e)*5.6) 1fr}
  .bkl__top{padding:0 calc(var(--e)*1.6)}.bkl__top b{font-size:calc(var(--e)*2.1)}.bkl__tabs{display:none}
  .bkl__body{padding:calc(var(--e)*1.2) calc(var(--e)*1.6)}.bkl__hd,.bkl__r{grid-template-columns:1.6fr .8fr;gap:calc(var(--e)*1)}
  .bkl__hd span:nth-child(3),.bkl__r>*:nth-child(3){display:none}
  .bkl__r{font-size:calc(var(--e)*1.7);padding:calc(var(--e)*1.4) 0}.bkl__r small{font-size:calc(var(--e)*1.4)}.bkl__r--new{margin:0 calc(var(--e)*-1.6);padding-left:calc(var(--e)*1.6);padding-right:calc(var(--e)*1.6)}
  .mail{left:calc(var(--e)*4);top:calc(var(--e)*30);width:calc(var(--e)*36);padding:calc(var(--e)*1.8)}
  .mail__h b{font-size:calc(var(--e)*1.6)}.mail p{font-size:calc(var(--e)*1.55)}.mail__n{font-size:calc(var(--e)*1.2)}.mail__h i{width:calc(var(--e)*3.8);height:calc(var(--e)*3.8)}
}

/* ---- 40-day.css ---- */
/* ---------- 3 · dagen på skærmen: dashboard, bookingliste og kalender ---------- */
.so-day .ui{--ar:1.5}
.so-day .app{border-radius:calc(var(--e)*1.8);overflow:hidden;box-shadow:0 calc(var(--e)*3) calc(var(--e)*7) calc(var(--e)*-2) rgba(13,27,46,.28),0 0 0 1px rgba(13,27,46,.08)}
.app__navs{display:flex;flex-direction:column;gap:calc(var(--e)*.4)}
.app__navs li{display:flex;align-items:center;gap:calc(var(--e)*1.2);padding:calc(var(--e)*1) calc(var(--e)*1.2);border-radius:calc(var(--e)*1.1);font-size:calc(var(--e)*1.45);font-weight:600;color:#42505f;transition:background .4s,color .4s}
.app__navs li .ic{font-size:calc(var(--e)*2);color:#6b7684;transition:color .4s}
.app__navs li.is-on{background:var(--brand-soft);color:var(--brand)}
.app__navs li.is-on .ic{color:var(--brand)}
.app__navs li.sp{margin-top:calc(var(--e)*1.4)}
.scr{position:absolute;inset:0;padding:calc(var(--e)*2.4) calc(var(--e)*2.6);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*2) - var(--o,0)*calc(var(--e)*1.5)))}
.scr__h{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:calc(var(--e)*2)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--e)*1.5);margin-bottom:calc(var(--e)*1.8)}
.kpi{padding:calc(var(--e)*1.5) calc(var(--e)*1.7);display:grid;gap:calc(var(--e)*.5);align-content:start;opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*2.4)))}
.kpi__t{display:flex;align-items:center;justify-content:space-between;font-size:calc(var(--e)*1.2);font-weight:600;color:#42505f}
.kpi__t i{width:calc(var(--e)*3);height:calc(var(--e)*3);border-radius:calc(var(--e)*.9);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*1.7)}
.kpi{min-width:0}
.kpi b{font-variant-numeric:tabular-nums;font-size:calc(var(--e)*2.5);font-weight:800;letter-spacing:-.03em;line-height:1.05;white-space:nowrap}
.kpi small{font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.kpi--bad b{color:var(--bad)}
.dg{display:grid;grid-template-columns:1.62fr 1fr;gap:calc(var(--e)*1.6)}
.dg__c{padding:calc(var(--e)*1.6) calc(var(--e)*1.8)}
.dg__t{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--e)*1);font-size:calc(var(--e)*1.55);font-weight:800}
.dg__t span{font-size:calc(var(--e)*1.1);font-weight:600;color:var(--muted)}
.ap{display:grid;grid-template-columns:calc(var(--e)*7.4) 1fr auto;align-items:center;gap:calc(var(--e)*1.2);padding:calc(var(--e)*1.05) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.35);opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*3)))}
.ap time{font-weight:800;font-size:calc(var(--e)*1.35)}
.ap b{display:block;font-weight:700;line-height:1.15}
.ap small{font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.chk{display:flex;align-items:center;gap:calc(var(--e)*1.1);padding:calc(var(--e)*.95) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.3);font-weight:600}
.chk i{width:calc(var(--e)*2.2);height:calc(var(--e)*2.2);border-radius:calc(var(--e)*.7);border:1.5px solid #c9cfc7;display:grid;place-items:center;font-size:calc(var(--e)*1.5);color:#fff;flex:none;
  background:color-mix(in srgb,#fff,var(--ok) calc(var(--s,1)*100%));border-color:color-mix(in srgb,#c9cfc7,var(--ok) calc(var(--s,1)*100%))}
.chk i .ic{opacity:var(--s,1);stroke-width:3}
.chk span{opacity:calc(.65 + var(--s,1)*.35)}
.prog{height:calc(var(--e)*.8);border-radius:99px;background:#eceee9;overflow:hidden;margin:calc(var(--e)*.4) 0 calc(var(--e)*.8)}
.prog i{display:block;height:100%;background:var(--ok);transform-origin:left;transform:scaleX(var(--s,1))}
/* bookinger */
.fl{display:flex;gap:calc(var(--e)*1);margin-bottom:calc(var(--e)*1.6)}
.fl span{font-size:calc(var(--e)*1.3);font-weight:700;color:#5b6676;padding:calc(var(--e)*.8) calc(var(--e)*1.5);border-radius:calc(var(--e)*1);background:#fff;border:1px solid var(--line)}
.fl span.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tb{padding:0 calc(var(--e)*1.8)}
.tb__hd,.tb__r{display:grid;grid-template-columns:1.7fr .7fr 1.5fr .9fr;gap:calc(var(--e)*1.6);align-items:center}
.tb__hd{padding:calc(var(--e)*1.4) 0;font-size:calc(var(--e)*1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a93a1}
.tb__r{padding:calc(var(--e)*1.2) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.4);opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*4)))}
.tb__r b{display:block;font-weight:700;line-height:1.15}
.tb__r small{font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:500}
.tb__r time{font-weight:700}
.src{display:inline-flex;align-items:center;gap:calc(var(--e)*.7)}
.src small{font-size:calc(var(--e)*1.05);color:#8a93a1;font-weight:600}
/* kalender */
.cl{display:grid;grid-template-columns:1fr calc(var(--e)*19);gap:calc(var(--e)*1.6)}
.cl__day{position:relative;height:calc(var(--e)*42.4);background:#fff;border:1px solid var(--line);border-radius:calc(var(--e)*1.4);overflow:hidden}
.cl__row{position:absolute;top:calc(var(--e)*var(--t,0));left:0;right:0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.05);font-weight:600;color:#8a93a1;padding:calc(var(--e)*.4) calc(var(--e)*1)}
.ev{position:absolute;top:calc(var(--e)*var(--t,0));height:calc(var(--e)*var(--h,4));left:calc(var(--e)*8);right:calc(var(--e)*2);border-radius:calc(var(--e)*1.1);padding:calc(var(--e)*.8) calc(var(--e)*1.4);font-size:calc(var(--e)*1.3);font-weight:700;line-height:1.2;border-left:4px solid var(--c,var(--brand));background:var(--bg,var(--brand-soft));color:var(--navy);overflow:hidden;
  opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*4)))}
.ev small{display:block;font-size:calc(var(--e)*1.05);font-weight:500;color:#5b6676;margin-top:calc(var(--e)*.2)}
.ev--ok{--c:var(--ok);--bg:var(--ok-soft)}
.now{position:absolute;left:calc(var(--e)*7);right:0;height:2px;background:var(--brand);top:calc(calc(var(--e)*5)*8.35 + var(--s,1)*calc(var(--e)*5)*6.65);z-index:3}
.now::before{content:"";position:absolute;left:calc(var(--e)*-.6);top:calc(var(--e)*-.5);width:calc(var(--e)*1.2);height:calc(var(--e)*1.2);border-radius:50%;background:var(--brand)}
.cl__side{display:grid;gap:calc(var(--e)*1.4);align-content:start}
.cl__side .cd{padding:calc(var(--e)*1.5) calc(var(--e)*1.7)}
.cl__side b{display:block;font-size:calc(var(--e)*3.2);font-weight:800;letter-spacing:-.03em;line-height:1}
.cl__side small{font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:600}
.app__tabs{display:none}
@media (max-width:760px){
  .so-day .ui{--ar:.74}
  .so-day .app{grid-template-columns:1fr}
  .app__sb{display:none}
  .app__top{height:calc(var(--e)*5.8);padding:0 calc(var(--e)*1.8)}.app__top b{font-size:calc(var(--e)*2.3)}.app__search{display:none}
  .app__bell,.app__av{width:calc(var(--e)*3.8);height:calc(var(--e)*3.8)}.app__av{font-size:calc(var(--e)*1.4)}
  .app__pg{inset:calc(var(--e)*5.8) 0 calc(var(--e)*8.2) 0;padding:0}
  .app__tabs{display:flex;position:absolute;left:0;right:0;bottom:0;height:calc(var(--e)*8.2);background:#fff;border-top:1px solid var(--line);justify-content:space-around;align-items:center;z-index:4}
  .app__tabs li{display:grid;justify-items:center;gap:calc(var(--e)*.3);font-size:calc(var(--e)*1.2);font-weight:700;color:#7a8494;transition:color .4s}
  .app__tabs li .ic{font-size:calc(var(--e)*2.6)}
  .app__tabs li.is-on{color:var(--brand)}
  .scr{padding:calc(var(--e)*1.6) calc(var(--e)*1.6)}
  .scr__h{margin-bottom:calc(var(--e)*1.4)}.app__h{font-size:calc(var(--e)*2.9)}.app__sub{font-size:calc(var(--e)*1.5)}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--e)*1.1);margin-bottom:calc(var(--e)*1.2)}
  .kpi{padding:calc(var(--e)*1.1) calc(var(--e)*1.2)}.kpi__t{font-size:calc(var(--e)*1.3)}.kpi__t i{width:calc(var(--e)*2.6);height:calc(var(--e)*2.6);font-size:calc(var(--e)*1.5)}.kpi b{font-size:calc(var(--e)*2.3)}.kpi small{font-size:calc(var(--e)*1.2)}
  .dg{grid-template-columns:1fr}.dg__c:last-child{display:none}.dg__c{padding:calc(var(--e)*1.2) calc(var(--e)*1.4)}
  .dg__t{font-size:calc(var(--e)*1.8)}.ap{grid-template-columns:calc(var(--e)*6.4) 1fr auto;font-size:calc(var(--e)*1.5);padding:calc(var(--e)*.9) 0}.ap:nth-of-type(n+5){display:none}.ap time{font-size:calc(var(--e)*1.5)}.ap small{font-size:calc(var(--e)*1.2)}
  .fl{margin-bottom:calc(var(--e)*1.2)}.fl span{font-size:calc(var(--e)*1.4);padding:calc(var(--e)*.7) calc(var(--e)*1.2)}.fl span:nth-child(n+3){display:none}
  .tb{padding:0 calc(var(--e)*1.4)}.tb__hd{grid-template-columns:1.5fr 1fr}.tb__hd span:nth-child(2),.tb__hd span:nth-child(4),.tb__r>*:nth-child(2),.tb__r>*:nth-child(4){display:none}
  .tb__r{grid-template-columns:1.5fr 1fr;font-size:calc(var(--e)*1.6);padding:calc(var(--e)*1.1) 0}.tb__r small{font-size:calc(var(--e)*1.3)}.src small{display:none}
  .tb__r .bd{font-size:calc(var(--e)*1.25)}
  .cl{grid-template-columns:1fr}.cl__side{display:none}.cl__day{height:calc(var(--e)*43)}
  .ev{left:calc(var(--e)*6.4);font-size:calc(var(--e)*1.45)}.ev small{font-size:calc(var(--e)*1.2)}.cl__row{font-size:calc(var(--e)*1.2)}
}

.kpi b em{font-style:normal;font-size:.5em;font-weight:700;margin-left:.15em;color:var(--muted)}


/* ---- 50-crm.css ---- */
/* ---------- 4 · kunder (CRM) ---------- */
.so-crm .ui{--ar:1.5}
.so-crm .app{border-radius:calc(var(--e)*1.8);overflow:hidden;box-shadow:0 calc(var(--e)*3) calc(var(--e)*7) calc(var(--e)*-2) rgba(2,8,20,.5)}
.crm{position:absolute;inset:0;padding:calc(var(--e)*2.4) calc(var(--e)*2.6);display:grid;grid-template-columns:calc(var(--e)*36) 1fr;gap:calc(var(--e)*2)}
.crm__l{min-width:0}
.crm__s{display:flex;align-items:center;gap:calc(var(--e)*1);border:1.5px solid color-mix(in srgb,var(--line),var(--brand) calc(var(--s,0)*100%));border-radius:calc(var(--e)*1.2);background:#fff;padding:calc(var(--e)*1.1) calc(var(--e)*1.5);font-size:calc(var(--e)*1.6);font-weight:600;margin:calc(var(--e)*1.4) 0 calc(var(--e)*1.4)}
.crm__s .ic{font-size:calc(var(--e)*2);color:#8a93a1}
.crm__s b{font-weight:700;min-height:1.3em}
.crm__s b::after{content:"";display:inline-block;width:2px;height:1em;background:var(--brand);margin-left:2px;vertical-align:-.12em;animation:soCaret 1s steps(1) infinite}
.cu{display:grid;grid-template-columns:calc(var(--e)*4.6) 1fr auto;gap:calc(var(--e)*1.3);align-items:center;padding:calc(var(--e)*1.2) calc(var(--e)*1.4);border-radius:calc(var(--e)*1.2);background:#fff;border:1px solid var(--line);margin-bottom:calc(var(--e)*1);
  opacity:calc((1 - var(--o,0)*.9));transform:scale(calc(1 - var(--o,0)*.04))}
.cu--m{border-color:color-mix(in srgb,var(--line),var(--brand) calc(var(--sel,0)*100%));box-shadow:0 0 0 calc(var(--sel,0)*2px) rgba(46,107,230,.18)}
.av{width:calc(var(--e)*4.6);height:calc(var(--e)*4.6);border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:calc(var(--e)*1.5);display:grid;place-items:center}
.cu b{display:block;font-size:calc(var(--e)*1.5);font-weight:700;line-height:1.15}
.cu small{font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:500}
.cu em{font-style:normal;font-size:calc(var(--e)*1.15);font-weight:700;color:var(--muted)}
.crm__r{position:relative;min-width:0}
.kc{position:absolute;inset:0;padding:calc(var(--e)*2.2);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*6) + var(--o,0)*calc(var(--e)*-3)));overflow:hidden}
.kc__h{display:flex;align-items:center;gap:calc(var(--e)*1.6);margin-bottom:calc(var(--e)*1.4)}
.kc__h .av{width:calc(var(--e)*6.6);height:calc(var(--e)*6.6);font-size:calc(var(--e)*2.2)}
.kc__h b{display:block;font-size:calc(var(--e)*2.4);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.kc__h small{font-size:calc(var(--e)*1.3);color:var(--muted);font-weight:600}
.kc__ct{display:flex;gap:calc(var(--e)*2);font-size:calc(var(--e)*1.3);font-weight:600;color:#42505f;margin-bottom:calc(var(--e)*1.6)}
.kc__ct span{display:flex;align-items:center;gap:calc(var(--e)*.7)}.kc__ct .ic{font-size:calc(var(--e)*1.7);color:var(--brand)}
.kc__tabs{display:flex;gap:calc(var(--e)*.6);border-bottom:1px solid var(--line);margin-bottom:calc(var(--e)*1.4)}
.kc__tabs span{font-size:calc(var(--e)*1.35);font-weight:700;color:#7a8494;padding:calc(var(--e)*.9) calc(var(--e)*1.3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .4s,border-color .4s}
.kc__tabs span.on{color:var(--brand);border-color:var(--brand)}
.kc__tabs span.on2{color:color-mix(in srgb,#7a8494,var(--brand) calc(var(--s,0)*100%));border-color:color-mix(in srgb,transparent,var(--brand) calc(var(--s,0)*100%))}
.kc__pane{position:absolute;left:calc(var(--e)*2.2);right:calc(var(--e)*2.2);top:calc(var(--e)*19);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*1.5)))}
.tl{position:relative;padding-left:calc(var(--e)*3)}
.tl::before{content:"";position:absolute;left:calc(var(--e)*.8);top:calc(var(--e)*.6);bottom:calc(var(--e)*.6);width:2px;background:#e1e4df}
.tl li{position:relative;padding:calc(var(--e)*.8) 0 calc(var(--e)*1.3);font-size:calc(var(--e)*1.35);font-weight:600;opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*2)))}
.tl li::before{content:"";position:absolute;left:calc(var(--e)*-2.8);top:calc(var(--e)*1.3);width:calc(var(--e)*1.4);height:calc(var(--e)*1.4);border-radius:50%;background:#fff;border:2px solid var(--brand)}
.tl li small{display:block;font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:500;margin-top:calc(var(--e)*.2)}
.note{background:var(--warn-soft);border-radius:calc(var(--e)*1.2);padding:calc(var(--e)*1.4) calc(var(--e)*1.6);font-size:calc(var(--e)*1.4);line-height:1.45;font-weight:600;color:#5c3d0c;margin-bottom:calc(var(--e)*1.1);opacity:var(--s,1)}
.note small{display:block;font-size:calc(var(--e)*1.1);color:#8a5a12;font-weight:600;margin-top:calc(var(--e)*.6)}
.ml{display:grid;grid-template-columns:calc(var(--e)*3.6) 1fr auto;gap:calc(var(--e)*1.2);align-items:center;padding:calc(var(--e)*1.1) calc(var(--e)*1.4);border:1px solid var(--line);border-radius:calc(var(--e)*1.2);margin-bottom:calc(var(--e)*1);font-size:calc(var(--e)*1.35);font-weight:700;opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*2)))}
.ml i{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:calc(var(--e)*1);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*1.9)}
.ml small{display:block;font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.ox{position:absolute;inset:0;display:grid;gap:calc(var(--e)*1.6);align-content:start;opacity:var(--s,0);transform:translateX(calc((1 - var(--s,0))*calc(var(--e)*6)))}
.ox .cd{padding:calc(var(--e)*1.8) calc(var(--e)*2)}
.tk{display:flex;align-items:center;gap:calc(var(--e)*1.2);padding:calc(var(--e)*1.1) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.4);font-weight:600}
.tk i{width:calc(var(--e)*2.4);height:calc(var(--e)*2.4);border-radius:calc(var(--e)*.8);border:1.5px solid #c9cfc7;display:grid;place-items:center;color:#fff;flex:none;font-size:calc(var(--e)*1.6);background:color-mix(in srgb,#fff,var(--ok) calc(var(--s,0)*100%));border-color:color-mix(in srgb,#c9cfc7,var(--ok) calc(var(--s,0)*100%))}
.tk i .ic{opacity:var(--s,0);stroke-width:3}
.tk small{display:block;font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500}
.tk .bd{margin-left:auto}
.ba{display:grid;grid-template-columns:calc(var(--e)*16) 1fr calc(var(--e)*3);align-items:center;gap:calc(var(--e)*1.2);font-size:calc(var(--e)*1.3);font-weight:600;margin-top:calc(var(--e)*1.2)}
.ba i{display:block;height:calc(var(--e)*1.8);border-radius:calc(var(--e)*.6);background:var(--brand);transform-origin:left;transform:scaleX(var(--s,0))}
.ba i.l{background:var(--brand-dk)}
@media (max-width:760px){
  .so-crm .ui{--ar:.74}
  .so-crm .app{grid-template-columns:1fr}
  .crm{grid-template-columns:1fr;padding:calc(var(--e)*1.6);inset:0}
  .crm__l{position:relative}
  .crm__r{position:absolute;inset:calc(var(--e)*1.6)}
  .crm__s{font-size:calc(var(--e)*1.8);padding:calc(var(--e)*1.2) calc(var(--e)*1.5)}
  .cu{grid-template-columns:calc(var(--e)*5) 1fr auto;padding:calc(var(--e)*1.2) calc(var(--e)*1.4)}.av{width:calc(var(--e)*5);height:calc(var(--e)*5);font-size:calc(var(--e)*1.7)}.cu b{font-size:calc(var(--e)*1.8)}.cu small{font-size:calc(var(--e)*1.4)}.cu em{font-size:calc(var(--e)*1.4)}
  .cu:nth-of-type(n+5){display:none}
  .kc{padding:calc(var(--e)*1.6);background:#fff;border-radius:calc(var(--e)*1.6);border:1px solid var(--line)}.kc__h .av{width:calc(var(--e)*6.4);height:calc(var(--e)*6.4);font-size:calc(var(--e)*2.2)}.kc__h b{font-size:calc(var(--e)*2.6)}.kc__h small{font-size:calc(var(--e)*1.5)}
  .kc__ct{flex-direction:column;gap:calc(var(--e)*.6);font-size:calc(var(--e)*1.5)}.kc__tabs span{font-size:calc(var(--e)*1.5);padding:calc(var(--e)*.9) calc(var(--e)*1.1)}
  .kc__pane{left:calc(var(--e)*1.6);right:calc(var(--e)*1.6);top:calc(var(--e)*24)}
  .tl li{font-size:calc(var(--e)*1.6)}.tl li small{font-size:calc(var(--e)*1.35)}.note{font-size:calc(var(--e)*1.6)}.ml{font-size:calc(var(--e)*1.6)}.ml small{font-size:calc(var(--e)*1.3)}
  .ox{position:absolute;inset:0}.ox .cd{padding:calc(var(--e)*1.4) calc(var(--e)*1.5)}.tk{font-size:calc(var(--e)*1.6)}.tk small{font-size:calc(var(--e)*1.3)}.ba{grid-template-columns:calc(var(--e)*13) 1fr calc(var(--e)*3);font-size:calc(var(--e)*1.5)}
  .crm__r .kc,.crm__r .ox{background:#fff}
}

/* ---- 60-done.css ---- */
/* ---------- 5 · besøget udføres → faktura-kladde ---------- */
.so-done .ui{--ar:1.5}
.tk i{--s:0}
.pnl{left:calc(var(--e)*2);top:calc(var(--e)*3);width:calc(var(--e)*43);height:calc(var(--e)*58);padding:calc(var(--e)*2.6);display:grid;align-content:start;gap:calc(var(--e)*1.8);opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*-4)))}
.pnl__top{display:flex;justify-content:space-between;align-items:center}
.pnl__top .lbl{font-size:calc(var(--e)*1)}
.pnl__x{width:calc(var(--e)*3.2);height:calc(var(--e)*3.2);border-radius:50%;display:grid;place-items:center;color:#7a8494;font-size:calc(var(--e)*1.8);background:#f1f3ef}
.pnl h3{font-size:calc(var(--e)*3);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.pnl__sub{font-size:calc(var(--e)*1.45);color:var(--muted);font-weight:600;margin-top:calc(var(--e)*.5)}
.pnl__st{position:relative;height:calc(var(--e)*3.2);margin-top:calc(var(--e)*-.4)}
.pnl__st .bd{position:absolute;left:0;top:0;font-size:calc(var(--e)*1.3)}
.pnl__st .bd+.bd{opacity:var(--s,0);transform:scale(calc(.8 + var(--s,0)*.2));transform-origin:left}
.pnl__st .bd:first-child{opacity:calc(1 - var(--o,0))}
.pnl__blk{display:grid;gap:calc(var(--e)*.5);border-top:1px solid #eceee9;padding-top:calc(var(--e)*1.3);font-size:calc(var(--e)*1.45);font-weight:600}
.pnl__blk small{font-size:calc(var(--e)*1);color:#8a93a1;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.pnl__blk span{color:var(--muted);font-weight:500;font-size:calc(var(--e)*1.3)}
.pnl__fx{position:relative;height:calc(var(--e)*3.4)}
.pnl__fx>*{position:absolute;left:0;top:0}
.pnl__fx .a{opacity:calc(1 - var(--o,0));color:#8a93a1;font-weight:600}
.pnl__fx .b{opacity:var(--s,0);display:flex;align-items:center;gap:calc(var(--e)*1)}
.pnl__act{position:relative;display:grid;gap:calc(var(--e)*1.4)}
.pnl__act .bt{justify-self:start;font-size:calc(var(--e)*1.6);padding:calc(var(--e)*1.4) calc(var(--e)*3);border-radius:calc(var(--e)*1.3);transform:scale(calc(1 - var(--s,0)*.07));box-shadow:0 0 0 calc(var(--s,0)*calc(var(--e)*1)) rgba(46,107,230,.22);transition:background .3s}
.pnl__act .bt .ic{font-size:calc(var(--e)*2)}
.pnl__act .bt.on{background:var(--ok)}
.pnl__act .bt:first-child{opacity:calc(1 - var(--o,0))}
.pnl__act .bt+.bt{position:absolute;left:0;top:0;opacity:var(--s,0);transform:none;box-shadow:none}
.pnl__info{display:grid;grid-template-columns:calc(var(--e)*3) 1fr;gap:calc(var(--e)*1.2);background:var(--brand-soft);border-radius:calc(var(--e)*1.3);padding:calc(var(--e)*1.4) calc(var(--e)*1.6);font-size:calc(var(--e)*1.35);line-height:1.45;font-weight:500;color:#26406e}
.pnl__info .ic{font-size:calc(var(--e)*2.4);color:var(--brand)}
.cur{position:absolute;width:calc(var(--e)*4.4);height:calc(var(--e)*4.4);z-index:8;pointer-events:none;filter:drop-shadow(0 calc(var(--e)*.3) calc(var(--e)*.6) rgba(13,27,46,.35));left:calc(var(--e)*9);top:calc(var(--e)*2.2);
  transform:translate(calc((1 - var(--cx,1))*calc(var(--e)*17)),calc((1 - var(--cx,1))*calc(var(--e)*12))) scale(calc(1 - var(--pr,0)*.18));transform-origin:0 0;opacity:calc(var(--cx,1)*(1 - var(--cg,0)))}
.cur svg{width:100%;height:100%;fill:#0d1b2e;stroke:#fff;stroke-width:1.4}
.toast{position:absolute;left:50%;margin-left:calc(var(--e)*-12);top:calc(var(--e)*-5.4);display:flex;align-items:center;gap:calc(var(--e)*1.2);background:var(--navy);color:#fff;border-radius:calc(var(--e)*1.4);padding:calc(var(--e)*1.4) calc(var(--e)*2);font-size:calc(var(--e)*1.4);font-weight:700;z-index:9;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*2)));box-shadow:0 calc(var(--e)*1.5) calc(var(--e)*3) rgba(2,8,20,.4)}
.toast i{width:calc(var(--e)*2.4);height:calc(var(--e)*2.4);border-radius:50%;background:var(--ok);display:grid;place-items:center;font-size:calc(var(--e)*1.5)}
.toast i .ic{stroke-width:3}
.inv{left:calc(var(--e)*49);top:calc(var(--e)*3);width:calc(var(--e)*49);height:calc(var(--e)*58);padding:calc(var(--e)*2.6);opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*5)));display:grid;align-content:start;gap:calc(var(--e)*1.6)}
.inv__h{display:flex;justify-content:space-between;align-items:flex-start}
.inv__co{display:flex;gap:calc(var(--e)*1.2);align-items:center;font-size:calc(var(--e)*1.5);font-weight:800;letter-spacing:-.02em}
.inv__co i{width:calc(var(--e)*4);height:calc(var(--e)*4);border-radius:calc(var(--e)*1.1);background:var(--navy);color:#fff;font-style:normal;font-size:calc(var(--e)*1.6);display:grid;place-items:center}
.inv__co small{display:block;font-size:calc(var(--e)*1.05);color:var(--muted);font-weight:600;letter-spacing:0}
.inv__t{text-align:right}
.inv__t b{display:block;font-size:calc(var(--e)*2.6);font-weight:800;letter-spacing:-.03em;margin-bottom:calc(var(--e)*.5)}
.inv__meta{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--e)*1.4);font-size:calc(var(--e)*1.35);font-weight:600;padding:calc(var(--e)*1.4) 0;border-top:1px solid #eceee9;border-bottom:1px solid #eceee9}
.inv__meta small{display:block;font-size:calc(var(--e)*1);color:#8a93a1;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:calc(var(--e)*.3)}
.inv__tb{font-size:calc(var(--e)*1.35);font-weight:600}
.inv__tb div{display:grid;grid-template-columns:1fr calc(var(--e)*6) calc(var(--e)*10) calc(var(--e)*11);gap:calc(var(--e)*1);padding:calc(var(--e)*1) 0;border-bottom:1px solid #eceee9;text-align:right;clip-path:inset(0 calc((1 - var(--s,1))*100%) 0 0)}
.inv__tb div>:first-child{text-align:left}
.inv__tb .hd{font-size:calc(var(--e)*1);color:#8a93a1;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.inv__sum{display:grid;gap:calc(var(--e)*.8);justify-self:end;width:calc(var(--e)*26);font-size:calc(var(--e)*1.4);font-weight:600}
.inv__sum div{display:flex;justify-content:space-between;clip-path:inset(0 calc((1 - var(--s,1))*100%) 0 0)}
.inv__sum span{color:var(--muted)}
.inv__sum .tot{border-top:2px solid var(--navy);padding-top:calc(var(--e)*1);font-size:calc(var(--e)*2.1);font-weight:800;letter-spacing:-.02em}
.inv__sum .tot span{color:var(--navy);font-size:calc(var(--e)*1.4);align-self:flex-end;font-weight:700}
.inv__go{display:flex;gap:calc(var(--e)*1.2);justify-content:flex-end;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*1.5)))}
.inv__go .bt{font-size:calc(var(--e)*1.45);padding:calc(var(--e)*1.2) calc(var(--e)*2.2)}
.ln{position:absolute;left:calc(var(--e)*45);top:calc(var(--e)*30);width:calc(var(--e)*4);height:2px;background:var(--brand);transform-origin:left;transform:scaleX(var(--s,0));z-index:4}
.ln::after{content:"";position:absolute;right:-1px;top:-3px;width:8px;height:8px;border-top:2px solid var(--brand);border-right:2px solid var(--brand);transform:rotate(45deg)}
@media (max-width:760px){
  .so-done .ui{--ar:.48}
  .pnl{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*41.5);height:calc(var(--e)*36);padding:calc(var(--e)*1.8);gap:calc(var(--e)*1);opacity:var(--s,1);transform:none}
  .pnl h3{font-size:calc(var(--e)*2.8)}.pnl__sub{font-size:calc(var(--e)*1.4)}.pnl__blk{font-size:calc(var(--e)*1.6)}.pnl__blk span{font-size:calc(var(--e)*1.35)}.pnl__act .bt{font-size:calc(var(--e)*1.7);padding:calc(var(--e)*1.2) calc(var(--e)*2.4)}
  .pnl__info{font-size:calc(var(--e)*1.3);padding:calc(var(--e)*1.1) calc(var(--e)*1.3)}
  .pnl__cu,.pnl__info{display:none}
  .cur{left:calc(var(--e)*8);top:calc(var(--e)*2.2)}
  .toast{font-size:calc(var(--e)*1.5);left:calc(var(--e)*5);margin-left:0;top:calc(var(--e)*32.5)}
  .inv{left:calc(var(--e)*1);top:calc(var(--e)*39);width:calc(var(--e)*41.5);height:calc(var(--e)*47);padding:calc(var(--e)*1.8);gap:calc(var(--e)*1.3)}
  .inv__co{font-size:calc(var(--e)*1.6)}.inv__t b{font-size:calc(var(--e)*2.5)}.inv__meta{font-size:calc(var(--e)*1.4);padding:calc(var(--e)*1) 0}.inv__tb{font-size:calc(var(--e)*1.4)}.inv__tb div{grid-template-columns:1fr calc(var(--e)*4) calc(var(--e)*8) calc(var(--e)*9);gap:calc(var(--e)*.6);padding:calc(var(--e)*.8) 0}
  .inv__sum{width:calc(var(--e)*28);font-size:calc(var(--e)*1.5)}.inv__sum .tot{font-size:calc(var(--e)*2.2)}.inv__go .bt{font-size:calc(var(--e)*1.5);padding:calc(var(--e)*1) calc(var(--e)*1.8)}
  .ln{display:none}
}

.invph{position:absolute;left:calc(var(--e)*49);top:calc(var(--e)*3);width:calc(var(--e)*49);height:calc(var(--e)*58);border:2px dashed rgba(13,27,46,.22);border-radius:calc(var(--e)*1.8);display:grid;place-items:center;text-align:center;font-size:calc(var(--e)*1.7);font-weight:700;color:rgba(13,27,46,.4);opacity:calc(1 - var(--s,0)*1.4);line-height:1.3}
.invph .ic{font-size:calc(var(--e)*4);margin:0 auto calc(var(--e)*1);display:block}


@media (max-width:760px){.invph{display:grid;left:calc(var(--e)*1);top:calc(var(--e)*39);width:calc(var(--e)*41.5);height:calc(var(--e)*47);font-size:calc(var(--e)*1.5)}}

/* ---- 70-quote.css ---- */
/* ---------- 6 · tilbud, kunden kan sige ja til ---------- */
.so-quote .ui{--ar:1.5}
.so-quote .so-p,.so-quote .so-k{opacity:.9}
.tq{left:calc(var(--e)*2);top:calc(var(--e)*8);width:calc(var(--e)*52);height:calc(var(--e)*46);display:grid;grid-template-rows:calc(var(--e)*6.4) 1fr;opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*-5)));box-shadow:0 calc(var(--e)*3) calc(var(--e)*7) calc(var(--e)*-2) rgba(5,20,60,.45)}
.tq__top{display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--e)*2.2);border-bottom:1px solid var(--line)}
.tq__top b{font-size:calc(var(--e)*2.3);font-weight:800;letter-spacing:-.02em}
.tq__top span{font-size:calc(var(--e)*1.4);font-weight:700;color:var(--muted)}
.tq__b{padding:calc(var(--e)*1.6) calc(var(--e)*2.4)}
.tqr{display:grid;grid-template-columns:1.7fr auto auto;gap:calc(var(--e)*1.4);align-items:center;padding:calc(var(--e)*2) 0;border-top:1px solid #eceee9;font-size:calc(var(--e)*1.7)}
.tqr b{display:block;font-weight:700;line-height:1.2}
.tqr small{font-size:calc(var(--e)*1.35);color:var(--muted);font-weight:500}
.tqr em{font-style:normal;font-weight:800;font-size:calc(var(--e)*1.8);white-space:nowrap}
.tqr--hot{position:relative;isolation:isolate}
.tqr--hot::before{content:"";position:absolute;inset:0 calc(var(--e)*-2.4);z-index:-1;background:linear-gradient(90deg,var(--brand-soft),rgba(232,239,253,0));box-shadow:inset 3px 0 0 var(--brand)}
.tqr .st{position:relative;display:inline-block;height:calc(var(--e)*3.2);min-width:calc(var(--e)*12)}
.tqr .st .bd{position:absolute;right:0;top:0}
.tqr .st .bd+.bd{opacity:var(--s,0);transform:scale(calc(.8 + var(--s,0)*.2));transform-origin:right}
.tqr .st .bd:first-child{opacity:calc(1 - var(--o,0))}
.tq__chips{display:flex;flex-wrap:wrap;gap:calc(var(--e)*1);margin-top:calc(var(--e)*2.6)}
.tq__chips .bd{font-size:calc(var(--e)*1.45);padding:calc(var(--e)*.9) calc(var(--e)*1.5);--bgc:#f1f3ef;--fgc:#42505f}
.tq__chips .bd .ic{font-size:calc(var(--e)*1.5);color:var(--brand)}
.sph--q{left:calc(var(--e)*60);top:calc(var(--e)*1);width:calc(var(--e)*32);height:calc(var(--e)*62);opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*6))) rotate(calc((1 - var(--s,1))*2deg))}
.sq{padding:calc(var(--e)*2.2) calc(var(--e)*2.2);position:absolute;inset:calc(var(--e)*10.6) 0 0 0}
.sq .h4{font-size:calc(var(--e)*1.9);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.sq__s{font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:600;margin:calc(var(--e)*.6) 0 calc(var(--e)*1.4)}
.op{display:grid;grid-template-columns:calc(var(--e)*2.2) 1fr;gap:calc(var(--e)*1.2);border:1.5px solid var(--line);border-radius:calc(var(--e)*1.4);padding:calc(var(--e)*1.3) calc(var(--e)*1.4);margin-bottom:calc(var(--e)*1);
  border-color:color-mix(in srgb,var(--line),var(--brand) calc(var(--s,0)*100%));background:color-mix(in srgb,#fff,var(--brand-soft) calc(var(--s,0)*100%))}
.op i{width:calc(var(--e)*2.2);height:calc(var(--e)*2.2);border-radius:50%;border:2px solid #c9cfc7;margin-top:calc(var(--e)*.2);display:grid;place-items:center;border-color:color-mix(in srgb,#c9cfc7,var(--brand) calc(var(--s,0)*100%))}
.op i::after{content:"";width:calc(var(--e)*1);height:calc(var(--e)*1);border-radius:50%;background:var(--brand);transform:scale(var(--s,0))}
.op b{display:block;font-size:calc(var(--e)*1.35);font-weight:800;line-height:1.2}
.op small{display:block;font-size:calc(var(--e)*1.05);color:var(--muted);font-weight:600;line-height:1.35;margin-top:calc(var(--e)*.2)}
.op--2{--s:0}
.sq__sig{margin-top:calc(var(--e)*1.6);opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*1.5)))}
.sq__sig small{display:block;font-size:calc(var(--e)*1);color:#8a93a1;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:calc(var(--e)*.5)}
.sq__sig b{display:block;border-bottom:2px solid var(--navy);padding-bottom:calc(var(--e)*.5);font-size:calc(var(--e)*2.1);font-weight:700;font-style:italic;min-height:1.3em;font-family:"Segoe Script","Bradley Hand","Brush Script MT",cursive;color:var(--brand)}
.sq__go{position:absolute;left:calc(var(--e)*2.2);right:calc(var(--e)*2.2);bottom:calc(var(--e)*3);opacity:calc(var(--s,0)*(1 - var(--o,0)))}
.sq__go .bt{width:100%;font-size:calc(var(--e)*1.5);padding:calc(var(--e)*1.4);border-radius:calc(var(--e)*1.4);transform:scale(calc(1 - var(--p2,0)*.05))}
.stamp{position:absolute;left:calc(var(--e)*5);right:calc(var(--e)*5);top:calc(var(--e)*48);border:3px solid var(--ok);color:var(--ok);border-radius:calc(var(--e)*1.2);padding:calc(var(--e)*.9) calc(var(--e)*1);text-align:center;font-weight:900;font-size:calc(var(--e)*1.7);letter-spacing:.04em;text-transform:uppercase;line-height:1.1;background:rgba(255,255,255,.92);white-space:nowrap;transform:rotate(-7deg) scale(calc(1.9 - var(--s,0)*.9));opacity:var(--s,0);z-index:4}
.stamp small{display:block;font-size:calc(var(--e)*1.2);letter-spacing:.1em;font-weight:700;margin-top:calc(var(--e)*.4)}
.fu{position:absolute;left:calc(var(--e)*8);top:calc(var(--e)*60);display:flex;align-items:center;gap:calc(var(--e)*1.3);background:var(--navy);color:#fff;border-radius:calc(var(--e)*1.4);padding:calc(var(--e)*1.3) calc(var(--e)*2);font-size:calc(var(--e)*1.4);font-weight:700;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*2)));z-index:3}
.fu .ic{font-size:calc(var(--e)*2.2);color:var(--brand-dk)}
.fu small{display:block;font-size:calc(var(--e)*1.1);font-weight:500;color:#aab7cc}
@media (max-width:760px){
  .so-quote .ui{--ar:.55}
  .tq{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*41.5);height:calc(var(--e)*21);opacity:var(--s,1);transform:none;grid-template-rows:calc(var(--e)*5) 1fr}
  .tq__top{padding:0 calc(var(--e)*1.6)}.tq__top b{font-size:calc(var(--e)*1.9)}.tq__top span{font-size:calc(var(--e)*1.2)}
  .tq__b{padding:calc(var(--e)*.6) calc(var(--e)*1.6)}
  .tqr{grid-template-columns:1.6fr auto;font-size:calc(var(--e)*1.4);gap:calc(var(--e)*.8);padding:calc(var(--e)*1.1) 0}.tqr em{display:none}.tqr small{font-size:calc(var(--e)*1.15)}
  .tqr--hot::before{inset:0 calc(var(--e)*-1.6)}
  .tq__chips{display:none}
  .sph--q{left:calc(var(--e)*8.5);top:calc(var(--e)*23.5);width:calc(var(--e)*26.5);height:calc(var(--e)*54);opacity:var(--s,1);transform:none}
  .op{padding:calc(var(--e)*.9) calc(var(--e)*1.2);margin-bottom:calc(var(--e)*.7)}.op small{font-size:calc(var(--e)*.95);line-height:1.25}.op b{font-size:calc(var(--e)*1.4)}
  .sq{inset:calc(var(--e)*10.6) 0 0 0;padding:calc(var(--e)*1.6)}.sq .h4{font-size:calc(var(--e)*1.9)}.sq__s{font-size:calc(var(--e)*1.15);margin:calc(var(--e)*.4) 0 calc(var(--e)*.9)}.sq__sig{margin-top:calc(var(--e)*.8)}.sq__go{bottom:calc(var(--e)*1.4)}.sq__go .bt{padding:calc(var(--e)*1.1);font-size:calc(var(--e)*1.4)}
  .hd{font-size:calc(var(--e)*1.3)}.hd b{width:calc(var(--e)*2.6);height:calc(var(--e)*2.6)}.hd em{font-size:calc(var(--e)*.9);padding:calc(var(--e)*.3) calc(var(--e)*.8)}
  .stamp{top:calc(var(--e)*41);font-size:calc(var(--e)*1.45);left:calc(var(--e)*4);right:calc(var(--e)*4)}
  .fu{left:calc(var(--e)*2);top:calc(var(--e)*15.5);font-size:calc(var(--e)*1.4);padding:calc(var(--e)*1) calc(var(--e)*1.4);opacity:var(--s,0)}
}

/* ---- 80-invoice.css ---- */
/* ---------- 7 · faktura og Dinero ---------- */
.so-inv .ui{--ar:1.34}
.fx__a{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*42);height:calc(var(--e)*30);padding:calc(var(--e)*2) calc(var(--e)*2.4);display:grid;align-content:start;gap:calc(var(--e)*1.2)}
.fx__b{left:calc(var(--e)*57);top:calc(var(--e)*1);width:calc(var(--e)*42);height:calc(var(--e)*30);padding:calc(var(--e)*2) calc(var(--e)*2.4);display:grid;align-content:start;gap:calc(var(--e)*1.2);background:#f7f7ff}
.fx__t{display:flex;align-items:center;justify-content:space-between;font-size:calc(var(--e)*1.2);font-weight:700;color:#7a8494;letter-spacing:.1em;text-transform:uppercase}
.fx__t .bd{letter-spacing:0;text-transform:none;font-size:calc(var(--e)*1)}
.fx__n{font-size:calc(var(--e)*2.4);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.fx__n small{display:block;font-size:calc(var(--e)*1.4);font-weight:600;color:var(--muted);letter-spacing:0;margin-top:calc(var(--e)*.4)}
.fx__amt{font-size:calc(var(--e)*3.4);font-weight:800;letter-spacing:-.03em;line-height:1}
.fx__st{position:relative;height:calc(var(--e)*3.4)}
.fx__st .bd{position:absolute;left:0;top:0;font-size:calc(var(--e)*1.4);opacity:calc(var(--s,1)*(1 - var(--o,0)));transform:scale(calc(.85 + var(--s,1)*.15 - var(--o,0)*.1));transform-origin:left}
.dots{display:flex;align-items:center;gap:calc(var(--e)*.6);font-size:calc(var(--e)*1.05);font-weight:700;color:#8a93a1}
.dots i{width:calc(var(--e)*1.2);height:calc(var(--e)*1.2);border-radius:50%;background:color-mix(in srgb,#dde1db,var(--brand) calc(var(--s,0)*100%));flex:none}
.dots b{flex:1;height:2px;background:#dde1db;position:relative}
.dots b::after{content:"";position:absolute;inset:0;background:var(--brand);transform-origin:left;transform:scaleX(var(--s,0))}
.dots span{white-space:nowrap}
.fx__mid{position:absolute;left:calc(var(--e)*43);top:calc(var(--e)*10);width:calc(var(--e)*14);height:calc(var(--e)*10)}
.fx__mid::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 6px,transparent 6px 12px)}
.fx__dot{position:absolute;left:0;top:50%;width:calc(var(--e)*4.2);height:calc(var(--e)*3);margin-top:calc(var(--e)*-1.5);border-radius:calc(var(--e)*.8);background:#fff;color:var(--navy);display:grid;place-items:center;font-size:calc(var(--e)*1.3);box-shadow:0 calc(var(--e)*.6) calc(var(--e)*1.4) rgba(0,0,0,.3);
  transform:translateX(calc(var(--g1,0)*calc(var(--e)*10) - var(--g2,0)*calc(var(--e)*10)));opacity:calc(var(--g1,0)*(1 - var(--g1x,0)) + var(--g2,0)*(1 - var(--g2x,0)))}
.fx__dot .ic{font-size:calc(var(--e)*1.7)}
.fx__lb{position:absolute;left:calc(var(--e)*-3);right:calc(var(--e)*-3);top:calc(var(--e)*-3.2);text-align:center;font-size:calc(var(--e)*1.15);font-weight:700;color:#aab7cc;line-height:1.25}
.fx__lb2{position:absolute;left:calc(var(--e)*-3);right:calc(var(--e)*-3);bottom:calc(var(--e)*-3.8);text-align:center;font-size:calc(var(--e)*1.15);font-weight:700;color:#aab7cc;line-height:1.25}
.ov{left:calc(var(--e)*1);top:calc(var(--e)*34);width:calc(var(--e)*98);height:calc(var(--e)*38);padding:calc(var(--e)*2) calc(var(--e)*2.4);display:grid;grid-template-rows:auto auto 1fr;gap:calc(var(--e)*1.2);opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*4)))}
.ov__h{display:flex;align-items:center;justify-content:space-between}
.ov__h b{font-size:calc(var(--e)*2.2);font-weight:800;letter-spacing:-.03em}
.ov__f{display:flex;gap:calc(var(--e)*.8)}
.ov__f span{font-size:calc(var(--e)*1.3);font-weight:700;color:#5b6676;padding:calc(var(--e)*.7) calc(var(--e)*1.4);border-radius:calc(var(--e)*1);background:#f1f3ef;transition:background .3s,color .3s}
.ov__f span.on{background:var(--navy);color:#fff}
.ov__f span.hot{background:color-mix(in srgb,#f1f3ef,var(--bad) calc(var(--f,0)*100%));color:color-mix(in srgb,#5b6676,#fff calc(var(--f,0)*100%))}
.ov__f span.all{background:color-mix(in srgb,var(--navy),#f1f3ef calc(var(--f,0)*100% - var(--g,0)*100%));color:color-mix(in srgb,#fff,#5b6676 calc(var(--f,0)*100% - var(--g,0)*100%))}
.ov__r{display:grid;grid-template-columns:calc(var(--e)*7) 1.6fr 1.3fr 1.1fr calc(var(--e)*16);gap:calc(var(--e)*1.4);align-items:center;font-size:calc(var(--e)*1.45);padding:calc(var(--e)*1.1) 0;border-top:1px solid #eceee9}
.ov__r b{font-weight:700}
.ov__r small{display:block;font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:500}
.ov__r time{font-size:calc(var(--e)*1.2);color:var(--muted);font-weight:600}
.ov__r--x{opacity:calc(1 - var(--f,0)*.78 + var(--g,0)*.78)}
.ov__r--k{background:linear-gradient(90deg,transparent,rgba(184,58,46,calc(var(--f,0)*.09 - var(--g,0)*.09)),transparent)}
.pg{height:calc(var(--e)*.9);border-radius:99px;background:#eceee9;overflow:hidden;margin-top:calc(var(--e)*.6);width:calc(var(--e)*22)}
.pg i{display:block;height:100%;width:47.5%;background:var(--brand)}
.ov__r .r{text-align:right;font-weight:800}
@media (max-width:760px){
  .so-inv .ui{--ar:.5}
  .fx__a{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*41.5);height:calc(var(--e)*21);padding:calc(var(--e)*1.6) calc(var(--e)*1.8);gap:calc(var(--e)*.9);opacity:1}
  .fx__b{left:calc(var(--e)*1);top:calc(var(--e)*28);width:calc(var(--e)*41.5);height:calc(var(--e)*14);padding:calc(var(--e)*1.6) calc(var(--e)*1.8);gap:calc(var(--e)*.8);opacity:var(--s,1);transform:none}
  .fx__n{font-size:calc(var(--e)*2.4)}.fx__n small{font-size:calc(var(--e)*1.4)}.fx__amt{font-size:calc(var(--e)*3.4)}.fx__t{font-size:calc(var(--e)*1.3)}.fx__st .bd{font-size:calc(var(--e)*1.5)}.dots{font-size:calc(var(--e)*1.15)}
  .fx__mid{left:calc(var(--e)*1);top:calc(var(--e)*22);width:calc(var(--e)*41.5);height:calc(var(--e)*6)}
  .fx__mid::before{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.45) 0 5px,transparent 5px 10px)}
  .fx__dot{left:50%;top:0;margin:0 0 0 calc(var(--e)*-2.1);transform:translateY(calc(var(--g1,0)*calc(var(--e)*4) - var(--g2,0)*calc(var(--e)*4)))}
  .fx__lb{left:calc(var(--e)*1);right:auto;top:calc(var(--e)*.6);width:calc(var(--e)*17);text-align:left;font-size:calc(var(--e)*1.15)}
  .fx__lb2{left:auto;right:calc(var(--e)*1);bottom:calc(var(--e)*.6);width:calc(var(--e)*17);text-align:right;font-size:calc(var(--e)*1.15)}
  .ov{left:calc(var(--e)*1);top:calc(var(--e)*44);width:calc(var(--e)*41.5);height:calc(var(--e)*38);padding:calc(var(--e)*1.6) calc(var(--e)*1.8);gap:calc(var(--e)*.8);opacity:var(--s,1);transform:none}
  .ov__h b{font-size:calc(var(--e)*2.3)}.ov__f{display:none}
  .ov__r{grid-template-columns:1.5fr auto auto;gap:calc(var(--e)*1);font-size:calc(var(--e)*1.5);padding:calc(var(--e)*1.2) 0}
  .ov__r>*:nth-child(1),.ov__r>*:nth-child(4){display:none}
  .ov__r small{font-size:calc(var(--e)*1.25)}.ov__r .r{font-size:calc(var(--e)*1.5)}
  .ov__r .bd{font-size:calc(var(--e)*1.2)}.pg{width:calc(var(--e)*12)}
}
.fx__st--m{margin-top:calc(var(--e)*1)}

/* ---- 90-auto.css ---- */
/* ---------- 8 · det kører af sig selv ---------- */
.so-auto .ui{--ar:1.5}
.fx__b{opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*4)))}
.ov__r>.bd,.ov__r>div>.bd{justify-self:start}
.tm{position:absolute;left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*56);height:calc(var(--e)*62)}
.tm__l{position:absolute;left:calc(var(--e)*11.4);top:calc(var(--e)*2);bottom:calc(var(--e)*2);width:3px;border-radius:3px;background:rgba(13,27,46,.12)}
.tm__l i{position:absolute;inset:0;background:var(--brand);transform-origin:top;transform:scaleY(var(--s,0));border-radius:3px}
.ev2{position:absolute;left:0;right:0;top:calc(var(--e)*var(--y));display:grid;grid-template-columns:calc(var(--e)*10) calc(var(--e)*3.6) 1fr;gap:calc(var(--e)*1.4);align-items:start;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*2.4)))}
.ev2 time{text-align:right;font-size:calc(var(--e)*1.2);font-weight:700;color:var(--muted);line-height:1.25;padding-top:calc(var(--e)*1)}
.ev2 time b{display:block;font-size:calc(var(--e)*1.5);color:var(--navy);font-weight:800}
.ev2__i{width:calc(var(--e)*3.6);height:calc(var(--e)*3.6);border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:calc(var(--e)*1.9);margin-top:calc(var(--e)*.5);box-shadow:0 0 0 calc(var(--e)*.7) var(--canvas);position:relative;z-index:2;transform:scale(calc(.4 + var(--s,0)*.6))}
.ev2--w .ev2__i{background:var(--warn)}.ev2--k .ev2__i{background:var(--ok)}.ev2--b .ev2__i{background:var(--bad)}
.ev2__c{padding:calc(var(--e)*1.2) calc(var(--e)*1.6);font-size:calc(var(--e)*1.4);font-weight:700;line-height:1.25;background:#fff;border:1px solid var(--line);border-radius:calc(var(--e)*1.3);box-shadow:0 1px 2px rgba(13,27,46,.04)}
.ev2__c small{display:block;font-size:calc(var(--e)*1.15);color:var(--muted);font-weight:500;margin-top:calc(var(--e)*.3)}
.ev2__c .bd{margin-top:calc(var(--e)*.7);font-size:calc(var(--e)*1.05)}
.au{position:absolute;left:calc(var(--e)*60);top:calc(var(--e)*1);width:calc(var(--e)*39);display:grid;gap:calc(var(--e)*1.1);align-content:start}
.au__t{font-size:calc(var(--e)*1.2);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:calc(var(--e)*.4)}
.aui{display:grid;grid-template-columns:calc(var(--e)*4) 1fr auto;gap:calc(var(--e)*1.3);align-items:center;padding:calc(var(--e)*1.2) calc(var(--e)*1.5);border-radius:calc(var(--e)*1.3);background:#fff;border:1px solid var(--line);font-size:calc(var(--e)*1.4);font-weight:700;line-height:1.2;
  --a:var(--s,0);border-color:color-mix(in srgb,var(--line),var(--brand) calc(var(--a)*100%));box-shadow:0 0 0 calc(var(--a)*3px) rgba(46,107,230,.14)}
.aui i{width:calc(var(--e)*4);height:calc(var(--e)*4);border-radius:calc(var(--e)*1.1);background:color-mix(in srgb,#eef0ed,var(--brand) calc(var(--a)*100%));color:color-mix(in srgb,#7a8494,#fff calc(var(--a)*100%));display:grid;place-items:center;font-size:calc(var(--e)*2.1)}
.aui small{display:block;font-size:calc(var(--e)*1.1);color:var(--muted);font-weight:500;margin-top:calc(var(--e)*.2)}
.aui .bd{opacity:calc(.3 + var(--a)*.7)}
@media (max-width:760px){
  .so-auto .ui{--ar:.74}
  .tm{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*41.5);height:calc(var(--e)*57)}
  .tm__l{left:calc(var(--e)*8.4)}
  .ev2{grid-template-columns:calc(var(--e)*7.4) calc(var(--e)*3.4) 1fr;gap:calc(var(--e)*1)}
  .ev2 time{font-size:calc(var(--e)*1.3)}.ev2 time b{font-size:calc(var(--e)*1.6)}
  .ev2__c{font-size:calc(var(--e)*1.6);padding:calc(var(--e)*1) calc(var(--e)*1.3)}.ev2__c small{font-size:calc(var(--e)*1.3)}
  .ev2__i{width:calc(var(--e)*3.4);height:calc(var(--e)*3.4);font-size:calc(var(--e)*1.8)}
  .ev2[data-m]{display:none}
  .au{display:none}
}

/* ---- a0-portal.css ---- */
/* ---------- 9 · Min side (kundens egen side) ---------- */
.so-portal .ui{--ar:1.5}
.sph--p{left:calc(var(--e)*35);top:calc(var(--e)*0);width:calc(var(--e)*30);height:calc(var(--e)*66)}
.pst{position:absolute;left:0;right:0;top:calc(var(--e)*10.6);transform:translateY(calc(var(--sc,0)*calc(var(--e)*-31)));padding:calc(var(--e)*1.6) calc(var(--e)*2) calc(var(--e)*6);display:grid;gap:calc(var(--e)*1.6)}
.pst .h4{font-size:calc(var(--e)*2.4);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.pst .h4 small{display:block;font-size:calc(var(--e)*1.3);color:var(--muted);font-weight:600;letter-spacing:0;margin-top:calc(var(--e)*.4)}
.pst__s{font-size:calc(var(--e)*1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a93a1;margin-top:calc(var(--e)*1)}
.pcd{border:1px solid var(--line);border-radius:calc(var(--e)*1.5);padding:calc(var(--e)*1.5) calc(var(--e)*1.6);display:grid;gap:calc(var(--e)*1);background:#fff;box-shadow:0 1px 2px rgba(13,27,46,.04)}
.pcd b{font-size:calc(var(--e)*1.55);font-weight:800;line-height:1.2}
.pcd small{display:block;font-size:calc(var(--e)*1.2);color:var(--muted);font-weight:600;line-height:1.35}
.pcd__r{display:flex;gap:calc(var(--e)*1)}
.pcd__r .bt{font-size:calc(var(--e)*1.3);padding:calc(var(--e)*1) calc(var(--e)*1.6);border-radius:calc(var(--e)*1.1);flex:1}
.pcd .bd{justify-self:start}
.pcd__top{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(var(--e)*1)}
.lg{position:absolute;inset:calc(var(--e)*10.6) 0 0 0;min-width:0;background:#fff;padding:calc(var(--e)*3) calc(var(--e)*2.4);display:grid;align-content:start;gap:calc(var(--e)*1.6);z-index:4;opacity:calc(1 - var(--o,0));transform:translateY(calc(var(--o,0)*calc(var(--e)*-6)))}
.lg img{width:calc(var(--e)*6);height:calc(var(--e)*6)}
.lg .h4{font-size:calc(var(--e)*2.6);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.lg p{font-size:calc(var(--e)*1.3);color:var(--muted);font-weight:500}
.lg__f{min-width:0;overflow:hidden;white-space:nowrap;border:1.5px solid color-mix(in srgb,var(--line),var(--brand) calc(var(--s,0)*100%));border-radius:calc(var(--e)*1.3);padding:calc(var(--e)*1.2) calc(var(--e)*1.5);font-size:calc(var(--e)*1.6);letter-spacing:.2em;min-height:calc(var(--e)*4.4);font-weight:700}
.lg__f small{display:block;font-size:calc(var(--e)*1);letter-spacing:.1em;font-weight:700;color:#8a93a1;text-transform:uppercase;margin-bottom:calc(var(--e)*.3)}
.lg .bt{width:100%;font-size:calc(var(--e)*1.5);padding:calc(var(--e)*1.4);border-radius:calc(var(--e)*1.4);transform:scale(calc(1 - var(--p3,0)*.05))}
.pc{position:absolute;top:calc(var(--e)*var(--t,0));display:flex;align-items:center;gap:calc(var(--e)*1.3);background:#fff;color:var(--navy);border-radius:calc(var(--e)*1.4);padding:calc(var(--e)*1.2) calc(var(--e)*1.8);font-size:calc(var(--e)*1.5);font-weight:700;box-shadow:0 calc(var(--e)*1.4) calc(var(--e)*3) rgba(2,8,20,.35);white-space:nowrap;opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0))*calc(var(--e)*2)))}
.pc i{width:calc(var(--e)*3.4);height:calc(var(--e)*3.4);border-radius:calc(var(--e)*1);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*2)}
.pc small{display:block;font-size:calc(var(--e)*1.1);font-weight:500;color:var(--muted)}
.pc--l{right:calc(var(--e)*70)}.pc--r{left:calc(var(--e)*70)}
@media (max-width:760px){
  .so-portal .ui{--ar:.74}
  .sph--p{left:calc(var(--e)*7.5);top:calc(var(--e)*.5);width:calc(var(--e)*28.5);height:calc(var(--e)*58)}
  .sph--p .sph__scr::before{width:calc(var(--e)*6.2);height:calc(var(--e)*2);margin-left:calc(var(--e)*-3.1);top:calc(var(--e)*1)}
    .pst{top:calc(var(--e)*10.6);transform:translateY(calc(var(--sc,0)*calc(var(--e)*-30)));padding:calc(var(--e)*1.4) calc(var(--e)*1.6);gap:calc(var(--e)*1.3)}
  .pst .h4{font-size:calc(var(--e)*2.2)}.pst .h4 small{font-size:calc(var(--e)*1.2)}.pcd b{font-size:calc(var(--e)*1.45)}.pcd small{font-size:calc(var(--e)*1.1)}.pcd__r .bt{font-size:calc(var(--e)*1.2)}.pst__s{font-size:calc(var(--e)*.95)}
  .lg{inset:calc(var(--e)*10.6) 0 0 0;padding:calc(var(--e)*2) calc(var(--e)*1.8)}.lg .h4{font-size:calc(var(--e)*2.3)}.lg p{font-size:calc(var(--e)*1.2)}.lg__f{font-size:calc(var(--e)*1.5)}
  .pc{display:none}
}

/* ---- b0-eng.css ---- */
/* ---------- 10 · under motorhjelmen ---------- */
.so-eng .ui{--ar:1.5}
.bn{padding:calc(var(--e)*2.2) calc(var(--e)*2.4);display:grid;align-content:start;gap:calc(var(--e)*.9);opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*3))) scale(calc(.97 + var(--s,1)*.03))}
.bn__k{font-size:calc(var(--e)*1.15);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8494}
.bn__t{font-size:calc(var(--e)*1.9);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.bn__s{font-size:calc(var(--e)*1.4);color:var(--muted);font-weight:500;line-height:1.4}
.bn__ic{width:calc(var(--e)*5);height:calc(var(--e)*5);border-radius:calc(var(--e)*1.4);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:calc(var(--e)*2.8);margin-bottom:calc(var(--e)*.6)}
.bn__ic--t{font-size:calc(var(--e)*2);font-weight:800;letter-spacing:-.02em}
.bn__big{font-size:calc(var(--e)*12);font-weight:800;letter-spacing:-.06em;line-height:.9;color:var(--brand)}
.bn--a{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*47);height:calc(var(--e)*43)}
.bn--b{left:calc(var(--e)*50);top:calc(var(--e)*1);width:calc(var(--e)*49);height:calc(var(--e)*21)}
.bn--c{left:calc(var(--e)*50);top:calc(var(--e)*24);width:calc(var(--e)*24);height:calc(var(--e)*20)}
.bn--d{left:calc(var(--e)*75);top:calc(var(--e)*24);width:calc(var(--e)*24);height:calc(var(--e)*20)}
.bn--e{left:calc(var(--e)*1);top:calc(var(--e)*46);width:calc(var(--e)*31);height:calc(var(--e)*19)}
.bn--f{left:calc(var(--e)*34);top:calc(var(--e)*46);width:calc(var(--e)*32);height:calc(var(--e)*19)}
.bn--g{left:calc(var(--e)*68);top:calc(var(--e)*46);width:calc(var(--e)*31);height:calc(var(--e)*19)}
.dg2{display:grid;grid-template-columns:repeat(26,1fr);gap:calc(var(--e)*.45);margin-top:calc(var(--e)*1.2);--s:0}
.dg2 i{aspect-ratio:1;border-radius:calc(var(--e)*.25);background:color-mix(in srgb,#e3e6e0,var(--ok) calc(clamp(0,(var(--s,0)*212 - var(--k)),1)*100%))}
.mt3{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:calc(var(--e)*.8);margin:calc(var(--e)*.8) 0}
.mt3__c{display:grid;justify-items:center;gap:calc(var(--e)*.7);font-size:calc(var(--e)*1.15);font-weight:700;text-align:center;line-height:1.2;opacity:var(--s,1);transform:translateY(calc((1 - var(--s,1))*calc(var(--e)*1.5)))}
.mt3__c i{width:calc(var(--e)*5.4);height:calc(var(--e)*5.4);border-radius:calc(var(--e)*1.4);background:var(--navy);color:#fff;font-style:normal;font-weight:800;font-size:calc(var(--e)*2.2);display:grid;place-items:center}
.mt3__x{color:#9aa3b0;font-size:calc(var(--e)*2.2)}
.lgl{display:grid;gap:calc(var(--e)*.7);margin-top:calc(var(--e)*.4)}
.lgl i{display:block;height:calc(var(--e)*1.3);border-radius:calc(var(--e)*.4);background:#e3e6e0;position:relative;opacity:var(--s,1);transform:translateX(calc((1 - var(--s,1))*calc(var(--e)*-2)))}
.lgl i::before{content:"";position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:calc(var(--e)*.4);background:var(--brand-soft)}
.lgl i:nth-child(2){width:84%}.lgl i:nth-child(3){width:68%}
@media (max-width:760px){
  .so-eng .ui{--ar:.54}
  .bn{padding:calc(var(--e)*1.6) calc(var(--e)*1.8);gap:calc(var(--e)*.6)}
  .bn__k{font-size:calc(var(--e)*1.3)}.bn__t{font-size:calc(var(--e)*1.8);line-height:1.15}.bn__s{font-size:calc(var(--e)*1.35)}
  .bn__ic{width:calc(var(--e)*4.6);height:calc(var(--e)*4.6);font-size:calc(var(--e)*2.6);margin-bottom:calc(var(--e)*.5)}
  .bn__big{font-size:calc(var(--e)*9.5)}
  .bn--a{left:calc(var(--e)*1);top:calc(var(--e)*1);width:calc(var(--e)*41.5);height:calc(var(--e)*25)}
  .bn--a .bn__s{display:none}
  .dg2{grid-template-columns:repeat(30,1fr);gap:calc(var(--e)*.4);margin-top:calc(var(--e)*.8)}
  .bn--b{left:calc(var(--e)*1);top:calc(var(--e)*27);width:calc(var(--e)*41.5);height:calc(var(--e)*11)}
  .bn--b .bn__s{display:none}.mt3{margin:calc(var(--e)*.2) 0}.mt3__c i{width:calc(var(--e)*3.8);height:calc(var(--e)*3.8);font-size:calc(var(--e)*1.8)}.mt3__c{font-size:calc(var(--e)*1.15)}
  .bn--c{left:calc(var(--e)*1);top:calc(var(--e)*39.5);width:calc(var(--e)*20.4);height:calc(var(--e)*12.5)}.bn--d{left:calc(var(--e)*22.1);top:calc(var(--e)*39.5);width:calc(var(--e)*20.4);height:calc(var(--e)*12.5)}
  .bn--e{left:calc(var(--e)*1);top:calc(var(--e)*53.5);width:calc(var(--e)*20.4);height:calc(var(--e)*12.5)}.bn--f{left:calc(var(--e)*22.1);top:calc(var(--e)*53.5);width:calc(var(--e)*20.4);height:calc(var(--e)*12.5)}
  .bn--g{left:calc(var(--e)*1);top:calc(var(--e)*67.5);width:calc(var(--e)*41.5);height:calc(var(--e)*8.5);grid-template-columns:calc(var(--e)*4.6) 1fr;align-items:center;column-gap:calc(var(--e)*1.4)}
  .bn--g .bn__ic{grid-row:1/3;margin:0}.bn--g .bn__s{font-size:calc(var(--e)*1.3)}
  .bn--c .bn__s,.bn--d .bn__s,.bn--e .bn__s,.bn--f .bn__s{display:none}
  .bn--e .lgl{display:none}
}

/* ---- c0-all.css ---- */
/* ---------- 11 · alle funktioner ---------- */
.so-all{position:relative;z-index:2;background:var(--nat);color:#fff;padding:clamp(80px,11vw,180px) 0 clamp(70px,9vw,140px)}
.so-all__h{font:800 clamp(40px,7vw,128px)/.92 var(--sf);letter-spacing:-.05em;margin:22px 0 clamp(18px,2.4vw,32px)}
.so-all__p{font:500 clamp(16px,1.35vw,21px)/1.5 var(--sf);max-width:34em;color:#b6c2d4}
.so-all__f{display:flex;flex-wrap:wrap;gap:10px;margin:clamp(28px,3.6vw,48px) 0 clamp(20px,2.6vw,34px)}
.so-all__f input{position:absolute;opacity:0;pointer-events:none}
.so-all__f label{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:99px;border:1px solid rgba(255,255,255,.2);font:700 14px/1 var(--sf);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.so-all__f label b{font-weight:600;opacity:.6}
.so-all__f label:hover{border-color:rgba(255,255,255,.5)}
.so-all__f input:checked+label{background:#fff;color:var(--nat);border-color:#fff}
.so-all__f input:focus-visible+label{outline:2px solid var(--brand-dk);outline-offset:3px}
.so-all__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.ft{position:relative;display:grid;align-content:start;gap:10px;padding:clamp(22px,2.2vw,32px);border-radius:clamp(18px,1.8vw,26px);background:#0f2038;border:1px solid rgba(255,255,255,.09)}
.ft[data-reveal]{transition:opacity .9s var(--ease) calc(var(--i)*.08s),transform .9s var(--ease) calc(var(--i)*.08s),border-color .4s,background .4s}
.ft.in:hover{transform:translateY(-5px);border-color:rgba(127,162,255,.55);background:#12294a;transition-delay:0s}
.so-all:has(#fl-booking:checked) .ft:not([data-cat="booking"]),
.so-all:has(#fl-kunder:checked) .ft:not([data-cat="kunder"]),
.so-all:has(#fl-oekonomi:checked) .ft:not([data-cat="oekonomi"]),
.so-all:has(#fl-auto:checked) .ft:not([data-cat="auto"]),
.so-all:has(#fl-drift:checked) .ft:not([data-cat="drift"]){display:none}
.so-all:has(input[name="fl"]:not(#fl-all):checked) .ft{animation:ftIn .6s var(--ease) both}
@keyframes ftIn{from{opacity:0;transform:translateY(16px)}}
.ft__i{width:46px;height:46px;border-radius:14px;background:rgba(127,162,255,.14);color:var(--brand-dk);display:grid;place-items:center;font-size:24px;margin-bottom:10px;transition:background .4s,color .4s}
.ft.in:hover .ft__i{background:var(--brand);color:#fff}
.ft__a{font:700 11px/1 var(--sf);letter-spacing:.16em;text-transform:uppercase;color:var(--brand-dk)}
.ft__t{font:800 clamp(20px,1.7vw,27px)/1.1 var(--sf);letter-spacing:-.03em}
.ft__d{font:500 15px/1.5 var(--sf);color:#aab7cc}
.so-all__end{margin-top:clamp(56px,8vw,120px);display:grid;gap:20px;justify-items:start}
.so-all__end img{width:min(78vw,420px);height:auto}
.so-all__end p{font:800 clamp(22px,2.6vw,40px)/1.1 var(--sf);letter-spacing:-.03em}
.so-all__end p span{display:block;opacity:.55}
@media (max-width:1100px){.so-all__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.so-all__g{grid-template-columns:1fr}.so-all__f label{padding:11px 15px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.ft,.ft[data-reveal]{transition:none}.so-all:has(input[name="fl"]:not(#fl-all):checked) .ft{animation:none}}
