.tenderDetailPage {
  min-height:calc(100vh - 292px);
  padding:42px 0 96px;
}

.demoBadge {
  padding:5px 9px;
  border-radius:999px;
  background:var(--primary);
  color:var(--surface);
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.successNotice {
  margin-bottom:20px;
  padding:13px 17px;
  border:1px solid #B8D9C9;
  border-radius:var(--radius-small);
  background:var(--vjt-success-bg);
  color:var(--success);
  font-weight:700;
}

.statusTag {
  display:inline-flex;
  padding:4px 9px;
  border-radius:999px;
  background:var(--border-soft);
  color:var(--text-muted);
  font-size:0.76rem;
  font-weight:700;
}

.status-interesting,
.status-preparing {
  background:var(--vjt-success-bg);
  color:var(--success);
}

.status-saved {
  background:var(--surface-info);
  color:var(--primary-hover);
}

.tenderBuyer {
  margin-bottom:8px;
  color:var(--primary-hover);
  font-weight:700;
}

.tenderLead {
  max-width:820px;
  color:var(--text-muted);
  font-size:1.08rem;
}

.detailSection,
.workflowCard,
.sourceCard {
  padding:30px;
  border:1px solid var(--border);
  border-radius:var(--radius-medium);
  background:var(--surface);
}

.detailSection > h2,
.workflowCard h2,
.sourceCard h2 {
  margin-bottom:18px;
  font-size:1.55rem;
}

.detailSection > p:not(.eyebrow) {
  color: var(--text-muted);
}

.detailSectionHeading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.detailSectionHeading .eyebrow {
  margin-bottom:7px;
}

.factorColumns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.factorColumns > div {
  padding:22px;
  border-radius:var(--radius-small);
  background:var(--bg);
}

.factorColumns h3 {
  margin-bottom:14px;
  font-size:1rem;
}

.factorList {
  display:grid;
  gap:10px;
  list-style:none;
}

.factorList li {
  position:relative;
  padding-left:25px;
  color:var(--text-muted);
}

.factorList li::before {
  position: absolute;
  top:1px;
  left:0;
  font-weight:700;
}

.positiveFactors li::before {
  color: var(--success);
  content:'✓';
}

.negativeFactors li::before {
  color: var(--warning);
  content:'!';
}

.analysisPlaceholder {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:26px;
  padding:20px;
  border:1px dashed var(--border-accent);
  border-radius:var(--radius-small);
  background:var(--surface-info);
}

.analysisPlaceholder div {
  display:flex;
  flex-direction:column;
}

.analysisPlaceholder span {
  margin-top:4px;
  color:var(--text-muted);
  font-size:0.88rem;
}

.analysisPlaceholder button {
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--text-muted);
}

.analysisHeading{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.analysisHeading>div>p{color:var(--text-muted);margin-top:6px}.analysisHeading>span{background:var(--surface-info);border:1px solid var(--border-accent);border-radius:999px;color:var(--text-muted);flex:0 0 auto;font-size:.82rem;padding:9px 13px}.analysisHeading>span strong{color:var(--primary-hover)}.analysisLevelList{display:grid;gap:14px;margin-top:24px}.analysisLevelCard{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-small);display:grid;gap:16px;grid-template-columns:42px 1fr;padding:20px}.analysisLevelCard.isComplete{background:#f6fbf8;border-color:#b9dec8}.analysisLevelCard.isPro{background:var(--surface-info);border-color:var(--border-accent)}.analysisLevelCard.isLocked{opacity:.82}.analysisLevelNumber{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;display:flex;font-size:1rem;font-weight:800;height:42px;justify-content:center;width:42px}.analysisLevelCard.isComplete .analysisLevelNumber{background:var(--success);border-color:var(--success);color:#fff}.analysisLevelContent h3{font-size:1.08rem;margin:3px 0 5px}.analysisLevelContent>p{color:var(--text-muted)}.analysisStatus{color:var(--primary-hover);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.analysisResult{border-top:1px solid var(--border-soft);margin-top:16px;padding-top:13px}.analysisResult summary{color:var(--primary-hover);cursor:pointer;font-weight:800;list-style:none}.analysisResult summary:after{content:' ↓'}.analysisResult[open] summary:after{content:' ↑'}.analysisResult>div{margin-top:15px}.analysisResult small{color:var(--text-muted);display:block;font-size:.75rem;margin-top:3px}.analysisAction{align-items:center;border-top:1px solid var(--border-accent);display:flex;gap:20px;justify-content:space-between;margin-top:17px;padding-top:16px}.analysisAction>span,.analysisAction>span small{display:block}.analysisAction>span strong{font-size:1.2rem}.analysisAction>span small{color:var(--text-muted);margin-top:2px}.analysisCreditWarning{color:var(--warning)!important;font-size:.84rem;margin-top:10px}.analysisFeedback{border-radius:10px;margin-top:16px;padding:12px 14px}.analysisFeedback.isError{background:#fff1ed;color:var(--vjt-link)}.analysisFeedback.isSuccess{background:#eff9f3;color:#207641}.analysisProgress{margin-top:16px}.analysisProgress>div{background:#eadfd5;border-radius:999px;height:7px;overflow:hidden}.analysisProgress>div span{background:var(--primary);display:block;height:100%;transition:width .3s ease}.analysisProgress small{color:var(--text-muted);display:block;margin-top:7px}

.analysisLevelCard:not(.isComplete):not(.isPro) {
  background: var(--bg);
}

.documentList,
.historyList {
  list-style:none;
}

.documentList li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid var(--border-soft);
}

