@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--cream:#f7f1e7;--ink:#253c32;--green:#366548;--orange:#c86640;--line:#e3dfd4;--bs-primary:#366548;--bs-body-color:#253c32;--bs-border-color:#e3dfd4}body{background:var(--cream);color:var(--ink);font-family:Nunito,system-ui,sans-serif}.container{max-width:1320px}.sticky-top{background:rgba(255,253,248,.97)!important;border-color:var(--line)!important;padding:12px 0}.brand{font-weight:900;font-size:36px;letter-spacing:-2px;color:var(--green);text-decoration:none;line-height:1}.brand b{color:var(--orange)}#householdLine{margin-top:5px}.planner-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:20px 0 24px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;color:var(--orange)}h1{font-weight:900;font-size:clamp(30px,4vw,46px);letter-spacing:-1.7px;margin:8px 0}p{color:#687469}.week-summary{background:#e8eddf;border-radius:18px;padding:20px 28px;min-width:150px;text-align:center;display:grid}.week-summary strong{font-size:29px;font-weight:900}.week-summary span{font-size:13px}.btn{font-weight:800;border-radius:9px}.btn-primary{--bs-btn-bg:#366548;--bs-btn-border-color:#366548;--bs-btn-hover-bg:#274e36;--bs-btn-hover-border-color:#274e36;--bs-btn-active-bg:#274e36;--bs-btn-active-border-color:#274e36}.btn-outline-primary{--bs-btn-color:#366548;--bs-btn-border-color:#366548;--bs-btn-hover-bg:#366548;--bs-btn-hover-border-color:#366548;--bs-btn-active-bg:#366548;--bs-btn-active-border-color:#366548}.btn-outline-secondary,.btn-outline-dark{--bs-btn-color:#526052;--bs-btn-border-color:#c9d0c2;--bs-btn-hover-bg:#e8eddf;--bs-btn-hover-color:#253c32;--bs-btn-hover-border-color:#a3b29f}.btn-outline-danger{--bs-btn-color:#a84d37;--bs-btn-border-color:#e7cdc2;--bs-btn-hover-bg:#a84d37;--bs-btn-hover-border-color:#a84d37}.card{border:1px solid var(--line);border-radius:18px;background:#fffdf9;box-shadow:0 4px 18px #394b3010!important;overflow:hidden}.card-body{padding:22px}.day-card.today{border-color:#779c70}.day-card.today:before{content:'';height:4px;background:#779c70}.day-name{font-size:18px;font-weight:900}.day-date{color:#788175;font-size:12px}.meal-panel{border-radius:12px;background:#edf0e5;padding:18px 14px;min-height:98px;margin-top:12px}.meal-panel.empty{border:1px dashed #d6ddcc;background:#faf9f3}.meal-title{font-size:19px;font-weight:900;line-height:1.3;color:var(--ink);text-align:left;border:0;background:none;padding:0}.meal-title:hover{text-decoration:underline}.meal-meta{font-size:12px;color:#6f7c6b;margin-top:7px}.day-note{font-size:13px;resize:vertical;background:#fffdf9;border-color:#e3dfd4}.day-note:focus{background:#fff}.form-control,.form-select{border-radius:9px;border-color:#d8dfd0;color:var(--ink)}.form-control:focus,.form-select:focus{border-color:#70946c;box-shadow:0 0 0 .2rem #70946c22}.modal-content{border-radius:20px;border:0;background:#fffdf9}.modal-header,.modal-footer{padding:20px 24px;border-color:var(--line)}.modal-title{font-weight:900}.modal-body{padding:24px}.recipe-open{border:0;background:none;text-align:left;padding:0;width:100%;color:inherit}.recipe-open:hover .fw-bold{color:var(--orange)}.recipe-open .fw-bold{font-size:18px}.ingredient-row{display:grid;grid-template-columns:2fr .7fr .8fr 1.2fr auto;gap:6px;margin-bottom:10px}.recipe-step{padding:12px 0;border-bottom:1px solid var(--line)}.recipe-step b{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:10px;background:#e8eddf;border-radius:50%}.shop-item:has(input:checked){opacity:.5}.shop-item:has(input:checked) .fw-semibold{text-decoration:line-through}.form-check-input:checked{background-color:var(--green);border-color:var(--green)}.footer-note{color:#8a9386}#saveStatus{display:inline-block}.text-muted{color:#73806e!important}.input-group .form-control{min-width:45px}button:focus-visible,a:focus-visible{outline:3px solid #c86640;outline-offset:3px}@media(min-width:1200px){#plannerGrid>.col-lg-4{width:25%}}@media(max-width:600px){.planner-intro{align-items:flex-start}.week-summary{min-width:95px;padding:14px 12px}.week-summary strong{font-size:24px}.week-summary span{font-size:11px}.sticky-top{position:relative}.sticky-top .btn{font-size:12px;padding:8px 10px}.card-body{padding:18px}.ingredient-row{grid-template-columns:1fr 1fr 1fr auto;padding:12px;background:#f3f2e9;border-radius:10px}.ingredient-row .ing-item{grid-column:1/-1}.ingredient-row .ing-category{grid-column:1/4}.ingredient-row .ing-remove{grid-column:4;grid-row:3}.modal-body{padding:18px}main.container{padding-top:12px!important}}
@media print{body{background:white}.sticky-top,.planner-intro,main,.modal-header,.modal-footer,.modal-backdrop,#appError{display:none!important}.modal.show{position:static!important;display:block!important;overflow:visible!important}.modal-dialog{max-width:none!important;margin:0}.modal-content,.modal-body{padding:0;border:0}.modal-body button{display:none!important}}
