:root{--ink:#142336;--muted:#5b6d7c;--bg:#f5f7f7;--panel:#fff;--line:#dce5e4;--accent:#126e6b;--light:#e4f3f0;--warn:#8f531c;--rad:17px;--shadow:0 9px 34px rgba(21,45,53,.055)}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.47;color:var(--ink)}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{max-width:1150px;margin:auto;padding:20px 22px 100px}.mast{background:#153c43;color:white;padding:24px 0 22px}.mast .wrap{padding:0 22px}.mast small{letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#b4d6d1}.mast h1{font-size:clamp(26px,4vw,38px);margin:4px 0 6px;letter-spacing:-.03em}.mast p{max-width:690px;color:#d9ecea;margin:4px 0 0}.top{display:flex;align-items:center;justify-content:space-between;gap:14px}.pill{display:inline-flex;align-items:center;border:1px solid #53928f;color:#deefee;border-radius:999px;padding:4px 12px;font-size:12px;white-space:nowrap}.tabs{display:flex;gap:8px;overflow-x:auto;padding:15px 0;position:sticky;top:0;background:var(--bg);z-index:10}.tabs button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 16px;color:var(--muted);white-space:nowrap}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.view{display:none}.view.active{display:block}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:21px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--shadow);min-width:0}.card h2,.card h3{margin:0 0 10px}.card h2{font-size:19px}.card p{color:var(--muted);margin:4px 0 15px}.stat{font-size:32px;font-weight:760;line-height:1.1;letter-spacing:-.03em}.hint{font-size:13px;color:var(--muted)}.sectionhead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:10px 0 13px}.sectionhead h2{font-size:22px;letter-spacing:-.02em;margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{border:1px solid var(--line);padding:10px 15px;border-radius:11px;background:#fff;color:var(--ink);font-weight:650;min-height:42px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.warn{border-color:#e5c7b5;color:#893f24}.btn.small{padding:6px 11px;min-height:33px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover{filter:brightness(.97)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.full{grid-column:1/-1}label{font-weight:650;font-size:13px}input,textarea,select{border:1px solid #cbd9d8;background:#fff;color:var(--ink);border-radius:10px;padding:11px 12px;width:100%;outline-color:var(--accent)}textarea{min-height:112px;resize:vertical;line-height:1.5}.muted{color:var(--muted)}.note{padding:12px 14px;border:1px solid #cfdfdf;background:#edf6f5;border-radius:12px;color:#31565a;font-size:14px}.notice{padding:12px 14px;border-left:4px solid #cc8a4a;background:#fff4e9;border-radius:9px;color:#68462d}.line{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.line:last-child{border:0}.line b{display:block}.tag{display:inline-block;background:var(--light);color:#12605c;border-radius:999px;padding:3px 9px;font-size:12px;margin:3px 4px 0 0}.empty{border:1px dashed #aec9c4;border-radius:13px;padding:26px;text-align:center;color:var(--muted)}.textaction{color:var(--accent);font-size:13px;font-weight:700;text-decoration:none;border:none;background:none;padding:4px}.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tools input{max-width:360px}.kpis{margin:2px 0 20px}.footer{font-size:12px;color:#72848b;padding:20px 0;border-top:1px solid var(--line);margin-top:35px}.stack{display:grid;gap:15px}.inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.checkrow{display:flex;gap:12px;align-items:flex-start}.checkrow input{width:auto;margin-top:5px}.right{margin-left:auto}.sep{border:0;border-top:1px solid var(--line);margin:16px 0}.printonly{display:none}summary{cursor:pointer;font-weight:700}.progress{height:9px;background:#e6eeee;border-radius:9px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}@media(max-width:730px){.grid,.grid.two,.fields{grid-template-columns:1fr}.wrap{padding-left:14px;padding-right:14px}.mast .wrap{padding-left:14px;padding-right:14px}.top{align-items:start}.pill{font-size:10px}.card{padding:16px}.line{flex-wrap:wrap}.tools input{max-width:none}}@media print{body{background:white}.tabs,.no-print,.mast .pill,.footer{display:none!important}.mast{background:#fff;color:#111;padding:0}.mast .wrap{padding:0}.mast p,.mast small{color:#444}.wrap{padding:10px}.card{box-shadow:none;break-inside:avoid}.view{display:none!important}.view.active{display:block!important}}

/* V1.4: alle vier navigatietabs moeten tegelijk zichtbaar zijn op gsm en tablet. */
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow-x:visible;width:100%}
.tabs button{min-width:0;width:100%;padding:10px 4px;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:clamp(12px,2.75vw,16px);line-height:1.25}
@media(max-width:360px){.tabs{gap:4px}.tabs button{font-size:11.5px;padding:10px 2px}}