.documentList li:last-child {
  border-bottom: 0;
}

.documentList li > span {
  display:flex;
  flex-direction:column;
}

.documentList li > span:last-child {
  align-items: flex-end;
  gap:5px;
}

.documentList a {
  color:var(--primary-hover);
  font-size:0.82rem;
  font-weight:700;
}

.documentList small {
  color:var(--text-muted);
}

.documentList b {
  color:var(--primary-hover);
  font-size:0.78rem;
}

.historyList {
  display:grid;
  gap:0;
}

.historyList li {
  display:grid;
  grid-template-columns:14px 1fr;
  gap:14px;
  padding-bottom:24px;
}

.historyList li > span {
  position:relative;
  width:10px;
  height:10px;
  margin-top:7px;
  border-radius:50%;
  background:var(--primary);
}

.historyList li:not(:last-child) > span::after {
  position: absolute;
  top:10px;
  left:4px;
  width:2px;
  height:43px;
  background:var(--border-soft);
  content:'';
}

.historyList div {
  display:flex;
  flex-direction:column;
}

.historyList time {
  color:var(--text-muted);
  font-size:0.85rem;
}

.workflowCard form {
  display:grid;
  gap:10px;
}

.workflowCard label {
  color:var(--text-muted);
  font-size:0.82rem;
  font-weight:700;
}

.workflowCard select {
  width:100%;
  height:50px;
  padding:0 13px;
  border:1px solid var(--border);
  border-radius:var(--radius-small);
  background:var(--bg);
}

.workflowCard .button {
  margin-top:8px;
}

.sourceCard dl {
  display:grid;
  gap:0;
}

.sourceCard dl > div {
  padding:13px 0;
  border-bottom:1px solid var(--border-soft);
}

.sourceCard dt {
  color:var(--text-muted);
  font-size:0.78rem;
  font-weight:700;
  text-transform:uppercase;
}

.sourceCard dd {
  overflow-wrap:anywhere;
}

.sourceLinks {
  display:grid;
  gap:8px;
  margin-top:18px;
}

.sourceLinks a {
  color:var(--primary-hover);
  font-weight:700;
  text-decoration:none;
}

@media (max-width:940px) {
}

@media (max-width:720px) {

  .factorColumns{
    grid-template-columns:1fr;
  }

  .analysisPlaceholder {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width:520px) {
  .tenderDetailPage {
    padding-top: 28px;
  }

  .detailSection,
  .workflowCard,
  .sourceCard {
    padding:22px;
  }
}
.valueWarning {
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}
.valueWarningYELLOW {
  border:1px solid #d8a400;
  background:#fff5c2;
  color:#765900;
}
.valueWarningRED {
  border:1px solid color-mix(in srgb, var(--danger) 45%, var(--surface));
  background:color-mix(in srgb, var(--danger) 10%, var(--surface));
  color:var(--danger);
}
.lightAnalysisGrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:24px 0;
}
.lightAnalysisGrid > div {
  padding:20px;
  border:1px solid var(--border);
  border-radius:var(--radius-small);
  background:var(--surface-info);
}
.lightAnalysisGrid h3 { margin-bottom:12px; }
.analysisScope {
  padding:12px 14px;
  border-left:3px solid var(--primary);
  color:var(--text-muted);
  font-size:.92rem;
}

