/* Weekly meal planner — isolated, responsive and printer friendly. */
.mp-workspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2vw,32px)}
.mp-workspace .ev-form-panel,.mp-workspace .ev-preview-panel{min-width:0}
.mp-app,.mp-dashboard{color:var(--ink,#17233c);font-size:14px}
.mp-app *,.mp-dashboard *{box-sizing:border-box}
.mp-app button,.mp-dashboard button,.mp-app input,.mp-dashboard input,.mp-app select,.mp-dashboard select,.mp-app textarea{font:inherit}
.mp-app button,.mp-dashboard button,.mp-import{border:1px solid #cbd5e1;background:#fff;color:#254065;border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700}
.mp-app button:hover,.mp-dashboard button:hover{background:#f2f6ff;border-color:#9baeda}
.mp-app button:focus-visible,.mp-dashboard button:focus-visible,.mp-app input:focus-visible,.mp-app select:focus-visible,.mp-dashboard input:focus-visible,.mp-dashboard select:focus-visible{outline:3px solid #8faafa;outline-offset:2px}
.mp-app .mp-primary,.mp-dashboard .mp-primary{color:#fff;background:#243e93;border-color:#243e93}
.mp-app .mp-primary:hover,.mp-dashboard .mp-primary:hover{color:#fff;background:#182e79}
.mp-app .mp-danger{color:#aa3d4a;border-color:#edc4ca}
.mp-app .mp-danger:hover{background:#fff2f4}
.mp-block{border:1px solid #e0e7f2;border-radius:16px;padding:clamp(13px,2vw,20px);background:#fff;margin-bottom:17px;box-shadow:0 8px 28px rgba(38,56,94,.035)}
.mp-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.mp-head>b{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:11px;background:#eef2ff;color:#2c468e;font-size:12px}
.mp-head h3{margin:0 0 3px;font-size:17px;letter-spacing:-.3px}
.mp-head p{margin:0;color:#62728a;line-height:1.55}
.mp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}
.mp-app label,.mp-dashboard label{display:block;font-weight:700;color:#334865;font-size:12px;line-height:1.45}
.mp-app label input,.mp-app label select,.mp-app label textarea,.mp-dashboard label input,.mp-dashboard label select{display:block;width:100%;margin:5px 0 0;min-width:0;background:#fff;color:#152642;padding:11px 10px;border:1px solid #c8d3e2;border-radius:9px;font-size:14px;font-weight:500}
.mp-app label textarea{resize:vertical}
.mp-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 3px}
.mp-note{font-size:12px;line-height:1.65;color:#65748d;margin:10px 0 0}
.mp-minihead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin:16px 0 8px}
.mp-minihead span{font-size:11px;color:#66758c}
.mp-ingredient{display:grid;grid-template-columns:minmax(100px,1.5fr) minmax(54px,.57fr) minmax(58px,.67fr) minmax(99px,1.05fr) 32px;gap:5px;margin:5px 0}
.mp-ingredient input,.mp-ingredient select{width:100%;min-width:0;border:1px solid #cad5e5;border-radius:8px;padding:9px 6px;font-size:12px;background:#fff;color:#192b44}
.mp-ingredient button{width:32px;padding:4px;font-size:18px}
.mp-editor{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:9px;margin-top:15px}
.mp-day{border:1px solid #e1e8f4;border-radius:12px;padding:12px 13px;background:#fbfcff}
.mp-day h4{margin:0 0 9px;font-size:14px;display:flex;justify-content:space-between;color:#243b68}
.mp-day h4 small{font-size:12px;font-weight:500;color:#697996}
.mp-slot{display:grid!important;grid-template-columns:67px minmax(0,1fr) 58px;gap:6px;align-items:center;margin:5px 0;font-size:12px}
.mp-slot>span{color:#51627d}
.mp-slot select,.mp-slot input{margin:0!important;padding:9px 6px!important;font-size:12px!important}
.mp-import{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;margin:0;color:#254065!important}
.mp-import input{position:absolute;opacity:0;width:1px!important;height:1px}
.mp-import:focus-within{outline:3px solid #93b2fc}
.mp-exports button,.mp-import{font-size:12px!important}
.mp-dashboard .mp-eyebrow{display:inline-block;color:#3854a0;font-size:11px;letter-spacing:1px;font-weight:800}
.mp-dashboard>h2{font-size:clamp(21px,2.2vw,28px);margin:7px 0}
.mp-dashboard>p{color:#6b7890;margin:6px 0 17px;line-height:1.55}
.mp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}
.mp-stats>div{background:linear-gradient(145deg,#f1f5ff,#fff);border:1px solid #dce4f6;border-radius:12px;padding:11px}
.mp-stats small{display:block;color:#60718b;font-size:10px;line-height:1.4;min-height:30px}
.mp-stats strong{display:block;color:#162d66;font-size:clamp(15px,1.7vw,22px);margin:5px 0}
.mp-dashboard>h3{font-size:17px;margin:24px 0 12px;color:#26375d}
.mp-calendar{display:grid;gap:7px}
.mp-calendar-day{border:1px solid #dfe7f3;border-radius:12px;overflow:hidden;background:#fff}
.mp-calendar-day>strong{display:flex;justify-content:space-between;background:#f0f4fb;padding:9px 12px;color:#28416a}
.mp-calendar-day>strong small{font-weight:500;color:#697d95}
.mp-calendar-day>div{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:9px;align-items:center;border-top:1px solid #edf1f8;padding:7px 11px}
.mp-calendar-day>div>span{font-size:10px;color:#7d8b9f}
.mp-calendar-day>div>b{font-size:12px;color:#32435e;font-weight:600;overflow-wrap:anywhere}
.mp-calendar-day>div>small{font-size:10px;color:#7a88a0}
.mp-groceries>h4{margin:18px 0 8px;font-size:12px;letter-spacing:.5px;color:#2b4d91;text-transform:uppercase}
.mp-grocery{padding:12px;margin:7px 0;border:1px solid #e0e7f1;border-radius:12px;background:#fff}
.mp-grocery.mp-bought{background:#f4f7f4;opacity:.8}
.mp-check{display:flex!important;gap:7px;align-items:center;font-size:14px!important}
.mp-check input{width:16px;height:16px;accent-color:#3353a3}
.mp-check strong{overflow-wrap:anywhere}
.mp-bought .mp-check strong{text-decoration:line-through}
.mp-amount{display:block;color:#667792;font-size:12px;margin:7px 0 0}
.mp-amount b{color:#254375}
.mp-grocery-edit{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin-top:10px}
.mp-grocery-edit label{flex:1 1 85px;min-width:65px;font-size:10px}
.mp-grocery-edit input{padding:8px!important;font-size:12px!important}
.mp-grocery-edit button{font-size:11px;padding:8px 10px}
.mp-extra{margin-top:18px;padding:15px;background:#f4f6fc;border-radius:12px}
.mp-extra>strong{font-size:12px}
.mp-extra>div{display:grid;grid-template-columns:minmax(90px,1fr) 62px 75px auto;gap:6px;margin-top:10px}
.mp-extra input,.mp-extra select{width:100%;min-width:0;border:1px solid #ccd7e8;border-radius:8px;padding:9px 7px;font-size:12px}
.mp-empty{border:1px dashed #c7d5eb;border-radius:12px;padding:20px;color:#5b7091;text-align:center}
#mpMessage[data-kind=error]{color:#a53d44}#mpMessage[data-kind=success]{color:#276e53}
.mp-guide{margin-top:30px;margin-bottom:40px}
.mp-guide article{max-width:950px;margin:auto;background:#fff;border-radius:18px;padding:clamp(18px,3.5vw,40px);border:1px solid #e4e8f1}
.mp-guide h2{margin-top:0;font-size:clamp(23px,3vw,30px)}
.mp-guide h3{margin:24px 0 8px;font-size:19px}
.mp-guide p,.mp-guide li{line-height:1.78;color:#42516b}
.mp-print-sheet{display:none}
@media(min-width:1160px){.mp-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
@media(max-width:980px){.mp-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:500px){.mp-block{padding:12px}.mp-fields{grid-template-columns:1fr}.mp-ingredient{grid-template-columns:minmax(94px,1fr) 62px 64px;gap:5px}.mp-ingredient .mp-i-cat{grid-column:1 / 3}.mp-ingredient .mp-i-remove{grid-column:3;grid-row:2;width:100%}.mp-slot{grid-template-columns:59px minmax(0,1fr) 50px;gap:4px}.mp-slot select,.mp-slot input{padding:8px 4px!important;font-size:11px!important}.mp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-stats>div{padding:8px 6px}.mp-stats small{font-size:9px}.mp-stats strong{font-size:14px}.mp-extra>div{grid-template-columns:minmax(90px,1fr) 56px 65px}.mp-extra button{grid-column:1/-1}.mp-calendar-day>div{grid-template-columns:52px minmax(0,1fr) auto;gap:4px}.mp-calendar-day>div>small{font-size:9px}}
@media print{@page{margin:13mm;size:auto}body>*:not(.mp-print-sheet){display:none!important}.mp-print-sheet{display:block!important;position:static!important;background:#fff!important;color:#000!important;max-width:none!important;font:11pt/1.45 Arial,sans-serif!important}.mp-print-sheet h1{font-size:20pt}.mp-print-sheet h2{margin-top:25px;font-size:15pt}.mp-print-sheet .mp-calendar{display:block!important}.mp-print-sheet .mp-calendar-day{break-inside:avoid;border:1px solid #bbb!important;margin:7px 0;border-radius:0}.mp-print-sheet .mp-calendar-day strong{background:#eee!important;color:#000!important}.mp-print-sheet .mp-calendar-day>div{display:grid!important;grid-template-columns:90px 1fr auto!important;padding:3px 8px!important}.mp-print-sheet li{margin:4px 0;break-inside:avoid}.mp-print-sheet ul{columns:2}}