/* V1.5 · vier originele keukenbasissen zonder nieuwe hoofdtab */
.basis-module{margin:3px 0 21px;padding:15px 20px}
.basis-module>summary{font-size:18px;list-style-position:inside;color:var(--ink);cursor:pointer}
.basis-list{display:grid;gap:8px;margin-top:14px}
.basis-recept{border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:12px 14px}
.basis-recept summary{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-weight:700;list-style:none;cursor:pointer}
.basis-recept summary::-webkit-details-marker{display:none}
.basis-recept summary::before{content:'+';font-size:19px;color:var(--accent)}
.basis-recept[open] summary::before{content:'−'}
.basis-recept h3{margin:19px 0 6px;font-size:16px}
.basis-inhoud{padding:4px 5px 14px;line-height:1.5}
.basis-inhoud li{margin-bottom:8px}
.basis-inhoud ul,.basis-inhoud ol{padding-left:22px}
@media(max-width:600px){.basis-module{padding:13px}.basis-recept summary{font-size:14px;gap:6px}.basis-recept summary .hint{font-size:11px;flex-shrink:0}}

/* V1.6: zichtbare basisrecepten in HTML; geen afhankelijkheid van JS-injectie. */
.basis-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.basis-header h2{font-size:19px;margin:0}
.basis-intro{color:var(--muted);margin:7px 0 16px;font-size:14px}
.basis-list{display:grid;gap:10px;margin-top:10px}
.basis-recept{background:#fafdfe;border-color:#bfcfcd}
.basis-recept summary{align-items:center;justify-content:flex-start;font-size:16px;line-height:1.4}
.basis-recept summary>span:first-child{flex:1}
.basis-time{display:block;flex:0 0 auto;font-size:12px;font-weight:500;color:#365e60;text-align:right}
.basis-recept[open]{border-color:#6ea6a0;background:#fff}
.basis-recept[open]>summary{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px}
.basis-recept summary:focus-visible{outline:3px solid #126e6b;outline-offset:3px}
.basis-inhoud h3{font-size:15px}
.basis-inhoud p{color:var(--ink)}
.basis-inhoud ul,.basis-inhoud ol{margin-top:6px}
@media(max-width:600px){.basis-module{padding:14px}.basis-recept summary{font-size:15px}.basis-time{font-size:12px}.basis-header h2{font-size:18px}}

/* V1.7: back-upcontrole met zichtbare aantallen en foutmeldingen */
.backup-check{border:1px solid var(--line);border-radius:12px;background:#f7fbfa;padding:15px;margin:15px 0}
.backup-status{font-weight:750;color:var(--ink);font-size:16px;margin:0 0 7px!important}
.backup-status.ok{color:#106044}.backup-status.error{color:#9b3e23}
#backupVerifyStatus,#backupExportStatus,#backupRestoreStatus{overflow-wrap:anywhere}
@media(max-width:600px){.backup-check{padding:12px}}

/* V1.8: vijf tabs zonder zijwaarts schuiven; op de telefoon één rij */
.tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible}
.tabs button{min-width:0;padding:10px 2px;font-size:clamp(11px,2.5vw,14px);line-height:1.2;min-height:44px;white-space:nowrap}
.basis-module{margin:3px 0 24px}
.basis-photo{width:100%;max-height:320px;aspect-ratio:1.7;object-fit:cover;border-radius:12px;display:block;margin:14px auto 10px}
.basis-photo-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 16px}
.basis-photo-tools .basis-choose{background:var(--accent);border-color:var(--accent);color:white;display:inline-flex;align-items:center;cursor:pointer;font-size:13px}
.basis-photo-tools .basis-photo-status{flex-basis:100%;min-width:0}
@media(max-width:390px){.tabs{gap:4px}.tabs button{font-size:11px;padding:10px 0}.basis-recept{padding:10px}}
@media print{.basis-photo{max-height:210px;object-fit:contain}}
