
/* DVT v14 - echte doorlopende achtergrond */
html,body{
min-height:100%;
background:#dbe3ec !important;
}
body::before{
content:"";
position:fixed;
inset:0;
z-index:-999;
background:
linear-gradient(90deg,
rgba(28,46,72,.48) 0%,
rgba(85,103,128,.22) 22%,
rgba(224,231,239,.18) 45%,
rgba(234,238,244,.42) 100%),
url("/assets/logboek-doorlopend-bg.png");
background-size:cover;
background-position:left top;
background-repeat:no-repeat;
background-attachment:fixed;
}

#app,.app,.app-shell,.shell,.page,.page-content,.content,
.main,.main-content,.dashboard,.dashboard-content,
iframe,.frame-card,.admin-content,[class*="page"]{
background:transparent !important;
background-color:transparent !important;
}

.sidebar,.left-nav,.nav-sidebar{
background:rgba(30,48,72,.42)!important;
backdrop-filter:blur(8px);
}

.card,.panel,.widget,.dashboard-card,.content-card{
background:rgba(255,255,255,.82)!important;
backdrop-filter:blur(8px);
}



/* ==========================================================
   DVT v15 - ECHTE DOORLOPENDE ACHTERGROND VIA SHELL
   Belangrijk:
   - Alleen app/shell.php tekent de kladblokachtergrond.
   - Alle iframe/subpagina's zijn transparant.
   - Daardoor loopt de achtergrond optisch door op Dashboard, Formulieren,
     Rapportages, Planning, Documenten, Gebruikers, Locaties en Builder.
   ========================================================== */

html, body {
  color-scheme: light !important;
}

/* Standaard: subpagina's/iframes tekenen GEEN eigen achtergrond meer */
html:not(:has(body.dvt-shell-page)),
body:not(.dvt-shell-page),
body:not(.dvt-shell-page)::before,
body:not(.dvt-shell-page)::after {
  background: transparent !important;
  background-image: none !important;
}

