/* TENDER, de nye dele (P-068, P-213 til P-217). Scopet til #view-udbud og
   bygger paa Tenders egne tokens og klasser (ud-kort, ud-grid, ud-btn ...). */
#view-udbud .udx-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
#view-udbud .udx-raekke { display:grid; grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr); gap:12px; align-items:end; }
#view-udbud .udx-raekke .fld { display:flex; flex-direction:column; gap:5px; min-width:0; }
#view-udbud .udx-raekke label, #view-udbud .udx-lbl { font-size:12px; font-weight:600; color:var(--ink-soft); }
#view-udbud .udx-raekke select, #view-udbud .udx-bank select, #view-udbud #udx-indsaet textarea {
  border:1px solid var(--line); border-radius:9px; padding:10px 12px; font:inherit; font-size:14px; color:var(--ink); background:#fff; width:100%; min-height:44px;
}
#view-udbud .udx-raekke .ud-btn { min-height:44px; white-space:nowrap; }
#view-udbud .udx-mangler { margin:12px 0 0; padding:10px 14px 10px 30px; background:var(--amber-tint); border-radius:10px; font-size:13px; color:#6d4a17; }
#view-udbud .udx-mangler li + li { margin-top:4px; }
#view-udbud .udx-skift { display:inline-flex; border:1px solid var(--line); border-radius:99px; padding:3px; background:var(--line-soft); }
#view-udbud .udx-skift button { font:600 13px var(--sans); padding:8px 14px; border:0; border-radius:99px; background:transparent; color:var(--ink-soft); cursor:pointer; min-height:36px; }
#view-udbud .udx-skift button.on { background:#fff; color:var(--maerke); box-shadow:0 1px 3px rgba(12,34,48,.14); }
#view-udbud .udx-tal { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:4px 0 12px; }
#view-udbud .udx-tal div { border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
#view-udbud .udx-tal b { display:block; font-family:var(--display); font-weight:500; font-size:22px; line-height:1.1; }
#view-udbud .udx-tal span { font-size:12px; color:var(--ink-faint); }
#view-udbud .udx-alder { display:grid; gap:6px; margin-bottom:12px; max-width:520px; }
#view-udbud .udx-alder div { display:grid; grid-template-columns:110px minmax(0,1fr) 36px; gap:10px; align-items:center; font-size:12.5px; color:var(--ink-soft); }
#view-udbud .udx-alder i { display:block; height:8px; border-radius:99px; background:var(--teal); }
#view-udbud .udx-alder b { font-family:var(--tal-font); text-align:right; color:var(--ink); }
#view-udbud .udx-knapper { display:flex; gap:10px; flex-wrap:wrap; }
#view-udbud #udx-indsaet { margin-top:12px; display:grid; gap:8px; }
#view-udbud #udx-indsaet textarea { font-family:var(--font-mono, ui-monospace, monospace); font-size:13px; min-height:110px; }
#view-udbud #udx-indsaet .ud-btn { justify-self:start; }

#view-udbud .udx-bank { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:-4px 0 14px; }
#view-udbud .udx-bank select { width:auto; min-width:0; flex:0 1 320px; min-height:40px; padding:8px 12px; font-size:13px; }
#view-udbud .udx-link { background:none; border:0; padding:0; font:inherit; font-size:13px; font-weight:600; color:#0a6e72; cursor:pointer; }
#view-udbud .udx-link:hover { text-decoration:underline; }
#view-udbud .udx-link.fare { color:var(--brick); }
#view-udbud details.udx-vilkaar { margin-top:14px; border-top:1px solid var(--line-soft); padding-top:12px; }
#view-udbud details.udx-vilkaar summary { cursor:pointer; font-weight:700; font-size:13.5px; color:var(--ink); list-style-position:outside; }
#view-udbud details.udx-vilkaar summary span { font-weight:500; color:var(--ink-faint); margin-left:6px; font-size:12.5px; }
#view-udbud details.udx-vilkaar .ud-grid { margin-top:12px; }

#view-udbud .udx-advarsel { background:var(--amber-tint); border:1px solid #e8d5b4; border-radius:10px; padding:10px 14px; font-size:13px; color:#6d4a17; margin:10px 0 12px; line-height:1.5; }
#view-udbud .udx-ok { background:var(--positive-tint); border-radius:10px; padding:10px 14px; font-size:13px; color:var(--positive); margin:10px 0 12px; }
#view-udbud .udx-vt td { font-family:var(--sans); text-align:left; white-space:normal; min-width:110px; }
#view-udbud .udx-vt th { text-align:left; }
#view-udbud .udx-vt tr.udx-afviger td:first-child { box-shadow:inset 3px 0 0 var(--amber); }
#view-udbud .udx-vt td.udx-bedst { background:var(--positive-tint); color:var(--positive); font-weight:700; }
#view-udbud .udx-fordeling { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
#view-udbud .udx-hoved-tal { border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
#view-udbud .udx-hoved-tal b { display:block; font-family:var(--display); font-weight:500; font-size:22px; line-height:1.15; }
#view-udbud .udx-hoved-tal span { font-size:12px; color:var(--ink-faint); }
#view-udbud .udx-grp { min-width:0; }

