/* STOKHOME – fælles designsystem til administrator- og bureauområdet.
   Idé: varmt aftenlys i en lys stue. Varm kalkhvid flade, store bløde kort, serif-overskrifter,
   kobber som accent og en mørk, rund knap som den primære handling. */
@font-face{font-family:"Fraunces";src:url(fonts/Fraunces-Variable.woff2) format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Fraunces Static";src:url(fonts/Fraunces-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/Manrope-Variable.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
  --linen:#faf7f2;--paper:#fffdf9;--ink:#2b221c;--stone:#776b60;--line:#e7dfd4;--line-soft:#efe8de;--beige:#f2ebe1;
  --copper:#b9623a;--copper-deep:#a0522e;--copper-tint:#f5e4d9;--sage:#8a9b83;--sage-tint:#e6ece2;--clay:#b98a6c;--clay-tint:#f1e4da;
  --err:#a53a2a;--err-tint:#f8e5e0;--warn:#7c5410;--warn-tint:#f6ecd9;--ok:#4e6b4c;--ok-tint:#e3ece1;
  --serif:"Fraunces","Fraunces Static",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:16px;--r-big:26px;
  /* gamle navne, så eksisterende skabeloner og stilarter fortsat virker */
  --fog:var(--linen);--beech:var(--copper-deep);--beech-hover:#7f4a2f;--beech-tint:var(--copper-tint);
  --muted:var(--stone);--bg:var(--linen);--card:var(--paper);--accent:var(--copper-deep);--accent2:var(--copper-tint)
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15.5px/1.6 var(--sans);color:var(--ink);background:var(--linen)}
a{color:var(--copper-deep);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.15;color:var(--ink)}
h1{font-size:clamp(30px,3.6vw,46px);margin:0 0 8px}
h2{font-size:24px;margin:44px 0 12px}
h3{font-size:18px;margin:26px 0 8px}
.muted{color:var(--stone)}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
.lede{max-width:62ch;color:var(--stone)}
.eyebrow{color:var(--copper);margin:0 0 4px;font-size:16px}