/* Subpagina containers transparant houden */
body:not(.dvt-shell-page) #app,
body:not(.dvt-shell-page) .app,
body:not(.dvt-shell-page) .app-shell,
body:not(.dvt-shell-page) .shell,
body:not(.dvt-shell-page) .layout,
body:not(.dvt-shell-page) .page,
body:not(.dvt-shell-page) .page-shell,
body:not(.dvt-shell-page) .page-wrapper,
body:not(.dvt-shell-page) .app-content,
body:not(.dvt-shell-page) .page-content,
body:not(.dvt-shell-page) .content,
body:not(.dvt-shell-page) .content-wrapper,
body:not(.dvt-shell-page) .main,
body:not(.dvt-shell-page) .main-content,
body:not(.dvt-shell-page) .dashboard,
body:not(.dvt-shell-page) .dashboard-content,
body:not(.dvt-shell-page) .admin-content,
body:not(.dvt-shell-page) .form-page,
body:not(.dvt-shell-page) .users-page,
body:not(.dvt-shell-page) .locations-page,
body:not(.dvt-shell-page) .documents-page,
body:not(.dvt-shell-page) .reports-page,
body:not(.dvt-shell-page) .planning-page,
body:not(.dvt-shell-page) .builder-page,
body:not(.dvt-shell-page) [class*="page"],
body:not(.dvt-shell-page) [class*="content"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Alleen de shell krijgt één vaste, doorlopende achtergrond */
body.dvt-shell-page {
  background-color: #dbe4ee !important;
  background-image:
    linear-gradient(90deg,
      rgba(28,46,72,.52) 0%,
      rgba(48,68,94,.38) 18%,
      rgba(160,176,195,.26) 34%,
      rgba(218,226,236,.40) 55%,
      rgba(235,239,245,.62) 100%),
    url("../assets/logboek-doorlopend-bg.png") !important;
  background-position: left top, left top !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat, no-repeat !important;
  background-attachment: fixed, fixed !important;
}

/* Shell-layout zelf transparant, zodat body-achtergrond doorloopt */
body.dvt-shell-page .shell,
body.dvt-shell-page .main,
body.dvt-shell-page .content,
body.dvt-shell-page .dash-card,
body.dvt-shell-page .frame-card,
body.dvt-shell-page .content-frame {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Sidebar mag donker glas zijn, maar geen eigen ander plaatje meer */
body.dvt-shell-page .sidebar,
body.dvt-shell-page .nav-sidebar,
body.dvt-shell-page .left-sidebar,
body.dvt-shell-page .side-menu,
body.dvt-shell-page aside {
  background: rgba(28,46,72,.48) !important;
  background-image: none !important;
  border-right: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Kaarten overal gelijk */
.card,
.panel,
.widget,
.dashboard-card,
.stat-card,
.content-card,
.table-container,
.chart-container,
.form-card,
.builder-card,
.box,
[class*="card"],
[class*="panel"] {
  background: rgba(255,255,255,.82) !important;
  background-color: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  border: 1px solid rgba(255,255,255,.40) !important;
}

/* Oude overlays die kleurbreuken veroorzaken uitzetten */
.sidebar::before,
.sidebar::after,
.main::before,
.main::after,
.content::before,
.content::after,
.app-content::before,
.app-content::after,
.frame-card::before,
.frame-card::after {
  display: none !important;
  content: none !important;
}



/* V19 - alleen achtergrond maximaal duidelijker, layout blijft gelijk */

/* Oude overlay-lagen uitzetten: dit was waarom v16/v17/v18 weinig verschil gaven */
body.dvt-shell-page::before,
body.dvt-shell-page::after,
body.dvt-shell-page .shell::before,
body.dvt-shell-page .shell::after,
body.dvt-shell-page .main::before,
body.dvt-shell-page .main::after,
body.dvt-shell-page .content::before,
body.dvt-shell-page .content::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Eén achtergrond, bijna zonder grijze waas */
body.dvt-shell-page {
  background-color: #dbe4ee !important;
  background-image:
    linear-gradient(90deg,
      rgba(28,46,72,.10) 0%,
      rgba(48,68,94,.05) 18%,
      rgba(160,176,195,.00) 34%,
      rgba(218,226,236,.00) 55%,
      rgba(235,239,245,.04) 100%),
    url("../assets/logboek-doorlopend-bg.png") !important;
  background-size: cover, cover !important;
  background-position: left top, left top !important;
  background-repeat: no-repeat, no-repeat !important;
  background-attachment: fixed, fixed !important;
  filter: none !important;
}

/* Shell/iframe/subpagina’s blijven transparant zodat de doorlopende achtergrond zichtbaar blijft */
body.dvt-shell-page .shell,
body.dvt-shell-page .main,
body.dvt-shell-page .content,
body.dvt-shell-page .dash-card,
body.dvt-shell-page .frame-card,
body.dvt-shell-page .content-frame,
body:not(.dvt-shell-page),
body:not(.dvt-shell-page) #app,
body:not(.dvt-shell-page) .app,
body:not(.dvt-shell-page) .app-shell,
body:not(.dvt-shell-page) .page,
body:not(.dvt-shell-page) .page-content,
body:not(.dvt-shell-page) .content,
body:not(.dvt-shell-page) .main,
body:not(.dvt-shell-page) .main-content {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}



/* V20 - zelfde layout, alleen lichter + achtergrond duidelijker */

body.dvt-shell-page{
background-color:#e9eef5 !important;
background-image:
linear-gradient(90deg,
rgba(28,46,72,.06) 0%,
rgba(48,68,94,.02) 18%,
rgba(180,194,210,0) 34%,
rgba(230,235,242,0) 55%,
rgba(245,248,251,.02) 100%),
url("../assets/logboek-doorlopend-bg.png") !important;

filter:none!important;
}

/* hele site iets frisser/lighter */
.card,
.panel,
.widget,
.dashboard-card,
.content-card,
[class*="card"]{
background:rgba(255,255,255,.88)!important;
border-color:rgba(255,255,255,.55)!important;
}

.sidebar,
.nav-sidebar,
.left-sidebar{
background:rgba(34,56,82,.34)!important;
}


/* V21 - grijs/blauw i.p.v. blauw */

body.dvt-shell-page{
background-color:#edf0f3 !important;

background-image:
linear-gradient(90deg,
rgba(68,74,82,.08) 0%,
rgba(92,100,112,.04) 18%,
rgba(168,174,182,.02) 34%,
rgba(228,232,236,.00) 55%,
rgba(245,246,248,.02) 100%),
url("../assets/logboek-doorlopend-bg.png") !important;
}

.sidebar,
.nav-sidebar,
.left-sidebar{
background:rgba(74,82,92,.28)!important;
}

.card,
.panel,
.widget,
[class*="card"]{
background:rgba(252,252,252,.90)!important;
}



/* V22 - terug richting originele grijs/lichtgrijze sfeer */

body.dvt-shell-page{
background-color:#eef1f3 !important;

background-image:
linear-gradient(90deg,
rgba(80,82,86,.05) 0%,
rgba(118,122,128,.03) 18%,
rgba(186,190,196,.01) 34%,
rgba(236,238,240,.00) 55%,
rgba(247,248,249,.01) 100%),
url("../assets/logboek-doorlopend-bg.png") !important;
}

/* menu minder blauw, meer antraciet/grijs-blauw */
.sidebar,
.nav-sidebar,
.left-sidebar{
background:rgba(58,66,74,.30)!important;
}

/* kaarten niet blauw wit maar neutraal wit */
.card,
.panel,
.widget,
[class*="card"]{
background:rgba(252,252,251,.88)!important;
}



/* V23 - echt weg van blauw, richting papier/lichtgrijs */

body.dvt-shell-page{
background-color:#f1f1ef !important;

background-image:
linear-gradient(90deg,
rgba(92,92,92,.02) 0%,
rgba(124,124,124,.01) 20%,
rgba(210,210,210,0) 40%,
rgba(242,242,242,0) 70%,
rgba(250,250,250,.01) 100%),
url("../assets/logboek-doorlopend-bg.png") !important;
}

/* menu minder marine, meer antraciet */
.sidebar,
.nav-sidebar,
.left-sidebar{
background:rgba(64,66,70,.22)!important;
}

/* neutrale kaarten */
.card,
.panel,
.widget,
[class*="card"]{
background:rgba(253,253,252,.90)!important;
}



/* V24 - zelfde uiterlijk/layout, alleen lichte neutrale tint */
body.dvt-shell-page{
  background-color:#eef3f6 !important;
  background-image:
    linear-gradient(90deg,
      rgba(210,218,224,.10) 0%,
      rgba(222,228,233,.06) 22%,
      rgba(236,241,245,.03) 45%,
      rgba(245,248,250,.02) 100%),
    url("../assets/logboek-doorlopend-bg.png") !important;
}

/* Sidebar blijft zoals huidige site, alleen minder blauw */
.sidebar,
.nav-sidebar,
.left-sidebar{
  background:rgba(45,56,66,.28)!important;
}

/* Kaarten neutraal wit, layout niet wijzigen */
.card,
.panel,
.widget,
.dashboard-card,
.content-card,
[class*="card"]{
  background:rgba(255,255,255,.88)!important;
}



/* V26 - ALLEEN achtergrondafbeelding duidelijker */
/* Voorgrond niet aanpassen */

body.dvt-shell-page{
background-image:
linear-gradient(90deg,
rgba(235,239,242,.03) 0%,
rgba(239,242,245,.02) 25%,
rgba(244,246,248,.01) 50%,
rgba(248,249,250,.01) 100%),
url("../assets/logboek-doorlopend-bg.png") !important;
}

/* geen extra waas over achtergrond */
body.dvt-shell-page::before,
body.dvt-shell-page::after{
display:none!important;
content:none!important;
}

/* ==========================================================
   V28 ZONDER BLUR - zelfde positie, scherper beeld
   - kladblokpositie ongewijzigd t.o.v. laatste goede versie
   - geen blur/filter op achtergrond of menu-overlay
   - achtergrond blijft doorlopen achter menu
   ========================================================== */
body.dvt-shell-page,
body.dvt-shell-page .shell{
  background:#eef1f4 !important;
}
body.dvt-shell-page .shell{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}
body.dvt-shell-page .shell::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  display:block !important;
  background-image:url('/assets/logboek-doorlopend-bg.png') !important;
  background-size:cover !important;
  background-position:left top !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  transform:none !important;
}
body.dvt-shell-page .shell::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  display:block !important;
  background:linear-gradient(90deg,
    rgba(3,23,43,.07) 0%,
    rgba(18,38,58,.035) 16%,
    rgba(238,241,244,.00) 34%,
    rgba(255,255,255,.00) 100%) !important;
  filter:none !important;
  -webkit-filter:none !important;
}
body.dvt-shell-page .sidebar{
  background:rgba(15,38,58,.62) !important;
  background-color:rgba(15,38,58,.62) !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  border-right:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
}
body.dvt-shell-page .sidebar::before,
body.dvt-shell-page .sidebar::after,
body.dvt-shell-page .main::before,
body.dvt-shell-page .main::after,
body.dvt-shell-page .content::before,
body.dvt-shell-page .content::after{
  display:none !important;
  content:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.dvt-shell-page .main,
body.dvt-shell-page .content,
body.dvt-shell-page .dash-card,
body.dvt-shell-page .frame-card,
body.dvt-shell-page .content-frame,
body.dvt-shell-page .hero{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}



/* ==========================================================
   V29 ACHTERGROND SCHERP - GOEDE POSITIE
   - nieuw bestand voorkomt oude browser-cache
   - geen blur/filter op achtergrond
   - kladblok start links onder het menu zoals aangegeven
   ========================================================== */
body.dvt-shell-page,
body.dvt-shell-page .shell{
  background:#eef1f4 !important;
}
body.dvt-shell-page .shell{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-image:url('/assets/dvt-formulieren-bg-scherp-v29.png?v=29') !important;
  background-size:100% 100% !important;
  background-position:left top !important;
  background-repeat:no-repeat !important;
  background-attachment:scroll !important;
}
body.dvt-shell-page .shell::before{
  content:none !important;
  display:none !important;
  background:none !important;
  filter:none !important;
  -webkit-filter:none !important;
}
body.dvt-shell-page .shell::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  display:block !important;
  background:linear-gradient(90deg, rgba(0,22,42,.04) 0%, rgba(0,22,42,.025) 16%, rgba(255,255,255,0) 34%, rgba(255,255,255,0) 100%) !important;
  filter:none !important;
  -webkit-filter:none !important;
}
body.dvt-shell-page .sidebar,
body.dvt-shell-page .main,
body.dvt-shell-page .content,
body.dvt-shell-page .dash-card,
body.dvt-shell-page .frame-card,
body.dvt-shell-page .content-frame,
body.dvt-shell-page .hero{
  filter:none !important;
  -webkit-filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.dvt-shell-page .sidebar{
  background:rgba(15,38,58,.60) !important;
  background-color:rgba(15,38,58,.60) !important;
  background-image:none !important;
  border-right:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
}
body.dvt-shell-page .main,
body.dvt-shell-page .content,
body.dvt-shell-page .dash-card,
body.dvt-shell-page .frame-card,
body.dvt-shell-page .content-frame,
body.dvt-shell-page .hero{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}


/* ===== DVT PATCH: uniforme pagina-spacing + blauwe tekst zwart ===== */

/* Eén vaste contentpositie op alle pagina's binnen de app */
body.app-shell .dash-card,
body.app-shell .reports-page,
body.app-shell .rapportages-page,
body.app-shell .planning-page,
body.app-shell .documents-page,
body.app-shell .documenten-page,
body.app-shell .users-page,
body.app-shell .gebruikers-page,
body.app-shell .locations-page,
body.app-shell .locaties-page,
body.app-shell .builder-page,
body.app-shell .formulieren-page,
.dash-card,
.reports-page,
.rapportages-page,
.planning-page,
.documents-page,
.documenten-page,
.users-page,
.gebruikers-page,
.locations-page,
.locaties-page,
.builder-page,
.formulieren-page {
  padding: 34px 42px !important;
  margin: 0 !important;
}

/* Containers op alle pagina's exact zelfde breedte en startpositie */
.dashboard-wrap,
.reports-wrap,
.rapportages-wrap,
.planning-wrap,
.documents-wrap,
.documenten-wrap,
.users-wrap,
.gebruikers-wrap,
.locations-wrap,
.locaties-wrap,
.builder-wrap,
.formulieren-wrap,
.page-wrap,
.admin-wrap,
.content-wrap {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

/* Eerste rij/statistiekblokken overal gelijk uitlijnen */
.dash-grid,
.reports-stats,
.rapportages-stats,
.stats-grid,
.stat-grid,
.cards-grid,
.summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 0 16px 0 !important;
}

/* Panelen/lijsten direct onder statistieken overal zelfde afstand */
.panel,
.reports-panel,
.rapportages-panel,
.list-panel,
.table-panel,
.card-panel {
  margin-top: 0 !important;
}

/* Blauwe teksten binnen content zwart maken, behalve primaire knoppen/actieve menu-items */
.content a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.content-frame a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.dash-card a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.panel a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.reports-page a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.rapportages-page a:not(.btn):not(.nav-link):not(.active):not(.bottom-link),
.activity-main strong,
.report-title,
.report-name,
.rapport-title,
.rapport-name,
.list-title,
.table-title,
.item-title,
.card-title,
.stat-value,
.stat-card .stat-value,
.panel h1,
.panel h2,
.panel h3,
.panel h4 {
  color: #111827 !important;
}

/* Ook losse blauwe labels/links in tabellen en rapportregels zwart */
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"],
[style*="color:#111827"] {
  color: #111827 !important;
}

/* Primaire actieknoppen mogen blauw blijven als knop, tekst blijft duidelijk */
.btn.primary,
button.primary,
.filter-chip.active,
.pill.active,
.tabs .active,
.badge.active {
  background: #0D8DFF !important;
  border-color:#111827 !important;
  color: #fff !important;
}

/* Niet-actieve knoppen: tekst zwart i.p.v. blauw */
.btn:not(.primary),
button:not(.primary),
.filter-chip:not(.active),
.pill:not(.active),
.chip:not(.active) {
  color: #111827 !important;
}

/* Open PDF / Bewerken: behouden als knoppen, maar niet felblauwe tekst tenzij primaire knop */
a.btn:not(.primary),
button.btn:not(.primary) {
  color: #111827 !important;
}

/* Dropdown/formulierselector tekst zwart */
select,
.form-select,
.custom-select,
.select-trigger,
.dropdown-toggle {
  color: #111827 !important;
}

/* Responsive: dezelfde basis-spacing iets compacter */
@media (max-width: 980px) {
  .dash-card,
  .reports-page,
  .rapportages-page,
  .planning-page,
  .documents-page,
  .documenten-page,
  .users-page,
  .gebruikers-page,
  .locations-page,
  .locaties-page,
  .builder-page,
  .formulieren-page {
    padding: 22px 18px !important;
  }

  .dash-grid,
  .reports-stats,
  .rapportages-stats,
  .stats-grid,
  .stat-grid,
  .cards-grid,
  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .dash-grid,
  .reports-stats,
  .rapportages-stats,
  .stats-grid,
  .stat-grid,
  .cards-grid,
  .summary-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== DVT DEFINITIEVE FIX: spacing overal gelijk + blauwe contenttekst zwart ===== */
:root{
  --text:#111827 !important;
  --dark:#111827 !important;
}

/* Iframe-pagina's: geen dubbele body/page padding meer */
html, body{
  color:#111827 !important;
}

/* Pagina's die zelfstandig in de shell/iframe laden */
body{
  margin:0 !important;
}

/* Eén vaste pagina-start voor alle beheer-/overzichtspagina's */
.wrap,
.page-wrap,
.dashboard-wrap,
.reports-wrap,
.rapportages-wrap,
.planning-wrap,
.documents-wrap,
.documenten-wrap,
.users-wrap,
.gebruikers-wrap,
.locations-wrap,
.locaties-wrap,
.admin-wrap,
.content-wrap{
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:28px 36px 40px !important;
}

/* Rapportages had body-padding; die gaat naar .wrap zodat alle pagina's hetzelfde starten */
body:has(.wrap) {
  padding:0 !important;
}

/* Documenten/Tekeningen: titelblok bovenaan niet tonen als dat alleen uitleg is */
.page-head{
  margin:0 0 16px 0 !important;
}
.page-head:empty{
  display:none !important;
}

/* Kaarten/statistieken overal exact dezelfde tussenruimte */
.stats,
.topline,
.dash-grid,
.stats-grid,
.stat-grid,
.reports-stats,
.rapportages-stats,
.summary-grid,
.cards-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin:0 0 16px 0 !important;
  width:100% !important;
}

/* Alle panels/lijsten direct onder stats exact gelijk */
.panel,
.page-card,
.files-card,
.card,
.right-panel,
.left-panel{
  margin-top:0 !important;
}

/* Blauwe letters in content hard naar zwart */
a,
a:link,
a:visited,
.name,
.report .name,
.report-title,
.report-name,
.rapport-title,
.rapport-name,
.item-title,
.list-title,
.card-title,
.customer-name,
.customer,
.title,
.page-title,
.section-title,
.tool-title,
.panel-head h1,
.panel-head h2,
.panel-head h3,
.stat b,
.stat-value,
.month,
.chip,
.filter,
.pill,
.badge,
.edit-link,
.btn,
button,
select,
input,
textarea,
.search,
.form-select,
.custom-select,
.dropdown-toggle{
  color:#111827 !important;
}

/* Muted teksten blijven grijs, niet blauw */
.meta,
.muted,
.page-sub,
.subtitle,
.panel-sub,
.hint,
.stat span,
.stat-title,
.files-head,
th,
small{
  color:#64748b !important;
}

/* Actieve/gevulde blauwe knoppen moeten witte tekst houden */
.filter.active,
.chip.active,
.month.active,
.btn.dark,
.btn-dark,
.btn.primary,
button.primary,
.active.btn,
.pill.active,
.badge.active{
  background:#0D8DFF !important;
  border-color:#0D8DFF !important;
  color:#fff !important;
}

/* Menu-active en sidebar blijven leesbaar */
.nav a.active,
.nav a.active span{
  color:#111827 !important;
}
.nav a:not(.active),
.nav a:not(.active) span{
  color:#fff !important;
}

/* Links in lijsten zoals rapportnaam en Open PDF zwart zonder blauwe override */
.report a,
.report .btn,
.report .name,
.report-list a,
.files-card a,
.table a,
.panel a{
  color:#111827 !important;
}

/* Badges/chips die geen actieve blauwe knop zijn: tekst zwart */
.pill:not(.active),
.badge:not(.active),
.chip:not(.active),
.filter:not(.active){
  color:#111827 !important;
}

/* Documenten-pagina zonder overbodige titeltekst: bovenruimte blijft gelijk maar niet te groot */
.page-card > .page-head:first-child{
  display:none !important;
}

/* Responsive behoudt dezelfde logica */
@media(max-width:1050px){
  .wrap,
  .page-wrap,
  .dashboard-wrap,
  .reports-wrap,
  .rapportages-wrap,
  .planning-wrap,
  .documents-wrap,
  .documenten-wrap,
  .users-wrap,
  .gebruikers-wrap,
  .locations-wrap,
  .locaties-wrap,
  .admin-wrap,
  .content-wrap{
    padding:22px 18px 34px !important;
  }
  .stats,
  .topline,
  .dash-grid,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .stats,
  .topline,
  .dash-grid,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== DVT FIX2: exacte gelijke uitlijning tussen alle pagina's =====
   Belangrijk: dashboard kreeg eerder dubbele padding (.dash-card + .dashboard-wrap).
   Nu heeft iedere pagina maar één paddinglaag: 28px boven en 36px links/rechts.
*/
html, body {
  margin: 0 !important;
  padding: 0 !important;
  color: #111827 !important;
}

:root {
  --text: #111827 !important;
}

/* Dashboard in shell: alleen .dash-card heeft padding */
.dash-card {
  padding: 28px 36px 40px !important;
  overflow: auto !important;
}
.dashboard-wrap {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 16px !important;
}

/* Alle iframe/losse pagina's: dezelfde padding en dezelfde max-width */
.wrap,
.page-wrap,
.reports-wrap,
.rapportages-wrap,
.planning-wrap,
.documents-wrap,
.documenten-wrap,
.users-wrap,
.gebruikers-wrap,
.locations-wrap,
.locaties-wrap,
.admin-wrap,
.content-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 28px 36px 40px !important;
}

/* Geen extra bovenmarge op eerste elementen */
.wrap > *:first-child,
.page-wrap > *:first-child,
.dashboard-wrap > *:first-child,
.reports-wrap > *:first-child,
.rapportages-wrap > *:first-child,
.planning-wrap > *:first-child,
.documents-wrap > *:first-child,
.documenten-wrap > *:first-child,
.users-wrap > *:first-child,
.gebruikers-wrap > *:first-child,
.locations-wrap > *:first-child,
.locaties-wrap > *:first-child,
.admin-wrap > *:first-child,
.content-wrap > *:first-child {
  margin-top: 0 !important;
}

/* Gelijke afstand tussen blokken */
.dash-grid,
.stats,
.topline,
.stats-grid,
.stat-grid,
.reports-stats,
.rapportages-stats,
.summary-grid,
.cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 16px 0 !important;
  width: 100% !important;
}

.dash-panels,
.activity-grid,
.tools,
.filterbar,
.month-grid {
  margin-top: 0 !important;
}

.panel,
.page-card,
.files-card,
.card,
.right-panel,
.left-panel {
  margin-top: 0 !important;
}

/* Contenttekst en contentlinks zwart */
body,
.wrap,
.page-wrap,
.dashboard-wrap,
.panel,
.page-card,
.card,
.stat,
.stat-card,
.report,
.report-list,
.file-row,
.table,
.activity-item,
.name,
.report .name,
.report-title,
.report-name,
.rapport-title,
.rapport-name,
.item-title,
.list-title,
.card-title,
.customer-name,
.customer,
.title,
.page-title,
.section-title,
.tool-title,
.panel-head h1,
.panel-head h2,
.panel-head h3,
.stat b,
.stat-value,
.activity-main strong,
.activity-main span,
.status-list,
.status-row,
.edit-link,
.month:not(.active),
.chip:not(.active),
.filter:not(.active),
.pill:not(.active),
.badge:not(.active),
.btn:not(.dark):not(.btn-dark):not(.primary),
button:not(.primary),
select,
input,
textarea,
.search,
.form-select,
.custom-select,
.dropdown-toggle {
  color: #111827 !important;
}

/* Alle normale links zwart, behalve actieve/gevulde knoppen */
a:not(.btn-dark):not(.dark):not(.primary):not(.active),
a:link:not(.btn-dark):not(.dark):not(.primary):not(.active),
a:visited:not(.btn-dark):not(.dark):not(.primary):not(.active),
.report a:not(.btn-dark):not(.dark):not(.primary),
.panel a:not(.btn-dark):not(.dark):not(.primary),
.table a:not(.btn-dark):not(.dark):not(.primary),
.files-card a:not(.btn-dark):not(.dark):not(.primary) {
  color: #111827 !important;
}

/* Grijze subtitels blijven grijs */
.meta,
.muted,
.page-sub,
.subtitle,
.panel-sub,
.hint,
.stat span,
.stat-title,
.files-head,
th,
small,
.empty,
.empty-activity {
  color: #64748b !important;
}

/* Actieve/gevulde blauwe knoppen houden witte tekst */
.filter.active,
.chip.active,
.month.active,
.btn.dark,
.btn-dark,
.btn.primary,
button.primary,
.active.btn,
.pill.active,
.badge.active {
  background: #0D8DFF !important;
  border-color: #0D8DFF !important;
  color: #fff !important;
}

/* Sidebar blijft correct: wit op donker, active zwart/blauw icoon */
.nav a:not(.active),
.nav a:not(.active) span {
  color: #fff !important;
}
.nav a.active,
.nav a.active span {
  color: #111827 !important;
}
.nav a.active i {
  color:#111827 !important;
}

/* Documenten-uitleg definitief weg */
.page-title:empty,
.page-sub:empty {
  display: none !important;
}

/* Kleinere schermen */
@media(max-width:1050px){
  .dash-card,
  .wrap,
  .page-wrap,
  .reports-wrap,
  .rapportages-wrap,
  .planning-wrap,
  .documents-wrap,
  .documenten-wrap,
  .users-wrap,
  .gebruikers-wrap,
  .locations-wrap,
  .locaties-wrap,
  .admin-wrap,
  .content-wrap {
    padding: 22px 18px 34px !important;
  }
  .dash-grid,
  .stats,
  .topline,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:680px){
  .dash-grid,
  .stats,
  .topline,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ===== DVT FIX3: extra achtergrondlagen/overlays verwijderen ===== */

/* Basis: echte achtergrond tonen zonder extra content-overlay */
html, body {
  background: #dfe8f1 !important;
}

/* De shell gebruikt alleen de achtergrondafbeelding */
.shell {
  background: #dfe8f1 !important;
}
.shell::after {
  background: none !important;
}
body::before {
  background: none !important;
}
.main {
  background: transparent !important;
}
.content,
.frame-card,
.content-frame,
.dash-card,
.dashboard-wrap,
.dash-panels,
.activity-grid,
.tools,
.filterbar,
.month-grid,
.page-wrap,
.wrap,
.page-wrap > *,
.wrap > * {
  background: transparent !important;
}

/* Grote wrapper-kaarten weghalen zodat de echte achtergrond zichtbaar blijft */
.page-card,
.content-card,
.upload-card,
.settings-card,
.list-card,
.table-wrap,
.table-card,
.card-shell,
.admin-shell,
.files-shell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 !important;
}

/* Alleen de echte losse witte onderdelen behouden */
.stat-card,
.panel,
.card,
.tool-card,
.files-card,
.object-card,
.user-card,
.report-card,
.planning-card,
.section-card {
  background: #ffffff !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  box-shadow: 0 18px 44px rgba(21,44,68,.10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Documenten/tekeningen: geen extra blok meer om tools + tabel heen */
.tools {
  margin-bottom: 20px !important;
}
.files-card {
  margin-top: 0 !important;
}

/* Dashboard: panel-groep zonder extra achterplaat */
.dash-panels,
.activity-grid {
  border: 0 !important;
  box-shadow: none !important;
}

/* Als pagina-head leeg is, geen ruimte */
.page-head:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Responsive */
@media(max-width:980px){
  .page-card,
  .content-card,
  .upload-card,
  .settings-card,
  .list-card,
  .table-wrap,
  .table-card {
    padding: 0 !important;
  }
}


/* ===== DVT REALFIX GENERAL ===== */
.page-card{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}



/* ===== DVT HARD FINAL: geen doorschijnende/blur overlay meer ===== */

/* Achtergrond alleen op shell/body, niet als tweede laag op content */
html, body,
.shell, .main, .content, .frame-card, .content-frame, .dash-card {
  background-color: transparent !important;
}
.shell::after,
.main::before,
.main::after,
.content::before,
.content::after,
.dash-card::before,
.dash-card::after,
.frame-card::before,
.frame-card::after,
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Grote wrapper-blokken mogen géén eigen waas/achtergrond maken */
.dashboard-wrap,
.dash-panels,
.activity-grid,
.wrap,
.page-wrap,
.page-card,
.content-card,
.list-card,
.table-card,
.table-wrap,
.upload-card,
.settings-card,
.admin-card,
.card-shell,
.page-shell {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Alleen echte UI-kaarten zijn wit, zonder doorzicht/blur */
.stat-card,
.panel,
.tool-card,
.files-card,
.card,
.report,
.file-row,
.object-card,
.user-card,
.report-card,
.planning-card,
.section-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  box-shadow: 0 14px 34px rgba(21,44,68,.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Headerrijen in tabellen/listen niet half-transparant */
.files-head,
.panel-head,
.card-header,
.table-header,
.page-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Documenten/Tekeningen: de page-card is alleen layout, geen zichtbaar vlak */
.page-wrap > .page-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Dashboard: geen grote plaat achter de twee grafiekkaarten */
.dash-panels {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr !important;
  gap: 16px !important;
}
.dash-panels > .panel,
.activity-grid > .panel {
  background: #ffffff !important;
  border: 1px solid rgba(148,163,184,.22) !important;
}

/* Content moet zwart blijven */
a:not(.btn-dark):not(.dark):not(.primary):not(.active),
.name, .report .name, .report-title, .report-name,
.item-title, .list-title, .card-title, .customer-name,
.title, .page-title, .section-title, .tool-title,
.panel-head h1, .panel-head h2, .panel-head h3,
.stat b, .stat-value {
  color: #111827 !important;
}
.filter.active,.chip.active,.month.active,.btn.dark,.btn-dark,.btn.primary,button.primary,.active.btn,.pill.active,.badge.active{
  background:#0D8DFF!important;
  border-color:#0D8DFF!important;
  color:#fff!important;
}




/* ===== DVT FINAL: alle witte vlakken exact gelijk uitgelijnd =====
   Eén vaste maatvoering voor elke pagina:
   - bovenruimte: 28px
   - links/rechts: 36px
   - ruimte tussen grote witte onderdelen: 16px
*/
:root{
  --dvt-page-top:28px;
  --dvt-page-x:36px;
  --dvt-page-bottom:40px;
  --dvt-card-gap:16px;
  --dvt-page-max:1280px;
}

/* Geen dubbele body-padding meer in iframe pagina's */
html,
body{
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

/* Dashboard: padding alleen op de buitenste pagina-laag */
.dash-card{
  padding:var(--dvt-page-top) var(--dvt-page-x) var(--dvt-page-bottom) !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Dashboard content zelf krijgt géén extra padding, alleen max-width */
.dashboard-wrap{
  width:100% !important;
  max-width:var(--dvt-page-max) !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:var(--dvt-card-gap) !important;
  box-sizing:border-box !important;
}

/* Alle losse pagina's/iframe pagina's krijgen exact dezelfde buitenruimte */
.wrap,
.page-wrap,
.reports-wrap,
.rapportages-wrap,
.planning-wrap,
.documents-wrap,
.documenten-wrap,
.users-wrap,
.gebruikers-wrap,
.locations-wrap,
.locaties-wrap,
.admin-wrap,
.content-wrap,
.builder-wrap,
.formulieren-wrap{
  width:100% !important;
  max-width:var(--dvt-page-max) !important;
  margin:0 auto !important;
  padding:var(--dvt-page-top) var(--dvt-page-x) var(--dvt-page-bottom) !important;
  box-sizing:border-box !important;
}

/* Geen extra marge bovenaan het eerste onderdeel */
.dashboard-wrap > *:first-child,
.wrap > *:first-child,
.page-wrap > *:first-child,
.reports-wrap > *:first-child,
.rapportages-wrap > *:first-child,
.planning-wrap > *:first-child,
.documents-wrap > *:first-child,
.documenten-wrap > *:first-child,
.users-wrap > *:first-child,
.gebruikers-wrap > *:first-child,
.locations-wrap > *:first-child,
.locaties-wrap > *:first-child,
.admin-wrap > *:first-child,
.content-wrap > *:first-child,
.builder-wrap > *:first-child,
.formulieren-wrap > *:first-child{
  margin-top:0 !important;
}

/* Grote witte blokken: overal dezelfde onderlinge ruimte */
.dash-grid,
.stats,
.topline,
.stats-grid,
.stat-grid,
.reports-stats,
.rapportages-stats,
.summary-grid,
.cards-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:var(--dvt-card-gap) !important;
  margin:0 0 var(--dvt-card-gap) 0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}

/* Dashboard: panelrijen exact zelfde afstand */
.dash-panels,
.activity-grid{
  display:grid !important;
  gap:var(--dvt-card-gap) !important;
  margin:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.dash-panels{
  grid-template-columns:1.35fr 1fr !important;
}
.activity-grid{
  grid-template-columns:1fr 1fr !important;
}

/* Wanneer er meerdere grote rijen onder elkaar staan */
.dash-panels + .activity-grid,
.stats + .panel,
.topline + .month-grid,
.month-grid + .filterbar,
.filterbar + .panel,
.tools + .files-card,
.page-card + .panel,
.panel + .panel,
.card + .card,
.files-card + .files-card{
  margin-top:var(--dvt-card-gap) !important;
}

/* Documenten/tekeningen: toolblokken en bestandenlijst exact gelijk */
.tools{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:var(--dvt-card-gap) !important;
  margin:0 0 var(--dvt-card-gap) 0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.tool-card,
.files-card{
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Planning: bovenkaarten, maanden en filterrijen gelijke start en vaste spacing */
.month-grid{
  display:grid !important;
  gap:var(--dvt-card-gap) !important;
  margin:0 0 var(--dvt-card-gap) 0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.filterbar{
  display:flex !important;
  gap:8px !important;
  margin:0 0 var(--dvt-card-gap) 0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}

/* Algemene kaart/panel margins resetten, zodat er geen eigen afwijking ontstaat */
.stat-card,
.panel,
.card,
.tool-card,
.files-card,
.report,
.report-card,
.object-card,
.user-card,
.planning-card,
.section-card,
.page-card{
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Transparante layout-wrappers mogen geen eigen wit vlak of spacing veroorzaken */
.page-card,
.content-card,
.list-card,
.table-card,
.table-wrap,
.upload-card,
.settings-card,
.admin-card,
card-shell,
page-shell{
  padding:0 !important;
}

/* Binnenruimte van witte kaarten/panels consistent */
.stat-card{
  padding:18px !important;
}
.panel-head,
.card-header,
.table-header,
.page-header{
  padding:18px 20px !important;
}
.panel > :not(.panel-head):not(style):not(script),
.card > :not(.card-header):not(style):not(script){
  box-sizing:border-box !important;
}

/* Rapportages lijst: panel-content sluit netjes aan */
.report{
  padding:16px 20px !important;
}
.tools + .report-list,
.panel .report-list{
  margin:0 !important;
}

/* Tabellen/lijsten */
.files-head,
.file-row{
  padding:14px 18px !important;
}

/* Rechts/links nooit buiten de max-width trekken */
.wrap *,
.page-wrap *,
.dashboard-wrap *{
  box-sizing:border-box !important;
}

/* Responsive: zelfde verhouding, alleen compacter */
@media(max-width:1180px){
  .dash-panels,
  .activity-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:1050px){
  :root{
    --dvt-page-top:22px;
    --dvt-page-x:18px;
    --dvt-page-bottom:34px;
  }
  .dash-grid,
  .stats,
  .topline,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .tools{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:680px){
  .dash-grid,
  .stats,
  .topline,
  .stats-grid,
  .stat-grid,
  .reports-stats,
  .rapportages-stats,
  .summary-grid,
  .cards-grid,
  .month-grid{
    grid-template-columns:1fr !important;
  }
}