#view-udbud .udx-modal.modal-bg { align-items:flex-start; }
#view-udbud .udx-modal .modal-kort { margin:5vh auto; max-width:820px; }
#view-udbud .udx-luk { position:absolute; right:14px; top:14px; width:40px; height:40px; border-radius:50%; border:0; background:var(--line-soft); cursor:pointer; font-size:20px; color:var(--ink-soft); }
#view-udbud .udx-h2 { font-family:var(--display); font-weight:500; font-size:24px; margin:10px 0 6px; color:var(--ink); }
#view-udbud .udx-ingress { font-size:13.5px; color:var(--ink-soft); margin:0 0 14px; line-height:1.55; }
#view-udbud .udx-grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
#view-udbud .udx-modal-fod { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:16px; }
#view-udbud .udx-pb td { vertical-align:top; }
#ud-rapport .r-logo { height:34px; width:auto; max-width:220px; object-fit:contain; }
#ud-rapport .udx-vt { font-size:11px; }
#ud-rapport .udx-fordeling { margin:10px 0; }

@media (max-width: 900px) {
  #view-udbud .udx-raekke { grid-template-columns:minmax(0,1fr); }
  #view-udbud .udx-tal, #view-udbud .udx-fordeling { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #view-udbud .udx-grid3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  #view-udbud .udx-grid3 { grid-template-columns:minmax(0,1fr); }
  #view-udbud .udx-fordeling { grid-template-columns:minmax(0,1fr); }
  #view-udbud .udx-alder div { grid-template-columns:90px minmax(0,1fr) 30px; }
  #view-udbud .udx-modal .modal-kort { margin:0 auto; padding:24px 16px; }
  #view-udbud .udx-bank select { flex-basis:100%; }
}

/* P-306: vaerdi skabt for kunderne, og valget af det vindende bud. */
#view-udbud .udx-valg { margin-top:14px; padding-top:12px; border-top:1px solid var(--line-soft); display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:6px 16px; align-items:end; }
#view-udbud .udx-valg label { font-size:12px; font-weight:600; color:var(--ink-soft); }
#view-udbud .udx-valg select { border:1px solid var(--line); border-radius:9px; padding:10px 12px; font:inherit; font-size:14px; color:var(--ink); background:#fff; width:100%; min-height:44px; }
#view-udbud .udx-valg .ud-forkl { margin-bottom:10px; }
#view-udbud .udx-tal3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
#view-udbud .udx-vaerdi .udx-tal b { color:var(--positive); }
#view-udbud .udx-vaerdi.eks .udx-tal b { color:var(--ink); }
#view-udbud .udx-maerke { display:inline-block; vertical-align:2px; margin-left:6px; font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#6d4a17; background:var(--amber-tint); border-radius:99px; padding:3px 9px; }
#view-udbud .udx-vaerdi-h { font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-soft); margin:16px 0 4px; }
/* De to tabeller staar under hinanden: faste kolonnebredder, saa tallene flugter. */
#view-udbud table.udx-vaerdi-t { min-width:560px; table-layout:fixed; width:100%; }
#view-udbud .udx-vaerdi-t th:first-child, #view-udbud .udx-vaerdi-t td:first-child { width:40%; }
/* Paa mobil bliver hver raekke et lille kort, saa beloebene aldrig klippes. */
@media (max-width:640px) {
  #view-udbud table.udx-vaerdi-t { min-width:0; table-layout:auto; }
  #view-udbud .udx-vaerdi-t thead { display:none; }
  #view-udbud .udx-vaerdi-t, #view-udbud .udx-vaerdi-t tbody, #view-udbud .udx-vaerdi-t tr, #view-udbud .udx-vaerdi-t td { display:block; width:auto; }
  #view-udbud .udx-vaerdi-t tr { padding:10px 0; border-bottom:1px solid var(--line-soft); }
  #view-udbud .udx-vaerdi-t td { border:0; padding:2px 0; text-align:left; }
  #view-udbud .udx-vaerdi-t td:first-child { width:auto; font-weight:600; padding-bottom:4px; }
  #view-udbud .udx-vaerdi-t td[data-l] { display:flex; justify-content:space-between; gap:12px; }
  #view-udbud .udx-vaerdi-t td[data-l] { white-space:nowrap; font-variant-numeric:tabular-nums; }
  #view-udbud .udx-vaerdi-t td[data-l]::before { content:attr(data-l); color:var(--ink-soft); font-size:13px; white-space:normal; text-align:left; flex:1 1 auto; min-width:0; }
}
#view-udbud .udx-vaerdi-t th .u { text-transform:none; letter-spacing:0; font-weight:500; }
@media (max-width: 900px) {
  #view-udbud .udx-valg { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 560px) {
  #view-udbud .udx-tal3 { grid-template-columns:minmax(0,1fr); }
}

/* Rapporten: paa skaermen ruller en bred tabel vandret i sit kort; paa print
   maa ingen kolonne klippes, saa der bryder tallene linjen i stedet. */
@media print {
  #ud-rapport .ud-rul { overflow-x:visible; }
  #ud-rapport .ud-tabel { table-layout:auto; width:100%; }
  #ud-rapport .ud-tabel th, #ud-rapport .ud-tabel td { white-space:normal; overflow-wrap:anywhere; }
}
#ud-rapport .ud-rul { overflow-x:auto; }
#ud-rapport .udx-vt td { min-width:0; }
/* Aldersgrupperne: Tenders .ud-tabel har min-width 680px i den inline stil,
   der indlaeses efter denne fil. Dobbelt klasse vinder og lader den folde. */
#view-udbud .ud-tabel.udx-grp { min-width:0; table-layout:fixed; }
#view-udbud .ud-tabel.udx-grp th, #view-udbud .ud-tabel.udx-grp td { white-space:normal; }
@media (max-width: 560px) {
  #view-udbud .ud-tabel.udx-grp th, #view-udbud .ud-tabel.udx-grp td { padding-left:6px; padding-right:6px; }
}
