/* ===========================================================
   KernGezond — gedeelde glas-stijl
   Eén bestand voor alle KernGezond-dashboards en de onboarding-app.
   Wordt geserveerd vanaf de portal, dus de achtergrondfoto
   (/achtergrond.jpg) staat óók maar op één plek: het
   beheergedeelte van de portal.

   NIET voor de PPF Zorgatlas — die houdt de PPF-huisstijl.

   Wijzigt uitsluitend opmaak. Geen data, tabellen, grafieken
   of JavaScript worden geraakt.

   Insluiten met één regel in <head>:
   <link rel="stylesheet" href="https://dashboards.kerngezond.eu/kerngezond-glas.css">
   =========================================================== */

:root{
  --kg-blauw:#174E8D;
  --kg-goud:#D2B599;
  --kg-foto:url('/achtergrond.jpg');   /* relatief aan dit CSS-bestand = portal-domein */
  --kg-sluier:rgba(237,229,220,.72);
  --kg-glas:rgba(255,255,255,.42);
  --kg-glas-sterk:rgba(255,255,255,.58);
  --kg-glas-zacht:rgba(255,255,255,.65);
  --kg-rand:rgba(255,255,255,.85);
  --kg-schaduw:0 8px 24px rgba(23,78,141,.10);
}

/* --- 1. Achtergrond: foto + beige sluier, vast achter de pagina --- */
html{ background:transparent; }
body{ background:transparent !important; }
body::before,
body::after{ content:''; position:fixed; inset:0; pointer-events:none; }
body::before{ z-index:-2; background:var(--kg-foto) center/cover no-repeat; }
body::after{ z-index:-1; background:var(--kg-sluier); }

/* --- 2. Balken en zijbalken --- */
/* Lichte balken worden glas */
header,
.topbalk,
.topbar,
#topbar,          /* financieel dashboard */
.tab-bar,
#tabs,            /* financieel dashboard */
.subtab-bar{
  background:var(--kg-glas-sterk) !important;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.7) !important;
  box-shadow:none !important;
}
/* Financieel dashboard: tabbalk = lichtere tweede laag met ruimte voor de pillen
   (zoals de sectiebalk van sport). Staat ná de balkenlijst zodat de .34 wint van
   de sterk-glas !important hierboven; glas.css laadt ná het inline <style>-blok. */
#tabs{
  background:rgba(255,255,255,.34) !important;
  display:flex; flex-wrap:wrap; gap:7px;
  padding:12px 28px;
  border-bottom:1px solid rgba(23,78,141,.08) !important;
  overflow-x:auto;
  position:sticky; top:66px; z-index:99;
  box-shadow:none !important;
}
#tabs .tab{ margin-bottom:0; font-weight:600; }
/* Blauwe zijbalken (sport-CRM, onboarding) blijven dekkend: het anker van de pagina */
.sidebar{
  background:var(--kg-blauw) !important;
  box-shadow:6px 0 24px rgba(23,78,141,.18) !important;
  border-right:none !important;
}
/* Zijbalk van de onboarding-app is licht — die wél als glas */
.sidebar:has(.chapter-list){
  background:rgba(255,255,255,.5) !important;
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  border-right:1px solid rgba(255,255,255,.7) !important;
  box-shadow:none !important;
}

