/* FairHospitality — Labelmodule ([fh_labels]) — Slice A: shell + EU Ecolabel-overzicht */
#fh-labels{
  --lb-groen:#2D6A4F; --lb-groen-licht:#40916C; --lb-groen-bg:#EAF3EE;
  --lb-oranje-bg:#FBF3E2; --lb-rood-bg:#FBECEE; --lb-grijs:#6b7280; --lb-grijs-bg:#f3f4f6;
  --lb-lijn:#dbe4de; --lb-tekst:#1f2a26; --lb-wit:#fff;
  --lb-qw:#2D6A4F; --lb-doen:#74C69D; --lb-afw:#E9A23B; --lb-over:#9ca3af; --lb-nvt:#cbd5d0;
  max-width:900px; margin:0 auto; color:var(--lb-tekst);
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; line-height:1.5;
}
#fh-labels *{box-sizing:border-box}
#fh-labels h2{font-size:1.2rem;margin:.1rem 0 .3rem}
#fh-labels h3{font-size:1rem;margin:0 0 .5rem}
.fh-lb-titel{margin:6px 0 12px !important}

.fh-lb-login,.fh-lb-leeg{max-width:520px;margin:2rem auto;padding:2rem;text-align:center;background:#fff;border:1px solid var(--lb-lijn);border-radius:14px}
.fh-lb-emoji{font-size:2.4rem;margin-bottom:.4rem}
.fh-lb-btn{font-family:inherit;font-size:.92rem;font-weight:600;border-radius:10px;padding:.5rem 1.1rem;border:1px solid transparent;cursor:pointer;background:var(--lb-groen);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.fh-lb-btn.sec{background:#fff;color:var(--lb-groen);border-color:var(--lb-lijn)}
.fh-lb-loader{display:flex;justify-content:center;padding:2.5rem}
.fh-lb-spinner{width:34px;height:34px;border:3px solid var(--lb-groen-bg);border-top-color:var(--lb-groen);border-radius:50%;animation:fh-lb-spin .8s linear infinite}
@keyframes fh-lb-spin{to{transform:rotate(360deg)}}

.fh-lb-card{background:var(--lb-wit);border:1px solid var(--lb-lijn);border-radius:14px;padding:18px 20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.fh-lb-meta{font-size:.72rem;color:var(--lb-grijs);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.fh-lb-sub{color:var(--lb-grijs);font-size:.88rem;margin:.3rem 0 0}
.fh-lb-select{width:100%;padding:.55rem .7rem;border:1.5px solid var(--lb-lijn);border-radius:10px;font-family:inherit;font-size:.95rem}
.fh-lb-fout{background:var(--lb-rood-bg);border:1px solid #f0c4cb;border-radius:10px;padding:12px 14px;color:#8a1c2b}

/* topbar */
.fh-lb-top{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.fh-lb-top .veld{flex:1;min-width:220px}
.fh-lb-top label{display:block;font-size:.72rem;color:var(--lb-grijs);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.fh-lb-switch{display:flex;gap:6px;flex-wrap:wrap}
.fh-lb-pill{font-family:inherit;font-size:.88rem;font-weight:600;border:1.5px solid var(--lb-lijn);background:#fff;color:var(--lb-tekst);border-radius:999px;padding:.45rem .9rem;cursor:pointer}
.fh-lb-pill.actief{background:var(--lb-groen);color:#fff;border-color:var(--lb-groen)}
.fh-lb-pill .tag{font-size:.66rem;font-weight:700;opacity:.85;margin-left:.35rem}

/* logies-header */
.fh-lb-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.fh-lb-head .naam{font-size:1.15rem;font-weight:700;margin:0}
.fh-lb-head .adres{color:var(--lb-grijs);font-size:.9rem;margin:.15rem 0 0}
.fh-lb-kv{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fh-lb-kv span{background:var(--lb-grijs-bg);border-radius:8px;padding:.25rem .6rem;font-size:.82rem}
.fh-lb-kv a{color:var(--lb-groen);font-weight:600;text-decoration:none}

/* anti-greenwashing */
.fh-lb-eerlijk{background:var(--lb-groen-bg);border:1px solid #bfe0cf;border-radius:10px;padding:10px 14px;font-size:.86rem;margin:0 0 16px}
.fh-lb-eerlijk b{color:var(--lb-groen)}

/* ── 4 kwadranten ── */
.fh-lb-kwad{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.fh-lb-kwadkaart{background:var(--lb-wit);border:1px solid var(--lb-lijn);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.03);display:flex;flex-direction:column}
.fh-lb-cijfer{display:flex;align-items:baseline;gap:.4rem;margin:.1rem 0 .2rem}
.fh-lb-cijfer .groot{font-size:2rem;font-weight:800;color:var(--lb-groen);line-height:1}
.fh-lb-cijfer .eenheid{font-size:.82rem;color:var(--lb-grijs)}
.fh-lb-bar{height:12px;border-radius:6px;background:var(--lb-grijs-bg);position:relative;margin:14px 0 24px}
.fh-lb-bar .vul{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--lb-groen),var(--lb-groen-licht))}
.fh-lb-bar .drempel{position:absolute;top:-5px;bottom:-5px;width:2px;background:#b45309}
.fh-lb-bar .drempel::after{content:attr(data-label);position:absolute;top:auto;bottom:-16px;left:50%;transform:translateX(-50%);font-size:.66rem;color:#b45309;white-space:nowrap}

/* prijs-kwadrant */
.fh-lb-prijsblok{margin:.1rem 0 .5rem}
.fh-lb-prijsblok .groot{font-size:1.25rem;font-weight:700;color:var(--lb-groen)}
.fh-lb-prijsblok .aanname{font-size:.78rem;color:var(--lb-grijs);margin-top:3px}
.fh-lb-checklabel{font-size:.8rem;font-weight:600;margin:.3rem 0 .35rem}
.fh-lb-groottekeuze{display:flex;gap:6px;flex-wrap:wrap}
.fh-lb-gknop{font-family:inherit;font-size:.82rem;font-weight:600;border:1.5px solid var(--lb-lijn);background:#fff;color:var(--lb-tekst);border-radius:8px;padding:.35rem .8rem;cursor:pointer}
.fh-lb-gknop.actief{background:var(--lb-groen);color:#fff;border-color:var(--lb-groen)}

/* proces-kwadrant */
.fh-lb-proces{list-style:none;counter-reset:stap;margin:.2rem 0 0;padding:0}
.fh-lb-proces li{counter-increment:stap;position:relative;padding:0 0 10px 30px;font-size:.85rem}
.fh-lb-proces li::before{content:counter(stap);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--lb-groen-bg);color:var(--lb-groen);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}
.fh-lb-proces li:not(:last-child)::after{content:'';position:absolute;left:9px;top:20px;bottom:2px;width:2px;background:var(--lb-lijn)}
.fh-lb-proces li b{display:block}
.fh-lb-proces li span{color:var(--lb-grijs);font-size:.82rem}
.fh-lb-teverif{font-size:.78rem;color:#7c5b12;background:var(--lb-oranje-bg);border:1px solid #f0e0b8;border-radius:8px;padding:.55rem .7rem;margin-top:8px}

/* autofill-brug */
.fh-lb-autobalk{background:linear-gradient(135deg,#EAF3EE,#f4f9f6);border:1px solid #bfe0cf;border-radius:14px;padding:16px 20px;margin-bottom:16px}
.fh-lb-autokop{display:flex;align-items:center;gap:.5rem;font-size:1rem}
.fh-lb-autokop .ic{font-size:1.15rem}
.fh-lb-autokop b{color:var(--lb-groen)}
.fh-lb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fh-lb-chip{background:#fff;color:var(--lb-groen);border:1px solid #bfe0cf;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:600}
.fh-lb-chip.leeg{background:var(--lb-grijs-bg);color:var(--lb-grijs);border-color:var(--lb-lijn);font-weight:500}

/* per thema */
.fh-lb-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.76rem;color:var(--lb-grijs);margin:2px 0 12px}
.fh-lb-legend span{display:inline-flex;align-items:center;gap:.35rem}
.fh-lb-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;background:var(--lb-grijs-bg)}
.fh-lb-legend i.qw{background:var(--lb-qw)}
.fh-lb-legend i.doen{background:var(--lb-doen)}
.fh-lb-legend i.afw{background:var(--lb-afw)}
.fh-lb-legend i.over{background:var(--lb-over)}
.fh-lb-legend i.nvt{background:var(--lb-nvt)}
.fh-lb-groepen{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fh-lb-groep{border:1px solid var(--lb-lijn);border-radius:12px;padding:14px;background:#fff}
.fh-lb-groep h4{margin:0 0 .35rem;font-size:.98rem}
.fh-lb-groep .telling{font-size:.82rem;color:var(--lb-grijs);margin-bottom:.5rem}
.fh-lb-mix{display:flex;height:9px;border-radius:5px;overflow:hidden;background:var(--lb-grijs-bg);margin:.4rem 0}
.fh-lb-mix i{display:block;height:100%}
.fh-lb-mix i.qw{background:var(--lb-qw)} .fh-lb-mix i.doen{background:var(--lb-doen)}
.fh-lb-mix i.afw{background:var(--lb-afw)} .fh-lb-mix i.over{background:var(--lb-over)} .fh-lb-mix i.nvt{background:var(--lb-nvt)}
.fh-lb-groep .auto{font-size:.8rem;color:var(--lb-groen);margin-top:.5rem}
.fh-lb-groep .volgt{font-size:.78rem;color:var(--lb-grijs);margin-top:.4rem;font-style:italic}

.fh-lb-waarsch{font-size:.82rem;color:#7c5b12;background:var(--lb-oranje-bg);border:1px solid #f0e0b8;border-radius:8px;padding:.7rem .9rem;margin-top:4px}


/* per-thema: twee mix-rijen (verplicht/optioneel) */
.fh-lb-mixrij{margin:.35rem 0}
.fh-lb-mixrij .lbl{display:flex;justify-content:space-between;font-size:.76rem;color:var(--lb-grijs);margin-bottom:2px}
.fh-lb-mixrij .lbl b{font-weight:600;color:var(--lb-tekst)}
.fh-lb-mixrij.verpl .lbl b{color:#8a1c2b}
/* competent body in proces-kwadrant */
.fh-lb-cb{font-size:.8rem;margin-top:10px;padding-top:8px;border-top:1px solid var(--lb-lijn)}
.fh-lb-cb b{color:var(--lb-groen)}
.fh-lb-cb a{color:var(--lb-groen);font-weight:600;text-decoration:none}

/* ── groepskaart-kop + knop (Slice B) ── */
.fh-lb-groephead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:.2rem}
.fh-lb-groephead h4{margin:0}
.fh-lb-badge{font-size:.72rem;font-weight:600;color:var(--lb-groen);background:var(--lb-groen-bg);border:1px solid #bfe0cf;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}
.fh-lb-btn.klein{font-size:.82rem;padding:.35rem .8rem;border-radius:8px}
.fh-lb-groep .fh-lb-btn.klein{margin-top:.6rem}
.fh-lb-bar.mini{height:8px;margin:6px 0 8px}

/* ── wizard ── */
.fh-lb-wizhead{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.fh-lb-wizhead h2{margin:.1rem 0 .1rem}
.fh-lb-wizvoet{margin-top:16px;text-align:center}
.fh-lb-crit{border:1px solid var(--lb-lijn);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
.fh-lb-crit.voldaan{border-color:#bfe0cf}
.fh-lb-crithead{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}
.fh-lb-crithead:hover{background:#fafcfb}
.fh-lb-cricon{color:var(--lb-groen);font-size:.9rem;width:14px;flex:none}
.fh-lb-crititel{flex:1;font-size:.92rem}
.fh-lb-crititel b{font-weight:600}
.fh-lb-tbadge{font-size:.68rem;font-weight:700;border-radius:6px;padding:.1rem .45rem;white-space:nowrap}
.fh-lb-tbadge.verpl{color:#8a1c2b;background:#fbecee;border:1px solid #f0c4cb}
.fh-lb-tbadge.opt{color:var(--lb-groen);background:var(--lb-groen-bg);border:1px solid #bfe0cf}
.fh-lb-status{font-size:.72rem;font-weight:700;border-radius:999px;padding:.12rem .5rem;white-space:nowrap}
.fh-lb-status.ok{color:#2D6A4F;background:var(--lb-groen-bg)}
.fh-lb-status.bezig{color:#8a5a12;background:var(--lb-oranje-bg)}
.fh-lb-status.open{color:var(--lb-grijs);background:var(--lb-grijs-bg)}
.fh-lb-critbody{padding:0 14px 8px;border-top:1px solid var(--lb-lijn)}
.fh-lb-decl{padding:12px 0;border-bottom:1px dashed var(--lb-lijn)}
.fh-lb-decl:last-child{border-bottom:none}
.fh-lb-declvraag{font-size:.9rem;font-weight:600;margin-bottom:.35rem}
.fh-lb-declnr{display:inline-block;font-size:.72rem;font-weight:700;color:var(--lb-groen);background:#eef6ee;border:1px solid var(--lb-lijn);border-radius:5px;padding:.02rem .32rem;margin-right:.4rem;vertical-align:.05em;font-variant-numeric:tabular-nums}
.fh-lb-segknop.neutraal{color:var(--lb-sub,#666)}
.fh-lb-segknop.neutraal.actief{background:#6b7280;border-color:#6b7280;color:#fff}
.fh-lb-declchips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:.4rem}
.fh-lb-mini{font-size:.7rem;font-weight:600;border-radius:6px;padding:.1rem .45rem;color:#fff}
.fh-lb-mini.qw{background:var(--lb-qw)} .fh-lb-mini.doen{background:var(--lb-doen)}
.fh-lb-mini.afw{background:var(--lb-afw)} .fh-lb-mini.over{background:var(--lb-over)} .fh-lb-mini.nvt{background:var(--lb-nvt)}
.fh-lb-mini.grijs{background:var(--lb-grijs-bg);color:var(--lb-grijs);border:1px solid var(--lb-lijn)}
.fh-lb-help{font-size:.84rem;background:var(--lb-groen-bg);border:1px solid #cfe6da;border-radius:8px;padding:.5rem .7rem;margin:.3rem 0}
.fh-lb-docnodig{font-size:.78rem;color:var(--lb-grijs);margin:.2rem 0}
.fh-lb-autofill{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;background:#eef7f2;border:1px solid #bfe0cf;border-radius:8px;padding:.5rem .7rem;margin:.4rem 0;font-size:.85rem}
.fh-lb-autofill b{color:var(--lb-groen)}
.fh-lb-seg{display:flex;gap:6px;flex-wrap:wrap;margin:.5rem 0 .2rem}
.fh-lb-segknop{font-family:inherit;font-size:.82rem;font-weight:600;border:1.5px solid var(--lb-lijn);background:#fff;color:var(--lb-tekst);border-radius:8px;padding:.35rem .8rem;cursor:pointer}
.fh-lb-segknop.actief{background:var(--lb-groen);color:#fff;border-color:var(--lb-groen)}
.fh-lb-segknop:disabled{opacity:.55;cursor:not-allowed}
.fh-lb-note{width:100%;border:1.5px solid var(--lb-lijn);border-radius:8px;padding:.5rem .6rem;font-family:inherit;font-size:.86rem;margin:.4rem 0 .2rem;resize:vertical}
.fh-lb-bevestig{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}
/* 1.33.0 — scoringstype, poortvragen (Ja/Nee), officiële EN-tekst, auto voldaan */
.fh-lb-sbadge{font-size:.66rem;font-weight:600;border-radius:6px;padding:.1rem .4rem;color:var(--lb-grijs);background:var(--lb-grijs-bg);border:1px solid var(--lb-lijn);white-space:nowrap}
.fh-lb-poort{background:#f7fbf9;border-radius:10px;padding:12px;margin:2px 0}
.fh-lb-poortnoot{font-size:.78rem;color:var(--lb-grijs);margin-bottom:.4rem}
.fh-lb-seg.poort .fh-lb-segknop{min-width:64px;text-align:center}
.fh-lb-en{margin:.15rem 0 .35rem}
.fh-lb-en>summary{font-size:.76rem;color:var(--lb-grijs);cursor:pointer;list-style:revert}
.fh-lb-entekst{font-size:.82rem;color:var(--lb-grijs);font-style:italic;margin-top:.3rem;padding-left:.6rem;border-left:2px solid var(--lb-lijn)}
.fh-lb-autook{background:var(--lb-groen-bg);border-radius:10px;padding:12px;margin:2px 0}
.fh-lb-autooknote{font-size:.84rem;font-weight:600;color:#2D6A4F;margin-top:.25rem}
/* 1.34.0 — aanvraagtype (eerste aanvraag / hernieuwing), afgeleid uit bezit */
.fh-lb-ea .fh-lb-earij{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:.6rem}
.fh-lb-ea .fh-lb-eacheck{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;cursor:pointer}
.fh-lb-eajaar{width:130px;border:1.5px solid var(--lb-lijn);border-radius:8px;padding:.35rem .5rem;font-family:inherit;font-size:.86rem}
.fh-lb-eajaar:disabled{opacity:.5}
@media(max-width:600px){.fh-lb-wizhead{flex-direction:column;gap:8px}}

@media(max-width:680px){.fh-lb-kwad,.fh-lb-groepen{grid-template-columns:1fr}}

/* Bewijs-suggesties (fase 2) in de wizard (1.39.0) */
.fh-lb-bewijs{margin:8px 0;padding:10px 12px;border:1px solid #cfe8d6;background:#f2faf4;border-radius:10px}
.fh-lb-bewijs-kop{font-weight:600;font-size:13px;color:#1f6b3b;margin-bottom:6px}
.fh-lb-bewijs-rij{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0}
.fh-lb-bewijs-naam{font-weight:600}
.fh-lb-bewijs-zek{font-size:12px;color:#555;background:#e6f3ea;padding:1px 8px;border-radius:999px}
.fh-lb-bewijs-geldig{font-size:12px;color:#666}
.fh-lb-bewijs-badge{font-size:12px;padding:1px 8px;border-radius:999px}
.fh-lb-bewijs-badge.ok{background:#d8f0df;color:#1f6b3b}
.fh-lb-bewijs .fh-lb-sub{margin-top:6px;font-size:11.5px;color:#6a6a6a}
.fh-lb-bewijs-frag{margin:2px 0 8px;padding:5px 9px;border-left:3px solid #cbd5e1;background:#f8fafc;color:#334155;font-size:12.5px;font-style:italic;border-radius:0 6px 6px 0}

/* 1.43.2 (F0): melding wanneer een criterium geen invulbare declaraties heeft */
.fh-lb-leegmelding { color: #6b7280; font-size: 13px; font-style: italic; padding: 10px 4px; }

/* 1.44.0 (F1): profiel-check */
.fh-lb-profiel { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fh-lb-profiel:not(.klaar) { display: block; border-left: 4px solid #2e7d46; }
.fh-lb-profielchip { display: inline-block; background: #e8f3ec; color: #225c34; border-radius: 999px; padding: 5px 12px; font-size: 12.5px; font-weight: 600; margin: 3px 6px 3px 0; }
.fh-lb-profielvraag { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f0f0ee; flex-wrap: wrap; }
.fh-lb-profielvoet { margin-top: 14px; }
.fh-lb-verborgenmelding { background: #f3f4f6; border-radius: 10px; padding: 10px 14px; font-size: 13px; color: #6b7280; margin: 10px 0; }

/* 1.45.1: documenten-kaart (stap 2) op het labeldashboard */
.fh-lb-dockaart .fh-lb-docsugrij { color: #374151; font-size: 13px; padding: 2px 0; }
.fh-lb-docacties { margin-top: 10px; }

/* 1.46.0 (F3): sjabloon-paneel, forumlink, suggestie-upload */
.fh-lb-sjabloon { background: #f4faf6; border: 1px dashed #2e7d46; border-radius: 10px; padding: 10px 12px; margin: 8px 0; }
.fh-lb-sjabloonkop { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
/* 1.46.0 (F3): sjabloon-paneel, forumlink, suggestie-upload */
.fh-lb-sjabloon { background: #f4faf6; border: 1px dashed #2e7d46; border-radius: 10px; padding: 10px 12px; margin: 8px 0; }
.fh-lb-sjabloonkop { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.fh-lb-sjabloontekst { width: 100%; box-sizing: border-box; font-size: 12.5px; border: 1px solid #dde6e2; border-radius: 8px; padding: 8px; }
.fh-lb-sjabloonvoet { margin: 8px 0 4px; display: flex; gap: 8px; }
.fh-lb-forumlink { background: #eff6ff; border-radius: 10px; padding: 9px 14px; font-size: 13px; margin: 8px 0; }

/* 1.47.0: bewijs koppelen per declaratie */
.fh-lb-koppel { margin: 6px 0; }
.fh-lb-koppelpaneel { background: #fff; border: 1px solid #dde6e2; border-radius: 10px; padding: 10px 12px; }
.fh-lb-koppelrij { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 0; flex-wrap: wrap; font-size: 13px; }
.fh-lb-koppelrij.kop { border-bottom: 1px solid #f0f0ee; margin-bottom: 4px; padding-bottom: 8px; }
.fh-lb-koppelselect, .fh-lb-koppelurl { flex: 1; min-width: 180px; border: 1px solid #dde6e2; border-radius: 8px; padding: 6px 8px; font-size: 12.5px; }

/* 1.47.1: bewijsdocumenten altijd zichtbaar bij de declaratie */
.fh-lb-bewijsdocs { background: #e8f3ec; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin: 6px 0; }
.fh-lb-bewijsdocs a { color: #225c34; font-weight: 600; }

/* 1.47.2: leesweergave bevestigde tekst + bewijsrij */
.fh-lb-sjabloonlees { white-space: pre-wrap; background: #fff; border: 1px solid #dde6e2; border-radius: 8px; padding: 10px 12px; font-size: 12.5px; }
.fh-lb-bewijsdocrij { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 2px 0; }

/* LEF (1.47.6/1.47.7): themachips in het uitgeklapte criterium — label + ?-link (info) + chat-link (forum) */
.fh-lb-forumchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 10px;}
.fh-lb-fchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:2px 8px 2px 10px;border-radius:999px;background:#e8f2ec;color:#1e5b3c;border:1px solid #bcd8c8;}
.fh-lb-fchiplbl{color:inherit;}
.fh-lb-fcico{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#fff;color:#1e5b3c;border:1px solid #bcd8c8;font-size:11px;font-weight:700;line-height:1;text-decoration:none;}
.fh-lb-fcico:hover{background:#d8eadf;}
.fh-lb-fchip.persp{background:#f4ede0;color:#7a5b1e;border-color:#e0d0ac;}
.fh-lb-fchip.persp .fh-lb-fcico{color:#7a5b1e;border-color:#e0d0ac;}
.fh-lb-fchip.persp .fh-lb-fcico:hover{background:#eee2cc;}

/* 1.47.8: autofill-hint op niet-auto declaraties (rookverbod, ketel-detectie) */
.fh-lb-afhint{background:#fdf7e3;border:1px solid #ecdfae;border-radius:8px;padding:7px 11px;font-size:12.5px;margin:6px 0;color:#6b5a1e;}

/* v2 (1.48.0): antwoordmodel — keuzelijst, getal-invoer, niet-voldaan-melding */
.fh-lb-keuzelijst{display:flex;flex-direction:column;gap:6px;margin:6px 0;}
.fh-lb-keuzelijst .fh-lb-keuzeknop{text-align:left;font-size:13px;padding:8px 12px;border:1px solid #dde6e2;border-radius:8px;background:#fff;color:#243b2e;cursor:pointer;}
.fh-lb-keuzelijst .fh-lb-keuzeknop:hover{background:#f2f7f4;color:#243b2e;}
.fh-lb-keuzelijst .fh-lb-keuzeknop.actief{background:#e8f2ec;border-color:#2e7d46;color:#1c4a2e;font-weight:600;}
.fh-lb-keuzelijst .fh-lb-keuzeknop.neutraal{color:#666;background:#fafaf8;}
.fh-lb-keuzelijst .fh-lb-keuzeknop.neutraal.actief{background:#6b7280;border-color:#6b7280;color:#fff;font-weight:600;}
.fh-lb-getalrij{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap;}
.fh-lb-getal{width:110px;border:1px solid #dde6e2;border-radius:8px;padding:7px 9px;font-size:13px;}
.fh-lb-trapinfo{font-size:12px;color:#1e5b3c;background:#e8f2ec;border-radius:999px;padding:2px 10px;}
.fh-lb-nietvoldaan{font-size:12.5px;color:#8a5a1e;background:#fdf3e3;border:1px solid #eddcb0;border-radius:8px;padding:7px 11px;margin:6px 0;}

/* v2.1 (1.48.2): dubbele telling — afgewerkt (checklist) vs in orde/verbeterpunt (inhoud) */
.fh-lb-status.niet{background:#fdecec;color:#9c2b2b;border:1px solid #f0c4c4;}
.fh-lb-status.verbeter{background:#fdf3e3;color:#8a5a1e;border:1px solid #eddcb0;}
.fh-lb-badge.klaar{background:#e8f2ec;color:#1e5b3c;border:1px solid #bcd8c8;}

/* D1 (1.49.0): werkbladen — verlichting per ruimte (criterium 8) */
.fh-lb-werkblad{margin:10px 0;padding:10px 12px;border:1px dashed #b9d8c2;border-radius:10px;background:#f7fbf8;}
.fh-lb-werkbladkop{font-weight:600;color:#243b2e;margin-bottom:2px;}
.fh-lb-wbtabel{width:100%;border-collapse:collapse;margin:8px 0;}
.fh-lb-wbtabel th{font-size:12px;text-align:left;color:#4a6353;font-weight:600;padding:2px 6px;}
.fh-lb-wbtabel td{padding:2px 6px;vertical-align:middle;}
.fh-lb-wbtabel input[type=text]{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid #dde6e2;border-radius:7px;}
.fh-lb-wbtabel input[type=number]{width:76px;padding:5px 8px;border:1px solid #dde6e2;border-radius:7px;}
.fh-lb-wbsamen{margin:6px 0;font-size:13px;color:#243b2e;font-weight:600;}
.fh-lb-wbvoet{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.fh-lb-wbtabel input.wb-aantal{width:56px;}
.fh-lb-wbtabel input.wb-opm{min-width:110px;}
.fh-lb-wbtabel select.wb-niveau{padding:5px 8px;border:1px solid #dde6e2;border-radius:7px;background:#fff;}
/* 1.50.1: bewijs-chip + verbeterpunten-overzicht */
.fh-lb-bewijschip{display:inline-block;background:#fdf7e3;border:1px solid #ecdfae;color:#6b5a1e;border-radius:999px;padding:3px 10px;font-size:12px;margin:6px 0;}
.fh-lb-verbeterlijst .fh-lb-verbeterrij{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid #eef3f0;}
.fh-lb-verbeterlijst .fh-lb-verbetertekst{flex:1;font-size:13.5px;}
/* 1.51.1: compactere werkblad-typografie + klikbare themakaart + rood signaal */
.fh-lb-wbtabel{font-size:12.5px;}
.fh-lb-wbtabel td{font-size:12.5px;}
.fh-lb-wbtabel input,.fh-lb-wbtabel select.wb-niveau{font-size:12.5px;}
.fh-lb-werkblad .fh-lb-sub{font-size:12px;}
.fh-lb-werkblad .fh-lb-wbsamen{font-size:12.5px;}
.fh-lb-groep{cursor:pointer;}
.fh-lb-groepblok{color:#b3261e;font-weight:600;font-size:12.5px;margin:2px 0 4px;}
/* 1.51.2: compacte dashboard-statusregels */
.fh-lb-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;}
.fh-lb-compact.rood{border-left:4px solid #b3261e;}
.fh-lb-compact .fh-lb-compacttekst b{font-size:13.5px;}
.fh-lb-inklap{margin-top:10px;}
/* 1.51.4: type + omschrijving in het bewijs-koppelpaneel */
.fh-lb-koppeltype{padding:6px 8px;border:1px solid #dde6e2;border-radius:7px;background:#fff;font-size:12.5px;}
.fh-lb-koppeloms{flex:1;padding:6px 10px;border:1px solid #dde6e2;border-radius:7px;font-size:12.5px;}

/* F5 (1.53.1): indienpakket-detailkaart + voortgangsoverlay */
.fh-lb-ip-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .8rem}
.fh-lb-ip-chip{background:#f6f8f6;border:1px solid var(--lb-lijn);border-radius:10px;padding:.45rem .9rem;display:flex;flex-direction:column;align-items:center;min-width:86px}
.fh-lb-ip-chipwaarde{font-weight:700;font-size:1.05rem}
.fh-lb-ip-chiplabel{font-size:.72rem;color:#667}
.fh-lb-ip-waarsch{background:#fff8ec;border:1px solid #f0d9a8;border-radius:10px;padding:.6rem .8rem;margin:.5rem 0}
.fh-lb-ip-waarschkop{font-weight:600;color:#8a6d1a;margin-bottom:.15rem}
.fh-lb-ip-rij{display:flex;gap:.5rem;align-items:baseline;padding:.18rem 0;font-size:.85rem}
.fh-lb-ip-ref{flex:0 0 auto;background:#fff;border:1px solid #e3d4ad;border-radius:6px;padding:0 .35rem;font-size:.75rem;font-weight:700;color:#8a6d1a}
.fh-lb-ip-tekst{color:#445}
.fh-lb-ip-toggle{background:none;border:none;color:var(--lb-groen);cursor:pointer;font-size:.83rem;padding:.2rem 0;font-weight:600}
.fh-lb-ip-zelf{margin:.5rem 0}
.fh-lb-ip-ok{background:#eef7ee;border:1px solid #cfe6cf;border-radius:10px;padding:.6rem .8rem;margin:.5rem 0}
.fh-lb-ip-ok .fh-lb-btn{margin-bottom:.35rem}
.fh-lb-ip-fout{background:#fdeeee;border:1px solid #eec7c7;border-radius:10px;padding:.6rem .8rem;margin:.5rem 0;color:#a33}
.fh-lb-ip-voet{margin-top:.7rem;display:flex;justify-content:flex-end}
.fh-lb-ip-overlay{position:fixed;inset:0;background:rgba(20,30,20,.45);z-index:99999;display:flex;align-items:center;justify-content:center}
.fh-lb-ip-overlaykaart{background:#fff;border-radius:14px;padding:1.6rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;min-width:280px;max-width:90vw;box-shadow:0 12px 40px rgba(0,0,0,.25);text-align:center}
.fh-lb-ip-spinner{width:34px;height:34px;border-radius:50%;border:4px solid #e3ece3;border-top-color:var(--lb-groen);animation:fhlbspin 1s linear infinite}
.fh-lb-ip-stap{font-weight:600}
@keyframes fhlbspin{to{transform:rotate(360deg)}}

/* 1.54.0: aanvraaggegevens-formulier in de indienpakket-kaart */
.fh-lb-ip-aanvraag{margin:.6rem 0;border-top:1px solid var(--lb-lijn);padding-top:.4rem}
.fh-lb-ip-form{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .9rem;margin:.5rem 0}
.fh-lb-ip-veld{display:flex;flex-direction:column;gap:.2rem}
.fh-lb-ip-veld.breed{grid-column:1/-1}
.fh-lb-ip-veldlabel{font-size:.78rem;color:#556;font-weight:600}
.fh-lb-ip-input{border:1px solid var(--lb-lijn);border-radius:8px;padding:.4rem .55rem;font-size:.88rem;font-family:inherit;background:#fff}
.fh-lb-ip-input:focus{outline:2px solid rgba(46,125,50,.25);border-color:var(--lb-groen)}
.fh-lb-ip-checks{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}
.fh-lb-ip-check{display:flex;align-items:flex-start;gap:.4rem;font-size:.85rem;color:#445}
.fh-lb-ip-check input{margin-top:.2rem}
.fh-lb-ip-formvoet{display:flex;align-items:center;gap:.6rem}
@media(max-width:640px){.fh-lb-ip-form{grid-template-columns:1fr}}

/* 1.55.2: volledige controleursteksten met regeleinden uit het formulier */
.fh-lb-docnodig .fh-lb-docvol { white-space: pre-line; }

/* 1.57.0 — knoppenrij in de uitlegkaart bij een nog niet ingeschakeld label. */
.fh-lb-acties { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