@media (max-width:650px) {
  .analysisHeading,
  .analysisAction {
    align-items: stretch;
    flex-direction:column;
  }

  .analysisHeading > span {
    align-self:flex-start;
  }

  .analysisLevelCard {
    grid-template-columns:34px 1fr;
    padding:16px;
  }

  .analysisLevelNumber {
    height:34px;
    width:34px;
  }
}
@media (max-width:720px) {
  .lightAnalysisGrid { grid-template-columns: 1fr; }
}

.analysisAction button:disabled {
  cursor: not-allowed;
  opacity:.55;
}

.analysisWaitNotice {
  color:var(--text-muted) !important;
  font-size:.84rem;
  margin-top:10px;
}

.proAnalysisSection {
  margin-top:1.5rem;
}

.proCitation {
  margin-top:.5rem;
  font-size:.875rem;
}

.proCitation blockquote {
  white-space:pre-wrap;
  border-left:3px solid var(--primary);
  margin:.5rem 0;
  padding-left:1rem;
}

.proFullResult section {
  margin-block:1.5rem;
}

.projectMap { height:420px; min-height:300px; border:1px solid var(--colorBorder, #ddd); border-radius:12px; margin:20px 0; }
.geoSearchRow { display:flex; gap:12px; margin:8px 0 16px; }
.geoSearchRow input { flex:1; min-width:0; }
.geoLocationChoice { display:block; margin:8px 0; text-align:left; }
.geoCheck { border-bottom:1px solid var(--colorBorder, #ddd); padding:16px 0; }
.geoCheck p { margin:8px 0; }
.geoCheck small { display:block; }
.geoObjectProperties { max-height:240px; overflow:auto; font-size:12px; }
.geoObjectProperties dt { font-weight:600; }
.geoObjectProperties dd { margin:0 0 8px; }
.analysisAction[hidden], .projectMap[hidden] { display:none; }
@media (max-width:600px) { .geoSearchRow { flex-direction: column; } .projectMap { height:330px; } }
.geoMapLegend { padding:12px 16px; background:#f5f7f9; border-radius:10px; font-size:.9rem; }
.geoMapLegend p { margin:6px 0; }
.geoLegendSwatch { display:inline-block; width:16px; height:10px; margin-right:8px; border:1px solid #555; }
.geoMapLegend img { display:block; max-width:100%; margin:10px 0; }
.geoMapFrame:fullscreen, .geoMapFrame.geoMapExpanded { background: var(--surface); padding:12px; overflow:auto; }
.geoMapFrame:fullscreen .projectMap, .geoMapFrame.geoMapExpanded .projectMap { height: 70vh; margin:0 0 12px; }
.geoMapFrame.geoMapExpanded { position:fixed; inset:55px 0 0; z-index:10000; }
.geoMapFrame:fullscreen::before { content: 'Druk op Esc om fullscreen te sluiten'; display:block; margin-bottom:8px; }
.geoMapClose { display:none; margin-bottom:10px; }
.geoMapFrame:fullscreen .geoMapClose, .geoMapFrame.geoMapExpanded .geoMapClose { display: inline-block; }
.geoMapTools [hidden], .projectEnvironment [data-location-confirm][hidden], .geoMapLegend[hidden] { display:none; }

.matchCriteriaTable { width:100%; table-layout:fixed; border-collapse:collapse; }
.matchCriteriaTable th, .matchCriteriaTable td { padding:10px 8px; border-bottom:1px solid var(--border); text-align:left; overflow-wrap:anywhere; vertical-align:top; }
.matchCriteriaTable th:nth-child(2) { width: 50%; }
@media (max-width:680px) { .matchCriteriaTable { font-size: .82rem; } .matchCriteriaTable td { padding:8px 4px; } }
.geoRegion, .geoTravel { margin:24px 0; padding:20px; border:1px solid #e5ded7; border-radius:14px; background:var(--surface); }
.geoRegion details, .geoTravel details { padding:12px 0; border-top:1px solid #eee7e1; }
.geoRegion summary, .geoTravel summary { cursor:pointer; font-weight:600; }
.geoMetricList { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:0 16px; margin:14px 0; }
.geoMetricList dt, .geoMetricList dd { margin:0; padding:9px 0; border-bottom:1px solid #eee; }
.geoMetricList dd { text-align:right; }
.geoMetricList small { display:block; font-weight:400; color:#6c625c; }
.geoRouteMap { height:380px; margin:16px 0; border-radius:12px; }
.geoTravel [data-route-estimate] { font-size:1.15rem; font-weight:600; }
.geoTravel [data-route-panel][hidden] { display:none; }
.geoLicense { display:block; margin-top:8px; color:#6c625c; }
@media (max-width:600px) { .geoRegion, .geoTravel { padding: 12px; } .geoRouteMap { height:320px; } .geoMetricList { grid-template-columns:minmax(0, 1fr) minmax(72px, auto); gap:0 8px; font-size:.9rem; } }

.tenderDescription { margin-top:16px; }
.tenderDescription summary { cursor:pointer; color:var(--text-muted); }
.tenderFreshness { padding:18px 22px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-medium); margin-block:20px; font-size:.92rem; }
.tenderFreshness p { margin-block:6px; }
.tenderChangeLink { display:inline-block; margin-top:8px; }
.documentList li { flex-wrap:wrap; gap:14px; }
.documentList .documentVersion { display:grid; gap:6px; flex:1 1 220px; }
.analysisProgress p { margin-block:8px; font-size:.9rem; }
@media (max-width:680px) { .tenderFreshness { padding:14px; } .documentList li { align-items:flex-start; } }

.collaboration form{display:grid;gap:12px;margin-block:18px}.collaboration label{display:grid;gap:6px}.collaboration textarea{min-height:90px;white-space:pre-wrap}.collaboration h3{margin-top:28px}.collaborationItem{border:1px solid var(--border);padding:16px;margin-block:14px;border-radius:var(--radius-small)}.collaborationItem p{white-space:pre-wrap;overflow-wrap:anywhere}.collaborationLinks{display:flex;gap:12px;flex-wrap:wrap;margin-block:20px}.collaboration summary{cursor:pointer}.collaboration small{color:var(--text-muted)}/* Match explanations can include long Dutch terms and company specialisms. */
.factorList { overflow-wrap:anywhere; }/* B4:source context and internal layers share the VindJouwTender design tokens. */

.geoWorkspaceSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3,12px);margin:24px 0}.geoWorkspaceSummary>div{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--action);border-radius:12px;padding:16px;display:grid;gap:6px}.geoWorkspaceSummary strong{font-size:1.8rem;color:var(--text)}.geoWorkspaceSummary span{font-size:.85rem;color:var(--text-muted)}.geoDrawingPanel{border:1px solid var(--border);border-radius:12px;padding:18px;margin:20px 0}.geoDrawingPanel summary{font-weight:700;cursor:pointer}.geoDrawingPanel form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.geoDrawingPanel label{display:grid;gap:6px}.geoDrawingPanel textarea,.geoDrawingPanel input,.geoDrawingPanel select{width:100%}.geoDrawTools,[data-draw-status],[data-draw-objects]{grid-column:1/-1}.geoDrawTools{display:flex;flex-wrap:wrap;gap:8px}.geoDrawing{cursor:crosshair!important}[data-draw-objects] details{padding:12px;border-bottom:1px solid var(--border)}[data-draw-objects] input,[data-draw-objects] textarea{display:block;margin:8px 0}.geoInline{display:flex;gap:10px;align-items:center;margin:12px 0}.geoInline input{width:auto}.geoDrawingPanel .button{font-size:.85rem}.geoDrawingPanel blockquote{border-left:3px solid var(--action);padding-left:12px}.geoMapFrame:fullscreen .projectMap{height:75vh}.geoMapFrame.geoMapExpanded .projectMap{height:75vh}@media(max-width:700px){.geoWorkspaceSummary{grid-template-columns:1fr 1fr}.geoDrawingPanel form{grid-template-columns:1fr}.geoDrawingPanel .button{width:100%}}
