/* Bouwblok 18B – dezelfde visuele basis als Jelte Beheer 2.0 */
.b18b-page{color:#214359}.b18b-hero{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.b18b-hero h2{font:700 clamp(24px,2.7vw,34px) Georgia,serif;color:#4c2b19;margin:5px 0 8px}.b18b-hero p{color:#706358;max-width:840px;line-height:1.6;margin:0}.b18b-kicker{font-size:11px;letter-spacing:.12em;color:#b16d36;font-weight:850}.b18b-week{border:1px solid #e8d7c2;background:#fffbf5;border-radius:14px;padding:17px;min-width:180px;display:grid;gap:3px;text-align:center}.b18b-week small,.b18b-week span{font-size:11px;color:#866b56}.b18b-week b{font-size:26px;color:#214c6c}.b18b-alert{background:#fff2de;border-left:4px solid #ce893c;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.5;color:#855222;margin:10px 0}.b18b-feedback{font-weight:800;color:#23714e;margin:14px 0}.b18b-feedback.error{color:#ba3c2d}.b18b-week-control{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:12px;background:#fffefa;border:1px solid #eadcc9;padding:13px;border-radius:13px}.b18b-week-control label{font-size:11px;font-weight:800;color:#73513c}.b18b-week-control input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #e4d6c5;border-radius:8px;padding:9px;font-size:15px}.b18b-week-control>div{display:grid;gap:5px;align-content:center}.b18b-week-control small{font-size:11px;color:#8e7056}.b18b-week-control b{color:#204761;font-size:16px}.b18b-section{margin:23px 0}.b18b-section>h2{font:700 24px Georgia,serif;color:#53331e;margin:0 0 10px}.b18b-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.b18b-recipe{background:#fffdf9;border:1px solid #eadbc9;min-width:0;border-radius:17px;overflow:hidden;box-shadow:0 9px 20px #2d22120c}.b18b-photo{height:180px;background:#f4ecdf;position:relative;display:grid;place-items:center;padding:8px}.b18b-photo img{width:100%;height:100%;object-fit:contain}.b18b-photo-empty{display:grid;justify-items:center;gap:6px;color:#ae815c;font-size:30px}.b18b-photo-empty span{font-size:12px}.b18b-recipe-tag{position:absolute;left:12px;top:12px;background:#fffaf4ed;color:#85552a;padding:5px 10px;border-radius:20px;font-weight:900;font-size:11px}.b18b-recipe-body{padding:15px}.b18b-recipe-body header{display:flex;justify-content:space-between;gap:8px;align-items:start}.b18b-recipe-body h3{font:700 20px Georgia,serif;color:#50311d;margin:4px 0 7px}.b18b-recipe-body header small{font-size:10px;color:#a2703f;font-weight:800}.b18b-pills{font-size:10px;white-space:nowrap;padding:5px 7px;border-radius:10px;background:#f4ede4;color:#875d3a}.b18b-summary{font-size:12px;color:#6e5c50;min-height:30px}.b18b-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.b18b-stats>div{border:1px solid #eddfd0;padding:9px;border-radius:9px;display:grid;gap:4px}.b18b-stats small{font-size:10px;color:#907259}.b18b-stats b{font-size:14px;color:#244861}.b18b-stats b.b18b-orange{color:#c36e2f}.b18b-detail{border:1px solid #e8d7c1;border-radius:12px;margin:12px 0}.b18b-detail>summary{cursor:pointer;font-size:12px;color:#244d68;font-weight:850;padding:13px}.b18b-detail>summary span{font-weight:400;color:#95765b}.b18b-edit{padding:12px;background:#fffaf4;display:grid;gap:11px}.b18b-edit label{display:grid;gap:5px;font-size:11px;color:#6b5141;font-weight:750}.b18b-edit input:not([type=checkbox]),.b18b-edit textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;font-size:12px;padding:9px;border:1px solid #e2ceb9;border-radius:7px;color:#204962;background:#fff}.b18b-edit-top{display:grid;grid-template-columns:1fr 1fr;gap:10px}.b18b-main-save,.b18b-add-line button,.b18b-line-actions button{border:1px solid #b9825c;background:#214f6b;color:#fff;border-radius:8px;padding:9px 12px;cursor:pointer;font-size:11px;font-weight:800}.b18b-line-actions .b18b-danger{color:#964f3d;border-color:#debeac;background:#fff}.b18b-table-wrap{overflow-x:auto}.b18b-table{width:100%;border-collapse:collapse;font-size:11px}.b18b-table td,.b18b-table th{border-bottom:1px solid #eadbcd;padding:8px;text-align:left;vertical-align:top}.b18b-table td:nth-child(1){min-width:140px}.b18b-table td:nth-child(2){min-width:105px}.b18b-table td:nth-child(3){min-width:125px}.b18b-table td:nth-child(4){min-width:190px}.b18b-table td:nth-child(2) input{max-width:70px}.b18b-marker{display:inline-block;font-size:10px;background:#fff2db;border:1px solid #f2dcbb;color:#84531e;padding:4px 6px;margin:2px;border-radius:12px}.b18b-hints small{color:#906d56}.b18b-line-details summary{cursor:pointer;font-size:10px;font-weight:800;color:#2a607c}.b18b-line-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:8px 0}.b18b-edit label.b18b-option,.b18b-edit label.b18b-confirm{display:flex;gap:5px;align-items:start;flex-direction:row;font-size:10px;font-weight:500}.b18b-option input,.b18b-confirm input{margin:1px 0}.b18b-line-actions{display:flex;gap:5px;margin-top:9px}.b18b-add-line{border:1px dashed #dbc7ac;border-radius:9px;padding:10px;display:grid;grid-template-columns:1fr 90px auto;gap:8px}.b18b-add-line h4{grid-column:1/-1;margin:0;font-size:12px;color:#6e5034}.b18b-add-line input{min-width:0}.b18b-foot{font-size:11px;line-height:1.6;color:#8b6f55}.b18b-small{font-size:11px;color:#856a52}
@media(max-width:1250px){.b18b-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.b18b-grid{grid-template-columns:1fr}.b18b-week-control{grid-template-columns:1fr 1fr}}@media(max-width:580px){.b18b-hero{flex-direction:column}.b18b-week-control{grid-template-columns:1fr}.b18b-add-line{grid-template-columns:1fr}.b18b-edit-top{grid-template-columns:1fr}.b18b-recipe-body{padding:12px}}

/* B18B foto-opslag: voorbeeld en status direct bij de upload, ook op mobiel */
.b18b-upload-preview{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px;border:1px solid #d9e4dd;background:#f7faf7;border-radius:9px;color:#37624b;font-size:11px;line-height:1.5}
.b18b-upload-preview img{display:block;width:92px;height:76px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid #e9ddd1}
.b18b-card-feedback{font-size:11px;line-height:1.45;color:#23714e;font-weight:750;min-height:0}
.b18b-card-feedback.error{color:#ac3a28}