/* LVT Portal · booking-modul. Roligt, tabelbaseret og letlæst. */
.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;outline:none;font:inherit;resize:vertical}
.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(17,18,20,.08)}
.field>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.field-help{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.optional{font-style:normal;font-weight:500;color:var(--muted);font-size:12px;margin-left:4px}
.muted.small{font-size:13px;margin:12px 0 0}

/* landevælger */
.cp{position:relative}
.cp-btn{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;text-align:left}
.cp-btn:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(17,18,20,.08)}
.cp-btn .cp-name{flex:1;font-weight:650}
.cp-btn b,.cp-pop li b{font-size:11px;color:var(--muted);font-weight:800}
.cp-btn:after{content:"▾";color:var(--muted)}
.cp-flag{width:22px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none;vertical-align:-3px}
.cp-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(17,18,20,.16);padding:8px}
.cp-search{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:6px}
.cp-pop ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.cp-pop li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer}
.cp-pop li span{flex:1}
.cp-pop li:hover,.cp-pop li:focus,.cp-pop li[aria-selected=true]{background:var(--wash);outline:none}

/* guide */
.wizard{padding:0;overflow:visible}
.wizard form{padding:4px 26px 26px}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.wizard-steps li{display:flex;align-items:center;gap:10px;padding:16px 20px;font-size:13px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent}
.wizard-steps li span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);font-size:12px}
.wizard-steps li.active{color:var(--ink);border-bottom-color:var(--ink)}
.wizard-steps li.active span,.wizard-steps li.done span{background:var(--ink);color:#fff}
.wizard-steps li.done{color:var(--ink)}
.bk-section{padding:22px 0;border-bottom:1px solid var(--line);display:grid;gap:16px}
.bk-section:last-of-type{border-bottom:0}
.bk-section h3{margin:0;font-size:17px;letter-spacing:-.01em}
.bk-route{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:start}
.bk-parties{grid-template-columns:1fr 1fr}
.bk-arrow{align-self:center;font-size:22px;color:var(--muted);padding-top:20px}
.bk-place,.bk-party{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.bk-place-title{margin:0;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.segmented{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.segmented label{position:relative}
.segmented input{position:absolute;opacity:0;inset:0}
.segmented span{display:block;padding:10px 18px;font-weight:700;font-size:14px;border-right:1px solid var(--line);cursor:pointer}
.segmented label:last-child span{border-right:0}
.segmented input:checked+span{background:var(--ink);color:#fff}
.segmented input:focus-visible+span{box-shadow:inset 0 0 0 2px #6b8cff}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0}
.chip span{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:650;background:#fff;cursor:pointer}
.chip input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(17,18,20,.15)}
.pallet-editor{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pallet-editor-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;background:#fafafa;border-bottom:1px solid var(--line)}
.pallet-editor-head span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.pallet-editor-head .btn{margin:0;width:auto}
.pallet-table{max-height:420px;overflow:auto}
.pallet-table table{width:100%;border-collapse:collapse}
.pallet-table th{position:sticky;top:0;background:#fff;text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line)}
.pallet-table td{padding:6px 8px;border-bottom:1px solid #eef0f1}
.pallet-table td:first-child{width:44px;font-weight:800;color:var(--muted);text-align:center}
.pallet-table input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;font:inherit;font-variant-numeric:tabular-nums}
.pallet-table input:focus{outline:none;border-color:var(--ink)}
.pallet-totals{margin:0;padding:11px 16px;background:#fafafa;border-top:1px solid var(--line);font-size:14px}
.wizard-actions{display:flex;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.wizard-actions .btn{margin:0;width:auto;min-width:150px}
.wizard-error{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f9e7e9;color:#84202b;font-weight:650}
.file-list{margin:0;padding-left:18px}
.result-card{text-align:center;padding:48px 24px}
.result-ref{font-size:clamp(34px,6vw,64px);letter-spacing:-.04em;margin:8px 0}
.result-card .actions{justify-content:center}

/* tabeller i Excel-stil */
.spec-table table,.doc-table table,.change-table{width:100%;border-collapse:collapse;font-size:14px}
.spec-table th{width:38%;text-align:left;font-weight:600;color:var(--muted);padding:10px 12px;border-bottom:1px solid #eef0f1;vertical-align:top}
.spec-table td{padding:10px 12px;border-bottom:1px solid #eef0f1;font-weight:600;font-variant-numeric:tabular-nums}
.spec-table tr:nth-child(even) th,.spec-table tr:nth-child(even) td{background:#fafafa}
.doc-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.doc-table td{padding:10px;border-bottom:1px solid #eef0f1;vertical-align:middle}
.doc-actions{white-space:nowrap;text-align:right}
.doc-actions .btn{margin:0 0 0 6px;width:auto;padding:7px 11px;font-size:13px}
.doc-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.doc-upload select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}
.doc-upload input[type=file]{flex:1;min-width:180px;font-size:13px}
.doc-upload .btn{margin:0;width:auto;padding:9px 14px}
tr.clickable{cursor:pointer}
tr.clickable:hover td{background:#f7f7f6}
tr.clickable:focus{outline:2px solid var(--ink);outline-offset:-2px}
.row-arrow{color:var(--muted);font-size:20px;text-align:right;width:24px}

/* status */
.status-pill{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:var(--soft);white-space:nowrap}
.status-pill.s-new_edi{background:#fff3df;color:#8a5208}
.status-pill.s-planned{background:#e7eefc;color:#234a9b}
.status-pill.s-in_transit{background:#e6f1f6;color:#145a74}
.status-pill.s-delivered{background:#e3f4ea;color:#0c6940}
.status-pill.s-cancelled{background:#f3e4e6;color:#84202b}
.status-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;counter-reset:s}
.status-steps li{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;padding:4px 6px}
.status-steps li:before{content:"";position:absolute;top:19px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.status-steps li:first-child:before{display:none}
.status-steps li.done:before,.status-steps li.current:before{background:var(--ink)}
.status-steps .dot{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;border:3px solid var(--line);font-weight:850;color:var(--muted)}
.status-steps li.done .dot{background:var(--ink);border-color:var(--ink);color:#fff}
.status-steps li.current .dot{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 5px rgba(17,18,20,.08)}
.status-steps strong{font-size:14px}
.status-steps small{color:var(--muted);font-size:12px;min-height:1em}
.status-cancelled{padding:14px 16px;border-radius:12px;background:#f3e4e6;color:#84202b}

/* bookingside */
.text-btn{background:none;border:0;padding:0;margin-bottom:14px;font-weight:750;color:var(--muted);cursor:pointer}
.text-btn:hover{color:var(--ink)}
.booking-head{align-items:flex-end}
.booking-head .actions .btn{margin:0;width:auto}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;margin-top:18px}
.booking-side{display:grid;gap:18px;align-content:start}
.history{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.history li{padding-left:16px;border-left:3px solid var(--line)}
.history li span{display:block;font-size:12px;margin-top:2px}
.history details{margin-top:6px;font-size:13px}
.history summary{cursor:pointer;color:var(--muted)}
.change-table th{text-align:left;color:var(--muted);font-weight:600;padding:5px 8px 5px 0;width:34%;vertical-align:top}
.change-table td{padding:5px 8px 5px 0;vertical-align:top}
.change-table s{color:var(--muted)}

/* medarbejder */
.filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 12px}
.filter-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
.filter-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.modal.modal-wide{width:min(1180px,100%)}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.modal-head h2{margin:4px 0 0;font-size:28px;letter-spacing:-.03em}
.modal-head .btn{margin:0;width:auto}
.staff-status{margin:20px 0 6px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.check-line{display:flex;align-items:center;gap:8px;font-size:14px}
#staff-booking .booking-grid section h3{margin:0 0 10px}
#staff-booking .card-head{display:flex;justify-content:space-between;align-items:center}
#staff-booking .card-head .btn{margin:0;width:auto}

@media (max-width:980px){
  .bk-route,.bk-parties,.booking-grid{grid-template-columns:1fr}
  .bk-arrow{display:none}
  .wizard-steps{grid-template-columns:repeat(4,auto);overflow:auto}
  .wizard-steps li{padding:12px;white-space:nowrap}
  .form-grid.three{grid-template-columns:1fr}
  .status-steps strong{font-size:12px}
  .pallet-editor-head{flex-direction:column;align-items:stretch}
}
@media (max-width:640px){
  .wizard form{padding:4px 16px 18px}
  .wizard-steps li{font-size:0;gap:0}
  .wizard-steps li span{font-size:12px}
  .segmented{display:flex;width:100%}
  .segmented label{flex:1;text-align:center}
  .segmented span{padding:10px 6px}
  .status-steps .dot{width:30px;height:30px}
  .status-steps li:before{top:15px}
}

/* rettelser */
.cp-pop li[hidden]{display:none}
.segmented{width:max-content;max-width:100%}
a.btn{text-decoration:none}
.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.doc-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.doc-info{display:grid;gap:3px;min-width:0}
.doc-info strong{overflow-wrap:anywhere}
.doc-info span.muted{font-size:12px}
.doc-info .pill{justify-self:start}
@media (max-width:640px){.doc-list li{flex-direction:column;align-items:stretch}.doc-actions{text-align:left}}

/* Adresseforslag (Google Places) */
.addr-field{position:relative}
.addr-suggest{position:absolute;z-index:35;left:0;right:0;top:100%;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid #c9c9c4;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.addr-suggest li{padding:9px 10px;cursor:pointer;font-size:14px;line-height:1.35}
.addr-suggest li:hover,.addr-suggest li:focus{background:#f2f2f0;outline:none}
.addr-suggest li.addr-powered{cursor:default;font-size:10px;color:#888;text-align:right;padding:2px 6px}
.addr-suggest li.addr-powered:hover{background:none}
/* Tekst i gruppevalg må ikke flyde sammen */
.field .check-option span,.field .check-option span strong,.field .check-option span small{display:block;letter-spacing:0}
.field .check-option span strong{font-size:13px;line-height:1.3}
.field .check-option span small{font-weight:500;color:var(--muted);margin-top:3px;line-height:1.35}
.check-option{min-width:0}.check-option span{min-width:0;overflow-wrap:anywhere}
/* Felter i samme række står på linje, selvom kun ét af dem har hjælpetekst */
.field{align-content:start}
.bk-prefill{margin:-4px 0 14px}
.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--ink);text-decoration:underline;cursor:pointer}
.file-table{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:13px}
.file-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.file-table td.file-name{overflow-wrap:anywhere;width:55%}
.file-table select{width:100%;min-width:150px}
.file-table .btn.small{padding:6px 10px;font-size:12px}
.file-add{display:inline-flex;cursor:pointer}
.file-count{margin:8px 0 0;font-size:12px}
@media(max-width:640px){.file-table td{display:block;width:auto;border:0;padding:4px 0}.file-table tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}}
.file-table select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:13px}
/* ---------- Få pris ---------- */
.rate-how{display:grid;grid-template-columns:minmax(180px,1fr) 2fr auto;gap:24px;align-items:center;margin-bottom:18px}
.rate-how h2{margin:4px 0 0}
.rate-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rate-how li{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4}
.rate-how li b{flex:0 0 26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px}
.offer-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:16px 0;border-left:4px solid var(--ink)}
.offer-card.waiting{border-left-color:#c9ced2}
.offer-card.declined,.offer-card.expired,.offer-card.cancelled{border-left-color:#c9ced2;opacity:.85}
.offer-price{font-size:34px;font-weight:900;letter-spacing:-1px;margin:4px 0}
.offer-price small{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:8px}
.offer-note{margin:8px 0 0;padding:10px 12px;background:var(--wash,#f4f5f6);border-radius:8px;font-size:13px}
.offer-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}
.rate-notice{margin-bottom:14px}
.row-go{color:var(--muted);text-align:right}
.rate-actions{align-items:center}.rate-actions .spacer{flex:1}
.margin-box{align-self:end;padding-bottom:12px;font-size:13px;color:var(--muted)}
.cancel-box{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px;background:#fafafa}
.cancel-box .actions{justify-content:flex-end;margin-top:8px}
.btn.danger{background:#9b1c1c;border-color:#9b1c1c;color:#fff}
.pill.attention{background:#151719;color:#fff}
.rate-alert{margin-top:12px}
@media(max-width:900px){.rate-how{grid-template-columns:1fr}.rate-how ol{grid-template-columns:1fr}.offer-card{flex-direction:column;align-items:stretch}.offer-actions{min-width:0}}
/* ---------- Kunder: brugere og adgang ---------- */
.customer-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:14px 0 16px}
.customer-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}
.customer-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}
.member-table td{vertical-align:top;font-size:13px}
.member-table select{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:#fff}
.check-line.small{display:flex;gap:6px;align-items:flex-start;font-size:12px;margin:2px 0;font-weight:500}
.check-line.small input{width:auto;margin-top:2px}
.btn.small{padding:6px 10px;font-size:12px}
.invite-form{margin-top:18px;padding:16px;border:1px dashed var(--line);border-radius:12px;background:#fafafa}
.invite-form .check-line{display:flex;gap:8px;align-items:center;font-weight:500;margin:4px 0}
.invite-form .check-line input{width:auto}
.muted.small,.small{font-size:12px}
.section-space{margin-top:18px}
#customer-form .chips{display:flex;flex-wrap:wrap;gap:6px}
.role-viewer .top-book,.role-viewer .top-track{display:none}
.role-viewer [data-customer-view="customer-quote"]{display:none}
[data-my-notify] .check-line{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:13px;margin:6px 0;text-align:left}[data-my-notify] .check-line input{width:auto;margin-top:2px;flex:0 0 auto}[data-my-notify] .btn{margin-top:8px}
.actions.nowrap{flex-wrap:nowrap;gap:6px}
/* ---------- To portaler: Spedition og Trucking har samme sort/grå/hvide design – kun navnet skifter ---------- */
.portal-switch{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin-right:6px}
.portal-switch a{padding:10px 14px;font-weight:800;font-size:13px;color:var(--muted);text-decoration:none}
.portal-switch a.active{background:var(--ink);color:#fff}
.dept-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:#eceef0;color:#30363a}
.dept-pill.trucking{background:#30363a;color:#fff}

/* LVT's tre områder: Spedition · Trucking · Administration */
.area-switch{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.area-switch button,.area-switch a{border:0;background:none;padding:10px 14px;font:inherit;font-size:13px;font-weight:800;color:var(--muted);text-decoration:none;cursor:pointer}
.area-switch .active{background:var(--ink);color:#fff}
.area-switch button:not(.active):hover,.area-switch a:hover{background:var(--wash)}
.nav-section{margin:4px 0 10px;padding:0 14px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8b9196}
@media(max-width:1100px){.topbar{flex-wrap:wrap;gap:10px;height:auto;padding-top:12px;padding-bottom:12px}.topbar .actions{flex-wrap:wrap;gap:8px}.area-switch button,.area-switch a{padding:8px 10px}}
.btn.danger-text{color:#9b1c1c}
.field:has(> [data-address-autocomplete]){position:relative}

/* ---------- r15: roligere, regneark-agtigt kundedesign (kun kundeportalen) ---------- */
.customer-shell.calm{font-size:14px}
.customer-shell.calm .content{padding:22px 28px 40px}
.customer-shell.calm h1{font-size:1.65rem;line-height:1.15;letter-spacing:-.02em;margin:4px 0 0;max-width:none}
.customer-shell.calm h2{font-size:1.05rem;letter-spacing:-.01em}
.customer-shell.calm .page-head{margin-bottom:16px;flex-direction:row;align-items:flex-end}
.customer-shell.calm .eyebrow{font-size:.68rem;letter-spacing:.12em}
.customer-shell.calm .card,.customer-shell.calm .stat,.customer-shell.calm .table-wrap,.customer-shell.calm .panel{border-radius:8px;box-shadow:none;border:1px solid var(--line)}
.customer-shell.calm .card{padding:16px 18px}
.customer-shell.calm .card-head{margin-bottom:10px}
.customer-shell.calm .btn{border-radius:6px;padding:7px 13px;font-size:.86rem;min-height:0}
.customer-shell.calm .btn.small{padding:5px 10px;font-size:.8rem}
.customer-shell.calm input,.customer-shell.calm select,.customer-shell.calm textarea{border-radius:6px;padding:8px 10px;font-size:.9rem;min-height:0}
.customer-shell.calm .field>span{font-size:.78rem}
.customer-shell.calm table{font-size:.86rem;border-collapse:collapse}
.customer-shell.calm th{font-size:.68rem;padding:7px 10px;background:#f6f6f5;border-bottom:1px solid var(--line);position:sticky;top:0}
.customer-shell.calm td{padding:7px 10px;border-bottom:1px solid #ececea;vertical-align:middle}
.customer-shell.calm tbody tr:nth-child(even) td{background:#fbfbfa}
.customer-shell.calm tbody tr:hover td{background:#f1f2f3}
.customer-shell.calm td small,.customer-shell.calm td .muted{font-size:.78rem}
.customer-shell.calm .stats{gap:10px;margin-bottom:14px}
.customer-shell.calm .stat{padding:12px 14px}
.customer-shell.calm .stat strong{font-size:1.45rem}
.customer-shell.calm .stat span{font-size:.78rem}
.customer-shell.calm .grid{gap:14px}
.customer-shell.calm .customer-hero{padding:16px 20px;grid-template-columns:1fr auto;align-items:center;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-bottom:14px;background-image:none}
.customer-shell.calm .customer-hero::before,.customer-shell.calm .customer-hero::after{display:none}
.customer-shell.calm .customer-hero h2{font-size:1.1rem;line-height:1.3;margin:2px 0 4px;color:var(--ink)}
.customer-shell.calm .customer-hero p{color:var(--muted);margin:0;font-size:.88rem}
.customer-shell.calm .customer-hero .eyebrow{color:var(--muted)}
.customer-shell.calm .customer-hero .actions{margin-top:10px}
.customer-shell.calm .customer-hero .light-btn{background:var(--ink);color:#fff}
.customer-shell.calm .customer-hero .ghost-btn{background:#fff;color:var(--ink);border:1px solid var(--line)}
.customer-shell.calm .customer-hero .control-panel{display:none}
.customer-shell.calm .customer-sidebar .nav button{padding:8px 12px;font-size:.88rem;border-radius:6px}
.customer-shell.calm .topbar{padding-top:10px;padding-bottom:10px}
.customer-shell.calm .status-pill,.customer-shell.calm .pill{font-size:.72rem;padding:2px 8px}
.sidebar-links{display:grid;gap:2px;margin:14px 0 0;padding:0 4px}
.sidebar-links .nav-section{margin:0 0 4px 8px}
.sidebar-links a{display:block;padding:6px 12px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:600}
.sidebar-links a:hover{background:var(--soft);color:var(--ink)}
.lvt-toast{position:fixed;right:20px;bottom:20px;z-index:200;max-width:420px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}
/* første login */
.onboard-modal .modal{max-width:760px;max-height:calc(100vh - 40px);overflow:auto;border-radius:10px;padding:26px 28px}
.onboard-form h2{font-size:1.35rem;margin:4px 0 6px}
.onboard-form .onboard-h{font-size:.95rem;margin:20px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.onboard-form .form-grid{gap:10px}
.onboard-form input,.onboard-form select{border-radius:6px;padding:8px 10px;min-height:0}
.onboard-user{border:1px solid var(--line);border-radius:8px;padding:10px 12px 8px;margin-bottom:8px;background:#fbfbfa}
.onboard-user-title{font-weight:700;font-size:.82rem;margin:0 0 6px}
.onboard-notify{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.onboard-notify .check-line{font-size:.78rem}
@media(max-width:720px){.customer-shell.calm .content{padding:14px 16px 30px}.customer-shell.calm .customer-hero{grid-template-columns:1fr}.customer-shell.calm .page-head{flex-direction:column;align-items:flex-start}}

/* ---------- r16: prisberegning (kun LVT) ---------- */
.price-panel{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:14px 0;background:#fbfbfa}
.price-panel .pp-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
.price-panel h3{margin:2px 0 0;font-size:1rem}
.pp-headline{font-size:.95rem;margin:6px 0 10px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:8px}
.pp-km{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;font-size:.88rem}
.pp-km input{width:90px;padding:6px 8px;border-radius:6px;border:1px solid var(--line)}
.pp-table{font-size:.84rem;width:100%;border-collapse:collapse}
.pp-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.pp-table td{padding:7px 8px;border-bottom:1px solid #ececea;vertical-align:top}
.pp-table td small,.price-panel td small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}
.pp-table .num,.sheet-matrix .num{text-align:right;white-space:nowrap}
.pp-table tr.pp-best td{background:#f1f8f4}
.pp-act{white-space:nowrap}.pp-act .btn{margin:0 4px 4px 0}
.pp-warn{color:var(--amber)!important;font-size:.78rem}
.pp-extras{font-size:.85rem;margin:8px 0}
.pp-suggest{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:8px;padding:12px 14px;margin:10px 0}
.pp-suggest div{display:grid;gap:2px}.pp-suggest strong{font-size:1.4rem}.pp-suggest span{font-size:.8rem;color:#c7c9cc}.pp-suggest em{font-size:.82rem;color:#e6e7e8}
.pp-suggest .eyebrow{color:#9a9da1!important}
.pp-suggest .btn{background:#fff;color:var(--ink)}
.pp-carrier{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.88rem;padding:8px 0;border-top:1px solid var(--line);margin-top:8px}
.pp-spot,.pp-history{margin-top:8px;font-size:.88rem}
.pp-spot summary,.pp-history summary{cursor:pointer;font-weight:600;padding:6px 0}
.pp-history table{font-size:.82rem;width:100%}
.link-btn.small{font-size:.76rem}
.sheet-matrix{font-size:.8rem;border-collapse:collapse;width:100%}
.sheet-matrix th,.sheet-matrix td{padding:5px 8px;border-bottom:1px solid #ececea}
.sheet-matrix tbody tr:nth-child(even) td{background:#fbfbfa}
.sheet-import .inline{display:flex;gap:6px}.sheet-import .inline>*{flex:1}
.sheet-import [data-zones] input,.sheet-import [data-zones] select{padding:6px 8px;border-radius:6px;border:1px solid var(--line);width:100%}

/* ---------- r17: lagerplads og arkiv ---------- */
.storage-card{margin-top:16px}
.storage-meter{height:10px;border-radius:6px;background:var(--soft);overflow:hidden;margin:4px 18px 8px}
.storage-meter div{height:100%;background:var(--ink)}
.storage-meter.warn div{background:var(--amber)}
.storage-line{margin:0 18px 10px;font-size:.9rem}
.storage-card td small{display:block;color:var(--muted);font-size:.75rem}
.storage-card .num{text-align:right}
.storage-settings{padding:0 18px 16px}

/* ---------- r18: offentlig sporing ---------- */
.trk-page{min-height:100vh;display:flex;flex-direction:column;background:#fff;color:var(--ink)}
.trk-top{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid var(--line)}
.trk-top .portal-wordmark{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.trk-search{max-width:980px;width:100%;margin:0 auto;padding:36px 16px 28px}
.trk-search h1{font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0 0 14px;letter-spacing:-.03em;line-height:1.1;max-width:none}
.trk-search form{display:flex;gap:8px;max-width:560px}
.trk-search input{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.trk-error{color:var(--red);font-size:.9rem;margin:10px 0 0}
.trk-band{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trk-band.is-cancelled{background:#f7eeee}
.trk-inner{max-width:980px;margin:0 auto;padding:28px 16px 30px}
.trk-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:700}
.trk-when{margin:0 0 26px;font-size:.98rem;line-height:1.5}
.trk-big{font-size:1.4rem;font-weight:700;margin:0}
.trk-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,3vw,40px)}
.trk-steps li{display:flex;flex-direction:column;align-items:center;text-align:center;color:#a2a5a9}
.trk-icon{position:relative;width:64px;height:52px;display:grid;place-items:center}
.trk-icon>svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trk-check{position:absolute;right:2px;bottom:0;width:22px;height:22px;border-radius:50%;background:var(--ink);display:grid;place-items:center;border:2px solid var(--wash)}
.trk-check svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.trk-line{display:block;width:100%;height:2px;background:#cfd1d4;margin:14px 0 12px}
.trk-steps li strong{font-size:.95rem;color:inherit}
.trk-steps li small{font-size:.76rem;color:var(--muted);margin-top:3px}
.trk-steps li.done{color:var(--ink)}
.trk-steps li.done .trk-line{background:var(--ink)}
.trk-steps li.current strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.trk-band.is-cancelled .trk-steps li{color:#b9b2b2}
.trk-msg{margin:26px 0 0;font-weight:700;max-width:560px;line-height:1.5}
.trk-info{max-width:980px;width:100%;margin:0 auto;padding:18px 16px 40px}
.trk-info details{border:1px solid var(--line);border-radius:10px;background:#fff}
.trk-info summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-weight:700;font-size:1.05rem}
.trk-info summary::-webkit-details-marker{display:none}
.trk-info summary span{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:1rem;line-height:1}
.trk-postal{background:var(--wash);margin:0;padding:22px;text-align:center;border-radius:0 0 10px 10px}
.trk-postal p{margin:0 0 12px}
.trk-input{display:flex;max-width:300px;margin:0 auto;border:1px solid #9a9da1;border-radius:8px;background:#fff;padding:4px}
.trk-input input{flex:1;border:0;padding:8px 10px;font-size:.95rem;outline:none;min-width:0}
.trk-input button{width:32px;height:32px;border-radius:50%;border:0;background:var(--ink);color:#fff;cursor:pointer;font-size:1rem}
.trk-details{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;padding:6px 22px 18px}
.trk-details div{padding:10px 0;border-top:1px solid var(--line)}
.trk-details dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.trk-details dd{margin:3px 0 0;font-weight:600}
.trk-foot{margin-top:auto;display:flex;gap:18px;justify-content:center;padding:18px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
.trk-foot a{color:inherit}
@media(max-width:640px){.trk-steps{grid-template-columns:repeat(2,1fr);row-gap:22px}.trk-details{grid-template-columns:1fr}.trk-search form{flex-direction:column}}
.trk-info summary span::after{content:'+'}.trk-info details[open] summary span::after{content:'−'}
.trk-top .brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--ink);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.04em}
.area-switch{align-items:stretch}.area-switch button,.area-switch a{display:flex;align-items:center;justify-content:center;margin:0;line-height:1.2;min-height:0;height:auto;box-shadow:none;border-radius:0;letter-spacing:0}

/* ---------- r23: økonomi, datainsigt, fakturering ---------- */
.ins-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:6px}
.ins-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 16px}
.ins-tiles .stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px}
.ins-tiles .stat>span{font-size:.78rem;color:var(--muted);order:-1}
.ins-tiles .stat strong{font-size:1.35rem}
.ins-delta{font-size:.75rem;color:var(--muted)}
.ins-delta.up{color:var(--green)}.ins-delta.down{color:var(--red)}
.ins-bars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;align-items:end;height:200px;padding:6px 4px 0}
.ins-bar{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}
.ins-col{width:100%;max-width:38px;display:flex;flex-direction:column;border-radius:3px 3px 0 0;overflow:hidden;min-height:1px}
.ins-col span{display:block;min-height:0}
.ins-col .sp,.ins-legend .sp{background:var(--ink)}
.ins-col .tr,.ins-legend .tr{background:#9a9da1}
.ins-bar small{font-size:.62rem;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;max-width:100%}
.ins-legend{font-size:.78rem;color:var(--muted);display:flex;gap:6px;align-items:center;margin:8px 4px 0}
.ins-legend span{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:8px}
.ins-hbars{display:grid;gap:8px}
.ins-hbars>div{display:grid;grid-template-columns:44px 1fr minmax(180px,auto);gap:10px;align-items:center;font-size:.85rem}
.ins-hbars>div>div{background:var(--soft);border-radius:4px;height:14px;overflow:hidden}
.ins-hbars i{display:block;height:100%;background:var(--ink)}
.ins-hbars b{font-weight:600;font-size:.8rem}
.ins-table .num,.card .num{text-align:right;white-space:nowrap}
.inv-totals{text-align:right;margin:10px 0}
.inv-actions{flex-wrap:wrap;gap:8px}
.set-tabs{margin-bottom:12px}
.shared-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:0 18px 18px}
.shared-link{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:#fff}
.shared-link:hover{border-color:var(--ink)}
.shared-link span{color:var(--muted);font-size:.85rem}
@media(max-width:720px){.ins-hbars>div{grid-template-columns:36px 1fr}.ins-hbars b{grid-column:1/-1}}

/* ---------- r24: backup, cron og nyhedsbrev ---------- */
.cron-box{margin:14px 18px 18px;padding:14px 16px;border-radius:8px;border:1px solid var(--line)}
.cron-box.warn{background:#fff8ec;border-color:#f0d9b0}
.cron-box.ok{background:#f1f8f4;border-color:#cfe6d8}
.cron-box p{margin:6px 0}
.cron-url{display:flex;gap:8px;margin:8px 0}
.cron-url input{flex:1;font-family:monospace;font-size:.8rem;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.nl-sec{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px;background:#fbfbfa}
.nl-sec .inline{display:flex;gap:6px}.nl-sec .inline>*{flex:1}
/* r25 · kampagner */
.pill.warn{background:#fff1d6;color:#8a5a00}
.nl-aud{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px}
.nl-search{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:0 0 6px}
.nl-custlist{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:#fbfbfa}
.nl-custlist .check-line{display:flex;gap:8px;align-items:center;padding:3px 0}
[data-a="emails"] input[name=aConsentNote]{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-top:6px}
[data-nl-form] h3{margin:22px 0 8px;font-size:16px}
table.mini{width:100%;border-collapse:collapse;font-size:13px}table.mini td,table.mini th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}table.mini .num{text-align:right}
.filter-tabs.small button{padding:6px 10px;font-size:12px}
.nl-line{margin-top:6px;display:flex;gap:6px;align-items:center}
.nl-table td small{display:block;color:var(--muted);font-size:12px;margin-top:2px;font-weight:500}
[data-nl-form] [hidden]{display:none!important}
/* r26 · leverandørforespørgsler */
.pp-sr{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.pp-sr-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.pp-sr-head h4{margin:0}
.pp-sr-form{margin-top:10px;gap:8px}.pp-sr-form .check-line{display:flex;gap:8px;align-items:center;padding:2px 0}
.pp-sr td small{display:block;color:var(--muted)}
/* r26 · sprogvælger */
.lang-select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-weight:700;font-size:13px;cursor:pointer}
.lang-float{position:fixed;top:14px;right:14px;z-index:20;box-shadow:0 4px 14px rgba(0,0,0,.08)}
@media (max-width:700px){.lang-float{top:auto;bottom:12px;right:12px}}
/* r27 · drift */
.board{margin:0 0 22px}
.board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}.board-head h2{margin:0;font-size:20px}
.board-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.board-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:left;font:inherit}
.board-tile strong{font-size:28px;letter-spacing:-.04em;line-height:1}.board-tile span{font-size:12.5px;color:var(--muted);font-weight:650}
.board-tile.warn{border-color:#f0d9b0;background:#fff8ec}.board-tile.warn strong{color:#9a5b00}
.board-tile.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}
.board-list{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.board-list h3{margin:4px 0 8px;font-size:15px}
.board-list table{width:100%;border-collapse:collapse;font-size:13px}.board-list td{padding:8px 6px;border-top:1px solid var(--line)}
.qa-bar{margin:12px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfbfa}
.qa-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qa-buttons .btn.small{padding:8px 12px;font-size:13px}
.qa-mail{position:relative}.qa-mail summary{list-style:none;cursor:pointer}.qa-mail summary::-webkit-details-marker{display:none}
.qa-mail div{position:absolute;z-index:5;top:110%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:200px;padding:6px}
.qa-mail div a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:13px}.qa-mail div a:hover{background:var(--soft)}
.qa-panel{margin-top:12px;gap:10px}
.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.tool-link{text-decoration:none;color:inherit;padding:18px}.tool-link h3{margin:0 0 4px;font-size:16px}.tool-link p{margin:0;font-size:13px}.tool-link:hover{border-color:var(--ink)}
.cmdk-hint{margin:8px 8px 12px;padding:9px 12px;border:1px solid #2f3135;border-radius:10px;background:transparent;color:#aeb1b6;font:inherit;font-size:12px;text-align:left;cursor:pointer;display:flex;gap:4px;align-items:center}
.cmdk-hint kbd,.muted kbd{font:inherit;font-size:11px;border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-left:2px}
.cmdk-hint kbd:first-of-type{margin-left:auto}
.cmdk{position:fixed;inset:0;z-index:60;background:rgba(10,11,12,.45);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}
.cmdk-box{width:min(640px,94vw);background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.3);padding:12px}
.cmdk-box input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);padding:12px 10px;font:inherit;font-size:17px;outline:none}
.cmdk-box ul{list-style:none;margin:8px 0;padding:0;max-height:52vh;overflow:auto}
.cmdk-box li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 10px;border-radius:10px;cursor:pointer}
.cmdk-box li span{grid-column:1;font-size:12.5px;color:var(--muted)}.cmdk-box li em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.cmdk-box li.on{background:var(--soft)}
.cmdk-box p{margin:4px 10px}
@media (max-width:900px){.board-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-grid{grid-template-columns:1fr}}
.qa-bar [hidden]{display:none!important}
#staff-status-form [hidden]{display:none!important}
/* r29 · markeder + profilboks */
.mk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.mk-card h2{font-size:17px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mk-sups{list-style:none;margin:0;padding:0}.mk-sups li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.mk-sups small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.mk-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.mk-actions select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px}
.mk-contact{margin-bottom:6px}
.pc-box{margin-top:12px;display:grid;gap:10px;justify-items:start}
.pc-admin td small{display:block;color:var(--muted)}
.wait-note{margin:-4px 0 8px}
@media (max-width:900px){.mk-grid{grid-template-columns:1fr}}
/* r30 · egen beregning */
.warn-notice{background:#fff8ec;color:#7a4b00;border:1px solid #f0d9b0}
.calc-sur input,.calc-sur select,[data-band] input{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;box-sizing:border-box}
.calc-sur input[type=checkbox]{width:auto}
/* r30 · tilbud */
.qt-form [hidden]{display:none!important}
.qt-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}
.qt-layout h3{margin:14px 0 4px;font-size:15px}
.qt-layout .inline{display:flex;gap:6px}.qt-layout .inline>*{flex:1}.qt-layout .inline .btn{flex:0 0 auto}
.qt-preview{position:sticky;top:0;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfbfa;max-height:72vh;overflow:auto}
.qt-preview-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.qt-preview-head h3{margin:0}
.qt-table td,.qt-table th{padding:5px 6px;font-size:12.5px}
@media (max-width:1000px){.qt-layout{grid-template-columns:1fr}.qt-preview{position:static;max-height:none}}

/* r32 · Claude & mails */
.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}
.ai-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:10px 0 14px;font-size:14px}.ai-dl dt{color:var(--muted,#6b7378)}.ai-dl dd{margin:0;word-break:break-word}
.ai-bar{height:10px;border-radius:6px;background:#e4e7ea;overflow:hidden;margin:10px 0 6px}.ai-bar span{display:block;height:100%;background:#1f8a5b}
.ai-set{margin-top:10px}.ai-inbox td small{display:block;color:var(--muted,#6b7378);margin-top:2px}.ai-inbox td{vertical-align:top}
.ai-pre{white-space:pre-wrap;max-height:240px;overflow:auto;background:#f5f6f7;padding:8px;border-radius:6px;font-size:12px;max-width:520px}
.sr-mail{margin-top:6px;padding:6px 8px;border-left:3px solid #c9a227;background:#fbf8ee;border-radius:4px}.sr-mail small{display:block}
.sr-accept{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.sr-accept input{width:100px}.sr-accept input[type=date]{width:140px}

/* r35 · prisaftaler, dokumentdrev, assistent */
.ag-bands{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:6px 0 10px}.ag-band{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:end;padding:6px;border:1px solid var(--line,#e4e7ea);border-radius:8px}.ag-band .field{margin:0}
.pp-suggest .pill.on{margin-left:6px}.pp-suggest small{display:block}
.drv-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.drv-folders{display:flex;flex-direction:column;gap:2px;padding:10px}.drv-folders hr{border:0;border-top:1px solid var(--line,#e4e7ea);margin:6px 0;width:100%}
.drv-f{all:unset;cursor:pointer;padding:8px 10px;border-radius:6px;font-size:14px;display:flex;justify-content:space-between;gap:6px}.drv-f:hover{background:rgba(0,0,0,.05)}.drv-f.on{background:#17191b;color:#fff}.drv-f.on .muted{color:#ccc}
.drv-search input{width:100%;padding:10px;border:1px solid var(--line,#cfd4d8);border-radius:8px;margin-bottom:10px;box-sizing:border-box;font:inherit}
.drv-ico{display:inline-block;min-width:38px;text-align:center;font-size:10px;font-weight:800;padding:6px 4px;border-radius:6px;background:#eef1f3;color:#4a5157}.drv-table td small{display:block;color:var(--muted,#6b7378)}.drv-act{white-space:nowrap}
@media (max-width:820px){.drv-layout{grid-template-columns:1fr}}
.asst-fab{position:fixed;right:20px;bottom:20px;z-index:900;padding:12px 18px;border-radius:999px;border:0;background:#17191b;color:#fff;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;font:inherit;font-weight:700}.asst-fab span{color:#e8c25a}.asst-fab.on{opacity:.85}
.asst-panel{position:fixed;right:20px;bottom:76px;z-index:901;width:min(440px,calc(100vw - 32px));height:min(640px,calc(100vh - 110px));background:#fff;color:#17191b;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}
.asst-panel[hidden]{display:none!important}.asst-panel header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#17191b;color:#fff}.asst-panel header small{display:block;color:#bbb;font-size:12px}.asst-panel header .link-btn{color:#ddd}
.asst-x{all:unset;cursor:pointer;font-size:22px;padding:0 6px;margin-left:8px}.asst-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f6f7f8}
.asst-msg{max-width:88%;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.45}.asst-msg p{margin:0 0 6px}.asst-msg p:last-child{margin:0}.asst-msg ul,.asst-msg ol{margin:4px 0 6px 18px;padding:0}.asst-msg code{background:#eef1f3;padding:1px 4px;border-radius:4px}
.asst-msg.user{align-self:flex-end;background:#17191b;color:#fff}.asst-msg.assistant{align-self:flex-start;background:#fff;border:1px solid #e4e7ea}.asst-h{font-weight:800}
.asst-meta{margin-top:6px;font-size:11px;color:#6b7378}.asst-empty p{font-size:14px}.asst-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.asst-chip{all:unset;cursor:pointer;font-size:13px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #d9dde0}.asst-chip:hover{border-color:#17191b}
.asst-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e4e7ea;background:#fff}.asst-form textarea{flex:1;resize:none;padding:8px 10px;border:1px solid #cfd4d8;border-radius:8px;font:inherit;font-size:14px}
.asst-typing span{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:#9aa1a6;animation:asstb 1s infinite}.asst-typing span:nth-child(2){animation-delay:.15s}.asst-typing span:nth-child(3){animation-delay:.3s}@keyframes asstb{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media print{.asst-fab,.asst-panel{display:none!important}}
[data-ag-open] td small{display:block;color:var(--muted,#6b7378)}

.asst-sec{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7378;margin:12px 0 6px}.asst-empty .asst-sec:first-of-type{margin-top:4px}
.asst-chip.now{border-color:#e8c25a;background:#fffaf0}.asst-chip.ctx{border-color:#17191b;font-weight:700}.asst-chip.more{border-style:dashed;color:#4a5157}
.asst-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.asst-tab{all:unset;cursor:pointer;font-size:12px;padding:5px 9px;border-radius:6px;color:#4a5157}.asst-tab.on{background:#17191b;color:#fff}
.asst-follow{align-self:stretch}.asst-follow .asst-sec{margin-top:2px}.asst-ideas{border-top:1px dashed #d9dde0;padding-top:4px}
.asst-typing small{display:block;margin-top:4px;font-size:11px;color:#6b7378}
.asst-q{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e8c25a;color:#17191b!important;font-weight:900;font-size:14px;line-height:1;margin-right:6px;vertical-align:middle}
.asst-fab{display:inline-flex;align-items:center}.asst-head{display:flex;align-items:center;gap:4px}.asst-head .asst-q{width:28px;height:28px;font-size:17px;margin-right:8px}
.asst-panel header>div:last-child{white-space:nowrap;display:flex;align-items:center;gap:8px}

/* r38 · rapporter */
.rp-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.rp-presets button{all:unset;cursor:pointer;font-size:13px;padding:7px 11px;border-radius:999px;border:1px solid var(--line,#d9dde0)}.rp-presets button.on{background:#17191b;color:#fff;border-color:#17191b}
.rp-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.rp-row .field{margin:0}.rp-dl{display:flex;gap:8px;flex-wrap:wrap}
.rp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.rp-kpis article{background:#fff;border:1px solid var(--line,#e4e7ea);border-radius:12px;padding:14px}.rp-kpis b{display:block;font-size:24px}.rp-kpis b.sm{font-size:16px}.rp-kpis span{font-size:12px;color:var(--muted,#6b7378)}
.rp-bars{display:flex;align-items:flex-end;gap:6px;height:190px;padding-top:6px;overflow-x:auto}.rp-bar{flex:1 0 26px;display:flex;flex-direction:column;align-items:center;height:100%}.rp-bar b{font-size:11px;min-height:14px}.rp-bar small{font-size:10px;color:var(--muted,#6b7378);margin-top:4px}
.rp-stack{flex:1;width:70%;max-width:40px;display:flex;flex-direction:column-reverse;justify-content:flex-start;background:rgba(0,0,0,.03);border-radius:4px 4px 0 0;overflow:hidden}.rp-stack i{display:block}.rp-stack i.sp,.rp-dot.sp{background:#2d5f8a}.rp-stack i.tr,.rp-dot.tr{background:#a5622a}
.rp-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 4px 0 10px}.rp-grid td small{display:block;color:var(--muted,#6b7378)}
@media (max-width:760px){.rp-row{grid-template-columns:1fr 1fr}.rp-dl{grid-column:1/-1}}

/* ===== mobil (iPhone/Samsung): ingen auto-zoom i felter, større trykflader, tabeller kan scrolles ===== */
@media (max-width:760px), (pointer:coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { font-size:16px !important; }
}
@media (pointer:coarse) {
  .btn.small, .link-btn.small, button.small { min-height:36px; }
}
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
@media (max-width:760px) {
  #content table, #customer-content table, .modal table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .rp-row > *, .form-grid > * { min-width:0; }
  .rp-row input[type=date] { width:100%; min-width:0; }
  .rp-dl .btn { flex:1 1 auto; text-align:center; }
  .rp-filter { overflow:hidden; }
  /* hjælpe-knap: kompakt rund knap, panel i fuld skærm */
  .asst-fab { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); padding:0; width:52px; height:52px; justify-content:center; font-size:0; border-radius:50%; }
  .asst-fab .asst-q { width:30px; height:30px; font-size:19px; margin:0; }
  .asst-panel { inset:0; right:0; bottom:0; width:100vw; height:100vh; height:100dvh; border-radius:0; padding-bottom:env(safe-area-inset-bottom); }
  .asst-panel header { padding-top:calc(12px + env(safe-area-inset-top)); }
  .asst-panel header small { display:none; }
  .asst-panel header .link-btn { padding:8px 4px; }
  .asst-x { font-size:28px; padding:4px 8px; }
  .modal-wrap { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
}
@media (max-width:760px) {
  .main, .content, #content, #customer-content { min-width:0; max-width:100vw; }
  .table, .card.table { max-width:100%; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .table table { display:table; }
  #content > *, #customer-content > * { min-width:0; max-width:100%; }
}
@media (max-width:760px) {
  .stats > *, .stat { min-width:0; }
  .stat strong { overflow-wrap:anywhere; word-break:break-word; font-size:clamp(20px, 7vw, 34px); }
  .modal-wrap { max-width:100vw; box-sizing:border-box; }
  .modal { max-width:100%; box-sizing:border-box; }
}
@media (max-width:760px) {
  .btn.small, .link-btn.small, .asst-tab, .asst-chip { min-height:38px !important; }
  .btn.small { display:inline-flex; align-items:center; justify-content:center; }
  .asst-chip { display:inline-flex; align-items:center; }
}
@media (max-width:760px){.rp-row .field select,.rp-row .field input{width:100%;box-sizing:border-box}.rp-row .field:nth-child(3){grid-column:1/-1}}
.asst-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.asst-contact{background:#fff;border:1px solid #e4e7ea;border-radius:12px;padding:10px}.asst-contact textarea{width:100%;box-sizing:border-box;border:1px solid #cfd4d8;border-radius:8px;padding:8px;font:inherit;margin:6px 0}

/* r41 · Samtale pr. booking */
.chat-box{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:14px 0;background:#fff}
.chat-box.cust{padding:18px 20px}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.chat-head h3{margin:0}
.chat-tabs{display:flex;gap:4px;flex-wrap:wrap}
.chat-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:5px;min-height:34px}
.chat-tab small{color:var(--muted,#6b7378);font-weight:600}
.chat-tab.active{background:var(--ink,#17191b);color:#fff;border-color:var(--ink,#17191b)}
.chat-tab.active small{color:#cfd4d8}
.chat-dot{width:8px;height:8px;border-radius:50%;background:#d23b3b;display:inline-block}
.chat-hint{margin:8px 0}
.chat-list{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;padding:8px 2px;margin:6px 0}
.chat-msg{align-self:flex-start;max-width:82%;background:#f1f3f5;border-radius:12px;padding:8px 12px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.chat-msg.mine{align-self:flex-end;background:#17191b;color:#fff}
.chat-msg.mine a{color:#fff}
.chat-msg.supplier{background:#fff4e0}
.chat-msg.driver{background:#e8f1fb}
.chat-msg>small{display:block;font-size:11.5px;opacity:.72;margin-bottom:3px}
.chat-file{display:block;margin-top:4px;font-size:13px}
.chat-file small{opacity:.7}
.chat-tr{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.15);font-size:13.5px}
.chat-tools{display:flex;gap:10px;margin-top:4px}
.chat-msg.mine .link-btn{color:#cfd4d8}
.chat-empty{padding:6px 0}
.chat-compose textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;resize:vertical;min-height:52px}
.chat-compose-row{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.chat-compose-row .chat-files{flex:1;min-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-attach{cursor:pointer;font-size:19px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;min-height:34px;display:inline-flex;align-items:center}
.chat-attach input{display:none}
.chat-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px}
.chat-invite{width:100%;margin-top:4px}
.chat-invite summary{cursor:pointer;font-weight:650;font-size:13.5px;padding:4px 0}
.chat-invite .span-3{grid-column:1/-1}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}
.chat-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:650;cursor:pointer}
.chat-chip.active{background:var(--ink,#17191b);color:#fff;border-color:var(--ink,#17191b)}
.chat-chip b{background:#d23b3b;color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;font-size:12px}
tr.chat-unread td:first-child strong::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#d23b3b;margin-right:6px;vertical-align:middle}
.nav-badge{margin-left:8px;background:#d23b3b;color:#fff;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}
.chat-badge{display:inline-block;background:#fff4e0;border:1px solid #f0c674;color:#7a5200;border-radius:999px;padding:0 7px;font-size:12px;font-weight:700;white-space:nowrap}
@media (max-width:700px){
  .chat-box{padding:12px}
  .chat-msg{max-width:92%}
  .chat-list{max-height:55vh}
  .chat-compose textarea{font-size:16px}
  .chat-invite form{grid-template-columns:1fr!important}
}

/* r42 · påkrævet virksomhedsprofil */
.onboard-form .req{color:#b42318;font-style:normal;margin-left:2px}
.onboard-modal.locked .modal{max-width:760px}

/* r43 · knapper i vindueshovedet samles til højre, og beskeden øverst får luft */
.modal-head>div:first-child{flex:1;min-width:0}
.modal-head{flex-wrap:wrap;align-items:center}
.modal-head>.btn{flex:0 0 auto}
.modal-head>.btn+.btn{margin-left:-8px}
#modal-error:not(:empty){margin-bottom:16px}
#modal-error .notice,#modal-error .error{margin:0}

/* r44 · leverandørportal og forhåndsvisning */
.sp-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 12px}
.sp-step{padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-weight:650;font-size:13px;background:#fff}
.sp-step.done{background:#17191b;color:#fff;border-color:#17191b}
.sp-arrow{color:#9aa1a6}
.sp-status input{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;margin-bottom:8px}
.sp-status .actions{display:flex;gap:8px;flex-wrap:wrap}
.sp-inv{margin-top:10px}
.sp-box{background:#fbfbfc}
.pv-search{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;margin:8px 0}
.pv-list{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:4px}
.pv-item{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.pv-item:hover{border-color:#17191b}.pv-item small{color:#6b7378}
.supplier-shell .nav-badge{margin-left:6px}
.chat-msg.mine.supplier,.chat-msg.mine.driver,.chat-msg.mine.customer{background:#17191b;color:#fff}
.mt-item{border-top:1px solid var(--line);padding:10px 0}.mt-item summary{cursor:pointer;padding:4px 0}.mt-item form{margin-top:10px}
/* r45 · e-conomic */
.eco-steps{margin:0 0 12px;padding-left:20px;line-height:1.6}
.eco-steps li{margin-bottom:6px}
.eco-code{background:#f3f4f5;border:1px solid #e3e5e8;border-radius:6px;padding:10px 12px;font-size:13px;overflow-x:auto;margin:6px 0 0;white-space:pre}
.eco-line{margin:10px 0 0;font-size:14px}

/* r68 · faneblade øverst i et område (Salg, Drift, Økonomi …) */
.group-tabs{display:flex;gap:2px;border-bottom:1px solid #e3e3e3;margin:18px 28px 0;overflow-x:auto}.group-tabs button{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:12px 14px;font:inherit;font-weight:700;font-size:.9rem;color:#6b6b6b;cursor:pointer;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.group-tabs button:hover{color:#111}.group-tabs button.active{color:#111;border-color:#111}
@media (max-width:760px){.group-tabs{margin:12px 16px 0}}

.sheet-edit{border:1px solid var(--line,#e3e3e3);border-radius:8px;padding:10px 12px;margin:10px 0}.sheet-edit-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:6px}.sheet-edit-row label{display:flex;flex-direction:column;font-size:13px;gap:3px}.sheet-edit-row input{width:130px}
.nav-soon{font-size:10.5px;padding:1px 6px;border:1px solid currentColor;border-radius:999px;opacity:.6;margin-left:4px;font-weight:600}
.sp-nav .nav-sep{height:1px;background:#e3e3e3;margin:12px 6px}.sp-nav .nav-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a8a8a;margin:4px 12px 6px}.supplier-shell .sp-tabs{margin:0 0 18px}
.cx-copy{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 8px}.cx-copy div{display:flex;flex-direction:column;gap:3px}.cx-copy small{font-size:11px;color:#6b6b6b;text-transform:uppercase;letter-spacing:.05em}.cx-actions{align-items:center}.cx-actions input{padding:7px 9px;border:1px solid #ccc;border-radius:6px;font:inherit;font-size:13px}.cx-prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;margin:16px 0}.cx-classes{width:100%;border-collapse:collapse;margin-top:8px}.cx-classes td,.cx-classes th{padding:5px 4px;border-bottom:1px solid #eee;font-size:13.5px}.cx-classes input{width:110px;text-align:right}.cx-name{font:inherit;font-weight:700;border:0;border-bottom:1px dashed #bbb;background:none;width:100%}.cx-enable{font-size:15px}.cxs-price{font-size:15px;margin:6px 0}
@media(max-width:600px){.cx-prods{grid-template-columns:1fr}}
.qc-row{align-items:end}.qc-margin{margin-top:12px;align-items:end}.qc-offers{display:grid;gap:16px}.qc-offer .card-head{align-items:flex-start}.qc-best{border:2px solid #111}.qc-total{text-align:right;display:flex;flex-direction:column;gap:2px}.qc-total strong{font-size:1.6rem}.qc-lines{width:100%;border-collapse:collapse;margin-top:6px}.qc-lines td{padding:6px 4px;border-bottom:1px solid #eee}.qc-lines .num{text-align:right;font-variant-numeric:tabular-nums}.qc-sum td{font-weight:800;border-top:2px solid #111}
.form-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media(max-width:760px){.form-grid.four{grid-template-columns:1fr 1fr}}
.cx-per-nav{justify-content:space-between;align-items:center}.cx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}.cx-stats .card{display:flex;flex-direction:column;gap:4px;margin:0}.cx-stats small{color:#6b6b6b;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.cx-stats strong{font-size:1.4rem}.cx-ptable input[type=number]{width:110px;text-align:right}.cx-issuer{border:0;border-bottom:1px dashed #ccc;font:inherit;font-size:12px;background:none;width:180px}@media(max-width:760px){.cx-stats{grid-template-columns:1fr 1fr}}
.qc-card{max-width:460px}.qc-card .field{display:flex;flex-direction:column;margin-bottom:12px}.qc-row{border-top:1px solid #e3e3e3;padding-top:10px;margin-top:4px}.qc-row-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#6b6b6b;margin-bottom:6px}.qc-add{margin:0 0 14px}.qc-margin{display:flex;gap:8px}.qc-margin input{flex:1}.qc-margin select{width:80px}.qc-go{width:100%}.qc-result{margin-top:18px;border-top:2px solid #111;padding-top:12px}.qc-card .qc-offer{margin-bottom:16px}.qc-card .qc-best{border:0}.qc-big{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px}.qc-big strong{font-size:2rem;line-height:1.1}.qc-big small{color:#6b6b6b;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.qc-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(320px,520px);gap:20px;align-items:start}.qc-grid .qc-card{max-width:none;margin:0}.qc-out .qc-eta{margin-top:18px;border-top:2px solid #111;padding-top:12px}@media(max-width:900px){.qc-grid{grid-template-columns:1fr}}

/* r82 · Leverandørregister */
.sd-filters { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.sd-filters input[type=search] { flex: 1 1 280px; }
.sd-filters select { flex: 0 0 160px; }
.sd-countries { display: inline-block; max-width: 220px; white-space: normal; }
[data-sd-table] td small { display: block; margin-top: 2px; color: #6b6b66; font-size: .8rem; }
[data-sd-table] td small.pp-warn { color: #9a5b00; }
[data-sd-table] .row-btns { display: flex; gap: 6px; flex-wrap: wrap; }

/* r83 · Tender */
.td-drop { display: grid; gap: 8px; padding: 18px; border: 2px dashed #c9c9c4; border-radius: 12px; text-align: left; }
.td-drop.over { border-color: #111; background: #f5f5f2; }
.td-drop > span { color: #6b6b66; font-size: .9rem; }
.td-drop input[type=file][data-td-qfile] { display: none; }
.td-checks { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.td-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-bottom: 12px; }
.td-facts small { display: block; color: #6b6b66; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.td-history { list-style: none; padding: 0; margin: 0; }
.td-history li { padding: 8px 0; border-bottom: 1px solid #ecece8; }
.td-history li small { display: block; color: #6b6b66; }
.td-modal { max-width: 1180px !important; width: calc(100vw - 32px); }
.td-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 6px 0 10px; font-size: .9rem; }
.td-meta small { display: block; color: #6b6b66; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.td-notes { background: #f5f5f2; border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; font-size: .85rem; }
.td-notes p { margin: 4px 0; white-space: pre-wrap; }
.td-grid-wrap { overflow-x: auto; }
.td-grid { width: 100%; border-collapse: collapse; }
.td-grid th, .td-grid td { padding: 4px 6px; border-bottom: 1px solid #ecece8; vertical-align: top; }
.td-grid td.td-lab { white-space: nowrap; color: #333; font-size: .85rem; padding-top: 10px; }
.td-cell { width: 100%; min-width: 80px; padding: 6px 8px; border: 1px solid #c9c9c4; border-radius: 6px; font: inherit; text-align: right; }
.td-cell:focus { outline: 2px solid #111; }
.td-buy { display: block; font-size: .72rem; color: #6b6b66; text-align: right; white-space: nowrap; }
.td-extra { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin-top: 12px; }
.td-more { margin-top: 12px; border-top: 1px solid #ecece8; padding-top: 10px; }
.td-more summary { cursor: pointer; font-weight: 600; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; letter-spacing: inherit; text-transform: inherit; }

/* r84 · hjælpe-ikoner (?) */
.td-help { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 4px; border-radius: 50%; border: 1px solid #b5b5ae; color: #8a8a83; font-size: 10px; font-weight: 700; line-height: 1; cursor: help; vertical-align: middle; text-transform: none; letter-spacing: 0; user-select: none; }
.td-help:hover, .td-help:focus { color: #111; border-color: #111; outline: none; }
.td-tip { position: fixed; z-index: 10000; display: none; padding: 10px 12px; background: #111; color: #fff; border-radius: 8px; font-size: 12.5px; line-height: 1.45; font-weight: 400; text-transform: none; letter-spacing: 0; box-shadow: 0 10px 30px rgba(0,0,0,.25); pointer-events: none; }
.modal-actions .td-help { align-self: center; }
.qc-miss { padding: 10px 12px; border: 1px solid #ecece8; border-radius: 10px; margin-bottom: 8px; } .qc-miss p { margin: 4px 0 0; color: #5d5d57; font-size: .9rem; }
/* r86: leverandør – status trin for trin */
.sp-next-banner{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:2px solid #17191b;border-radius:10px;margin:6px 0 12px;background:#f6f6f4}
.sp-next-banner strong{font-size:16px}
.sp-next-banner.done{border-color:var(--line);background:#fff}
.sp-flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sp-flow-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.sp-flow-no{width:30px;height:30px;border-radius:50%;border:1px solid #9aa1a6;display:flex;align-items:center;justify-content:center;font-weight:700}
.sp-flow-body{display:flex;flex-direction:column;gap:2px}
.sp-flow-state{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:#5d6468}
.sp-flow-step.done{background:#f6f6f4}
.sp-flow-step.done .sp-flow-no{background:#17191b;color:#fff;border-color:#17191b}
.sp-flow-step.next{border:2px solid #17191b;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.sp-flow-step.next .sp-flow-no{background:#fff;border:2px solid #17191b}
.sp-flow-step.next .sp-flow-state{color:#17191b}
.sp-flow-step.locked{opacity:.55}
.sp-flow .sp-status input{margin-bottom:10px}
@media (max-width:640px){.sp-flow-step{grid-template-columns:30px 1fr}.sp-flow-act{grid-column:2}}
/* r87: leverandør – straks-pris og booking hos LVT */
.sp-scope{margin:4px 0 14px}
.sp-price-card{border:2px solid #17191b}
.sp-price-big{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:4px 0 6px}
/* r87: telefonfelt med landekode (lvt-phone.js) – CSP blokerer den indsatte <style>, derfor her */
.lw-tel,.field>span.lw-tel{display:flex;gap:6px;margin-bottom:0;align-items:stretch;width:100%;min-width:0}
.lw-tel>input{flex:1 1 auto;min-width:0!important;width:auto!important;margin:0!important}
.lw-tel>select{flex:0 0 auto;width:auto;max-width:100px;cursor:pointer;margin:0!important}
/* r87: login/indgang – rigtigt LVT-logo og sprogvælger i topbaren (ikke flydende ovenpå knappen) */
.portal-entry-topbar{grid-template-columns:auto 1fr auto auto}
.portal-wordmark .portal-logo{display:block;height:30px;width:auto}
.portal-logo-sep{width:1px;height:22px;background:rgba(255,255,255,.28)}
.portal-wordmark strong{font-weight:700;letter-spacing:.01em}
.lang-select.lang-entry{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:9px 10px;font-weight:700;font-size:13px}
.lang-select.lang-entry option{color:#111;background:#fff}
@media(max-width:700px){.portal-entry-topbar{grid-template-columns:1fr auto auto}.portal-wordmark .portal-logo{height:24px}.portal-logo-sep{height:18px}}
@media(max-width:700px){.portal-entry-topbar{grid-template-columns:1fr auto}.portal-entry-topbar .portal-top-cta{display:none}.portal-wordmark strong{white-space:nowrap;font-size:.95rem}.lang-select.lang-entry{padding:8px}}
/* r89: Indhold – blog og leksikon */
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.ct-side{display:grid;gap:14px}
.ct-side .card{padding:16px}
.ct-side h3{margin:4px 0}
.ct-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ct-tags{display:flex;flex-wrap:wrap;gap:6px}
.ct-slug{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ct-slug input{flex:1;min-width:160px}
.ct-body{width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;border:1px solid var(--line);border-radius:10px;padding:12px}
.ct-preview{border:1px solid var(--line);border-radius:10px;padding:14px 18px;min-height:300px;line-height:1.6}
.ct-preview h2{font-size:22px;margin:18px 0 6px}.ct-preview h3{font-size:17px;margin:14px 0 4px}.ct-preview blockquote{border-left:3px solid #17191b;margin:10px 0;padding:2px 12px;color:#444}
.ct-tabs{display:flex;gap:6px;margin:4px 0 8px}
.ct-seo{margin-top:14px}.ct-seo summary{cursor:pointer;font-weight:700}
.ct-serp{display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:8px}.ct-serp b{color:#1a0dab;font-weight:600}.ct-serp small{color:#1e6b3a}
.ct-cover{width:100%;border-radius:8px;margin-top:8px}
.text-btn.danger{color:#8e2631}
@media(max-width:1000px){.ct-grid{grid-template-columns:1fr}}
/* r90: send RFQ */
.td-rfq-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;background:#f4f4f2;color:var(--ink);border:1px solid var(--line)}
.td-rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.td-rec{padding:10px 0;border-top:1px solid var(--line)}
.td-rec.is-sugg .td-rec-head strong::after{content:"Forslag";margin-left:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:#17191b;color:#fff;vertical-align:middle}
.td-rec-head{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}
.td-rec-head small{color:var(--muted)}
.td-rec-why{font-style:italic}
.td-rec-mails .check-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px;margin:3px 0}
.td-rec-search{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
.td-rfq-q{display:flex;flex-direction:column;gap:4px}
.td-confirm{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:2px solid #17191b;border-radius:10px;margin:10px 0}
.td-send-bar{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:12px 16px;margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 -4px 16px rgba(0,0,0,.05);z-index:3}
@media (max-width:900px){.td-rec-grid{grid-template-columns:1fr}.td-rfq-cta{flex-direction:column;align-items:flex-start}}
/* r90: opret på vegne af kunde */
.mc-who{padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;background:#fafaf8}
.mc-who .segmented{margin-bottom:10px}
.rate-remove{margin-top:6px;text-align:right}
/* r91: prishistorik / indikationer */
.pp-old td{opacity:.6}
.pp-ind summary{font-weight:700}
.ph-filters{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:900px){.ph-filters{grid-template-columns:1fr 1fr}}
.ph-table td small,.pp-ind td small{display:block;color:var(--muted);font-size:12px}
/* r92 adressebog */
.bk-place .field{position:relative}
.ab-suggest li[data-index]{display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.ab-suggest li strong{font-weight:600;color:#111}
.ab-suggest .ab-line{grid-column:1;font-size:12.5px;color:#666}
.ab-suggest .ab-tag{grid-column:2;grid-row:1/span 2;align-self:center;font-style:normal;font-size:11px;color:#555;border:1px solid #d6d6d1;padding:2px 6px;white-space:nowrap}
.ab-suggest li.ab-head{text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:2px 10px 6px}
/* r95 nyhedsbrev-serie */
.nl-series{padding:14px 16px;margin:0 0 12px}
.nl-series p{margin:0 0 10px;line-height:1.5}
.nl-themes{margin:8px 0 0 18px;padding:0;font-size:13px;color:#555}
.nl-themes li{margin:2px 0}
.nl-themes li.is-next{color:#111;font-weight:600}

/* r96 · Mailsignaturer */
.sg-grid { display: grid; grid-template-columns: minmax(260px, 360px) 1fr; gap: 24px; align-items: start; }
@media (max-width: 980px) { .sg-grid { grid-template-columns: 1fr; } }
.sg-check { align-self: end; padding-bottom: 10px; }
.sg-status { margin-bottom: 10px; }
.sg-sep { display: inline-block; width: 1px; height: 22px; background: #d4d7d9; margin: 0 6px; vertical-align: middle; }
.sg-prev { border: 1px solid #d4d7d9; border-radius: 6px; padding: 18px; margin: 10px 0 14px; background: #ffffff; overflow: hidden; }
.sg-prev .sg-mail { max-width: 640px; }
.sg-prev.sg-narrow .sg-mail { max-width: 340px; }
.sg-prev.sg-narrow img { max-width: 100% !important; height: auto !important; }
.sg-body { font: 14px/1.5 Arial, Helvetica, sans-serif; color: #17191b; margin: 0 0 14px; }
/* mørk tilstand: tilnærmer Outlooks fulde farveinvertering – billeder vendes tilbage */
.sg-prev.sg-dark { background: #ffffff; filter: invert(1) hue-rotate(180deg); }
.sg-prev.sg-dark img { filter: invert(1) hue-rotate(180deg); }
.sg-copybuf { position: fixed; left: -9999px; top: 0; }
.sg-guide { margin-top: 18px; border-top: 1px solid #e3e5e7; padding-top: 12px; }
.sg-guide h4 { margin: 14px 0 4px; font-size: 14px; }
.sg-steps { margin: 4px 0 8px 18px; padding: 0; line-height: 1.55; }
.sg-banners { display: grid; gap: 10px; margin: 8px 0 14px; }
.sg-banner { display: flex; gap: 12px; align-items: center; border: 1px solid #d4d7d9; border-radius: 6px; padding: 10px; cursor: pointer; }
.sg-banner.active { border-color: #17191b; box-shadow: inset 0 0 0 1px #17191b; }
.sg-banner img { width: 280px; height: auto; display: block; }
.sg-formats { display: grid; gap: 6px; margin-bottom: 14px; }
/* r97 · leksikon: relaterede og faglig kontrol */
.ct-rel-list { max-height: 220px; overflow: auto; border: 1px solid #d4d7d9; border-radius: 6px; padding: 6px 10px; margin-top: 6px; }
.ct-rel-list .check-line { display: block; padding: 3px 0; font-size: 13px; }
.pp-miss { margin: 10px 0; border: 1px solid #e3e5e7; border-radius: 6px; padding: 8px 12px; }
.pp-miss summary { cursor: pointer; font-weight: 700; }
.pp-miss ul { margin: 8px 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.pp-miss li { display: grid; gap: 2px; }
.pp-miss li .pill { justify-self: start; }
/* r97 · Dagens tavle: næste handling og ansvarlig */
.board-list td small { display: block; margin-top: 2px; }
.board-list .board-wait { display: block; margin-top: 4px; font-size: 12px; padding: 2px 4px; max-width: 220px; }
/* r97 · leverandøransøgninger */
.sa-dl { display: grid; grid-template-columns: 160px 1fr; gap: 4px 12px; margin: 8px 0 12px; }
.sa-dl dt { color: #6b7276; font-size: 13px; }
.sa-dl dd { margin: 0; }
.sa-form .actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sa-form .actions input[name=note] { min-width: 220px; }
.sd-buy { display: block; margin-top: 6px; font-size: 12px; }
.ct-rel-list .check-line { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.ct-rel-list .check-line input { width: auto; min-height: 0; flex: 0 0 auto; margin: 3px 0 0; }
.ct-rel-list .check-line[hidden] { display: none; }
/* r99 · Terminal kort */
.term-grid { display: grid; grid-template-columns: minmax(280px, 520px) 1fr; gap: 18px; align-items: start; }
@media (max-width: 980px) { .term-grid { grid-template-columns: 1fr; } }
.term-map-card { padding: 10px; position: sticky; top: 90px; }
.term-map { width: 100%; height: auto; display: block; }
.term-pin { cursor: pointer; }
.term-pin circle { fill: #141516; stroke: #fff; stroke-width: 3; }
.term-pin .term-n { fill: #fff; font: 800 13px Inter, Arial, sans-serif; text-anchor: middle; }
.term-pin .term-l { fill: #141516; font: 700 13px Inter, Arial, sans-serif; text-anchor: middle; paint-order: stroke; stroke: #dfe4e8; stroke-width: 4px; }
.term-pin.on circle { fill: #fff; stroke: #141516; }
.term-pin.on .term-n { fill: #141516; }
.term-list { display: grid; gap: 12px; }
.term-card { border: 1px solid transparent; transition: border-color .15s; }
.term-card.on { border-color: #141516; }
.term-card h3 { margin: 2px 0 6px; }

/* r101: transportplan, alarmer, tydelig status */
.qa-now { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 4px 0 12px; border-bottom: 1px solid #e3e4e1; margin-bottom: 10px; }
.qa-now-label { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #6b6f74; }
.qa-now-value { font-size: 18px; font-weight: 800; color: #141516; padding: 6px 12px; border: 2px solid #141516; border-radius: 999px; }
.qa-now .btn.armed { background: #fff !important; color: #141516 !important; border: 2px solid #141516 !important; }
.status-manual { margin: 0 0 14px; padding: 10px 14px; border: 1px dashed #c9cbcf; border-radius: 10px; background: #fafaf9; }
.status-manual summary { cursor: pointer; font-weight: 700; font-size: 13px; color: #44474b; }
.status-manual[open] summary { margin-bottom: 8px; }
.ops-alerts { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; padding: 14px 16px; margin: 12px 0; border: 2px solid #141516; border-radius: 12px; background: #f4f4f2; }
.ops-alerts p { margin: 2px 0; }
.staff-plan, .sp-plan, .cust-plan { border: 1px solid #e3e4e1; border-radius: 12px; padding: 14px 16px; margin: 12px 0; background: #fff; }
.staff-plan.empty, .sp-plan.warn { border-style: dashed; border-color: #8a8d92; }
.staff-plan h3 { margin: 0; font-size: 15px; }
.sp-plan-dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 10px 0 0; }
.sp-plan-dl dt { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #6b6f74; }
.sp-plan-dl dd { margin: 3px 0 0; font-weight: 600; }
@media (max-width: 760px) { .sp-plan-dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.plan-pending { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; border: 2px solid #141516; background: #f4f4f2; }
.sp-plan-form .eyebrow { margin: 10px 0 4px; }
.sp-plan-form .sp-same { align-self: end; padding-bottom: 12px; }
.sp-plan-dev { margin: 0 0 8px; padding: 8px 12px; border-left: 3px solid #141516; background: #f4f4f2; font-size: 13px; font-weight: 600; }
.sp-preadvice { margin: 6px 0 0; padding: 6px 10px; border-left: 3px solid #141516; background: #f4f4f2; font-size: 13px; font-weight: 600; }
.sp-problem { border: 1px solid #e3e4e1; }
.sp-problem-kinds { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 10px; }
.sp-problem-kinds .btn.active { background: #141516 !important; color: #fff !important; }
.sp-problem-list { margin: 10px 0 0; padding-left: 18px; font-size: 13px; }
[data-sp-other][hidden], [data-staff-plan-box][hidden], [data-sp-plan-edit-box][hidden], [data-sp-problem][hidden], [data-sp-min][hidden], .sp-plan-dev[hidden] { display: none !important; }
input.t24{font-variant-numeric:tabular-nums}

/* r106: Kundetilbud med internt udbud */
.ofx-intro{max-width:880px;margin:-4px 0 16px}
.ofx-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #e3e4e1;border-radius:14px;background:#fff;margin:0 0 14px}
.ofx-summary>div{padding:12px 16px;border-left:1px solid #e3e4e1;display:grid;gap:3px;min-width:0}
.ofx-summary>div:first-child{border-left:0}
.ofx-summary small{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6b6f74}
.ofx-summary strong{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.ofx-step{display:flex;align-items:center;gap:10px;border:1px solid #e3e4e1;background:#fff;border-radius:12px;padding:11px 14px;font:inherit;font-weight:700;color:#44474b;cursor:pointer;text-align:left}
.ofx-step b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid #c9cbcf;font-size:12.5px;flex:none}
.ofx-step:hover:not(:disabled){border-color:#141516}
.ofx-step.done b{background:#141516;border-color:#141516;color:#fff}
.ofx-step.active{border:2px solid #141516;color:#141516;padding:10px 13px}
.ofx-step.active b{border-color:#141516}
.ofx-step:disabled{opacity:.45;cursor:default}
.ofx-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;align-items:start}
.ofx-cols.wide{grid-template-columns:1.35fr 1fr}
.ofx .card{margin:0 0 14px}
.ofx-cols .card{margin:0}
.ofx .card h3{margin:0 0 12px;font-size:16px}
.ofx-h3{margin-top:18px!important}
.ofx-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.ofx-card-head h3{margin-bottom:2px!important}
.ofx-rows{width:100%;border-collapse:collapse;margin:0 0 10px}
.ofx-rows th{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6b6f74;text-align:left;padding:4px 6px}
.ofx-rows td{padding:3px 4px}
.ofx-rows input{width:100%;border:1px solid #dedfe1;border-radius:9px;padding:8px 10px;font:inherit;font-variant-numeric:tabular-nums}
.ofx-rows input:focus{outline:none;border-color:#141516}
.ofx-rows .ofx-cc{width:56px;text-transform:uppercase;text-align:center}
.ofx-dash{width:14px;text-align:center;color:#8a8d92}
.ofx-rows tbody{display:table-row-group}
.ofx-rows[data-of-bands],.ofx-rows tbody[data-of-bands]{max-height:360px}
.ofx-x{border:0;background:transparent;font-size:18px;line-height:1;width:28px;height:28px;border-radius:8px;cursor:pointer;color:#6b6f74}
.ofx-x:hover{background:#f1f1ef;color:#141516}
.ofx-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #e3e4e1}
.ofx-bar .spacer,.ofx .spacer{flex:1}
.ofx-sup td small,.ofx-sup td .small{display:block}
.ofx-sup .ofx-acts{white-space:nowrap;text-align:right}
.ofx-sup .ofx-acts .btn{margin-left:4px}
.ofx-sub td{padding-top:0!important;border-top:0!important;font-size:13px}
.btn.ghost{background:#fff!important;color:#141516!important;border:1px solid #d1d3d6!important}
.ofx-picker{max-height:340px;overflow:auto;border:1px solid #e3e4e1;border-radius:12px;margin:8px 0 12px}
.ofx-pick{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #efefed;cursor:pointer}
.ofx-pick:last-child{border-bottom:0}
.ofx-pick:hover{background:#fafaf8}
.ofx-pick span{flex:1;min-width:0;display:grid}
.ofx-pick small{color:#6b6f74;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ofx-pick em{font-style:normal;font-size:11px;font-weight:800;border:1.5px solid #141516;border-radius:999px;padding:2px 8px}
.ofx-pick input{width:17px;height:17px;accent-color:#141516}
.ofx-count strong{font-size:22px;padding-top:6px}
.ofx-check{display:flex!important;align-items:center;gap:10px;align-self:end;padding-bottom:12px}
.ofx-check input{width:18px;height:18px;accent-color:#141516}
.ofx-matrix-wrap{overflow:auto;border:1px solid #e3e4e1;border-radius:12px;max-height:70vh}
.ofx-matrix{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
.ofx-matrix th,.ofx-matrix td{border-bottom:1px solid #ececea;border-right:1px solid #f1f1ef;padding:6px 8px;text-align:center}
.ofx-matrix tr:first-child th{position:sticky;top:0;z-index:2;background:#141516;color:#fff;font-size:12px;font-weight:700;line-height:1.25;min-width:104px;vertical-align:bottom;padding:9px 8px}
.ofx-matrix th:first-child{position:sticky;left:0;z-index:1;background:#f4f4f2;text-align:left;font-weight:750;white-space:nowrap}
.ofx-matrix tr:first-child th:first-child{z-index:3;background:#141516}
.ofx-matrix input{width:100%;min-width:76px;border:1px solid transparent;border-radius:7px;padding:6px;text-align:center;font:inherit;font-weight:700;background:transparent}
.ofx-matrix input:hover{border-color:#dedfe1}
.ofx-matrix input:focus{outline:none;border-color:#141516;background:#fff}
.ofx-in input{font-weight:500}
.ofx-calc td small{display:block;font-size:10.5px;color:#7a7e83;white-space:nowrap;margin-top:1px}
.ofx-calc td.ov{background:#efefed}
.ofx-calc td.ov input{border-color:#141516;background:#fff}
.ofx-calc td.none input::placeholder{color:#b8bbbf}
.ofx-cover{text-align:right;display:grid}
.ofx-cover strong{font-size:22px}
.ofx-cover span{font-size:12px;color:#6b6f74}
.ofx-simt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:4px}
.ofx-simt td{padding:8px 0;border-bottom:1px solid #ececea;font-size:14px}
.ofx-simt td:nth-child(2){color:#6b6f74;font-size:12.5px;padding:8px 10px}
.ofx-simt td:last-child{text-align:right;font-weight:650;white-space:nowrap}
.ofx-simt tr.sum td{border-top:2px solid #141516;border-bottom:0;font-weight:800;font-size:15px}
.ofx-simt tr.buy td{color:#6b6f74;border-bottom:0;padding:4px 0}
.ofx-simt tr.buy td:last-child{color:#141516}
.ofx-offer{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:14px;align-items:start}
.ofx-offer-form .card{margin:0 0 14px}
.ofx-term{display:grid;grid-template-columns:24px 1fr 28px;gap:8px;align-items:start;padding:10px 0;border-top:1px solid #efefed}
.ofx-term-on{padding-top:8px}
.ofx-term-on input{width:17px;height:17px;accent-color:#141516}
.ofx-term>div{display:grid;gap:5px}
.ofx-term input.ofx-term-title{border:1px solid transparent;border-radius:8px;padding:5px 7px;font:inherit;font-weight:750;font-size:13.5px}
.ofx-term textarea{border:1px solid #e3e4e1;border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;resize:vertical;min-height:52px}
.ofx-term input.ofx-term-title:hover,.ofx-term input.ofx-term-title:focus{border-color:#dedfe1;outline:none}
.ofx-term textarea:focus{outline:none;border-color:#141516}
.ofx-term:has(input[type=checkbox]:not(:checked)) > div{opacity:.45}
.ofx-preview{position:sticky;top:12px;border:1px solid #e3e4e1;border-radius:14px;background:#f4f4f2;overflow:hidden}
.ofx-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#fff;border-bottom:1px solid #e3e4e1}
.ofx-preview-bar>div:first-child{display:grid}
.ofx-preview-actions{display:flex;gap:6px;flex-wrap:wrap}
.ofx-frame{display:block;width:100%;height:calc(100vh - 160px);min-height:700px;border:0;background:#f4f4f2}
.ofx-link{display:flex;gap:6px;margin:8px 0}
.ofx-link input{flex:1;min-width:0;border:1px solid #dedfe1;border-radius:9px;padding:7px 10px;font-size:12px;color:#44474b}
.ofx-status{display:flex;gap:8px;align-items:center}
.ofx-status select{border:1px solid #dedfe1;border-radius:9px;padding:7px 10px;font:inherit}
.ofx-hist{margin-top:8px}
.ofx-hist summary{cursor:pointer;font-weight:700;font-size:13px}
.ofx-hist ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px;font-size:13px}
.ofx-hist small{display:block;color:#6b6f74;font-size:11.5px}
.ofx-send-dl{display:grid;gap:8px;margin:4px 0 14px;padding:12px 14px;border:1px solid #e3e4e1;border-radius:12px;background:#fafaf9}
.ofx-send-dl>div{display:grid;grid-template-columns:96px 1fr;gap:10px}
.ofx-send-dl dt{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6b6f74;padding-top:2px}
.ofx-send-dl dd{margin:0;font-weight:600}
.ofx-warn{margin:0 0 12px;padding:9px 12px;border-left:3px solid #141516;background:#f4f4f2;font-size:13px;font-weight:600}
.ofx-ans .ofx-matrix-wrap{max-height:46vh;margin:8px 0 14px}
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.modal:has(.ofx-ans){width:min(1180px,96vw);max-width:none}
@media (max-width:1100px){.ofx-offer{grid-template-columns:1fr}.ofx-preview{position:static}}
@media (max-width:900px){.ofx-cols,.ofx-cols.wide{grid-template-columns:1fr}.ofx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ofx-summary>div{border-left:0;border-top:1px solid #e3e4e1}.ofx-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ofx{padding-bottom:72px}
.ofx-offer-form{margin:0!important}.ofx-offer-form .card:first-child{margin-top:0}.ofx-picker+.form-grid,.ofx [data-of-supq]{margin-top:2px}.ofx .card>p.muted+label.field{margin-top:12px}.ofx-sup td{vertical-align:top}
tr[data-of-zone] td:nth-child(2){width:96px}tr[data-of-zone] td:nth-child(3){width:64px}tr[data-of-zone] td:nth-child(4),tr[data-of-band] td:nth-child(4){width:34px}
/* r107: leveringssteder, forhåndsvisning af prisskema */
.ofx-dl .ofx-pc{width:90px}
.ofx-dl td:nth-child(3){width:100px}.ofx-dl td:nth-child(5){width:64px}.ofx-dl td:nth-child(6){width:34px}
.ofx-prev-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 2px;padding:10px 12px;border:1px dashed #c9cbcf;border-radius:10px;font-size:13px;font-weight:650}
.ofx-prev-row span{margin-right:auto}
.modal:has(.ofx-rp){width:min(1320px,97vw);max-width:none}
.ofx-rp-grid{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;align-items:start}
.ofx-rp .eyebrow{margin:0 0 8px}
.ofx-mail-body{border:1px solid #e3e4e1;border-radius:12px;padding:18px;background:#fff}
.ofx-mail-body h3{margin:0 0 8px;font-size:17px}
.ofx-mail-body p{margin:0 0 10px;font-size:13.5px;line-height:1.5}
.ofx-mail-body table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:13px}
.ofx-mail-body td{padding:6px 0;border-bottom:1px solid #efefed;vertical-align:top}
.ofx-mail-body td:first-child{color:#6b6f74;width:42%;padding-right:10px}
.ofx-mail-btn{display:inline-block;background:#141516;color:#fff;border-radius:999px;padding:9px 18px;font-weight:700;font-size:13px;margin:4px 0 10px}
.ofx-rp-frame iframe{display:block;width:100%;height:72vh;border:1px solid #e3e4e1;border-radius:12px;background:#f4f4f2}
@media (max-width:900px){.ofx-rp-grid{grid-template-columns:1fr}}
/* r108: vognmand på mail */
.sma-box .card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sma-box p{margin:6px 0 0}
.sma-sg{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-top:10px;padding:10px 12px;border:2px solid #141516;border-radius:10px;background:#f4f4f2}
.sma-sg .eyebrow{margin:0 0 2px}
.sma-sg blockquote{margin:6px 0 0;padding:6px 10px;border-left:3px solid #c9cbcf;background:#fff;font-size:13px;white-space:pre-wrap;max-height:120px;overflow:auto}
.sma-sg-acts{display:flex;flex-direction:column;gap:6px;flex:none}
.sma-modal{margin-top:12px;padding:14px;border:1px solid #e3e4e1;border-radius:12px;background:#fafaf9}
.sma-modal h3{margin:0 0 4px;font-size:15px}
@media (max-width:640px){.sma-sg{flex-direction:column}.sma-sg-acts{flex-direction:row}}
.sma-lbl{margin:10px 0 4px!important;font-weight:700;font-size:13px}.sma-rcpt{display:grid;gap:6px;margin-bottom:10px}.sma-rcpt label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer}.sma-rcpt input{width:17px;height:17px;accent-color:#141516;flex:none}
/* r111: Scandlines-færger */
.cxf h2{margin:0 0 4px}
.cxf-route .card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cxf-route h3{margin:0}
.cxf-sur{margin:10px 0 14px;padding:12px 14px;border:1px solid #e3e4e1;border-radius:12px;background:#fafaf9}
.cxf-sur .eyebrow{margin:0 0 8px}
.cxf-total strong{font-size:18px;padding-top:10px}
.cxf-tab input{width:90px;text-align:right;border:1px solid #dedfe1;border-radius:7px;padding:5px 7px;font:inherit}
.cxf-tab td,.cxf-tab th{white-space:nowrap}
.cxf-tab small{display:block}
/* r145: booking fra mail */
.mc-mail{padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;background:#fafaf8}
.mc-mail .form-grid{margin-top:4px}
#staff-edit-form .mc-miss{border-color:#b3261e;box-shadow:0 0 0 1px #b3261e inset}
.offer-note{white-space:pre-line}

/* r162 · leverandørvurdering */
.ssc-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 6px;border-radius:11px;font:700 12px/1 Inter,system-ui,sans-serif;border:1px solid #111;background:#fff;color:#111;cursor:default;vertical-align:middle}
button.ssc-badge{cursor:pointer}
.ssc-badge.ssc-A{background:#111;color:#fff}
.ssc-badge.ssc-B{background:#fff;color:#111}
.ssc-badge.ssc-C{background:#f1f1f1;color:#777;border-color:#ccc}
.ssc-badge.big{min-width:56px;height:40px;border-radius:20px;font-size:18px}
.ssc-sum{display:flex;gap:14px;align-items:center;margin:4px 0 12px}
.ssc-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:14px}
.ssc-head p{margin:4px 0 0}
.ssc-sort{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
/* r166 · advarsel ved urealistisk vægt/mål pr. palle */
.pallet-warn:empty{display:none}
.pallet-warn{margin-top:10px;padding:10px 14px;border:1px solid #111;border-radius:10px;background:#fff}
.pallet-warn p{margin:0 0 4px}.pallet-warn ul{margin:4px 0 8px 18px;padding:0}
/* r167 · tjek af leverandørbud */
.sr-check{display:block;margin-top:4px;color:#555}
.sr-check.warn{color:#111}
.sr-check-btns{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
/* r168 · Intern Udbud-listen: navn og titel på egen linje (overlappede) */
tr[data-of-open] td small{display:block;margin-top:2px;color:#666;font-size:12px;line-height:1.3}
tr[data-of-open] td strong{display:block}
/* r168 · svar på mail i Intern Udbud */
.ofx-mailreply{border:1px solid #e3e4e1;border-radius:10px;padding:10px 14px;margin:0 0 10px;background:#fff}
.ofx-mailtext{font-size:13px;line-height:1.45;max-height:220px;overflow:auto;white-space:normal;border-left:3px solid #111;padding-left:10px;margin:6px 0}

/* r172 · Olietillæg i Administration */
.fuel-intro{max-width:900px;margin:-4px 0 16px}
.fuel-admin .card{margin-bottom:16px}
.fuel-admin .card h2{font-size:17px;margin:0 0 10px}
.fuel-admin .k{color:#666;font-size:13.5px;margin:6px 0}
.fuel-admin .small{font-size:12.5px;color:#666}
.fuel-admin .big{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.fuel-admin .err{color:#b3261e}
.fuel-admin .ok{border-left:4px solid #000}
.fuel-admin .warn{border-color:#000}
.fuel-admin .row-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0}
.fuel-admin button{background:#000;color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;margin-top:10px}
.fuel-admin button.light{background:#fff;color:#000;border:1px solid #000;margin-top:0}
.fuel-admin button:disabled{opacity:.35;cursor:not-allowed}
.fuel-admin input.num,.fuel-admin input[type=text],.fuel-admin input[type=month],.fuel-admin select{padding:8px 10px;border:1px solid #bbb;border-radius:8px;font:inherit}
.fuel-admin input.num{width:110px}
.fuel-admin textarea{width:100%;padding:10px 12px;border:1px solid #bbb;border-radius:8px;font:13.5px/1.5 ui-monospace,Menlo,monospace}
.fuel-admin table{width:100%;border-collapse:collapse;font-size:14px}
.fuel-admin td,.fuel-admin th{padding:7px 6px;border-bottom:1px solid #e3e3e3;text-align:left}
.fuel-admin td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.fuel-admin .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.fuel-admin .grid label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:#666}
.fuel-admin label.chk{display:flex;gap:10px;align-items:center;margin:10px 0}
.fuel-admin .pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:5px;background:#eee}
.fuel-admin .pill.on{background:#000;color:#fff}

/* r173 · Besøgsstatistik */
.ws-intro{max-width:900px;margin:-4px 0 16px}
.ws-chart{display:flex;align-items:flex-end;gap:2px;height:180px;padding-top:8px}
.ws-col{flex:1;height:100%;display:flex;align-items:flex-end}
.ws-col i{display:block;width:100%;height:var(--h);min-height:2px;background:#111;border-radius:3px 3px 0 0}
.ws-axis{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-top:6px}
.ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px}
.ws-list{width:100%;border-collapse:collapse;font-size:14px}
.ws-list td{padding:6px 4px;border-bottom:1px solid #eee}
.ws-list td:first-child{position:relative;width:100%}
.ws-bar{position:absolute;left:0;top:3px;bottom:3px;width:var(--w);background:#eef0f2;border-radius:4px;z-index:0}
.ws-k{position:relative;z-index:1;word-break:break-all}

/* r179 · Skyggeagent */
.sh-bar { display: block; height: 8px; background: #e5e7e8; border-radius: 4px; overflow: hidden; }
.sh-bar i { display: block; height: 100%; background: #111; }
.sh-style { white-space: normal; line-height: 1.55; font-size: .9rem; }
.sh-pair { border-top: 1px solid #e3e5e6; padding: .7rem 0; }
.sh-pair summary { cursor: pointer; }
.sh-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: .6rem; }
.sh-cols pre { white-space: pre-wrap; font: inherit; font-size: .86rem; background: #f6f7f7; padding: .7rem; margin: .3rem 0; max-height: 320px; overflow: auto; }
@media (max-width: 800px) { .sh-cols { grid-template-columns: 1fr; } }
