/* REZ Groendak calculator - aanvulling op app.css (huisstijl). Geen inline styles: de CSP staat ze niet toe. */
.groen > span { color: var(--grijs); font-weight: 500; letter-spacing: .12em; font-size: .85rem; text-transform: uppercase; margin-left: .6rem; }
.logo { height: 38px; width: auto; vertical-align: middle; }  /* origineel JPG-logo, ratio 3,13:1 - nooit vervormen */
.topbar .user a { color: var(--groen-donker); }
.voet { max-width: 1200px; margin: 2rem auto 1rem; padding: .75rem 1.5rem; border-top: 1.5px solid var(--groen); font-size: .72rem; color: #79797B; }
.voet b { color: var(--groen-donker); font-weight: 600; }

table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: .4rem .6rem; border-bottom: 1px solid #e6e6e6; vertical-align: top; }
/* Stijlboek 07 Tabellen: koprij Groendak Groen Donker met witte SemiBold, zebra F5F5F5/wit, totaalrij Groen Licht */
th { background: var(--groen-donker); color: #fff; font-weight: 600; font-size: .85rem; border-bottom: 0; }
tbody tr:nth-child(even) td { background: #F5F5F5; }
table tr.hoofd td, table tr.eind td, .totalen tr.hoofd td { background: var(--groen-licht); font-weight: 600; }
td { border-bottom: 1px solid var(--groen-zl); }
table.posten { font-size: .88rem; }
td.num, th.num { text-align: right; white-space: nowrap; }
table.smal-tabel { max-width: 46rem; }
table.middel-tabel { max-width: 50rem; }
table.klein-tabel { max-width: 40rem; }

.melding { color: #9a4a00; font-size: .85rem; }
.waarom { font-size: .78rem; color: #666; }
.rood { color: #c0392b; }
.code { font-family: Consolas, "Courier New", monospace; font-size: .85rem; }
.waarschuwing { background: #FCEEEA; border-left: 4px solid var(--let-op); padding: .6rem .9rem; margin: .4rem 0; border-radius: 4px; }
.fout-blok { background: #fdeaea; border-left: 4px solid #c0392b; padding: .6rem .9rem; margin: .4rem 0; border-radius: 4px; }
.ok-blok { background: var(--groen-licht); border-left: 4px solid var(--groen); padding: .6rem .9rem; margin: .4rem 0; border-radius: 4px; }
.info-blok { background: var(--groen-licht); border-left: 4px solid var(--moss); padding: .6rem .9rem; margin: .4rem 0; border-radius: 4px; }

.totalen td { padding: .2rem .6rem; }
.totalen tr.hoofd td { font-weight: 700; border-top: 1px solid var(--rez-rand); }

.intake-groep { background: #fff; border: 1px solid var(--rez-rand); border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.intake-groep h2 { margin-top: 0; }
.intake-rij { display: grid; grid-template-columns: 20rem 1fr 1.5rem; gap: .75rem; align-items: start; padding: .35rem 0; }
.intake-rij label { font-size: .92rem; }
.ontbreekt input, .ontbreekt select, .ontbreekt textarea { border-color: var(--let-op); background: #FCEEEA; }
.raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .75rem; }
.raster label { display: block; font-size: .88rem; }

input, select, textarea { padding: .35rem .5rem; border: 1px solid var(--rez-rand); border-radius: 4px; font: inherit; width: 100%; max-width: 32rem; }
input[type=checkbox] { width: auto; }
.smal { max-width: 9rem; }
.breed { max-width: 24rem; }
.zeer-breed { max-width: 60rem; }
.inp-num { width: 6rem; text-align: right; }
.inp-num-breed { width: 7rem; text-align: right; }
.inp-code { width: 5rem; }
.inp-eenheid { width: 4rem; }

.knop { display: inline-block; padding: .45rem .9rem; background: var(--groen-donker); color: #fff; border: 0; border-radius: 4px; text-decoration: none; cursor: pointer; font: inherit; }
.knop.accent { background: var(--groen); color: #fff; font-weight: 600; }
.knop.rustig { background: #fff; color: var(--rez-donker); border: 1px solid var(--rez-rand); }
.knop:disabled { background: #d8d8d8; color: #777; cursor: not-allowed; }

.rij-flex { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin: .75rem 0; }
.rij-flex form { margin: 0; }
.m-onder { margin-bottom: 1rem; }
.m-boven { margin: .75rem 0; }
details summary { cursor: pointer; font-weight: 600; padding: .4rem 0; }

/* Inlogpagina */
.login-kaart { max-width: 28rem; margin: 4rem auto; background: #fff; border: 1px solid var(--rez-rand); border-radius: 10px; padding: 2rem 2.25rem; text-align: center; }
.login-kaart h1 { font-size: 1.4rem; }
.login-kaart p { color: #555; }
.login-kaart .knop { margin-top: .75rem; width: 100%; padding: .7rem; font-size: 1rem; }
.login-slot { margin-top: 1.5rem; font-size: .8rem; color: #79797B; }

/* Auditlog */
.audit-actie { font-weight: 600; }
.audit-actie.login_geweigerd, .audit-actie.login_mislukt, .audit-actie.fout { color: #c0392b; }

/* Print: schone calculatie op papier */
@media print {
  .topbar, .knop, form.geen-print, details, .geen-print { display: none !important; }
  .content { max-width: none; padding: 0; }
  body { background: #fff; }
  table { font-size: 9pt; }
}

tr.rij-fout td { background: #fdeaea; }

/* Automatisch invullen */
.auto-paneel { background: #f4f9f1; border: 1px solid #b9d7a8; border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.auto-paneel h2 { margin-top: 0; }
.zekerheid { display: inline-block; padding: .05rem .45rem; border-radius: 10px; font-size: .75rem; font-weight: 600; }
.zekerheid.hoog { background: #dff0d8; color: #2d6a1f; }
.zekerheid.midden { background: #fff3cd; color: #7a5200; }
.zekerheid.laag { background: #f8d7da; color: #842029; }
.doc-lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .75rem; }
.doc-kaart { background: #fff; border: 1px solid var(--rez-rand); border-radius: 6px; padding: .6rem .75rem; font-size: .88rem; }
.doc-kaart img { width: 100%; border-radius: 4px; }
.knop.klein { padding: .2rem .55rem; font-size: .8rem; }
.inline-form { display: inline; }
.citaat { font-style: italic; color: #555; }
