:root{--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--pri:#0ea5e9;--pri-d:#0284c7;
 --red:#dc2626;--red-bg:#fee2e2;--yel:#d97706;--yel-bg:#fef3c7;--grn:#16a34a;--grn-bg:#dcfce7;--gray-bg:#e2e8f0}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.4}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:linear-gradient(135deg,#0369a1,#0ea5e9);color:#fff;position:sticky;top:0;z-index:5}
.brand{color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none}
nav a{color:#e0f2fe;text-decoration:none;margin-left:.9rem;padding:.3rem .6rem;border-radius:.5rem}
nav a.aktiv,nav a:hover{background:rgba(255,255,255,.2);color:#fff}
main{max-width:1000px;margin:0 auto;padding:1rem}
h1{font-size:1.4rem;margin:.2rem 0}h2{font-size:1.1rem;margin:.2rem 0 .6rem}
.card{background:var(--card);border-radius:1rem;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-bottom:1rem}
.scanbar label{font-weight:600;display:block;margin-bottom:.4rem}
.scanbar input{width:100%;font-size:1.3rem;padding:.8rem 1rem;border:3px solid var(--pri);border-radius:.8rem;outline:none}
.scanbar input:focus{box-shadow:0 0 0 4px rgba(14,165,233,.25)}
.hint,.muted{color:var(--muted);font-size:.9rem}
.advarsel{border-left:6px solid var(--yel);background:var(--yel-bg)}
ul.compact,ul.shoplist{list-style:none;margin:0 0 .6rem;padding:0}
ul.compact li{padding:.2rem 0}
ul.shoplist li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.toolbar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.5rem 0}
.toolbar h1{margin-right:auto}
.filters{display:flex;gap:.3rem;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .8rem;cursor:pointer;font-size:.9rem}
.chip.aktiv{background:var(--pri);color:#fff;border-color:var(--pri)}
.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:.6rem;padding:.55rem .9rem;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:#f8fafc}.btn.primary{background:var(--pri);color:#fff;border-color:var(--pri)}.btn.primary:hover{background:var(--pri-d)}
.btn.danger{color:var(--red);border-color:#fecaca}.btn.small{padding:.35rem .6rem;font-size:.85rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.8rem}
.item{background:#fff;border-radius:1rem;padding:.9rem;box-shadow:0 1px 3px rgba(0,0,0,.08);border-left:8px solid var(--gray-bg);display:flex;flex-direction:column;gap:.4rem}
.item.udloebet{border-color:var(--red);background:linear-gradient(90deg,var(--red-bg),#fff 40%)}
.item.snart{border-color:var(--yel);background:linear-gradient(90deg,var(--yel-bg),#fff 40%)}
.item.ok{border-color:var(--grn)}
.item .head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}
.item .navn{font-weight:700;font-size:1.05rem;word-break:break-word}
.badge{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}
.badge.udloebet{background:var(--red-bg);color:var(--red)}.badge.snart{background:var(--yel-bg);color:var(--yel)}
.badge.ok{background:var(--grn-bg);color:var(--grn)}.badge.ingen{background:var(--gray-bg);color:var(--muted)}
.badge.lav{background:var(--yel-bg);color:var(--yel);margin-left:.3rem}
.qty{font-size:1.25rem;font-weight:700}
.meta{font-size:.85rem;color:var(--muted)}
.btns{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.2rem}
dialog{border:none;border-radius:1rem;padding:1.2rem;width:min(520px,94vw);box-shadow:0 10px 40px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(15,23,42,.5)}
dialog label{display:block;font-size:.85rem;color:var(--muted);margin-top:.6rem;flex:1}
dialog input,dialog select{width:100%;font-size:1rem;padding:.55rem;border:1px solid #cbd5e1;border-radius:.5rem;margin-top:.15rem;color:var(--text)}
.row{display:flex;gap:.6rem}.row>label{min-width:0}
.quick{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.fejl{color:var(--red);font-weight:600}
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translate(-50%,2rem);background:#0f172a;color:#fff;padding:.7rem 1.1rem;border-radius:.7rem;opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:90vw}
.toast.vis{opacity:1;transform:translate(-50%,0)}
.toast.fejl{background:var(--red);color:#fff}
textarea{width:100%;font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:.6rem;margin-bottom:.6rem}
.tom{text-align:center}
@media(max-width:560px){.row{flex-direction:column;gap:0}.topbar{flex-direction:column;align-items:flex-start;gap:.3rem}nav a:first-child{margin-left:0}}
/* Trin 2: kogebog, hvad kan jeg lave, madplan */
nav{display:flex;flex-wrap:wrap;gap:.2rem}nav a{margin-left:0}
.toolbar .soeg{flex:1;min-width:180px;max-width:360px;font-size:1rem;padding:.55rem .8rem;border:1px solid #cbd5e1;border-radius:.6rem}
.grid.recipes{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.grid.days{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.item.recipe summary,.item details summary{cursor:pointer;color:var(--pri-d);font-size:.9rem;padding:.2rem 0}
.item h4{margin:.6rem 0 .2rem;font-size:.95rem}
.item ol{margin:.2rem 0;padding-left:1.3rem}.item ol li{margin:.25rem 0}
.item ul.compact{margin:.2rem 0}
.bar{height:.5rem;background:var(--gray-bg);border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--grn)}
.miss{color:var(--red)}.ok-txt{color:var(--grn);font-weight:600}.soon{color:var(--yel);font-weight:600}
label.inline{display:flex;align-items:center;gap:.4rem;font-size:.95rem}
.smalinput{width:6rem;font-size:1rem;padding:.45rem;border:1px solid #cbd5e1;border-radius:.5rem}
.weeknav{display:flex;gap:.3rem}
.item.day select{width:100%;font-size:1rem;padding:.6rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;min-height:2.8rem}
.item.day.idag{border-color:var(--pri);box-shadow:0 0 0 2px rgba(14,165,233,.25)}.item.day.fortid{opacity:.65}
dialog h3{margin:.8rem 0 .3rem;font-size:1rem}
dialog textarea{margin-top:.15rem;margin-bottom:0}
.ingrow{display:grid;grid-template-columns:1fr 5.5rem 5rem auto;gap:.35rem;margin-bottom:.35rem}
.ingrow input{width:100%;font-size:1rem;padding:.5rem;border:1px solid #cbd5e1;border-radius:.5rem;min-width:0}
label.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text)}
label.check input{width:auto;margin:0}
.btns{align-items:center}
@media(max-width:560px){
  nav a{padding:.45rem .6rem}
  .ingrow{grid-template-columns:1fr 4.5rem 4rem auto}
  .grid.recipes,.grid.days{grid-template-columns:1fr}
  .btn{min-height:2.6rem}
}

/* Indkøbsliste: fjern/fortryd-knapper store nok til fingre (min. 44x44 px) */
.shoplist .btn.small{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.shoplist .btn.fjern,.shoplist .btn.fjern-vare{min-width:44px;font-size:1.2rem;padding:.35rem .8rem}
.shoplist .btn.fortryd,#gendan-alle,#ryd{padding:.5rem 1rem;font-size:1rem}
#gendan-alle,#ryd{min-height:44px}
.fjernede{background:#f8fafc}
.mobilfod{max-width:1000px;margin:0 auto;padding:.5rem 1rem 1.5rem;color:var(--muted);font-size:.9rem;text-align:center}
.mobilfod a{color:var(--pri-d);font-weight:600}
@media(max-width:560px){.shoplist .btn.fjern,.shoplist .btn.fjern-vare{min-width:48px;min-height:48px}}

/* Standard-holdbarhed, statistik, rester */
.tabel{width:100%;border-collapse:collapse}
.tabel th{text-align:left;font-size:.8rem;color:var(--muted);border-bottom:2px solid var(--line);padding:.35rem .4rem}
.tabel td{padding:.4rem;border-bottom:1px solid var(--line);vertical-align:middle}
.tabel.lille td{font-size:.85rem;padding:.2rem .4rem}
.tabel td.btns{justify-content:flex-end}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.lagerv{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;padding:.6rem 1rem}.lagerv strong{font-size:1.2rem}
.lagerv .lv-pant{color:#15803d;font-size:.92rem;font-weight:600;white-space:nowrap}
.statboks{display:flex;gap:1.5rem;flex-wrap:wrap}
.statboks div{display:flex;flex-direction:column}.statboks strong{font-size:1.3rem}.statboks small{color:var(--muted)}
.stolper{display:flex;align-items:flex-end;gap:3px;height:120px;margin-bottom:.6rem}
.stolpe{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative;min-width:0}
.stolpe i{display:block;width:100%;background:var(--red);border-radius:3px 3px 0 0;min-height:2px;opacity:.8}
.stolpe b{font-size:.7rem;position:absolute;top:0}
.stolpe span{font-size:.65rem;color:var(--muted);margin-top:2px;white-space:nowrap}
.btn.smidt{color:#92400e;border-color:#fde68a;background:var(--yel-bg)}
.rester{border-left:6px solid var(--yel);background:var(--yel-bg)}
.rester .item{background:#fff}
.chip.valgt{background:var(--yel-bg)}
.optnavn{color:var(--muted)}
@media(max-width:560px){.tabel td.btns{flex-wrap:wrap}}

/* Dialog-rækker: ens højde og fælles bundlinje for felter (også når etiketter ombrydes) */
dialog input,dialog select{height:2.6rem;line-height:1.2;background:#fff;font-family:inherit}
dialog input[readonly]{background:#f1f5f9}
.row{align-items:flex-end}
.row2,.row5{display:grid;align-items:stretch;gap:.6rem}
.row2{grid-template-columns:repeat(2,minmax(0,1fr))}
.row5{grid-template-columns:repeat(5,minmax(0,1fr))}
.row2>label,.row5>label{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;margin-top:.6rem;line-height:1.2}
.row2>label input,.row2>label select,.row5>label input,.row5>label select{margin-top:auto;flex:none}
.row2>label,.row5>label{gap:.25rem}
@media(max-width:560px){
  .row.row2,.row.row5{flex-direction:initial;gap:.6rem}
  .row5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row5>label:nth-child(5){grid-column:1/-1}
}

/* Hvad kan jeg lave? – sektioner og basisvarer */
.sektion{margin:1rem 0}.sektion>.toolbar h2,.sektion>summary{margin:0}.sektion>summary{cursor:pointer}
details.sektion>.grid{margin-top:.8rem}
.basis summary{cursor:pointer}
ul.chips{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
ul.chips li{display:inline-flex;align-items:center;gap:.3rem;background:var(--gray-bg);border-radius:999px;padding:.15rem .3rem .15rem .75rem;font-size:.9rem}
.chipx{border:0;background:transparent;cursor:pointer;font-size:.85rem;border-radius:999px;padding:.2rem .45rem;color:var(--muted)}
.chipx:hover{background:var(--red-bg);color:var(--red)}

/* Hvad kan jeg lave? – kompakte, sammenfoldelige ret-kort */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grid.recipes.kompakt{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.5rem;grid-auto-flow:row dense;align-items:start}
.item.kort{padding:0;gap:0;border-left-width:6px;border-radius:.7rem;min-width:0}
.kort-top{all:unset;position:relative;overflow:hidden;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:.5rem .6rem .55rem;border-radius:.7rem}
.kort-top:hover{background:rgba(2,132,199,.06)}
.kort-top:focus-visible{outline:3px solid var(--pri);outline-offset:-3px}
.kort-r1{display:flex;align-items:flex-start;gap:.3rem}
.kort-r1 .navn{flex:1;font-size:.95rem;line-height:1.25;min-width:0}
.kort-r1 .udl{font-size:.85rem;line-height:1.25}
.kort-r1 .pil{color:var(--muted);font-size:.9rem;line-height:1.25;transition:transform .15s}
.item.kort.aaben .pil{transform:rotate(180deg)}
.kort-r2{display:block;margin:.1rem 0 .3rem}
.stat{font-size:.75rem;font-weight:700}
.stat.ok{color:var(--grn)}.stat.snart{color:var(--yel)}.stat.udloebet{color:var(--red)}
.kort-top .bar{display:block;height:.28rem}
.kort-krop{padding:.1rem .7rem .7rem;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--line);padding-top:.5rem}
.kort-krop[hidden]{display:none}
.kort-krop .have{color:var(--grn)}
.item.kort.aaben{grid-column:span 2}
.foldalle{margin-left:auto}
details.sektion>.toolbar{margin:.6rem 0 0}
@media(max-width:560px){
  .grid.recipes.kompakt{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
  .item.kort.aaben{grid-column:1/-1}
  .kort-top{min-height:44px;padding:.45rem .5rem .5rem}
  .kort-r1 .navn{font-size:.88rem}
  .item.kort{border-left-width:5px}
  .foldalle{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.kort-r1 .pil{transition:none}}
/* Undgå vandret scroll på smalle skærme (rester-kort) */
.grid.recipes>.item{min-width:0}
@media(max-width:560px){.grid.recipes:not(.kompakt){grid-template-columns:minmax(0,1fr)}.rester .item .badge{white-space:normal}}
.item li,.item .meta,.item .navn{overflow-wrap:anywhere}

/* ---------- Fryser ---------- */
[hidden]{display:none!important}
.stedfane{display:flex;gap:.6rem;margin:0 0 1rem}
.stedfane .stedkort{flex:1;display:flex;align-items:center;gap:.7rem;background:#fff;border:2px solid var(--line);border-radius:1rem;padding:.6rem 1rem;color:var(--text);text-decoration:none;margin:0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.stedfane .stedkort .ikon{font-size:1.8rem;line-height:1}
.stedfane .stedkort strong{display:block;font-size:1.05rem}
.stedfane .stedkort small{color:var(--muted);font-size:.9rem}
.stedfane .stedkort.aktiv{border-color:var(--pri);background:#f0f9ff;box-shadow:0 0 0 3px rgba(14,165,233,.2)}
.stedfane .stedkort.fryser.aktiv{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 3px rgba(99,102,241,.2)}
.stedfane .stedkort.depot.aktiv{border-color:#b45309;background:#fffbeb;box-shadow:0 0 0 3px rgba(180,83,9,.2)}
.stedfane .stedkort:hover{background:#f8fafc}
/* ✏️ omdøb lagersted: blyant i stedkortets hjørne (knappen ligger ved siden af linket, ikke inde i det) */
.stedfane .stedkort-wrap{flex:1;position:relative;display:flex;min-width:0}
.stedfane .stedkort-wrap .stedkort{flex:1;min-width:0;padding-right:2.6rem}
.stedfane .stedkort strong{overflow-wrap:anywhere}
.sted-ret{position:absolute;top:.15rem;right:.15rem;width:2.6rem;height:2.6rem;min-height:2.6rem;border:0;border-radius:999px;background:transparent;font-size:1rem;line-height:1;cursor:pointer;opacity:.55;padding:0}
.sted-ret:hover,.sted-ret:focus-visible{opacity:1;background:#e2e8f0}
.navn-dlg{max-width:26rem;width:calc(100vw - 2rem);border:0;border-radius:1rem;padding:1.2rem}
.navn-dlg input{width:100%;box-sizing:border-box;font-size:1.2rem;padding:.6rem .7rem;margin:.3rem 0 .6rem}
.navn-dlg .actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:stretch}.navn-dlg .actions .btn{flex:1 1 auto}
/* «＋ Tilføj rum»: egne rum som ekstra stedkort (3 pr. række, ombrydes) + en lille stiplet knap; ikonvalg og «Slet rum» i dialogen */
.stedfane{flex-wrap:wrap}
.stedfane .stedkort-wrap{flex:0 0 calc(33.333% - .45rem)}
.stedfane .stedkort.rum.aktiv{border-color:#0f766e;background:#f0fdfa;box-shadow:0 0 0 3px rgba(15,118,110,.2)}
.rum-ny{flex:0 0 auto;min-height:2.9rem;padding:.4rem 1rem;border:2px dashed var(--line);border-radius:1rem;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.rum-ny:hover,.rum-ny:focus-visible{border-color:var(--pri);color:var(--pri);background:#f8fafc}
.ikonvalg-label{display:block;font-weight:600;margin:.2rem 0 .3rem}
.ikonvalg{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}
.ikon-knap{width:2.9rem;height:2.9rem;min-height:2.9rem;font-size:1.45rem;line-height:1;border:2px solid var(--line);border-radius:.8rem;background:#fff;cursor:pointer;padding:0}
.ikon-knap.valgt{border-color:var(--pri);background:#f0f9ff;box-shadow:0 0 0 3px rgba(14,165,233,.25)}
.navn-slet-p{margin:.9rem 0 0;padding-top:.7rem;border-top:1px solid var(--line)}.navn-slet-p .btn{width:100%}
.m-til{display:block;margin:0 0 .5rem}.m-til select{width:100%}
.katfilter{margin:-.2rem 0 .8rem}
/* v19: status-chips «Udløbet»/«Snart» i kategori-rækken (rød/orange; aktiv = fyldt; 0 = dæmpet) */
.chip.status-chip.udloebet{color:var(--red);background:var(--red-bg);border-color:#fecaca;font-weight:600}
.chip.status-chip.snart{color:var(--yel);background:var(--yel-bg);border-color:#fde68a;font-weight:600}
.chip.status-chip.udloebet.aktiv{background:var(--red);border-color:var(--red);color:#fff}
.chip.status-chip.snart.aktiv{background:var(--yel);border-color:var(--yel);color:#fff}
.chip.status-chip.tom:not(.aktiv){opacity:.55;font-weight:400}
.grid.fryserliste{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.item.fryserkort{border-left-color:#a5b4fc;background:linear-gradient(180deg,#f5f7ff,#fff 55%)}
.item.fryserkort.udloebet{border-color:var(--red);background:linear-gradient(90deg,var(--red-bg),#fff 40%)}
.item.fryserkort.snart{border-color:var(--yel);background:linear-gradient(90deg,var(--yel-bg),#fff 40%)}
.item.fryserkort.ok{border-color:var(--grn);background:linear-gradient(180deg,#f0fdf4,#fff 55%)}
.katikon{font-size:1.1rem;margin-right:.1rem}
.frysmeta .kat{font-weight:600;color:#4338ca}
.btn.flyt{color:#4338ca;border-color:#c7d2fe;background:#eef2ff}
.toolbar .soeg{flex:1 1 180px}
/* Dialog: slot lader et felt flytte mellem rækker uden at miste layoutet */
.slot{display:contents}
.row2>.slot>label{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;margin-top:.6rem;line-height:1.2;gap:.25rem}
.row2>.slot>label input{margin-top:auto;flex:none}
.row2:empty{display:none}
dialog .row2+.row2,dialog .row2+.quick,dialog .quick+.row2{margin-top:0}
.row2>label>span{display:block}
.row2>label>input[type=date]{min-width:0}
.fryserliste .item .btns{margin-top:auto}
@media(max-width:560px){
  .stedfane{gap:.4rem}.stedfane .stedkort{padding:.5rem .6rem;gap:.4rem;flex-direction:column;align-items:flex-start}
  .stedfane .stedkort-wrap .stedkort{padding-right:.6rem}.sted-ret{top:0;right:0}
  .grid.fryserliste{grid-template-columns:minmax(0,1fr)}
  .toolbar .soeg{flex:1 1 100%;max-width:none}
}

.frysmaerke{font-size:.85rem}
.toes{color:#4338ca;background:#eef2ff;border-radius:999px;padding:.05rem .45rem;font-weight:600;white-space:nowrap}
.toes-linje{color:#4338ca;font-weight:600}

/* Talebeskeder + «køleskab eller fryser?» */
.tale{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}
.tale .check{margin:0}.tale .hint{flex-basis:100%;margin:0}
#pdlg{width:min(560px,94vw)}
.stor-valg{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}
.storknap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:8rem;font-size:3rem;border-width:3px;border-radius:1rem;line-height:1}
.storknap span{font-size:1.6rem;font-weight:700}
.storknap.kol{border-color:var(--pri);color:var(--pri-d)}.storknap.kol:hover{background:#e0f2fe}
.storknap.fry{border-color:#6366f1;color:#4338ca}.storknap.fry:hover{background:#e0e7ff}
.storknap.dep{border-color:#b45309;color:#92400e;grid-column:1/-1;min-height:5rem}.storknap.dep:hover{background:#fef3c7}
.storknap.dep[hidden]{display:none}
.storknap:focus-visible{outline:4px solid #f59e0b;outline-offset:2px}
.storknap.lytter{box-shadow:0 0 0 4px rgba(239,68,68,.35)}
@media(max-width:420px){.storknap{min-height:6rem;font-size:2.2rem}.storknap span{font-size:1.3rem}}

/* Tale-menu */
.talemenu{position:relative}.talemenu summary{cursor:pointer;list-style:none;display:inline-block}.talemenu summary::-webkit-details-marker{display:none}
.talemenu-boks{display:grid;gap:.35rem;margin-top:.5rem;padding:.7rem;border:1px solid var(--line);border-radius:8px;min-width:min(22rem,90vw);background:var(--card,#fff)}
.talemenu-boks label{font-weight:600}.talemenu-boks .check{font-weight:400}.talemenu-boks select{max-width:100%}
.talemenu-knapper{display:flex;gap:.5rem;margin-top:.3rem}
.vare-navn{font-size:1.6rem;font-weight:700;margin:.2rem 0 .6rem}

.lyd-hint{background:#f59e0b;border-color:#b45309;color:#111;font-weight:700}.lyd-hint[hidden]{display:none}
.hint.diag{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;word-break:break-word}

.antal{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.5rem 0}
.antal-label{font-weight:600}
.antal-chips{display:inline-flex;gap:.3rem}
.antal .chip{min-width:2.4rem;font-size:1.05rem;font-weight:700}
.antal .chip.aktiv{background:var(--pri);color:#fff}
.antal-felt{width:5rem !important;font-size:1.1rem !important;padding:.3rem .5rem !important;border:2px solid var(--line) !important;border-radius:.5rem !important;text-align:center}
.antal .hint{flex-basis:100%;margin:0}
.lyt{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;padding:.6rem .8rem;margin:.6rem 0;border-radius:.7rem;background:#fee2e2;border:2px solid #ef4444}
.lyt[hidden]{display:none}
.lyt .mic{font-size:1.6rem;animation:puls 1s infinite}
.lyt-bar{flex-basis:100%;height:.5rem;background:#fecaca;border-radius:999px;overflow:hidden}
.lyt-bar span{display:block;height:100%;width:100%;background:#ef4444;transition:width .25s linear}
@keyframes puls{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

.lyt-raa{flex-basis:100%;font-size:.95rem}
.mic-fejl{margin:.4rem 0;padding:.5rem .7rem;border-radius:.6rem;background:#fef3c7;border:2px solid #f59e0b;font-weight:600}
.mic-fejl[hidden]{display:none}
.mictest{margin-top:.4rem;padding:.6rem;border:2px dashed var(--line);border-radius:8px}
.mictest p{margin:.25rem 0}
.mic-niveau{height:.9rem;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:.3rem 0}
.mic-niveau span{display:block;height:100%;width:0;background:#22c55e;transition:width .1s linear}
.skriv-svar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.5rem 0}
.skriv-svar input{flex:1 1 12rem;min-width:8rem;font-size:1.1rem;padding:.4rem .6rem}

.mic-niveau.mini{display:inline-block;width:6rem;height:.6rem;vertical-align:middle;margin:0 0 0 .4rem}
#p-niveau-fyld{background:#22c55e}

.bekraeft{margin:.6rem 0;padding:.8rem;border-radius:.9rem;background:#ecfdf5;border:3px solid #10b981;text-align:center}
.bekraeft[hidden]{display:none}
.bekraeft-spoerg{margin:0;font-size:1.1rem;font-weight:600}
.bekraeft-svar{margin:.3rem 0 .6rem;font-size:2rem;font-weight:800;line-height:1.2}
.bekraeft-knapper{display:flex;gap:.8rem;justify-content:center}
.bekraeft-knapper .storknap{flex:1 1 0;min-height:5rem;font-size:1.6rem}
.btn.storknap.ja{background:#10b981;color:#fff;border-color:#059669}
.btn.storknap.nej{background:#ef4444;color:#fff;border-color:#b91c1c}

.del-link-p{margin:.3rem 0;text-align:center}
.linkknap{background:none;border:none;color:var(--accent,#2563eb);text-decoration:underline;font-size:1rem;cursor:pointer;padding:.3rem}
.del{margin:.4rem 0;padding:.7rem;border:2px solid var(--line);border-radius:.8rem}
.del[hidden]{display:none}
.del-titel{margin:0 0 .4rem;font-weight:700}
.del-raekke{display:flex;align-items:center;gap:.6rem;margin:.3rem 0}
.del-navn{flex:1 1 auto;font-size:1.15rem}
.del-raekke .btn{min-width:3rem;min-height:3rem;font-size:1.5rem}
.del-tal{min-width:2.5rem;text-align:center;font-size:1.6rem;font-weight:800}

.tilstand{margin:.4rem 0 0;font-size:.9rem;padding:.25rem .6rem;border-radius:999px;display:inline-block;background:#f1f5f9;border:1px solid var(--line)}
.tilstand[hidden]{display:none}
.tilstand[data-tilstand="Lytter"]{background:#fee2e2;border-color:#ef4444}
.tilstand[data-tilstand="Behandler"]{background:#fef9c3;border-color:#eab308}
.tilstand[data-tilstand="Afgjort"]{background:#dcfce7;border-color:#22c55e}
.btn.opfordring{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.35);font-weight:700;animation:ring 1.2s infinite}
@keyframes ring{0%,100%{box-shadow:0 0 0 2px rgba(37,99,235,.25)}50%{box-shadow:0 0 0 6px rgba(37,99,235,.55)}}

.eksport{width:100%;font-family:monospace;font-size:.75rem}
.eksport[hidden]{display:none}
.tilstand{font-size:1rem;font-weight:600}
.kamera-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}
.kamera-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}
.kamera-form .actions{grid-column:1/-1}
.k-resultat ul{list-style:none;padding:0;margin:.4rem 0}.k-resultat li{padding:.15rem 0}
.k-ok{color:#166534}.k-fejl{color:#991b1b}.k-resultat code{font-size:.85rem}
.k-figur{margin:.6rem 0}.k-figur img{max-width:100%;border-radius:.6rem;border:1px solid #cbd5e1}

/* Kamera: bevægelse */
.k-skyder { display: inline-flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.k-skyder input[type=range] { width: 11rem; }
.k-status { font-weight: 600; margin: .4rem 0; }
.k-niveau { height: 6px; background: var(--border, #ddd); border-radius: 3px; overflow: hidden; margin-bottom: .5rem; }
.k-niveau > div { height: 100%; width: 0; background: #e08a00; transition: width .4s; }
.k-liste { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .5rem; }
.k-liste button { border: 2px solid transparent; background: none; padding: 0; border-radius: 6px; cursor: pointer; display: flex; flex-direction: column; align-items: center; font-size: .75rem; }
.k-liste button.valgt { border-color: #2e7d32; }
.k-liste img { width: 96px; height: 54px; object-fit: cover; border-radius: 4px; display: block; }

/* Åbnet-markering: rød tekst, så det ses tydeligt, at en enhed er åbnet (holdbarhedsstatus rød/gul/grøn er uændret) */
.aabnet-rod,.aabnet-tag{color:var(--red);font-weight:700}
.aabnet-tag{font-size:.8rem;border:1px solid var(--red);border-radius:6px;padding:.05rem .4rem;margin-left:.3rem;vertical-align:middle;white-space:nowrap}
.item.aabnet-raekke{border-left:4px solid var(--red)}
.skjult-note{font-size:.8rem;opacity:.65;text-align:center;margin:.6rem 0}

/* ===== Mobil / iPhone (PWA «Føj til hjemmeskærm») – kun smalle skærme; pc-visningen er uændret ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:rgba(14,165,233,.15)}
button,a,input,select,label{touch-action:manipulation}
@supports(padding:max(0px)){
  .topbar{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(.7rem,env(safe-area-inset-top))}
  main{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}
}
@media(max-width:600px){
  body{font-size:16px;overflow-x:hidden}
  main{padding:.7rem}
  .topbar{position:static}
  nav{width:100%;gap:.3rem}
  nav a{padding:.6rem .75rem;min-height:44px;display:inline-flex;align-items:center;font-size:1rem;background:rgba(255,255,255,.12)}
  nav a.aktiv{background:rgba(255,255,255,.3)}
  input,select,textarea,dialog input,dialog select{font-size:16px}   /* under 16 px zoomer iOS ind ved fokus */
  .btn,button.btn{min-height:46px;padding:.6rem .9rem;font-size:1rem}
  .btn.small{min-height:44px;font-size:.95rem}
  .chip{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  summary{min-height:44px;display:flex;align-items:center}
  .item .actions,.item .knapper,.item .btns{gap:.4rem;flex-wrap:wrap}
  dialog{width:calc(100vw - 1rem);max-width:none;max-height:92vh;margin:auto;padding:.9rem;overflow:auto}
  img,video,canvas,table,pre{max-width:100%}
  pre,code{white-space:pre-wrap;word-break:break-word}
  .toast{bottom:max(.8rem,env(safe-area-inset-bottom));max-width:94vw}
  /* Holdbarhed: tabellen bliver til kort i stedet for vandret scroll */
  .chipx{min-width:44px;min-height:44px}
  #tabel thead{display:none}
  #tabel,#tabel tbody,#tabel tr,#tabel td{display:block;width:100%}
  #tabel tr{border:1px solid var(--line);border-radius:.8rem;padding:.5rem .6rem;margin-bottom:.6rem;background:#fff}
  #tabel td{border:0;padding:.25rem 0}
  #tabel td[data-label]::before{content:attr(data-label);display:block;font-size:.8rem;color:var(--muted)}
  #tabel td.btns{display:flex;justify-content:flex-start}
  #tabel .smalinput{width:100%;max-width:10rem;height:44px}
  #tabel td .btn{min-height:44px}
}

/* Uåbnet + åbnet vist som én linje (gruppekort) */
.item.gruppe .qty{font-size:1.15rem;font-weight:600}
.item.gruppe .del{border-top:1px solid var(--line);margin-top:.6rem;padding-top:.5rem}
.item.gruppe .del.aabnet-del{border-left:4px solid var(--red);padding-left:.6rem;margin-left:-.1rem}
.item.gruppe .delhead{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.item.gruppe .delnavn{font-size:1rem}
.item.gruppe .del .btns{margin-top:.4rem}

/* Scanfelt + OK-knap (iPhone: numerisk tastatur har ingen Enter-tast) */
.scanrække{display:flex;gap:.5rem;align-items:stretch}
.scanrække #scan{flex:1;min-width:0;width:auto}
.scanrække #scan-ok{min-width:4.2rem;font-size:1.2rem;border-radius:.8rem;padding:0 1rem}
#scan{-webkit-user-select:text;user-select:text}
/* Tydelig «Hørte: …» under stemmesvar (især på iPhone, hvor genkendelsen kan fejlhøre) */
#p-lyt-raa{font-size:1.2rem}
#pstatus:not(:empty){font-weight:600;font-size:1.02rem;color:#111827}
/* 📷 Scan med kamera */
.scanrække{flex-wrap:wrap}
.scanrække .kamknap{font-size:1rem;border-radius:.8rem;padding:.55rem 1rem;white-space:nowrap}
@media(max-width:600px){.scanrække .kamknap{flex:1 1 100%;min-height:3.2rem;font-size:1.15rem}}
.kamdlg{padding:0;border:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;background:#000;color:#fff;overflow:hidden}
.kamdlg::backdrop{background:#000}
.kamdlg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.kam-ramme{position:absolute;left:8%;right:8%;top:50%;height:30%;transform:translateY(-50%);border:3px solid rgba(255,255,255,.85);border-radius:1rem;box-shadow:0 0 0 100vmax rgba(0,0,0,.35);pointer-events:none}
.kam-ramme span{position:absolute;left:6%;right:6%;top:50%;height:2px;background:rgba(239,68,68,.9)}
.kam-luk,.kam-torch{position:absolute;top:calc(env(safe-area-inset-top,0px) + .8rem);border:0;border-radius:2rem;background:rgba(0,0,0,.65);color:#fff;font-size:1.3rem;font-weight:700;padding:.7rem 1.2rem;min-height:3rem}
.kam-luk{right:.8rem}.kam-torch{left:.8rem}.kam-torch[aria-pressed="true"]{background:#f59e0b;color:#000}
.kam-status{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);background:rgba(0,0,0,.7);font-size:1.05rem;text-align:center}
.kamdlg video.kam-spejl{transform:scaleX(-1)}
/* kun forkamera: tydelig grøn sigteramme + hint (afkodningen beskærer til rammen) */
.kam-forramme{position:absolute;left:10%;right:10%;top:50%;height:32%;transform:translateY(-50%);border:4px solid #22c55e;border-radius:1rem;box-shadow:0 0 0 100vmax rgba(0,0,0,.5);pointer-events:none}
.kam-forramme span{position:absolute;left:5%;right:5%;top:50%;height:3px;background:rgba(34,197,94,.95)}
.kam-forhint{position:absolute;left:-10%;right:-10%;bottom:100%;margin:0 0 .8rem;text-align:center;font-size:1.15rem;font-weight:700;color:#fff;text-shadow:0 1px 3px #000}
.kam-forramme[hidden],.kam-ramme[hidden]{display:none}
.kam-bund{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:.7rem}
.kam-bund .kam-status{position:static;width:100%;box-sizing:border-box}
.kam-skift{display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.7);border-radius:2rem;background:rgba(0,0,0,.7);color:#fff;font-size:1.15rem;font-weight:700;line-height:1.2;padding:.75rem 1.4rem;min-height:3.6rem;min-width:13rem;touch-action:manipulation;text-align:center}
.kam-skift:disabled{opacity:.55}.kam-skift[hidden]{display:none}
.kam-lys{border:2px solid rgba(255,255,255,.7);border-radius:2rem;background:rgba(0,0,0,.7);color:#fff;font-size:1.1rem;font-weight:700;padding:.6rem 1.2rem;min-height:3.2rem;touch-action:manipulation}
.kam-lys[hidden]{display:none}.kam-lys[aria-pressed="true"]{background:#fde68a;color:#000;border-color:#f59e0b}
/* «💡 Skærmlys» (kun forkamera): alt uden om sigterammen bliver næsten hvidt, så skærmen lyser varen op */
.kamdlg.kam-lys-til{background:#fff}.kamdlg.kam-lys-til .kam-forramme{box-shadow:0 0 0 100vmax rgba(255,255,255,.96);border-color:#16a34a}
.kamdlg.kam-lys-til .kam-forhint{color:#000;text-shadow:none}
/* 🛒 Indkøbstur (/indkoeb) – store knapper til tommelfingre */
.kurv{padding:1rem}
.kurv-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.kurv-top h2{margin:0}
.kurv-hjem{font-size:.9rem}
.kurv-sum{font-size:1.4rem;margin:.4rem 0;display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}
.kurv-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.kurv-linje{background:#fff;border:2px solid #e5e7eb;border-radius:1rem;padding:.7rem .8rem}
.kurv-linje.ny{border-color:#10b981;background:#ecfdf5}
.kurv-navn{font-weight:700;font-size:1.1rem;word-break:break-word;margin-bottom:.45rem}
.paa-liste{font-weight:600;font-size:.8rem;color:#047857;background:#d1fae5;border-radius:.5rem;padding:.1rem .4rem;white-space:nowrap}
.kurv-rk{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.kurv-antal{display:flex;align-items:center;gap:.3rem}
.kurv-knap{width:3rem;height:3rem;font-size:1.6rem;line-height:1;border-radius:.8rem;border:2px solid var(--pri);background:#fff;color:var(--pri-d);font-weight:700}
.kurv-knap:active{background:#e0f2fe}
.kurv .kurv-felt{height:3rem;font-size:1.25rem;text-align:center;border:2px solid #cbd5e1;border-radius:.8rem;background:#fff}
.kurv-antal .kurv-felt{width:4rem}
.kurv-pris{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#475569}
.kurv-pris .kurv-felt{width:6rem}
.kurv-linjesum{margin-left:auto;font-weight:700;font-size:1.15rem;min-width:5.5rem;text-align:right}
.kurv-fjern{width:2.8rem;height:2.8rem;border-radius:.8rem;border:2px solid #fecaca;background:#fff;color:var(--red);font-size:1.2rem}
.stor-knap{display:block;width:100%;min-height:4rem;font-size:1.4rem;font-weight:700;border-radius:1rem;margin-top:.8rem}
.kurv-resultat{margin-top:1rem;border:3px solid var(--pri);border-radius:1rem;padding:.8rem;text-align:center;background:#f0f9ff}
.kurv-resultat h3{margin:.1rem 0}
.kurv-stor{font-size:1.5rem;margin:.2rem 0}.kurv-resultat .kurv-stor strong{font-size:2rem}
.kurv-bund{margin:1rem 0 .2rem;text-align:right}
.kurv-historik{margin-top:.6rem}
#kurv-navn-dlg input{width:100%;font-size:1.3rem;height:3.2rem;box-sizing:border-box}
#kurv-navn-dlg .knapper{display:flex;gap:.6rem;margin-top:.8rem}#kurv-navn-dlg .knapper .btn{flex:1;min-height:3.2rem;font-size:1.1rem}
body:has(#kurv) #antal-bar{display:none}

/* Kvittering (OCR i browseren) */
#kvit-dlg{width:min(34rem,100vw - 1rem);max-height:94vh;overflow:auto;box-sizing:border-box;border-radius:1rem;padding:1rem}
#kvit-dlg h2{margin:.2rem 0 .6rem}#kvit-dlg h3{margin:1rem 0 .3rem}
#kvit-dlg .stor-knap{min-height:3.6rem;font-size:1.25rem;text-align:center;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}
.kvit-fil{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
#kvit-fremdrift{width:100%;height:1.4rem}
.kvit-advarsel{background:#fff3cd;border:2px solid #e0a800;color:#533f03;border-radius:.7rem;padding:.6rem .8rem;font-weight:600}
.kvit-sum{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;font-size:1.1rem;margin:.6rem 0;padding:.6rem .8rem;border-radius:.7rem;background:#eef3f8}
.kvit-sum .stor{font-weight:700}.kvit-sum .forskel{grid-column:1/-1;font-weight:700;padding:.3rem .5rem;border-radius:.5rem}
.kvit-sum .forskel.ok{background:#d4edda;color:#155724}.kvit-sum .forskel.fejl{background:#f8d7da;color:#721c24}
.kvit-liste{list-style:none;margin:.4rem 0;padding:0}
.kvit-liste li{border:1px solid #ccd;border-radius:.7rem;padding:.55rem .7rem;margin:.45rem 0;background:#fff}
.kvit-liste .navn{font-weight:700;font-size:1.05rem}.kvit-liste .kilde{font-size:.9rem;color:#556;margin:.1rem 0 .3rem;word-break:break-word}
.kvit-liste .kilde.mangler{color:#a05a00}.kvit-liste .usikker{color:#a05a00;font-weight:700}
.kvit-liste .raekke{display:flex;gap:.6rem;align-items:center}.kvit-liste .raekke label{flex:1;font-size:.9rem}
.kvit-liste input,.kvit-liste select{width:100%;box-sizing:border-box;font-size:1.3rem;height:3.2rem;margin-top:.15rem}
.kvit-raa pre{white-space:pre-wrap;font-size:.8rem;max-height:14rem;overflow:auto;background:#f6f6f6;padding:.5rem;border-radius:.5rem}

/* Depotskab: tre stedfaner på mobil + to flyt-knapper pr. vare */
.stedfane .stedkort small{white-space:nowrap}
.btns .flyt{white-space:normal}

.kurv-sted{display:inline-block;margin-left:.4rem;padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;background:#f8fafc;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;vertical-align:middle}
.kurv-sted.spoerg{cursor:default;color:var(--muted);font-weight:500}

/* Hurtig scanning: «lagt på lager»-linje med Fortryd / Flyt / Dato (ingen bekræftelsesdialog) */
.hurtigbar{position:fixed;left:50%;transform:translateX(-50%);bottom:max(4.2rem,calc(3.4rem + env(safe-area-inset-bottom)));z-index:49;width:min(96vw,34rem);background:#0f172a;color:#fff;border-radius:.8rem;padding:.6rem .8rem;box-shadow:0 4px 18px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:.5rem}
.hurtigbar[hidden]{display:none}
.hurtig-knapper{display:flex;flex-wrap:wrap;gap:.4rem}
.hurtig-knapper .btn{min-height:44px}
.hurtig-knapper .fortryd{border-color:#fbbf24}
/* ♻️ Pant */
.pant-linje .pant-knap{margin-left:.4rem;min-height:36px}
.pant-felt{display:block;margin-top:.6rem}
.kurv-pant{display:inline-block;margin-left:.4rem;padding:.25rem .6rem;min-height:36px;border:1px solid #86efac;border-radius:999px;background:#f0fdf4;color:#166534;font-size:.9rem;font-weight:600;cursor:pointer;vertical-align:middle}
.kurv-pant.ingen{border-style:dashed;border-color:var(--line);background:#fff;color:var(--muted);font-weight:500}
.kurv-sum-pant[hidden]{display:none}
.kurv-lbl{font-size:1rem;color:var(--muted);margin-right:.4rem}
.kurv-iat{border-top:1px solid var(--line);padding-top:.3rem}
.pantboks .pant-stor{font-size:1.8rem;margin:.3rem 0}.pantboks .pant-stor strong{font-size:2.2rem}
.pant-knapper{display:grid;grid-template-columns:1fr 2fr;gap:.6rem}
.pant-knapper .stor-knap{margin-top:.4rem;min-height:3.6rem}
.pant-kort .pant-stat-tekst{margin:.2rem 0 .6rem}
.pantboks .btn.stor-knap,.pantboks .pant-knapper .btn.stor-knap{min-height:3.8rem}

/* kvittering: OCR-rettelser, linje for linje, antal-valg */
.kvit-rettelse{background:#e8f1fb;border:2px solid #7aa7d8;border-radius:.7rem;padding:.6rem .8rem;margin:.5rem 0}
.kvit-rettelse .raekke,.kvit-rettelse .rett-valg{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.kvit-rettelse .rett-valg .btn{flex:1 1 100%;min-height:3rem;text-align:left}
.kvit-liste .antal-valg{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0}.kvit-liste .antal-valg .usikker{flex:1 1 100%}
.kvit-liste .antal-valg .btn{flex:1 1 45%;min-height:3rem}.kvit-liste .antal-valg small{display:block;font-weight:400;font-size:.75rem}
.kvit-liste.kvit-pant li{display:flex;justify-content:space-between;background:#f3f8f3}

/* kvittering: besparelse (rabat) */
.kvit-sum .sparet,.kvit-liste .sparet,.kurv-sparet strong{color:#146c2e;font-weight:700}
.kvit-liste .sparet-linje{font-size:.95rem;color:#146c2e;margin:.1rem 0 .3rem}
.kvit-liste .lin-tal{display:flex;justify-content:space-between;font-size:.95rem;margin:.1rem 0}

/* Sparet-siden + menu-badge */
.nav-badge{display:inline-block;background:#146c2e;color:#fff;border-radius:1rem;padding:0 .45rem;font-size:.75rem;font-weight:700;line-height:1.35;vertical-align:middle}
.spar-hoved{text-align:center}.spar-lbl{margin:.2rem 0 0;color:#556;font-size:1rem}
.spar-total{margin:.1rem 0;font-size:2.8rem;font-weight:800;color:#146c2e}
.spar-to{display:flex;gap:1rem;justify-content:space-around;margin-top:.6rem}.spar-to>div{flex:1}
.spar-mellem{margin:.1rem 0;font-size:1.7rem;font-weight:700;color:#146c2e}
.spar-bars{list-style:none;margin:0;padding:0}.spar-bars li{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;font-size:1.05rem}
.spar-m{flex:0 0 3.6rem;color:#556}.spar-bar{flex:1;background:#e8f1ea;border-radius:.4rem;height:1.3rem;overflow:hidden}.spar-bar i{display:block;height:100%;background:#2e9e4f;border-radius:.4rem}
.spar-bars strong{flex:0 0 6.5rem;text-align:right}.spar-ture li,.spar-hoved~section .shoplist li{font-size:1.05rem}.spar-grøn{color:#146c2e;white-space:nowrap}

/* række-bevidst kvittering: nyt foto, manglende linjer/priser */
.kvit-nyt{display:flex;justify-content:flex-end;margin:.2rem 0 .4rem}
.kvit-nyt .btn{min-height:2.8rem}
.kvit-advarsel.utydelig{background:#ffe3e0;border-color:#c0392b;color:#5c1a14}
.kvit-mangler{background:#eef8ee;border-color:#6fb56f}
.kvit-mangler .forslag-liste{margin:.3rem 0 .3rem 1.1rem;padding:0}
.kvit-liste .uklar-belob{font-size:1.15rem;font-weight:700}
.kvit-liste select,.kvit-liste input[data-mpris]{min-height:2.8rem;font-size:1rem}
.kvit-liste .antal-note{margin:.3rem 0;font-size:.95rem;color:#3a4a3a;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.kvit-liste .antal-note .btn{min-height:2.4rem;padding:.2rem .9rem}
.kvit-liste .find{display:block;margin:.3rem 0}
.kvit-liste .find select{width:100%;min-height:2.6rem}
.kvit-liste .gaet,#kvit-linjer .gaet{color:#7a5a00;font-weight:600}

/* Madbudget */
.mb-hoved{text-align:center}.mb-stor{margin:.1rem 0;font-size:3rem;font-weight:800;color:#0f3d6b}
.mb-tre{display:flex;gap:1rem;justify-content:space-around;text-align:center}.mb-tre>div{flex:1;min-width:0}
.mb-mellem{margin:.1rem 0;font-size:1.9rem;font-weight:700;color:#0f3d6b}
.mb-meter{height:1.6rem;background:#dbe7f3;border-radius:.8rem;overflow:hidden;margin:.7rem 0 .3rem}.mb-meter i{display:block;height:100%;background:#2e7bbf;border-radius:.8rem;transition:width .3s}
.mb-meter.naesten i{background:#d98a00}.mb-meter.over i{background:#c62828}
.mb-rest{margin:.2rem 0;font-size:2rem;font-weight:800;color:#146c2e}.mb-rest.over{color:#c62828}
.mb-bars .spar-m{flex:0 0 6.2rem;line-height:1.15}.mb-bars .spar-m small{display:block;font-size:.78rem}
.mb-bars .spar-bar{background:#dbe7f3}.mb-bars .spar-bar i{background:#2e7bbf}.mb-bars li.nu .spar-bar i{background:#0f3d6b}
.mb-bars strong{flex:0 0 4.8rem}
.mb-form label{display:block;font-size:1.1rem;margin-bottom:.3rem}.mb-form input{width:100%;font-size:1.6rem;padding:.6rem .8rem;box-sizing:border-box}
.mb-knapper{margin-top:.6rem;display:flex;gap:.6rem;flex-wrap:wrap}.mb-knapper .btn{font-size:1.2rem;padding:.7rem 1.2rem;min-height:3rem}

/* Stationskort på køleskab/fryser/depot-siderne (UD / FLYT-tilstand + stor bekræftelse) */
.kortmodus{margin:.6rem 0 0;padding:.6rem .8rem;border-radius:.8rem;color:#fff;font-size:1.2rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.kortmodus.modus-ud{background:#0369a1}.kortmodus.modus-flyt{background:#6d28d9}.kortmodus.modus-tag{background:#0f766e}.kortmodus strong{font-size:1.6rem;letter-spacing:.06em}.kortmodus .btn{margin-left:auto}
.kortres{margin:.6rem 0 0;padding:1rem;border-radius:1rem;text-align:center;color:#fff;background:#475569}
.kortres[hidden],.kortmodus[hidden]{display:none}
.kortres.ok{background:#15803d}.kortres.ind{background:#1d4ed8}.kortres.besked{background:#b45309}.kortres.fejl{background:#b91c1c}.kortres.klar{background:#334155}
.kortres-ikon{font-size:3rem;font-weight:900;line-height:1}.kortres-hoved{font-size:2.2rem;font-weight:800;line-height:1.1;word-break:break-word}.kortres-under{font-size:1.3rem;margin-top:.3rem}
.kortres .btn{margin-top:.7rem;font-size:1.3rem;padding:.6rem 1.4rem}

/* INDKØB: rødt menupunkt med store bogstaver + rød bjælke øverst på indkøbssiden, så man ikke står på en forkert side i butikken */
nav a.nav-indkoeb{background:#dc2626;color:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
nav a.nav-indkoeb:hover,nav a.nav-indkoeb.aktiv{background:#b91c1c;color:#fff;box-shadow:0 0 0 2px #fff}
.indkoeb-bjaelke{background:#dc2626;color:#fff;font-size:1.8rem;font-weight:900;letter-spacing:.12em;text-align:center;padding:.6rem 1rem;border-radius:.8rem;margin:.6rem 0}

/* «Er du sikker?» før slet/fjern: Annullér er standard (autofocus), bekræft er rød */
.bekraeft-dlg{width:min(420px,94vw)}
.bekraeft-dlg h2{margin:0 0 .4rem;font-size:1.15rem}
.bekraeft-dlg #bekraeft-tekst{margin:.2rem 0 0;line-height:1.45;white-space:pre-wrap;color:var(--text)}
.bekraeft-dlg .actions{justify-content:stretch}
.bekraeft-dlg .actions .btn{flex:1;min-height:2.9rem}
.bekraeft-dlg #bekraeft-ok{background:#fef2f2;font-weight:700}

/* Omdøb kategori-chips («✏️ Kategorier») */
.kat-ret{border-style:dashed;color:var(--muted);font-weight:600}
.kat-dlg{width:min(440px,94vw)}
.kat-liste{display:flex;flex-direction:column;gap:.55rem;margin-top:.7rem;max-height:55vh;overflow:auto}
.kat-raekke{display:flex;align-items:center;gap:.45rem}
.kat-raekke .kat-ikon{font-size:1.25rem;width:1.8rem;text-align:center;flex:0 0 auto}
.kat-raekke label{flex:1;margin:0;font-size:.8rem;color:var(--muted)}
.kat-raekke input{width:100%;font-size:1rem;padding:.5rem;border:1px solid #cbd5e1;border-radius:.5rem;margin-top:.1rem;height:2.6rem}
.kat-raekke .kat-nulstil{flex:0 0 auto;min-height:2.6rem;padding:.35rem .55rem;font-size:.85rem}
.kat-dlg .actions{flex-wrap:wrap}
.kat-dlg .actions .btn{min-height:2.9rem}
.kat-raekke.egen{flex-direction:column;align-items:stretch;gap:.25rem;padding:.45rem;border:1px dashed #94a3b8;border-radius:.6rem;background:#f8fafc}
.kat-raekke .kat-linje{display:flex;align-items:center;gap:.45rem}
.kat-raekke .kat-ikonvalg{flex:0 0 3.9rem;width:3.9rem;min-width:0;height:2.8rem;margin:0;font-size:1.35rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;padding:0 .2rem}
.kat-raekke .kat-linje label{flex:1 1 auto;min-width:0;margin:0}
.kat-raekke .kat-linje input{height:2.8rem}
.kat-raekke .kat-slet{flex:0 0 auto;min-width:2.8rem;min-height:2.8rem;font-size:1.1rem;padding:.3rem}
.kat-raekke .kat-drikke{display:flex;align-items:center;gap:.5rem;min-height:2.6rem;margin:0;font-size:.9rem;color:var(--text,#0f172a);flex:none;cursor:pointer}
.kat-raekke .kat-drikke input{width:1.35rem;height:1.35rem;margin:0;padding:0;flex:0 0 auto}
.kat-tilfoej{width:100%;margin-top:.6rem;min-height:2.9rem;border-style:dashed;font-weight:700}
.kat-tilfoej[hidden]{display:none}
.katmerke{display:inline-block;font-size:.78rem;font-weight:600;color:#334155;background:#eef2f7;border-radius:.6rem;padding:.05rem .45rem;vertical-align:middle}

/* «＋ Tilføj rum» i den blå topmenu (ikke længere et stiplet stedkort) */
.nav-rum-ny{font:inherit;font-weight:600}
a.nav-rum-ny{cursor:pointer}
.nav-rum-ny.slukket{opacity:.45;cursor:not-allowed;text-decoration:line-through}

/* «🗑 Nulstil lager» i topmenuen */
.topbar nav .nav-sprog{appearance:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:.45rem .75rem;border-radius:.5rem;min-height:2.6rem;white-space:nowrap}
.topbar nav .nav-sprog:hover,.topbar nav .nav-sprog:focus-visible{background:rgba(255,255,255,.22);outline:none}
.topbar nav .nav-nulstil{appearance:none;background:transparent;border:none;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:.55rem .7rem;border-radius:.5rem;min-height:2.6rem;white-space:nowrap}
.topbar nav .nav-nulstil:hover,.topbar nav .nav-nulstil:focus-visible{background:rgba(255,255,255,.15);outline:none}
.nulstil-dlg{width:min(440px,94vw)}
.nulstil-dlg .advarsel{color:#b91c1c;font-weight:600}
.nulstil-liste{display:flex;flex-direction:column;gap:.35rem;margin:.7rem 0 .4rem;max-height:45vh;overflow:auto}
.nulstil-sted{display:flex;align-items:center;gap:.55rem;min-height:2.9rem;padding:.35rem .55rem;border:1px solid #e2e8f0;border-radius:.6rem;margin:0;font-size:1rem;color:var(--text,#0f172a);cursor:pointer;background:#fff}
.nulstil-sted input{width:1.35rem;height:1.35rem;margin:0;flex:0 0 auto}
.nulstil-sted .nulstil-ikon{font-size:1.2rem;width:1.6rem;text-align:center}
.nulstil-alle{display:flex;align-items:center;gap:.55rem;min-height:2.9rem;margin:.3rem 0 .5rem;font-weight:600;font-size:1rem;cursor:pointer;color:var(--text,#0f172a)}
.nulstil-alle input{width:1.35rem;height:1.35rem;margin:0}
.nulstil-dlg .actions .btn{min-height:2.9rem}
.nulstil-bekraeft #nulstil-kode{font-size:1.15rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center}
/* 💱 valutavælger (kun visning) */
.topbar nav .nav-valuta{appearance:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:.45rem .75rem;border-radius:.5rem;min-height:2.6rem;white-space:nowrap}
.topbar nav .nav-valuta:hover,.topbar nav .nav-valuta:focus-visible{background:rgba(255,255,255,.22);outline:none}
.valuta-dlg{max-width:min(22rem,calc(100vw - 2rem));width:100%;box-sizing:border-box}
.valuta-dlg h2{margin-top:0}
.valuta-valg{display:grid;gap:.5rem}
.valuta-valg .valuta-knap{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;width:100%;text-align:left;font-size:1.05rem}
.valuta-valg .valuta-knap small{opacity:.75;font-weight:400}
.valuta-valg .valuta-knap.valgt{outline:3px solid #0369a1;outline-offset:-1px;background:#e0f2fe}
.valuta-note{margin:.4rem auto 0;padding:.25rem .75rem;font-size:.8rem;color:#475569;text-align:center;max-width:60rem}
.kvit-dkk{font-size:.85rem;margin:.25rem 0}
.ikon-svg{width:1.4em;height:.9em;display:inline-block;vertical-align:middle}
/* ⚠️ Tilbagekaldte fødevarer (v10): rødt banner under topmenuen */
.tk-banner{margin:.6rem auto 0;max-width:1100px;padding:0 .75rem}
.tk-linje{display:flex;align-items:flex-start;gap:.6rem;background:var(--red);color:#fff;border-radius:12px;padding:.7rem .8rem;margin-bottom:.4rem;font-size:1rem;line-height:1.35;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.tk-linje.tk-mulig{background:#b91c1c}
.tk-linje a{color:#fff;text-decoration:underline;font-weight:600}
.tk-linje small{display:block;opacity:.92;margin-top:.15rem}
.tk-tekst{flex:1;min-width:0;overflow-wrap:anywhere}
.tk-luk{flex:none;min-width:44px;min-height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.18);color:#fff;font-size:1.2rem;cursor:pointer}
.tk-flere{background:#7f1d1d;justify-content:center}
.tk-liste li.tk-har{background:var(--red-bg)}
.tk-liste .tk-match,.tk-liste .tk-mulig{color:var(--red)}
/* ⚙️ Indstillinger (v10) */
.ind-kort h2{margin-top:0}
.ind-stor{width:100%;min-height:56px;font-size:1.15rem}
.ind-status{font-weight:600}.ind-status.ny{color:var(--red)}
.ind-skift{display:flex;align-items:center;gap:.7rem;font-size:1.1rem;min-height:48px;cursor:pointer}
.ind-skift input{width:1.6rem;height:1.6rem;accent-color:#0ea5e9}
/* Pant slået fra i Indstillinger: al pant-visning skjules (data bevares) */
.pant-fra .nav-pant,.pant-fra .pant-linje,.pant-fra .pant-felt,.pant-fra .lv-pant,.pant-fra .kurv-sum-pant,.pant-fra .kurv-pant,
.pant-fra #kurv-res-pant-rk,.pant-fra #kurv-res-iat-rk,.pant-fra #kurv-res-pantnote,.pant-fra #kvit-pantlinjer-boks,.pant-fra #kvit-pant,.pant-fra #pant-stat{display:none!important}
/* ⚙️ Indstillinger: let at finde i topmenuen (indrammet som de gamle sprog-/valutaknapper) + valg-knapper */
.topbar nav .nav-indstillinger{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);font-weight:700;min-height:2.6rem;display:inline-flex;align-items:center}
.topbar nav .nav-indstillinger.aktiv{background:rgba(255,255,255,.3)}
.ind-valg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.ind-valg-knap{min-height:52px;font-size:1.1rem;font-weight:700}
.ind-valg-knap.valgt,.ind-valg-knap:disabled{outline:3px solid #0369a1;outline-offset:-1px;background:#e0f2fe;color:#0f172a;opacity:1;cursor:default}
#ind-valuta .valuta-valg{display:grid;gap:.5rem}
.ind-valgfri{opacity:.85}
.ind-fare{border:1px solid #fecaca}
.ind-fare h2{color:var(--red)}
.ind-knapper{display:grid;gap:.5rem}
a.btn.ind-stor{display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.btn.slukket{opacity:.55;cursor:not-allowed}
/* Login (v12): store felter, mobil først */
.login-felt{width:100%;box-sizing:border-box;font-size:1.2rem;padding:.8rem 1rem;border:3px solid var(--pri);border-radius:.8rem;margin:.4rem 0 .8rem;min-height:3.2rem}
.login-husk{display:flex;align-items:center;gap:.6rem;font-size:1.05rem;min-height:48px;margin:.2rem 0 .8rem}
.login-husk input{width:1.5rem;height:1.5rem}
.linkknap{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.mobilfod form{display:inline}
/* 👤 Konto */
.konto-form{display:grid;gap:.5rem;margin:.4rem 0 1rem}
.konto-form input{font-size:1.1rem;padding:.7rem .9rem;border:1px solid #cbd5e1;border-radius:.6rem;min-height:3rem;box-sizing:border-box;width:100%}
.konto-liste{list-style:none;padding:0;margin:.3rem 0 1rem}
.konto-liste li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #e2e8f0;min-height:48px}

/* 🏷️ Egne stregkoder */
.egen-form label{display:flex;flex-direction:column;gap:.25rem}
.egen-form input,.egen-form select{min-height:48px;font-size:1rem}
.egen-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
.egen-actions .btn{flex:1 1 auto}
.egen-liste{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.egen-raekke{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.egen-raekke.egen-ny{border-color:#0ea5e9;box-shadow:0 0 0 2px rgba(14,165,233,.35)}
.egen-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 14rem}
.egen-info strong{font-size:1.08rem;word-break:break-word}
.egen-kode{font-family:ui-monospace,Consolas,monospace;letter-spacing:.06em;color:#334155}
.egen-knapper{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.egen-knapper .btn{min-height:44px}
.egen-antal{display:flex;align-items:center;gap:.3rem;font-size:.9rem}
.egen-antal input{width:4.2rem;min-height:44px;font-size:1rem;text-align:center}

/* ⚙️ Funktioner (v14): store kontakter; fra = skjul menupunkt + indgange ([data-funk]) – siderne og data bevares */
.funk-liste{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.5rem}
.funk-raekke{display:flex;align-items:center;gap:.6rem;min-height:60px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:.4rem .5rem .4rem .7rem}
.funk-ikon{font-size:1.4rem;width:1.8rem;text-align:center;flex:none}
.funk-navn{flex:1;min-width:0;overflow-wrap:anywhere;font-size:1.1rem;font-weight:600}
.funk-slukket{display:none;margin-left:.4rem;font-size:.8rem;font-weight:500;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}
.funk-aabn{flex:none;min-height:44px;min-width:64px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.funk-skift{position:relative;flex:none;width:68px;height:40px;cursor:pointer}
.funk-skift input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.funk-kontakt{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;transition:background .15s}
.funk-kontakt::after{content:"";position:absolute;top:4px;left:4px;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.funk-skift input:checked + .funk-kontakt{background:#16a34a}
.funk-skift input:checked + .funk-kontakt::after{transform:translateX(28px)}
.funk-skift input:focus-visible + .funk-kontakt{outline:3px solid #0ea5e9;outline-offset:2px}
.fra-pant [data-funk~="pant"],.fra-kogebog [data-funk~="kogebog"],.fra-hvadkan [data-funk~="hvadkan"],.fra-madplan [data-funk~="madplan"],.fra-indkobsliste [data-funk~="indkobsliste"],.fra-sparet [data-funk~="sparet"],.fra-madbudget [data-funk~="madbudget"],.fra-statistik [data-funk~="statistik"],.fra-holdbarhed [data-funk~="holdbarhed"]{display:none!important}
.fra-pant [data-funk-fra~="pant"],.fra-kogebog [data-funk-fra~="kogebog"],.fra-hvadkan [data-funk-fra~="hvadkan"],.fra-madplan [data-funk-fra~="madplan"],.fra-indkobsliste [data-funk-fra~="indkobsliste"],.fra-sparet [data-funk-fra~="sparet"],.fra-madbudget [data-funk-fra~="madbudget"],.fra-statistik [data-funk-fra~="statistik"],.fra-holdbarhed [data-funk-fra~="holdbarhed"]{display:inline-block!important}

/* 🛒 Indkøbsliste (v15): mobil først – store felter, store tryk-flader, afkrydsede nederst med overstregning */
.vis-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.liste-side{max-width:640px;margin:0 auto}
.liste-h1{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.liste-antal{font-size:1rem;font-weight:500;color:#64748b}
.liste-ny{display:flex;gap:.5rem;position:sticky;top:0;z-index:5;background:#f1f5f9;padding:.4rem 0 .6rem}
.liste-ny input{flex:1;min-width:0;font-size:1.2rem;min-height:56px;padding:.5rem .8rem;border:2px solid #94a3b8;border-radius:14px;background:#fff}
.liste-ny input:focus{border-color:#0369a1;outline:none;box-shadow:0 0 0 3px rgba(3,105,161,.25)}
.liste-tilfoej{min-height:56px;min-width:96px;font-size:1.1rem;border-radius:14px;flex:none}
.liste-linjer{list-style:none;margin:.3rem 0;padding:0;display:grid;gap:.4rem}
.liste-linje{display:flex;align-items:center;gap:.3rem;min-height:60px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:.2rem .3rem;transition:transform .15s,opacity .2s,background .15s;touch-action:pan-y;cursor:pointer}
.liste-linje.stryg{background:#fee2e2;transition:none}
.liste-linje.vaek{opacity:0;transform:translateX(-40px)}
.liste-cirkel{flex:none;width:52px;height:52px;border:0;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.liste-cirkel span{width:30px;height:30px;border:3px solid #64748b;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff}
.liste-linje.afk .liste-cirkel span{background:#16a34a;border-color:#16a34a}
.liste-tekst{flex:1;min-width:0;min-height:52px;text-align:left;border:0;background:none;font:inherit;font-size:1.15rem;color:inherit;padding:.3rem .2rem;overflow-wrap:anywhere;cursor:text}
.liste-maengde{color:#0369a1}
.liste-linje.afk{background:#f8fafc}
.liste-linje.afk .liste-tekst{text-decoration:line-through;color:#94a3b8}
.liste-linje.afk .liste-maengde{color:#94a3b8}
.liste-ret{flex:1;min-width:0;min-height:48px;font-size:1.15rem;padding:.3rem .6rem;border:2px solid #0369a1;border-radius:10px}
.liste-slet{flex:none;width:52px;height:52px;border:0;background:none;color:#94a3b8;font-size:1.3rem;border-radius:12px;cursor:pointer}
.liste-slet:hover,.liste-slet:focus-visible{background:#fee2e2;color:#b91c1c}
.liste-h2{font-size:1rem;color:#64748b;margin:1rem 0 .2rem}
.liste-tom,.liste-faerdig{text-align:center;padding:1.2rem .5rem;font-size:1.1rem}
.liste-knapper{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.liste-knapper .btn{min-height:48px}
.liste-offline{background:#fef3c7;border-radius:10px;padding:.5rem .7rem}
.liste-hjaelp{margin-top:1rem}
.liste-fortryd{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:.8rem;background:#1e293b;color:#fff;border-radius:14px;padding:.5rem .6rem .5rem 1rem;box-shadow:0 4px 16px rgba(0,0,0,.3);max-width:calc(100vw - 24px)}
.liste-fortryd[hidden]{display:none}
.liste-fortryd .btn{min-height:44px}

/* 🏷️ Egne stregkoder (v16): vælg koder til print – stort flueben pr. kode, Vælg alle / Fravælg alle / Print valgte (N) */
.egen-vaelg{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .5rem;position:sticky;top:0;z-index:4;background:#fff;padding:.35rem 0}
.egen-vaelg .btn{min-height:48px;flex:1 1 auto}
.egen-print-valgte{flex:2 1 12rem!important;font-size:1.05rem;font-weight:700}
.egen-print-valgte:disabled{opacity:.5;cursor:not-allowed}
.egen-valg{position:relative;flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.egen-valg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.egen-valg-boks{width:32px;height:32px;border:3px solid #64748b;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center}
.egen-valg input:checked + .egen-valg-boks{background:#0369a1;border-color:#0369a1}
.egen-valg input:checked + .egen-valg-boks::after{content:"✓";color:#fff;font-weight:800;font-size:1.2rem}
.egen-valg input:focus-visible + .egen-valg-boks{outline:3px solid #0ea5e9;outline-offset:2px}
.egen-raekke.valgt{border-color:#0369a1;background:#f0f9ff}

/* v17: samme vare i flere partier = ÉT kort med det samlede antal («8 stk») + tidligste udløb; partierne under «📦 N partier» */
.item.gruppe .gruppe-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem}
.item.gruppe .antal-total{font-size:1.6rem;font-weight:800;line-height:1.1}
.item.gruppe .gruppe-hurtig{margin-top:.4rem}
.item.gruppe .gruppe-hurtig .btn{min-height:44px;min-width:110px;font-size:1rem}
.item.gruppe details.partier{margin-top:.5rem}
.item.gruppe details.partier>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:.6rem;background:#f1f5f9;font-weight:600;list-style:none}
.item.gruppe details.partier>summary::-webkit-details-marker{display:none}
.item.gruppe details.partier>summary::after{content:"▸";margin-left:auto;transition:transform .15s}
.item.gruppe details.partier[open]>summary::after{transform:rotate(90deg)}
.item.gruppe .del-antal{font-size:1.05rem}
