@import url("icons.css?v=20261023-monitoring");
@import url("snelinvoer.css?v=20261027-gelijk");
:root{
  --green:#0c5d32;--green-2:#2f8a45;--blue:#0b5f8d;--ink:#27303a;--muted:#66717c;
  --surface:#fff;--soft:#f3f7f5;--line:#dce5e0;--danger:#a52a2a;--warning:#8a5a00;
  --shadow:0 12px 35px rgba(18,49,34,.10);--radius:18px;--container:1180px;
  --portal-primary:#0c5d32;--portal-accent:#0b5f8d;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#f8faf9;line-height:1.55}img{max-width:100%;height:auto}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;gap:28px;min-height:82px}.brand img{width:220px;display:block}.main-nav{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.main-nav a{color:#25332c;font-weight:650;font-size:.95rem}.main-nav .nav-login{background:var(--green);color:#fff;border-radius:999px;padding:10px 16px}.main-nav .nav-login:hover{text-decoration:none;filter:brightness(.95)}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:1.35rem;color:var(--ink)}
.hero{padding:64px 0;background:radial-gradient(circle at 80% 10%,rgba(11,95,141,.10),transparent 34%),linear-gradient(135deg,#fff,#f0f8f3)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.eyebrow{color:var(--green);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.84rem}.hero h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.04;margin:.3em 0 .35em;color:#173328}.hero p{font-size:1.16rem;color:#52625a;max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:12px;padding:11px 17px;font-weight:750;cursor:pointer;background:var(--green);color:#fff;text-decoration:none}.btn:hover{text-decoration:none;filter:brightness(.96)}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}.btn.blue{background:var(--blue)}.btn.danger{background:var(--danger)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.login-card{background:#fff;padding:26px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.login-card h2{margin-top:0}.login-links{display:flex;gap:14px;flex-wrap:wrap;font-size:.92rem;margin-top:14px}
.section{padding:58px 0}.section.white{background:#fff}.section h2{font-size:clamp(1.6rem,3vw,2.5rem);margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 25px rgba(18,49,34,.05)}.card i{font-size:1.6rem;color:var(--green)}.card h3{margin:.5em 0 .35em}.muted{color:var(--muted)}
form{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row.full{grid-column:1/-1}label{font-weight:700;font-size:.92rem}input,select,textarea{width:100%;border:1px solid #cfd9d4;border-radius:10px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(12,93,50,.12)}textarea{min-height:110px;resize:vertical}.checkbox{display:flex;gap:10px;align-items:flex-start}.checkbox input{width:auto;margin-top:.32em}.help-text{font-size:.85rem;color:var(--muted)}.melding{margin:18px 0;padding:13px 15px;border-radius:12px;border:1px solid}.melding.succes{background:#ecf8f0;color:#165f32;border-color:#bcdcc7}.melding.fout{background:#fff1f1;color:#8c2424;border-color:#efc2c2}.melding.info{background:#eef6fb;color:#205c7d;border-color:#c8deec}.melding.waarschuwing{background:#fff8e8;color:#745000;border-color:#ead9a5}
.site-footer{background:#fff;color:#222;border-top:2px solid #0c5d32;padding:46px 0 18px}.site-footer a{color:#0c5d32}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:36px}.footer-logo{width:220px;background:#fff;border-radius:12px;padding:8px}.footer-tagline{font-style:italic}.site-footer h2{font-size:1rem;color:#222}.footer-bottom{border-top:1px solid #c9dbce;margin-top:28px;padding-top:18px;color:#52665a;font-size:.9rem}
.portal-body{background:#f5f7f6}.portal-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}.portal-header-inner{display:flex;align-items:center;gap:20px;min-height:76px}.portal-brand{display:flex;align-items:center;gap:12px;color:var(--ink);min-width:240px}.portal-brand:hover{text-decoration:none}.portal-brand img{width:54px;height:54px;object-fit:contain;border-radius:8px}.portal-brand span{display:flex;flex-direction:column;line-height:1.15}.portal-brand small{font-size:.72rem;color:var(--muted);margin-top:3px}.portal-nav{margin-left:auto;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.portal-nav a{display:inline-flex;align-items:center;gap:6px;color:#36433d;border-radius:9px;padding:8px 9px;font-size:.86rem;font-weight:650}.portal-nav a:hover{background:color-mix(in srgb,var(--portal-primary) 8%,white);text-decoration:none;color:var(--portal-primary)}.portal-main{padding:28px 0 88px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{margin:0;font-size:clamp(1.7rem,4vw,2.35rem)}.page-head p{margin:.25em 0 0;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.stat .label{color:var(--muted);font-size:.86rem}.stat .value{font-size:1.7rem;font-weight:800;color:var(--portal-primary);margin-top:2px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quick-card{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;color:var(--ink)}.quick-card:hover{text-decoration:none;border-color:var(--portal-primary);box-shadow:0 8px 24px rgba(0,0,0,.06)}.quick-card i{font-size:1.5rem;color:var(--portal-primary)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:20px}.panel h2,.panel h3{margin-top:0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .search{min-width:220px;flex:1}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table.data{width:100%;border-collapse:collapse;background:#fff;min-width:760px}table.data th,table.data td{padding:11px 12px;border-bottom:1px solid #e7ece9;text-align:left;vertical-align:top}table.data th{font-size:.82rem;text-transform:uppercase;letter-spacing:.025em;color:#657169;background:#f8faf9}table.data tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:750;background:#edf4ef;color:#2c6541}.badge.blue{background:#eaf3f8;color:#1d607f}.badge.gray{background:#eef0f1;color:#586269}.badge.warn{background:#fff4dc;color:#7b5b00}.actions{display:flex;gap:8px;flex-wrap:wrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.icon-btn:hover{border-color:var(--portal-primary);color:var(--portal-primary)}.portal-footer{position:fixed;bottom:0;left:0;right:0;background:#20272b;color:#fff;z-index:55}.portal-footer-inner{min-height:48px;display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:.88rem}.portal-footer a{color:#fff}.portal-footer span{margin-right:auto}.steps{counter-reset:step;display:grid;gap:14px}.step{position:relative;padding:18px 18px 18px 58px;background:#fff;border:1px solid var(--line);border-radius:14px}.step:before{counter-increment:step;content:counter(step);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--portal-primary);color:#fff;font-weight:800}.step h3{margin:0 0 4px}.theme-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.theme-option{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.theme-swatch{height:34px;border-radius:8px;margin-bottom:8px}.thema-1{--portal-primary:#0c5d32;--portal-accent:#0b5f8d}.thema-2{--portal-primary:#155e75;--portal-accent:#0f766e}.thema-3{--portal-primary:#3f6212;--portal-accent:#0f766e}.thema-4{--portal-primary:#1d4ed8;--portal-accent:#0891b2}.thema-5{--portal-primary:#6d28d9;--portal-accent:#2563eb}.thema-6{--portal-primary:#9f1239;--portal-accent:#b45309}.thema-7{--portal-primary:#374151;--portal-accent:#0f766e}.thema-8{--portal-primary:#7c2d12;--portal-accent:#4d7c0f}.thema-9{--portal-primary:#0f4c5c;--portal-accent:#2f855a}.thema-10{--portal-primary:#334155;--portal-accent:#0369a1}
@media (max-width:980px){.menu-toggle{display:block;margin-left:auto}.main-nav,.portal-nav{display:none;position:absolute;left:16px;right:16px;top:74px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open,.portal-nav.open{display:flex}.main-nav a,.portal-nav a{padding:10px}.hero-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr 1fr}.portal-brand{min-width:0}.portal-brand span{display:none}}
@media (max-width:640px){.container{width:min(calc(100% - 22px),var(--container))}.brand img{width:175px}.hero{padding:40px 0}.cards,.portal-grid,.quick-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.page-head .btn{width:100%}.portal-footer-inner{justify-content:center;gap:12px}.portal-footer span{display:none}.portal-footer a{font-size:0}.portal-footer a i{font-size:1.25rem}.theme-picker{grid-template-columns:repeat(2,1fr)}.login-card{padding:20px}}
.pricing-feature{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:28px;align-items:center}.pricing-feature img,.pricing-options img{width:100%;height:auto;display:block;border-radius:14px}.pricing-options{grid-template-columns:repeat(2,1fr)}.pricing-options .card img{aspect-ratio:1;object-fit:cover;margin-bottom:16px}@media (max-width:700px){.pricing-feature,.pricing-options{grid-template-columns:1fr}.pricing-feature img{max-width:420px;margin:0 auto}.pricing-options .card img{max-height:360px}}
/* Tijdelijke/admin testchecklist */
.checklist-list{display:grid;gap:9px}.checklist-item{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb;cursor:pointer;font-weight:550}.checklist-item:hover{border-color:var(--portal-primary)}.checklist-item input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto}.checklist-item:has(input:checked){background:#edf7f0;border-color:#b9d8c2}.checklist-item:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.badge.check-ok{background:#e7f6eb;color:#176333}.badge.check-fout{background:#fff0f0;color:#912929}.checklist-auto{min-width:850px}.checklist-section h2{margin-bottom:14px}

/* Rustige portaalstructuur */
fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.8}.document-regel{padding:18px 0;border-bottom:1px solid var(--line)}.document-regel h3{margin-top:0}.berekening,.save-status{color:var(--muted);font-size:.9rem}.document-totalen{text-align:right;padding:18px 0}.tile-button{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.tile-button i{color:var(--portal-primary);font-size:24px}.quick-card small{display:block;margin-top:4px}.panel details{margin:18px 0}.panel summary{cursor:pointer;color:var(--portal-primary);padding:8px 0}.portal-header-inner{gap:20px}.portal-nav{gap:14px}.portal-brand{min-width:180px}.portal-nav a{white-space:nowrap}.actions-grid{margin:20px 0}.melding a{font-weight:600}

/* Logo's zonder achtergrondvlak; compacte FAQ-kop. */
.footer-logo{background:transparent;border-radius:0;padding:0}.site-footer .footer-logo{filter:none;background:transparent}.faq-title{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.legal-content h1{font-size:clamp(1.6rem,3vw,2.25rem)}.legal-content h2{font-size:1.2rem;margin-top:1.6em}.legal-content p{overflow-wrap:anywhere}.legal-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}

/* Compacte koppen en goed leesbare mobiele logo's. */
h1,.hero h1,.page-head h1,.legal-content h1,.faq-title{font-size:1.75rem;line-height:1.2}
h2,.section h2{font-size:1.375rem;line-height:1.3}
h3,.card h3,.panel h3{font-size:1.1rem;line-height:1.35}
.pricing-feature h2,.section .card h2{font-size:1.375rem}
.legal-content h2{font-size:1.1rem}.site-footer h2{font-size:1rem}
.brand{flex-shrink:0}.hero-grid>*{min-width:0}.card,.pricing-feature>div{min-width:0}
@media(max-width:640px){
 h1,.hero h1,.page-head h1,.legal-content h1,.faq-title{font-size:1.5rem}
 h2,.section h2,.pricing-feature h2,.section .card h2{font-size:1.2rem}
 .brand img{width:230px;max-width:calc(100vw - 82px)}
 .header-inner{gap:12px}.footer-logo{width:260px;max-width:100%}
 .portal-brand img{width:156px;height:86px;object-fit:contain;border-radius:0}
 .portal-brand{min-width:0;flex-shrink:0}
 .portal-header-inner{gap:10px;min-height:92px}.portal-nav,.main-nav{top:100%}
}

/* Groter logo en beter herkenbare tegelpictogrammen. */
.portal-brand{min-width:0;flex:0 0 auto;gap:14px}
.portal-brand img{width:168px;height:88px;object-fit:contain;border-radius:0;flex-shrink:0}
.portal-brand span{max-width:160px;overflow-wrap:anywhere}
.portal-header-inner{min-height:104px}
.quick-card{gap:18px;min-height:112px}
.quick-card>span,.tile-button>span{min-width:0}
.quick-card .bi,.quick-card .tile-button .bi{font-size:48px;width:48px;height:48px;flex:0 0 48px}
@media(max-width:1180px){
 .portal-header .menu-toggle{display:block;margin-left:auto}
 .portal-nav{display:none;position:absolute;left:16px;right:16px;top:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
 .portal-nav.open{display:flex}.portal-nav a{padding:10px}
}
@media(max-width:640px){
 .portal-brand img{width:168px;height:88px;max-width:calc(100vw - 100px)}
 .quick-card{gap:16px;min-height:104px}
 .quick-card .bi,.quick-card .tile-button .bi{font-size:44px;width:44px;height:44px;flex-basis:44px}
}

/* Openbare website: dezelfde duidelijke pictogrammen als in het portaal. */
.main-nav .nav-login{display:inline-flex;align-items:center;gap:8px}
.site-header ~ main .card > .bi{display:block;width:48px;height:48px;font-size:48px;margin-bottom:14px;color:var(--green)}
.site-header ~ main .btn > .bi,.main-nav .nav-login > .bi{width:24px;height:24px;font-size:24px;flex-shrink:0}
.site-header .menu-toggle > .bi{width:28px;height:28px;font-size:28px}
@media(max-width:640px){
 .site-header ~ main .card > .bi{width:44px;height:44px;font-size:44px;margin-bottom:12px}
}

.cookiekeuze{position:fixed;bottom:18px;left:18px;right:18px;max-width:680px;margin:auto;padding:22px;background:white;color:#243746;border:1px solid #b7d2c2;border-radius:12px;box-shadow:0 8px 40px #0003;z-index:1000}.cookiekeuze[hidden]{display:none}.cookiekeuze h2{font-size:20px;margin:0 0 12px}.cookie-acties{display:flex;flex-wrap:wrap;gap:12px}.cookie-acties .btn{flex:1;min-width:200px}

/* Formulierkeuzes en door scripts verborgen velden. */
[hidden]{display:none!important}
.radio-option{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:10px;margin:12px 0;cursor:pointer;text-align:left}
.radio-option input[type="radio"]{appearance:auto;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;border:0;border-radius:50%;box-shadow:none;accent-color:var(--portal-primary,var(--green))}
.radio-option input[type="radio"]:focus-visible{outline:2px solid var(--portal-primary,var(--green));outline-offset:3px}
.radio-option span{flex:1;min-width:0}

.welkom-verbergen{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.welkom-verbergen .checkbox{margin:0}

.voorraad-tekort{color:var(--danger);font-weight:700}
