/* KLANTMAIL EN FACTUREN — de opmaak van het goedgekeurde ontwerp (docs/ontwerp/klantmail/*.html, 14-10-2026), één op één, alles onder .km-scherm zodat niets van de app of van andere schermen verschuift.
   Het ontwerp is acht HTML-bestanden met dezelfde <style>; de regels hieronder zijn die ene stijl, met .km-scherm voor elke kiezer. Eigen aanvullingen staan onder de streep. */
.km-scherm{margin:0;background:#F8F9FA;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#17223A}
.km-scherm a{color:#2864AE}
.km-scherm a:hover{color:#1E4F8C}
.km-scherm .k{font-size:13px;color:#5D6675}
.km-scherm .kaart{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:0 1px 2px rgba(20,30,60,.06);min-width:0}
.km-scherm .tegel{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 1px 2px rgba(20,30,60,.06);display:flex;flex-direction:column;gap:3px;min-width:0}
.km-scherm .chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}
.km-scherm .up{background:#DCFCE7;color:#166534}
.km-scherm .down{background:#FEE2E2;color:#991B1B}
.km-scherm .neutraal{background:#F1F3F6;color:#17223A}
.km-scherm .warn{background:#FEF3C7;color:#92400E}
.km-scherm .blauw{background:#EAF1FA;color:#2864AE}
.km-scherm .sel{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3e4e6;border-radius:6px;padding:9px 12px;font-size:13px;color:#17223A;min-height:40px;box-sizing:border-box;text-decoration:none;cursor:pointer}
.km-scherm .tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:5px;font-size:13px;color:#5D6675;text-decoration:none;border:0;background:transparent}
.km-scherm .tab.aan{background:#2864AE;color:#fff}
.km-scherm .dtab{padding:10px 4px;font-size:14px;color:#5D6675;text-decoration:none;border-bottom:2px solid transparent}
.km-scherm .dtab.aan{color:#2864AE;border-bottom-color:#2864AE;font-weight:600}
.km-scherm .knop{display:inline-flex;align-items:center;gap:6px;background:#2864AE;color:#fff;border:0;border-radius:5px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;min-height:38px}
.km-scherm .knop.wit{background:#fff;color:#2864AE;border:1px solid #2864AE}
.km-scherm .ikoon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#5D6675}
.km-scherm table{border-collapse:collapse;width:100%;font-size:13px}
.km-scherm th{text-align:right;font-weight:600;color:#5D6675;padding:10px 10px;border-bottom:1px solid #e3e4e6;white-space:nowrap}
.km-scherm th:first-child, .km-scherm td:first-child{text-align:left}
.km-scherm td{text-align:right;padding:11px 10px;border-bottom:1px solid #EEF0F5;white-space:nowrap;vertical-align:top}
.km-scherm .bod{display:inline-block;border:1px solid #e3e4e6;border-radius:5px;padding:3px 8px;min-width:52px;text-align:right;background:#fff}
.km-scherm .voorstel{background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;white-space:normal;text-align:left}
.km-scherm .prod{display:flex;align-items:center;gap:10px;min-width:0}
.km-scherm .prod .img{width:40px;height:40px;border-radius:6px;background:#F1F3F6;border:1px solid #e3e4e6;display:flex;align-items:center;justify-content:center;color:#6B7486;flex:none}
.km-scherm .prod .img.l{width:56px;height:56px;border-radius:8px}
.km-scherm .srt{background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px}
.km-scherm .srt .pijl{font-size:9px;color:#B4BAC6;line-height:1}
.km-scherm .srt.aan{color:#2864AE}
.km-scherm .srt.aan .pijl{color:#2864AE}
.km-scherm .sub{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:13px;color:#5D6675;text-decoration:none;border:1px solid #e3e4e6;background:#fff}
.km-scherm .sub.aan{background:#EAF1FA;color:#2864AE;border-color:#B9CFE9;font-weight:600}
.km-scherm .scrol{overflow-x:auto}
.km-scherm .graf{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:8px}
.km-scherm .graf .t{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5D6675}
.km-scherm .leg{display:flex;gap:14px;font-size:11.5px;color:#5D6675;justify-content:center}
.km-scherm .leg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}
.km-scherm .veld{border:1px solid #e3e4e6;border-radius:6px;padding:8px 10px;font-size:13px;min-height:38px;box-sizing:border-box;background:#fff;color:#17223A}
.km-scherm .regel{border:1px solid #e3e4e6;border-radius:10px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.km-scherm .schak{width:36px;height:20px;border-radius:999px;background:#2864AE;position:relative;flex:none}
.km-scherm .schak::after{content:"";position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#fff}
.km-scherm .schak.uit{background:#C9CEDB}
.km-scherm .schak.uit::after{right:auto;left:2px}
.km-scherm .lnav{display:flex;flex-direction:column;gap:2px}
.km-scherm .lnav a{padding:9px 12px;border-radius:6px;font-size:13px;color:#17223A;text-decoration:none}
.km-scherm .lnav a.aan{background:#EAF0F8;color:#2864AE;font-weight:600}
.km-scherm .ktegel{background:#fff;border-radius:12px;padding:12px 14px;border:1px solid #e3e4e6;cursor:pointer}
.km-scherm .ktegel.aan{border:2px solid #2864AE}
.km-scherm .vk{background:#fff;border-radius:12px;border:1px solid #e3e4e6;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.km-scherm .vk.p1{border-left:4px solid #991B1B}
.km-scherm .vk.p2{border-left:4px solid #2864AE}
.km-scherm .vk.p0{border-left:4px solid #9A5B00}
.km-scherm .feit{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;background:#E2E8F2;border-radius:10px;padding:12px 14px}
.km-scherm .feit div div:first-child{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5D6675;margin-bottom:2px}
.km-scherm .feit div div:last-child{font-size:13px}
.km-scherm .deel{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid #EEF0F5;font-size:13px;flex-wrap:wrap}
.km-scherm .deel input{width:18px;height:18px}
.km-scherm .ring{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.km-scherm .stap{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #EEF0F5;font-size:13px}
.km-scherm .schak{display:inline-block;vertical-align:middle}
.km-scherm td.links{text-align:left}
.km-scherm .tabel td.links, .km-scherm .tabel th.links{text-align:left}
.km-scherm .ster{color:#F5A623;letter-spacing:1px;font-size:14px}
.km-scherm .ster.rood{color:#991B1B}
.km-scherm .ster.oranje{color:#9A5B00}
.km-scherm .ster.groen{color:#166534}
.km-scherm .arm{border:1px solid #e3e4e6;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#fff}
.km-scherm .arm.wint{border:2px solid #2864AE}
.km-scherm .waarom{background:#E2E8F2;border-radius:10px;padding:12px 14px;font-size:13px}
.km-scherm .lijst{display:flex;flex-direction:column}
.km-scherm .lijst a, .km-scherm .lijst div.r{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #EEF0F5;font-size:13px;color:#17223A;text-decoration:none}
.km-scherm .groot{font-size:26px;font-weight:700;letter-spacing:-.5px}
.km-scherm .knop, .km-scherm .sel, .km-scherm .sub{box-sizing:border-box}
.km-scherm a.knop{line-height:1.2}
.km-scherm .kop{font-weight:700;font-size:15px}
.km-scherm .kopie{background:#F1F3F6;border-radius:8px;padding:10px 12px;font-family:ui-monospace,Menlo,monospace;font-size:12px}
/* ---- aanvullingen voor echte bediening (invoervelden, schakelaars als knop, meldingen) ---- */
.km-scherm{background:transparent;display:flex;flex-direction:column;gap:18px;min-width:0}
.km-scherm *,.km-scherm *::before,.km-scherm *::after{box-sizing:border-box}
.km-scherm input.veld,.km-scherm textarea.veld,.km-scherm select.veld{font-family:inherit;font-size:13px;width:100%;color:#17223A}
.km-scherm textarea.veld{min-height:90px;resize:vertical;line-height:1.5}
.km-scherm .veld:focus,.km-scherm .sel:focus,.km-scherm .knop:focus-visible,.km-scherm .sub:focus-visible,.km-scherm .tab:focus-visible,.km-scherm .schak:focus-visible,.km-scherm .srt:focus-visible{outline:2px solid #2864AE;outline-offset:2px}
.km-scherm select.sel{appearance:auto;padding-right:8px;min-height:40px}
.km-scherm button.schak{border:0;padding:0;cursor:pointer;display:inline-block;vertical-align:middle}
.km-scherm button.sub,.km-scherm button.knop{font-family:inherit;cursor:pointer}
.km-scherm .knop[disabled],.km-scherm .sub[disabled]{opacity:.5;cursor:not-allowed}
.km-scherm .tab{cursor:pointer}
.km-scherm .kaart>.kop{margin-bottom:2px}
.km-scherm .melding{position:fixed;right:24px;bottom:24px;z-index:60;max-width:420px;background:#17223A;color:#fff;border-radius:10px;padding:12px 14px;font-size:13px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 6px 24px rgba(20,30,60,.25)}
.km-scherm .melding.fout{background:#991B1B}
.km-scherm .melding button{background:transparent;border:0;color:#fff;font-size:16px;cursor:pointer;line-height:1}
.km-scherm .leeg{padding:22px;text-align:center;color:#5D6675;font-size:13px}
.km-scherm .waarschuw{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#FEF3C7;color:#92400E;font-size:11px;font-weight:700;align-items:center;justify-content:center;cursor:help;vertical-align:middle;margin-left:4px}
.km-scherm .pag{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:13px;color:#5D6675;flex-wrap:wrap}
.km-scherm .pag button{border:1px solid #e3e4e6;background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer;font:inherit}
.km-scherm .pag button[disabled]{opacity:.45;cursor:not-allowed}
.km-scherm .dialoog-achter{position:fixed;inset:0;background:rgba(20,30,60,.45);z-index:70;display:flex;align-items:center;justify-content:center;padding:16px}
.km-scherm .dialoog{background:#fff;border-radius:16px;padding:22px;max-width:560px;width:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 40px rgba(20,30,60,.3);max-height:90vh;overflow:auto}
.km-scherm .dialoog .acties{display:flex;gap:8px;justify-content:flex-end}
.km-scherm .mailkader{background:#F1F3F6;border-radius:12px;padding:20px}
.km-scherm .mailkader iframe{display:block;width:100%;max-width:640px;margin:0 auto;border:0;background:#fff;border-radius:8px;min-height:360px}
.km-scherm .mailkader.telefoon iframe{max-width:375px}
.km-scherm .blokrij{border:1px solid #e3e4e6;border-radius:10px;background:#fff;padding:10px 12px;display:flex;gap:10px;align-items:flex-start}
.km-scherm .blokrij.aan{border:2px solid #2864AE;padding:9px 11px}
.km-scherm .ktegel[draggable=true]{cursor:grab}
.km-scherm .lijstblokken{display:flex;flex-direction:column;gap:8px}
.km-scherm .doos{background:#fff;border-radius:6px;box-shadow:0 1px 3px rgba(20,30,60,.12)}
.km-scherm .vkrij{display:flex;flex-direction:column;gap:10px}
.km-scherm .gestippeld{border:1px dashed #B9CFE9;padding:4px 8px;border-radius:6px;cursor:pointer}
.km-scherm .doos table td,.km-scherm .doos table th{white-space:normal}
.km-scherm .doos table td:not(:first-child),.km-scherm .doos table th:not(:first-child){white-space:nowrap;padding-left:10px}
.km-scherm .gestippeld[data-km-zone="kolommen"]{display:block;border-color:transparent;padding:0}
.km-scherm .gestippeld.aan{border-style:solid;border-color:#2864AE;background:#EAF1FA}
@media (max-width:900px){.km-scherm .tegels4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.km-scherm .twee{grid-template-columns:minmax(0,1fr)!important}}
