:root {
	--ivs-navy: #13213F;
	--ivs-orange: #D2691E;
	--ivs-orange-light: #E8C9A8;
	--ivs-gold: #B5651D;
	--ivs-gray-panel: #45474F;
	--ivs-green: #1F6B3A;
	--ivs-red: #A32D2D;
}

.ivs-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px; color: inherit; }
.ivs-wrap h2 { color: var(--ivs-navy); font-weight: 700; }
.ivs-wrap h3 { color: var(--ivs-gold); font-weight: 700; border-bottom: 2px solid var(--ivs-orange-light); padding-bottom: 4px; }

.ivs-error { color: var(--ivs-red); font-weight: 600; }

.ivs-btn { display: inline-block; padding: 10px 18px; border-radius: 6px; text-decoration: none; font-weight: 600; margin: 8px 8px 8px 0; cursor: pointer; border: none; }
.ivs-btn-primary { background: var(--ivs-navy); color: #fff; }
.ivs-btn-primary:hover { background: var(--ivs-orange); color: #fff; }
.ivs-btn-secondary { background: var(--ivs-orange-light); color: var(--ivs-navy); }
.ivs-btn-secondary:hover { background: var(--ivs-orange); color: #fff; }

/* ---------- start-formulier ---------- */
.ivs-start form { display: flex; flex-direction: column; gap: 14px; max-width: 420px; margin-top: 20px; }
.ivs-start label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; color: var(--ivs-navy); }
.ivs-start input, .ivs-start select { padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-weight: 400; }

/* ---------- sticky linkerzijbalk (geforceerde lichte kaartstijl, volgt niet de site-toggle,
   zelfde beproefde aanpak als IAM Quick Scan) ---------- */
.ivs-scan-layout { display: flex; gap: 32px; align-items: flex-start; position: relative; }
.ivs-sidebar { flex: 0 0 260px; }
.ivs-sidebar-inner {
	background: #ffffff !important;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	padding: 16px;
	width: 260px;
}
.ivs-sidebar-inner.is-vast { position: absolute; z-index: 50; }
.ivs-sidebar-inner, .ivs-sidebar-inner * { color: #1a1a1a !important; }
.ivs-nav-deel { font-weight: 700; color: var(--ivs-navy) !important; margin: 14px 0 4px; font-size: 13px; text-transform: uppercase; }
.ivs-nav-deel:first-child { margin-top: 0; }
.ivs-nav-rubriek { display: block; padding: 7px 10px; margin: 2px 0; font-size: 13px; text-decoration: none; border-radius: 6px; }
.ivs-nav-rubriek.is-actief { background: var(--ivs-orange); color: #fff !important; font-weight: 600; }
.ivs-nav-progress { margin-top: 18px; background: #eee; border-radius: 6px; height: 10px; position: relative; overflow: hidden; }
.ivs-nav-progress-bar { background: var(--ivs-orange); height: 100%; width: 0; transition: width .2s; }
.ivs-nav-progress-label { display: block; font-size: 11px; margin-top: 4px; text-align: right; }

.ivs-main { flex: 1 1 auto; min-width: 0; }

/* ---------- criteria/gewichten ---------- */
.ivs-rubriek { margin-bottom: 28px; }
.ivs-criterium-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 10px 8px; border-bottom: 1px solid #eee; border-radius: 4px; }
.ivs-criterium-row.ivs-uitgesloten { opacity: .5; }
.ivs-meegenomen { flex: 1 1 320px; display: flex; align-items: baseline; gap: 8px; }
.ivs-gewicht-wrap { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ivs-gewicht-wrap output { min-width: 26px; text-align: right; font-weight: 700; }
.ivs-ko { font-size: 12px; color: var(--ivs-red); white-space: nowrap; }
.ivs-badge-eigen { display: inline-block; font-size: 11px; background: var(--ivs-orange-light); color: var(--ivs-navy); padding: 2px 8px; border-radius: 10px; margin-left: 8px; font-weight: 600; }
.ivs-verwijder-criterium { font-size: 12px; color: var(--ivs-red); text-decoration: none; }
.ivs-eigen-vraag-form { display: flex; gap: 8px; margin: 12px 0 24px; padding-top: 10px; border-top: 1px dashed #ddd; }
.ivs-eigen-vraag-form input[type="text"] { flex: 1 1 auto; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.ivs-eigen-vraag-form button { margin: 0; }

/* ---------- benchmark ---------- */
.ivs-vendor-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ivs-vendor-form input[type="text"], .ivs-vendor-form select { padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
.ivs-benchmark-acties { background: #fbf3e8; border: 1px solid var(--ivs-orange-light); border-radius: 8px; padding: 14px 16px; margin: 16px 0 24px; }
.ivs-benchmark-acties p { margin: 0 0 10px; font-size: 13px; }
.ivs-benchmark-form { display: inline-block; margin: 0 8px 8px 0; }
.ivs-benchmark-hint { display: block; font-size: 11px; color: #999; margin-top: 2px; }

/* ---------- scores: nog-niet-ingevulde rijen krijgen een lichte, niet-blokkerende markering ---------- */
.ivs-score-table tbody tr:not(.is-klaar) { background: #fdf3e2; }
.ivs-score-table tbody tr.is-klaar { background: #ffffff; }
.ivs-scoring-status { font-size: 13px; margin: 10px 0; color: var(--ivs-navy); }
.ivs-scoring-status strong { color: var(--ivs-gold); }

/* ---------- scores ---------- */
.ivs-score-table { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.ivs-score-table th, .ivs-score-table td { border: 1px solid #eee; padding: 8px; text-align: left; font-size: 14px; }
.ivs-score-table th { background: var(--ivs-navy); color: #fff; }
.ivs-score-table select { width: 100%; padding: 4px; }

/* ---------- vendoren ---------- */
.ivs-vendor-list { list-style: none; padding: 0; }
.ivs-vendor-list li { padding: 6px 0; border-bottom: 1px solid #eee; }
.ivs-vendor-list a { color: var(--ivs-red); margin-left: 10px; font-size: 12px; }

/* ---------- rapport ---------- */
.ivs-ranking-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.ivs-ranking-table th, .ivs-ranking-table td { border: 1px solid #eee; padding: 10px; text-align: left; }
.ivs-ranking-table th { background: var(--ivs-navy); color: #fff; }
.ivs-ranking-table tr.ivs-afgevallen { background: #fbeaea; color: var(--ivs-red); }
.ivs-rapport-acties { margin-bottom: 12px; }

/* ---------- gewogen scoringsmatrix ---------- */
.ivs-matrix-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.ivs-matrix-table th, .ivs-matrix-table td { border: 1px solid #eee; padding: 8px 10px; text-align: center; }
.ivs-matrix-table th { background: var(--ivs-navy); color: #fff; }
.ivs-matrix-table td:first-child, .ivs-matrix-table th:first-child { text-align: left; }
.ivs-matrix-table tr.ivs-matrix-totaal td { font-weight: 700; background: #f5f0e8; border-top: 2px solid var(--ivs-navy); }
.ivs-matrix-table tr.ivs-matrix-deel td:first-child { font-weight: 700; color: var(--ivs-gold); background: #fbf3e8; text-align: left; }
.ivs-score-hoog { color: var(--ivs-green); font-weight: 700; }
.ivs-score-gemiddeld { color: var(--ivs-gold); font-weight: 700; }
.ivs-score-laag { color: var(--ivs-red); font-weight: 700; }

.ivs-radar-overlay { text-align: center; margin: 24px 0; }
.ivs-radar-legenda { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 12px; font-size: 13px; }
.ivs-radar-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.ivs-radar-legenda i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