/* ---------- skal: topmenu */
.topbar{position:sticky;top:0;z-index:20;background:rgba(250,247,242,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .in{max-width:1320px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:28px}
.brand{font:500 23px var(--serif);letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand i{font-style:normal;color:var(--copper)}
.topbar nav{display:flex;gap:4px 22px;flex-wrap:wrap;margin-left:auto}
.topbar nav a{color:var(--stone);text-decoration:none;padding:6px 0;border-bottom:1.5px solid transparent;white-space:nowrap}
.topbar nav a:hover{color:var(--ink)}
.topbar nav a.on{color:var(--ink);border-bottom-color:var(--copper)}
.topbar .who{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--stone);white-space:nowrap}
.topbar .who form{margin:0}
.topbar .who button{background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:8px 18px;font:500 15px var(--sans);color:var(--ink);cursor:pointer;box-shadow:0 1px 2px rgba(60,40,20,.06)}
.topbar .who button:hover{border-color:#cfc7bb}
.main{padding:40px 32px 80px;max-width:1320px;margin:0 auto;width:100%}
@media(max-width:980px){.topbar .in{flex-wrap:wrap;gap:8px 20px;padding:12px 16px}.topbar nav{order:3;width:100%;margin:0;overflow-x:auto;flex-wrap:nowrap}
  .topbar .who{margin-left:auto}.topbar .who .nm{display:none}.main{padding:24px 16px 56px}}

/* ---------- tabeller og kort */
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:12px 0}
th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-size:13px;font-weight:500;color:var(--stone);background:#f6f1e9}
tr:last-child td{border-bottom:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0}
.card{background:var(--paper);border-radius:var(--r-big);padding:26px 28px;color:var(--stone);box-shadow:0 1px 0 rgba(60,40,20,.04)}
.card .ic{width:26px;height:26px;color:var(--copper);display:block;margin-bottom:22px}
.card .n{font:500 34px/1.15 var(--sans);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.card .sub{font-size:13px;color:var(--stone);margin-top:4px}
.panel{background:var(--paper);border-radius:var(--r-big);padding:28px 32px;margin:16px 0}
.panel h2:first-child,.panel h3:first-child{margin-top:0}

/* ---------- knapper og formularer */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:99px;padding:10px 20px;font:500 15px var(--sans);cursor:pointer;text-decoration:none;line-height:1.3}
.btn:hover{background:#3a332b;border-color:#3a332b}
.btn.alt{background:var(--paper);color:var(--ink);border-color:var(--line)}
.btn.alt:hover{border-color:#cdc4b7;background:#fff}
.btn.copper{background:var(--copper);border-color:var(--copper)}.btn.copper:hover{background:var(--copper-deep);border-color:var(--copper-deep)}
.btn.danger{background:transparent;color:var(--err);border-color:#e6bdb3}.btn.danger:hover{background:var(--err-tint)}
.btn.small{padding:6px 14px;font-size:13.5px}
.btn.big{padding:14px 26px;font-size:16px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn svg{width:18px;height:18px}
button.link{background:none;border:0;color:var(--copper-deep);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
form.inline,form.row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;background:var(--paper);border-radius:var(--r-big);padding:24px 28px;margin:14px 0}
form.row{background:none;border:0;padding:0}
label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:500;color:var(--stone);min-width:180px}
label.wide{flex-basis:100%}
label small{font-weight:400}
input,select,textarea{font:inherit;font-weight:400;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--copper);outline-offset:0;border-color:var(--copper)}
input[type=checkbox]{accent-color:var(--copper-deep);width:18px;height:18px}
textarea{min-height:90px;resize:vertical}
.login{max-width:420px;margin:12vh auto;background:var(--paper);padding:40px 38px;border-radius:var(--r-big)}
.login h1{font-size:34px}.login form{display:flex;flex-direction:column;gap:16px}
.login .btn{justify-content:center;padding:13px}

/* ---------- beskeder, statusmærker */
.flash{padding:12px 18px;border-radius:var(--r);margin:10px 0;background:var(--ok-tint);color:#33492f;border:1px solid #cbd9c7;max-width:78ch}
.flash.err{background:var(--err-tint);color:var(--err);border-color:#ecc6bc}
.pill{display:inline-block;padding:3px 12px;border-radius:99px;background:var(--copper-tint);color:var(--copper-deep);font-size:12.5px;font-weight:500}
.pill.failed,.pill.inactive{background:var(--err-tint);color:var(--err)}
.pill.draft{background:#ece8e1;color:var(--stone)}
.pill.analyzed,.pill.published,.pill.ready_for_preview{background:var(--sage-tint);color:var(--ok)}

/* ---------- upload (scanninger og medier) */
.drop{border:2px dashed #d3cbbf;border-radius:12px;padding:26px;text-align:center;background:var(--paper)}
.drop.over{border-color:var(--beech);background:var(--beech-tint)}
.up{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:8px 0}
.up .top{display:flex;justify-content:space-between;gap:10px}
.bar{height:8px;background:var(--line-soft);border-radius:99px;overflow:hidden;margin:6px 0}
.fill{height:100%;width:0;background:var(--beech);transition:width .2s}
.up.err .st{color:var(--err)}.up.ok .st{color:var(--ok)}

/* ---------- rapport */
.verdict{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--stone);border-radius:var(--r);padding:10px 16px;margin:10px 0}
.verdict p{margin:4px 0 0}.verdict .tag{float:right;font-size:12px;font-weight:600}
.verdict.ok{border-left-color:var(--ok)}.verdict.ok .tag{color:var(--ok)}
.verdict.warn{border-left-color:var(--warn)}.verdict.warn .tag{color:var(--warn)}
.verdict.missing{border-left-color:var(--err)}.verdict.missing .tag{color:var(--err)}
details.file{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:8px 0}
details.file summary{cursor:pointer}ul.warn{color:var(--warn)}
pre{overflow:auto;background:#f4f1ec;padding:10px;border-radius:6px;font-size:12px;max-height:320px}

/* ---------- ejendomsside (administrator/mægler) */
.pagehead{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:flex-end;margin-bottom:8px}
.pagehead .actions{display:flex;flex-wrap:wrap;gap:8px}
.pagehead form{margin:0}
.sharelist{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}
.sharelist li{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}
.sharelist .lab{font-weight:600}.sharelist .url{font:12.5px ui-monospace,Menlo,Consolas,monospace;color:var(--stone);overflow-wrap:anywhere}
@media(max-width:700px){.sharelist li{grid-template-columns:1fr}}
.qrbox{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.qrbox img{width:176px;height:176px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mediagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:10px 0}
.mediagrid figure{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.mediagrid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#ebe6de}
.mediagrid figcaption{padding:8px 10px;font-size:12.5px;display:flex;flex-direction:column;gap:6px}
.mediagrid .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mediagrid form{display:inline;margin:0;border:0;padding:0;background:none}
.badge{font-size:12px;color:var(--ok);font-weight:600}
.checklist{margin:8px 0;padding-left:20px}.checklist li{margin:3px 0}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:12px 0}
.formgrid label{min-width:0}

/* hjælpeklasser (CSP tillader ikke style-attributter) */
.m0{margin:0}.mb6{margin:0 0 6px}.mb8{margin:0 0 8px}.mb12{margin:0 0 12px}.mt10{margin:10px 0 0}.mt14{margin:14px 0 0}
.mw46{max-width:46ch}.mw70{max-width:70ch}.mw80{max-width:80ch}
form.inline.blockform{display:block}.rowflex{display:flex;gap:6px;flex-wrap:wrap}.dropsmall{padding:14px}
.pagehead .pill{align-self:center}
.flash.warn{background:var(--warn-tint);color:var(--warn);border-color:#e6d19a}
.pdfthumb{aspect-ratio:4/3;display:grid;place-items:center;background:#ebe6de;color:var(--stone);font-weight:600}
.topbar nav .count{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:99px;background:var(--copper);color:#fff;font-size:12px;font-weight:700;text-align:center}
.inbox-item{background:var(--paper);border-radius:22px;padding:20px 24px;margin:10px 0;max-width:820px}
.inbox-item .meta{color:var(--stone);font-size:13px;margin:0 0 6px}
.inbox-item blockquote{margin:6px 0 10px;padding:0 0 0 12px;border-left:3px solid var(--beech-tint);font-size:16px}
.inbox-item form{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin:8px 0 0}
.inbox-item textarea,.inbox-item input[type=text]{width:100%;max-width:640px}
.inbox-item .btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.answer{background:#f6f1eb;border-radius:var(--r);padding:8px 12px;margin:6px 0 0;white-space:pre-wrap}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:99px;background:#ece8e1;color:var(--stone)}
.tag.auto{background:var(--beech-tint);color:var(--beech)}
.sheetup{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0 16px}
.sheettable{width:100%;max-width:1100px}
.sheettable td.val{font-weight:600;white-space:pre-line}
.sheettable td.src{color:var(--stone);font-size:13px;white-space:pre-line;max-width:420px}
.sheettable tr.diff td{background:var(--warn-tint)}

/* ---------- overblik (hjem) */
.hello{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;margin:6px 0 26px}
.hello h1{margin:0}
.chart{background:var(--paper);border-radius:var(--r-big);padding:30px 34px 22px;margin:16px 0}
.chart h2{margin:0 0 4px;font-size:26px}
.weekbars{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(6px,2vw,28px);margin-top:22px}
.weekbars .day{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.weekbars svg{width:100%;max-width:120px;height:190px;display:block;border-bottom:1px solid var(--line)}
.weekbars .cb{fill:var(--sage)}.weekbars .cb.t{fill:var(--copper)}
.weekbars .dl{color:var(--stone);font-size:14px}.weekbars .dn{color:var(--stone);font-size:12px;font-variant-numeric:tabular-nums}
.legend{display:flex;gap:18px;font-size:13px;color:var(--stone);margin:6px 0 0}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--sage)}.legend i.t{background:var(--copper)}
.props{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:16px 0}
.prop{background:var(--paper);border-radius:var(--r-big);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.prop:hover{box-shadow:0 10px 30px rgba(60,40,20,.10)}
.prop .ph{aspect-ratio:16/10;background:#e6dfd4 center/cover;display:grid;place-items:center;color:var(--stone);overflow:hidden}
.prop .ph img{width:100%;height:100%;object-fit:cover;display:block}
.prop .tx{padding:18px 22px 22px;display:flex;flex-direction:column;gap:4px}
.prop .tt{font:500 21px/1.2 var(--serif)}
.prop .ad{color:var(--stone);font-size:14px}
.prop .ft{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px}
.prop .pr{font-weight:500}
.empty{background:var(--paper);border-radius:var(--r-big);padding:34px;color:var(--stone)}
a.linkcard{text-decoration:none;display:block}a.linkcard:hover{box-shadow:0 8px 24px rgba(60,40,20,.08)}
.cards.small .card{padding:18px 22px;border-radius:20px}.cards.small .n{font-size:24px}
.brand{display:inline-block}.login .brand{margin:0 0 18px}

/* ---------- respons og materialer (Apple-principper) */
a,button,.btn{touch-action:manipulation}
.btn{transition:transform .1s ease-out,background .15s,border-color .15s}
.btn:active:not([disabled]),.topbar .who button:active{transform:scale(.97)}
.prop{transition:box-shadow .2s,transform .1s ease-out}.prop:active{transform:scale(.99)}
.topbar{border-bottom-color:transparent;transition:box-shadow .2s,border-color .2s}
.topbar.scrolled{box-shadow:0 6px 20px -12px rgba(60,40,20,.35);border-bottom-color:var(--line)}
.card .sub,th,.inbox-item .meta{letter-spacing:.005em}
@media (prefers-reduced-transparency:reduce){.topbar{background:#f7f5f1;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (prefers-contrast:more){.card,.panel,.prop,form.inline,table{border:1px solid #6f685f}.topbar nav a{color:var(--ink)}}
@media (prefers-reduced-motion:reduce){.btn,.prop,.topbar{transition:none}}

/* ---------- STOKHOME-design: badges, terracotta-handlinger, bløde skygger */
body{font-weight:450;-webkit-font-smoothing:antialiased}
h1{letter-spacing:-.025em;font-weight:500}h2,h3{letter-spacing:-.015em}
.btn.terra,.btn.copper{background:var(--copper);border-color:var(--copper);color:#fff}.btn.terra:hover,.btn.copper:hover{background:var(--copper-deep);border-color:var(--copper-deep)}
.card,.panel,.chart,.prop,form.inline,.inbox-item,.empty{box-shadow:0 1px 2px rgba(43,34,28,.05)}
.prop:hover{box-shadow:0 24px 60px -28px rgba(43,34,28,.28)}
.prop .badges{display:flex;gap:6px;flex-wrap:wrap}
.pill.queued,.pill.uploading,.pill.uploaded,.pill.processing,.pill.running,.pill.analyzing{background:var(--clay-tint);color:#86563c}
.pill.t3d{background:var(--sage-tint);color:var(--ok)}.pill.t3d.no{background:#efe8de;color:var(--stone)}
.checks{display:grid;gap:10px;margin:18px 0 6px}
label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:450;color:var(--ink);font-size:15px;min-width:0}
label.check input{margin-top:3px;flex:none}
.weekbars .cb{fill:var(--sage)}.weekbars .cb.t{fill:var(--copper)}
.legend i{background:var(--sage)}.legend i.t{background:var(--copper)}
/* ---------- fase 5: team, konto, statistik */
.team{display:grid;gap:10px;margin:12px 0}
.member{background:var(--paper);border-radius:20px;box-shadow:0 1px 2px rgba(43,34,28,.05)}
.member.off{opacity:.7}
.member summary{display:grid;grid-template-columns:44px 1fr auto auto;gap:14px;align-items:center;padding:14px 20px;cursor:pointer;list-style:none}
.member summary::-webkit-details-marker{display:none}
.member .av{width:44px;height:44px;border-radius:99px;display:grid;place-items:center;background:linear-gradient(135deg,#e4ad8b,#a85a36);color:#fff;font-weight:600}
.member .nprops{font-size:13px;white-space:nowrap}
.member .tform{margin:0;box-shadow:none;border-top:1px solid var(--line-soft);border-radius:0 0 20px 20px}
@media(max-width:640px){.member summary{grid-template-columns:44px 1fr}.member .nprops{display:none}}
fieldset.perms{border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:14px 0 0;display:grid;gap:8px}
fieldset.perms legend{font-size:13px;font-weight:600;color:var(--stone);padding:0 6px}
.small{font-size:13px;margin:4px 0 0}
.duo2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.duo2 form{display:block}.duo2 h2{margin-top:0}
.perf td.n{font-variant-numeric:tabular-nums;text-align:right}.perf th.n{text-align:right}
.topbar .who a{color:var(--stone);text-decoration:none}.topbar .who a:hover{color:var(--ink)}
.prop .ft{flex-wrap:wrap}.prop .pr{white-space:nowrap}
/* ---------- fase 6: rum-editor og statistik */
.zed{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-top:18px}
@media(max-width:900px){.zed{grid-template-columns:1fr}}
.zed-map{background:var(--paper);border-radius:var(--r-big);padding:18px;min-height:300px;box-shadow:0 1px 2px rgba(43,34,28,.05)}
.zed-canvas{display:block;margin:0 auto;cursor:crosshair;touch-action:none}
.zed-floors{display:flex;gap:6px;margin-top:10px}
.zed-side .panel{margin-top:0;margin-bottom:14px}
.zed-side h3{margin-top:0}
.zed-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.zed-list li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--beige)}
.zed-new label{min-width:0}
.statbar{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}
.statbar a{padding:8px 16px;border-radius:99px;background:var(--paper);color:var(--stone);text-decoration:none;border:1px solid var(--line);font-size:14px}
.statbar a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.kpis .card .n{font-size:30px}
.daybars{display:flex;align-items:flex-end;gap:3px;height:170px;margin-top:20px;border-bottom:1px solid var(--line)}
.daybars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-width:2px}
.daybars svg{width:100%;height:150px;display:block}
.daybars rect{fill:var(--copper)}
.daylabels{display:flex;gap:3px;font-size:11px;color:var(--stone);margin-top:6px}.daylabels span{flex:1;text-align:center;overflow:hidden;white-space:nowrap}
.rooms{display:grid;gap:10px;margin:10px 0}
.room{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center}
.room .bar{height:12px;border-radius:99px;background:var(--beige);overflow:hidden}
.room .bar svg{display:block;width:100%;height:12px}.room .bar rect{fill:var(--sage)}
.room .v{font-size:13px;color:var(--stone);white-space:nowrap;text-align:right}
@media(max-width:640px){.room{grid-template-columns:1fr}.room .v{text-align:left}}
.twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.heatbox{background:#1f1915;border-radius:var(--r-big);padding:18px;display:grid;place-items:center;min-height:260px;color:#c9bcad}
.heatbox canvas{display:block}
.legend2{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--stone);margin-top:8px}
.legend2 i{display:inline-block;width:120px;height:8px;border-radius:9px;background:linear-gradient(90deg,rgba(138,155,131,.35),#c9a24a,#b9623a)}

/* scanning: forløb og resultat */
.steps{list-style:none;display:flex;gap:6px;flex-wrap:wrap;padding:0;margin:14px 0 18px}
.steps li{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:99px;background:#efe8de;color:var(--stone);font-size:13.5px}
.steps li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;font-size:12px;font-weight:600}
.steps li.now{background:var(--clay-tint);color:#86563c;font-weight:600}
.steps li.done{background:var(--sage-tint);color:var(--ok)}
.resultgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
.planfig{margin:0;padding:12px;background:#fbf8f3;border:1px solid var(--line);border-radius:12px;width:384px;max-width:100%;box-sizing:border-box}.planfig canvas{max-width:100%;height:auto!important}
.planfig canvas{display:block;margin:0 auto}.planfig figcaption{font-size:12.5px;color:var(--stone);text-align:center;margin-top:6px}
.facts{list-style:none;padding:0;margin:0 0 14px}.facts li{padding:5px 0;border-bottom:1px solid var(--line-soft)}
.qlist{list-style:none;padding:0;margin:8px 0 0;max-width:86ch}
.qlist li{display:flex;gap:12px;padding:9px 0;border-top:1px solid var(--line-soft);font-size:14px;line-height:1.5}
.qlist .qi{flex:none;width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--ok)}
.qlist li.warn .qi{background:#c9962b}.qlist li.missing .qi{background:var(--err)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:820px){.resultgrid{grid-template-columns:minmax(0,1fr)}}
.scanpanel{color:var(--ink);margin:16px 0}.scanpanel h2{margin-top:0}.scanpanel h3{margin:22px 0 4px;font-size:15px}

/* små skærme: brede tabeller ruller for sig selv i stedet for at skubbe hele siden */
@media(max-width:760px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}th,td{padding:10px 12px}
  input,select,textarea{max-width:100%;box-sizing:border-box;min-width:0}}

/* sletning */
.dangerzone{border:1px solid #e6bdb3}.dangerzone form{align-items:flex-end;gap:14px;margin-top:14px}
.dangerzone input{width:9ch;text-transform:uppercase}
button.link.danger{color:var(--err)}.delform{display:inline;margin:6px 0 0}
