:root{--papier:#fbf6ec;--kaart:#fffdf8;--inkt:#1d2733;--zacht:#566270;--lijn:#ddd3c0;--hoofd:#0f5c5c;--hoofd2:#e0efec;--let:#a93c15;--let2:#fbe7dc;--geel:#fdf1c9}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--inkt);font:20px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
main{max-width:680px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 18px 24px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:700;margin:0;line-height:1.15}
h1{font-size:44px}
h2{font-size:25px;margin:30px 0 10px}
h3{font-size:21px}
p{margin:.4em 0}
.datum{font-size:23px;color:var(--zacht);margin-top:2px}
.klein{font-size:17px;color:var(--zacht)}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:13px 14px;border:2px solid var(--lijn);border-radius:12px;background:#fff;min-height:56px}
textarea{resize:vertical;min-height:84px;display:block}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #2b8f8f;outline-offset:1px}
label{display:block;margin:14px 0 5px;font-weight:600}
input[type=checkbox]{width:28px;height:28px;min-height:0;flex:none;margin:0}
.vink{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-weight:400}
button{min-height:58px;padding:10px 18px;border-radius:12px;border:2px solid var(--hoofd);background:var(--kaart);color:var(--hoofd);font-weight:650;cursor:pointer}
button.vol{background:var(--hoofd);color:#fff}
button.gevaar{border-color:var(--let);color:var(--let)}
button.licht{border-color:var(--lijn);color:var(--inkt);font-weight:500}
button.gekozen{background:var(--hoofd);color:#fff}
button:disabled{opacity:.5}
.rij{display:flex;gap:10px;flex-wrap:wrap}
.rij>*{flex:1 1 0;min-width:0}
.rij.los>*{flex:0 1 auto}
.stapel{display:grid;gap:10px}
.invoer{margin-top:18px}
.invoer .rij{margin-top:10px}
.blok{background:var(--kaart);border:1px solid var(--lijn);border-radius:14px;padding:14px 16px;margin:10px 0}
.blok.let{background:var(--let2);border-color:#e5b7a0}
.blok.bezoek{background:var(--hoofd2);border-color:#a9d0c9;cursor:pointer}
.regel{display:block;width:100%;text-align:left;background:var(--kaart);border:1px solid var(--lijn);border-radius:14px;padding:13px 16px;margin:9px 0;color:var(--inkt);font-weight:400;min-height:0}
.regel.let{background:var(--let2);border-color:#e5b7a0}
.regel .tekst{font-size:21px}
.regel .wanneer{font-weight:700;color:var(--hoofd);display:block;margin-bottom:2px}
.regel .meta{font-size:16px;color:var(--zacht);display:block;margin-top:3px}
.twijfel{display:inline-block;background:var(--geel);padding:1px 8px;border-radius:7px;font-size:16px;margin-top:4px}
.acties{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-2px 0 12px}
.persoon{display:flex;gap:14px;align-items:center;width:100%;text-align:left;background:var(--kaart);border:1px solid var(--lijn);border-radius:14px;padding:11px 14px;margin:9px 0;color:var(--inkt);font-weight:400}
.foto{width:62px;height:62px;border-radius:50%;object-fit:cover;background:var(--hoofd2);flex:none;display:flex;align-items:center;justify-content:center;font:700 26px Georgia,serif;color:var(--hoofd)}
.foto.groot{width:128px;height:128px;font-size:54px}
.kop{display:flex;gap:18px;align-items:center}
.terug{border:0;background:none;padding:0 0 8px;min-height:44px;font-weight:600}
.overleden{background:#2f3944;color:#fff;border-radius:12px;padding:10px 14px;margin:12px 0;font-weight:600}
.gedaanknop small{display:block;font-weight:400;font-size:16px}
.gedaanknop.klaar{background:var(--hoofd2)}
nav{position:fixed;left:0;right:0;bottom:0;background:var(--kaart);border-top:1px solid var(--lijn);display:flex;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:5}
nav button{flex:1;border:0;background:none;color:var(--zacht);font-size:18px;min-height:62px;padding:0}
nav button.aan{color:var(--hoofd);font-weight:800;box-shadow:inset 0 -4px 0 var(--hoofd)}
#venster{position:fixed;inset:0;background:var(--papier);overflow:auto;z-index:10;-webkit-overflow-scrolling:touch}
#venster>div{max-width:680px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 18px 40px}
.samenvatting{font:700 29px/1.2 Georgia,serif;margin:12px 0 3px}
.rooster{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chip{min-height:52px;padding:6px 8px;font-size:18px;border-color:var(--lijn);color:var(--inkt);font-weight:500}
.chip.gekozen{border-color:var(--hoofd);background:var(--hoofd);color:#fff}
#melding{position:fixed;left:14px;right:14px;top:calc(10px + env(safe-area-inset-top));max-width:640px;margin:auto;background:var(--inkt);color:#fff;border-radius:12px;padding:14px 16px;z-index:20;display:flex;gap:12px;align-items:center;justify-content:space-between}
#melding button{min-height:44px;border-color:#fff;color:#fff;background:none;padding:4px 14px;flex:none}
.leeg{color:var(--zacht);padding:6px 0}
.code{font:700 25px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;word-break:break-all;background:#fff;border:2px dashed var(--lijn);border-radius:12px;padding:12px;text-align:center;margin:8px 0}
.url{font:15px ui-monospace,Menlo,Consolas,monospace;word-break:break-all;background:#fff;border:1px solid var(--lijn);border-radius:10px;padding:10px}
.fout{color:var(--let);font-weight:600;margin:8px 0}
.offline{background:var(--geel);padding:8px 12px;border-radius:10px;margin-bottom:10px;font-size:17px}
img.regelfoto{max-width:100%;border-radius:10px;margin-top:8px;display:block}
.boekje section{break-inside:avoid;margin-bottom:18px}
@media print{nav,#melding,.geenprint{display:none!important}#venster{position:static;overflow:visible}body{background:#fff;padding:0;font-size:13pt}}

/* eenvoudige stand */
body.eenvoud{padding-bottom:0;font-size:22px}
body.eenvoud.e-sub{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
body.eenvoud main{max-width:900px}
body.eenvoud h1{font-size:clamp(38px,7vw,58px)}
body.eenvoud h2{font-size:27px}
body.eenvoud .datum{font-size:clamp(22px,3.6vw,30px)}
#ekop{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.e-nu{background:var(--hoofd2);border:1px solid #a9d0c9;border-radius:16px;padding:16px 18px;margin:16px 0;font:700 clamp(24px,4vw,34px)/1.25 Georgia,serif}
.e-rust{font:400 clamp(19px,3vw,24px)/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;margin-top:8px}
.e-klein{font-size:19px;color:var(--zacht);font-weight:400}
.e-tekst{font-size:clamp(22px,3.4vw,28px);margin:12px 0}
.e-tegels{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.e-tegels button,.e-tegels a{min-height:clamp(104px,15vh,170px);font-size:clamp(20px,3.2vw,28px);font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:16px;border:2px solid var(--hoofd);background:var(--kaart);color:var(--hoofd);text-decoration:none;text-align:center}
.e-tegels span{font-size:clamp(32px,5vw,46px);line-height:1}
.e-tegels .e-bel{background:var(--hoofd);color:#fff}
@media(min-width:700px){.e-tegels{grid-template-columns:1fr 1fr 1fr}}
.e-blok{display:block;width:100%;text-align:left;background:var(--kaart);border:1px solid var(--lijn);border-radius:16px;padding:16px 18px;margin:12px 0;font-size:clamp(22px,3.4vw,28px);font-weight:400;color:var(--inkt)}
.e-blok.let{background:var(--let2);border-color:#e5b7a0}
.e-blok.goed{background:var(--hoofd2);border-color:#a9d0c9}
.e-knop{border:2px solid var(--hoofd)}
.e-zacht{background:#eceff1;border-radius:16px;padding:14px 18px;margin:12px 0;font-size:clamp(21px,3.2vw,26px)}
.e-breed{width:100%;min-height:72px;font-size:24px;margin-top:14px}
.e-keuze{display:grid;gap:14px;margin-top:18px}
.e-keuze button{min-height:96px;font-size:26px}
.e-mensen{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.e-mensen button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-color:var(--lijn);color:var(--inkt);font-size:23px}
.e-mensen small{font-size:19px;font-weight:400;color:var(--zacht)}
.e-wie{display:flex;gap:18px;align-items:center;margin-bottom:8px}
.e-onder{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:var(--papier);border-top:1px solid var(--lijn);z-index:6}
.e-onder button{min-height:72px;font-size:23px;flex:1}
.e-onder #eterug{flex:2}
body.eenvoud textarea{font-size:26px;min-height:170px}
.e-melding{min-height:90vh;display:flex;flex-direction:column;justify-content:center;text-align:center}
.e-over{font:700 clamp(30px,6vw,48px) Georgia,serif;color:var(--let);margin:0 0 10px}