/* --- 3. Tabbladen en navigatie als pillen --- */
.tab,
.subtab,
.content-tab{
  border-bottom:none !important;
  border-radius:999px !important;
  padding:7px 16px !important;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.9);
  transition:background .18s ease, color .18s ease;
}
.tab:hover,
.subtab:hover,
.content-tab:hover{ background:#fff; }
.tab.active,
.content-tab.active{
  background:var(--kg-blauw) !important; color:#fff !important;
  border-color:var(--kg-blauw) !important;
  box-shadow:0 4px 12px rgba(23,78,141,.25);
}
.subtab.active{ background:rgba(23,78,141,.10) !important; }
.nav-item{ border-radius:12px !important; }
.chapter-btn{ border-radius:12px !important; }
.chapter-btn.active{
  background:rgba(255,255,255,.8) !important;
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 4px 14px rgba(23,78,141,.10);
}

/* --- 4. Kaarten, KPI-blokken en panelen als glas --- */
.card,
.kaart,
.kpi,
.kpi-card,
.paneel,
.funnel-stap,
.login-card,
.login-box,
.no-data,
.upload-zone,
.prognose-card,
.ceo-substrip,
.modal{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border:1px solid var(--kg-rand) !important;
  border-radius:20px !important;
  box-shadow:var(--kg-schaduw) !important;
}
.card::after,
.kpi-card::after,
.prognose-card::after,
.ceo-substrip::after{ display:none !important; }
.kpi,
.kpi-card,
.funnel-stap{ border-radius:18px !important; }
/* gekleurde accentranden vervallen — diepte komt uit de glaslaag */
.kpi{ border-left:none !important; }
.funnel-stap{ border-top:none !important; }
.funnel-stap.actief{ box-shadow:0 10px 26px rgba(23,78,141,.16) !important; border-color:var(--kg-goud) !important; }
.login-card{ border-top:none !important; }

/* Dekkende blauwe vlakken blijven dekkend: kernboodschap en hoofd-KPI */
.kpi-card.blue-fill,
.prognose-card{
  background:var(--kg-blauw) !important;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  border-color:var(--kg-blauw) !important;
  box-shadow:0 10px 28px rgba(23,78,141,.28) !important;
}
/* Modals blijven leesbaar boven de foto */
.modal{ background:rgba(255,255,255,.92) !important; }

/* --- 5. Knoppen, pillen, invoervelden --- */
.btn-secondary,
.btn-licht,
.tb-btn,
.top-knop,
.pill,
.period-btn,
.chip,
.chapter-chip{
  background:var(--kg-glas-zacht) !important;
  border:1px solid rgba(255,255,255,.9) !important;
  border-radius:999px !important;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
}
.btn-secondary:hover,
.btn-licht:hover,
.tb-btn:hover,
.top-knop:hover,
.period-btn:hover,
.chip:hover{ background:#fff !important; }
.period-btn.active,
.chip.active{ background:var(--kg-blauw) !important; color:#fff !important; border-color:var(--kg-blauw) !important; }
.btn,
.btn-primary,
.login-btn{ border-radius:999px !important; }
.form-group input,
.form-group select,
.form-group textarea,
.period-sub-select,
.field-input,
.scenario-inp{
  background:rgba(255,255,255,.85) !important;
  border:1px solid rgba(255,255,255,.95) !important;
  border-radius:8px !important;
}
.form-group input:focus,
.form-group select:focus,
.field-input:focus{ border-color:var(--kg-blauw) !important; box-shadow:0 0 0 3px rgba(23,78,141,.10) !important; }

/* --- 6. Tabellen: transparant binnen de glazen kaart --- */
th,
table.dt th,
.liq-table th,
.scenario-table th{
  background:rgba(255,255,255,.55) !important;
  border-bottom:1px solid rgba(23,78,141,.14) !important;
}
td,
table.dt td,
.scenario-table td{ border-bottom:1px solid rgba(23,78,141,.10) !important; }
table.dt tr:hover td,
tr:hover td{ background:rgba(255,255,255,.5) !important; }
table.dt tr.subtotal td{ background:rgba(255,255,255,.62) !important; }
.liq-table td{ border-color:rgba(23,78,141,.12) !important; }
.liq-table td.row-label{ background:rgba(255,255,255,.6) !important; }
.liq-table td.total-row{ background:rgba(255,255,255,.72) !important; }
/* totaalrijen dekkend, zodat ze leesbaar blijven */
table.dt tr.total td,
.liq-table td.cashpos,
.scenario-table tr:last-child td{ background:var(--kg-blauw) !important; color:#fff !important; }

/* --- 7. Overig --- */
.risk-item{ background:rgba(255,255,255,.55) !important; border-radius:12px !important; }
.risk-item.warn{ background:rgba(210,181,153,.30) !important; }
.risk-item.ok{ background:rgba(255,255,255,.62) !important; }
.chart-wrap,
.grafiek{ background:transparent !important; }
.fullscreen-overlay{
  background:rgba(237,229,220,.94) !important;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.modal-achtergrond{ background:rgba(23,78,141,.35) !important; }

/* --- 8. Cursusdashboard (React/Tailwind) — zelfde glas als de rest --- */
/* Bovenbalk met tabbladen wordt glas */
.border-b-2.bg-white{
  background:var(--kg-glas-sterk) !important;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom-color:rgba(255,255,255,.7) !important;
}
/* KPI-blokken en panelen */
div.bg-white.rounded-xl{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border-color:var(--kg-rand) !important;
  border-radius:20px !important;
  box-shadow:var(--kg-schaduw) !important;
}
/* Knelpunt- en advieskaarten: glas, maar de gekleurde linkerrand (ernst) blijft staan */
div.bg-white.rounded-lg{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  box-shadow:var(--kg-schaduw) !important;
}

/* --- 9. Onboarding-app (kg-*-klassen van de redesign, mei 2026) --- */
/* De beige paginawrapper wordt doorzichtig zodat foto + sluier zichtbaar zijn */
.kg-main{ background:transparent !important; }
/* Witte kaarten en panelen worden glas; de blauwe (.primary en hero) blijven
   dekkend als anker, net als het hoofd-KPI-blok in het financieel dashboard */
.kg-ov-card:not(.primary),
.kg-ov-block,
.kg-panel,
.kg-card,
.kg-list-item{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border:1px solid var(--kg-rand) !important;
  box-shadow:var(--kg-schaduw) !important;
}
/* Profielpagina, gebruikerslijst en voortgangskaart */
.prof-bold-stat,
.prof-bold-card,
.prof-path,
.prof-cert-empty,
.kg-progressbar-wrap,
.users-table-wrap{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  border:1px solid var(--kg-rand) !important;
  box-shadow:var(--kg-schaduw) !important;
}
/* Onboardingpad-kaarten en gespreksrijen: glas, maar de gekleurde
   bovenstrips per pad blijven staan (geen border-override) */
.kg-dashboard-card,
.kg-report-row{
  background:var(--kg-glas) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
  box-shadow:var(--kg-schaduw) !important;
}
/* "Snel naar…"-knoppen op het overzicht: zachte glasknoppen zoals sectie 5 */
.kg-ov-quick-grid button{
  background:var(--kg-glas-zacht) !important;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.9) !important;
  box-shadow:var(--kg-schaduw) !important;
}
.kg-ov-quick-grid button:hover{ background:#fff !important; }
/* Modals blijven vrijwel dekkend voor leesbaarheid */
.kg-modal{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px);
}
/* Inlogscherm: de centrale foto uit Beheer in het linkerpaneel (achter de
   blauwe waas), rechterpaneel in het warme licht van de portal-login */
.kg-login-left-photo{ background-image:var(--kg-foto) !important; }
.kg-login-right{ background:#F7F4F0 !important; }
