/* Salgsværktøjet - Let Us Print. Ingen JavaScript, ingen eksterne skrifttyper (CSP: kun 'self'). */
:root{
  --blaek:#13202b;        /* tekst og topbjælke */
  --petrol:#0e5c73;       /* primær farve: knapper, links, tabelhoveder */
  --petrol-moerk:#0a4557;
  --petrol-lys:#e7f1f4;
  --flade:#f3f5f7;        /* baggrund bag arket */
  --papir:#ffffff;
  --linje:#dbe2e6;
  --svag:#5a6872;
  --ok:#1e7a46;  --ok-lys:#e8f4ec;
  --adv:#985a00; --adv-lys:#fdf2e1;
  --fejl:#b42318;--fejl-lys:#fdecea;
  --radius:6px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--blaek);background:var(--flade)}
a{color:var(--petrol)}
a:hover{color:var(--petrol-moerk)}
:focus-visible{outline:3px solid #7fb8c9;outline-offset:2px}

/* Topbjælke */
header{display:flex;gap:20px;align-items:center;padding:0 24px;min-height:56px;background:var(--blaek);color:#fff;flex-wrap:wrap}
header .logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:15px;white-space:nowrap}
header .logo svg{height:36px;width:auto;display:block}
header .logo span{color:#9fb3bf}
header nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
header nav a{color:#d6e1e7;text-decoration:none;padding:17px 12px 15px;border-bottom:3px solid transparent}
header nav a:hover{color:#fff}
header nav a.aktiv{color:#fff;border-bottom-color:#5fb0c7}
header .bruger{color:#9fb3bf;font-size:14px}
header form{margin:0}
header button.sekundaer{background:transparent;color:#fff;border-color:#4a5c69;padding:5px 12px}
header button.sekundaer:hover{border-color:#9fb3bf;background:transparent;color:#fff}
.testbanner{background:var(--adv);color:#fff;text-align:center;font-weight:600;font-size:13px;padding:4px}

/* Arket */
main{max-width:1200px;margin:24px auto 64px;padding:28px 32px 36px;background:var(--papir);border:1px solid var(--linje);border-radius:var(--radius)}
h1{font-size:24px;line-height:1.25;margin:0 0 6px;font-weight:650}
h1 .status{vertical-align:middle;margin-left:8px}
h2{font-size:17px;margin:32px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--linje);font-weight:650}
h3{font-size:15px;margin:0 0 6px}
p{margin:8px 0}
.svag{color:var(--svag);font-size:13.5px}
.lille{font-size:13.5px}

/* Tabeller */
.tabelscroll{overflow-x:auto;margin:8px 0}
table{border-collapse:collapse;width:100%}
th,td{padding:9px 10px;border-bottom:1px solid var(--linje);text-align:left;vertical-align:top}
th{font-size:13px;color:var(--svag);font-weight:600;background:var(--flade);border-bottom-color:#c9d3d9;white-space:nowrap}
td.tal,th.tal{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr:last-child td{border-bottom-color:#c9d3d9}
table table th,table table td{padding:5px 8px;background:transparent}

/* Formularer */
input,select,textarea{font:inherit;color:inherit;padding:7px 9px;border:1px solid #b8c4cb;border-radius:5px;background:#fff;max-width:100%;min-height:38px}
input:focus,select:focus,textarea:focus{border-color:var(--petrol);outline:2px solid var(--petrol-lys)}
input::placeholder{color:#8a979f}
input.kort{width:96px}input.mellem{width:150px}input.lang{width:100%}
input[type=checkbox],input[type=radio]{min-height:0;width:17px;height:17px;vertical-align:-3px;accent-color:var(--petrol);padding:0}
.felter.valg label{flex-direction:row;align-items:center;gap:8px;font-size:14.5px;color:inherit;cursor:pointer}
textarea{width:100%;min-height:72px}
label{display:inline-block;margin:4px 14px 4px 0}
.felter{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-end;margin:6px 0}
.felter label{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--svag);margin:0}

/* Knapper */
button,.knap{font:inherit;font-weight:600;padding:8px 16px;border-radius:5px;border:1px solid var(--petrol);background:var(--petrol);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.3}
button:hover,.knap:hover{background:var(--petrol-moerk);border-color:var(--petrol-moerk);color:#fff}
button.sekundaer,.knap.sekundaer{background:#fff;color:var(--petrol)}
button.sekundaer:hover,.knap.sekundaer:hover{background:var(--petrol-lys);color:var(--petrol-moerk)}
button.fare,.knap.fare{background:#fff;color:var(--fejl);border-color:#e3a39c}
button.fare:hover,.knap.fare:hover{background:var(--fejl-lys);color:var(--fejl);border-color:var(--fejl)}
button.lille{padding:4px 10px;font-size:13px;font-weight:500}
.handlinger{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}
.handlinger form{margin:0}
form.inline{display:inline;margin:0 0 0 10px}

/* Bokse og beskeder */
.boks{border:1px solid var(--linje);border-radius:var(--radius);padding:14px 16px;margin:10px 0;background:#fff}
.besked{padding:11px 14px;border-radius:5px;margin:12px 0;border-left:4px solid}
.besked.fejl{background:var(--fejl-lys);color:var(--fejl);border-color:var(--fejl)}
.besked.info{background:var(--ok-lys);color:var(--ok);border-color:var(--ok)}
.status{display:inline-block;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600;background:var(--petrol-lys);color:var(--petrol-moerk)}
.prisstatus{font-weight:600;padding:9px 14px;border-radius:5px;display:inline-block;border-left:4px solid}
.prisstatus.kan_sendes{background:var(--ok-lys);color:var(--ok);border-color:var(--ok)}
.prisstatus.kraever_godkendelse{background:var(--adv-lys);color:var(--adv);border-color:var(--adv)}
.prisstatus.for_lav{background:var(--fejl-lys);color:var(--fejl);border-color:var(--fejl)}
.godk{background:#f4f7fb}
.boks.godk{border-color:#cfdbe8}
.godk h3{color:#2b4a6b}
.egen{font-weight:650;color:var(--petrol-moerk)}
/* Truckload: ny adresse og fordeling i alt (v17) */
tr.ny td{background:var(--petrol-lys)}
tr.sum td{background:var(--flade);border-top:1px solid #c9d3d9}

/* Kontrakt (v15) */
ol.trin{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:14px 0 18px;counter-reset:trin}
ol.trin li{counter-increment:trin;padding:6px 12px;border-radius:16px;background:var(--flade);color:var(--svag);font-size:13px}
ol.trin li::before{content:counter(trin) ". "}
ol.trin li.aktiv{background:var(--petrol);color:#fff;font-weight:600}
.afsnit{margin:10px 0;padding:8px 10px;border-left:3px solid transparent}
.afsnit.aendret{border-left-color:var(--adv);background:var(--adv-lys)}
.afsnit textarea{margin-top:4px;font-size:14px}
.maerke{display:inline-block;font-size:12px;font-weight:600;color:var(--adv);margin-left:6px}
label.blok{display:block;margin:6px 0}
.sammenlign{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 10px}
.sammenlign .tekst{white-space:pre-line;background:#fff;border:1px solid var(--linje);border-radius:4px;padding:8px;margin:4px 0}
@media (max-width:700px){.sammenlign{grid-template-columns:1fr}}

/* Overblik for godkendere (v12) */
.overblik{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 18px}
.overblik div{border:1px solid #cfdbe8;background:#f4f7fb;border-radius:var(--radius);padding:10px 14px}
.overblik span{display:block;font-size:12.5px;color:var(--svag)}
.overblik strong{display:block;font-size:19px;font-variant-numeric:tabular-nums;white-space:nowrap}
.overblik small{display:block;font-size:12px;color:var(--svag)}
.overblik .hoved{background:var(--ok-lys);border-color:#b9dcc6}
.overblik .hoved strong{color:var(--ok)}
table.kost{max-width:860px;margin:6px 0}
table.kost details.ud summary{color:var(--petrol)}
table.kost table.forklaring{margin:6px 0 4px;background:#fff;border:1px solid var(--linje);border-radius:4px}
table.kost table.forklaring td,table.kost table.forklaring th{padding:4px 8px;font-size:12.5px}
table.kost tr.sum td{font-weight:650;border-top:1px solid #c9d3d9}
details{margin:4px 0}
summary{cursor:pointer;color:var(--petrol)}
.skjult{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tilfoej{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.qr svg{display:block;margin:8px 0;background:#fff}
code{font-size:15px;letter-spacing:1px}

/* Tilbuddet, som kunden ser det */
.udkast{background:var(--adv-lys);color:var(--adv);font-weight:600;text-align:center;padding:9px;border-radius:5px;margin-bottom:16px}
.papir{max-width:820px;margin:8px auto;border:1px solid var(--linje);box-shadow:0 2px 10px rgba(19,32,43,.07);background:#fff;position:relative}
/* A4: 210 x 297 mm (Daniel 4.11.2026) */
.papir.a4{width:210mm;max-width:100%;min-height:297mm;display:flex;flex-direction:column}
.papir.a4 .brev{flex:1;display:flex;flex-direction:column}
.papir .firma svg{height:78px;width:auto;display:block;color:var(--blaek)}
.papir .titel{text-align:right}
.papir .titel p{margin:2px 0 0}
.papir .etiket{margin:0 0 3px;font-size:12.5px;color:var(--svag)}
.papir .meta.tre{grid-template-columns:1fr 1fr auto}
.papir .adr{margin:0 0 8px}
.papir.bilag{margin-top:24px}
.papir h1.bilagtitel{text-align:left;font-size:22px}
@media print{.papir.bilag{break-before:page;margin-top:0}}
.papir table.linjer td{padding-top:11px;padding-bottom:12px}
.papir .detaljer{margin:4px 0 0;display:grid;grid-template-columns:auto 1fr;gap:1px 8px;font-size:13px;color:var(--svag)}
.papir .detaljer dt{margin:0}.papir .detaljer dd{margin:0}
.papir .fod{margin-top:auto;padding-top:18px;border-top:1px solid var(--linje);font-size:12px;color:var(--svag)}
.papir .brev{padding:40px 48px 36px}
.papir .baand{height:8px;background:var(--petrol)}
.papir .hoved{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.papir .firma{font-weight:700;font-size:18px}
.papir .firma small{display:block;font-weight:400;font-size:13px;color:var(--svag)}
.papir h1{font-size:28px;margin:0;text-align:right;color:var(--petrol)}
.papir .meta{display:grid;grid-template-columns:1fr auto;gap:24px;margin:28px 0 24px;font-size:14px}
.papir .meta dl{margin:0;display:grid;grid-template-columns:auto auto;gap:2px 14px}
.papir .meta dt{color:var(--svag)}
.papir .meta dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.papir table th{background:var(--petrol);color:#fff;border-bottom:0}
.papir table tr.pant td{color:#36444e;background:#fafbfc}
.papir table tr.total td{border-top:2px solid var(--blaek);border-bottom:0;font-weight:700;font-size:16px}
.papir td:first-child{min-width:220px;width:60%}
.papir .betingelser{margin-top:22px;font-size:13.5px;color:#36444e}
.papir .betingelser p{margin:4px 0}
.papir .hilsen{margin-top:24px}

@media (max-width:700px){
  main{margin:0;border:0;border-radius:0;padding:16px}
  header{padding:0 16px;gap:8px}
  header nav a{padding:12px 8px 10px}
  th,td{padding:7px 6px}
  .papir .brev{padding:20px 16px}
  .papir h1{text-align:left;font-size:24px}
  .papir .meta,.papir .meta.tre{grid-template-columns:1fr}
  .papir.a4{min-height:0}
}
@page{size:A4;margin:0}
@media print{
  header,.handlinger,.udkast,.testbanner{display:none}
  body,main{background:#fff;border:0;margin:0;padding:0}
  .papir{border:0;box-shadow:none;margin:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* v22: kontraktens parter i to tydeligt adskilte bokse */
.parter{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
@media (max-width:700px){.parter{grid-template-columns:1fr}}
.part{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;border:1px solid var(--linje)}
.part .rolle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.part.kunde{border-top:4px solid var(--blaek)}
.part.lup{border-top:4px solid var(--petrol);background:var(--petrol-lys)}
