:root{--blue:#2478d8;--green:#1e8f59;--purple:#6d3cc7;--ink:#18314f;--muted:#61738a;--white:#fff;--card:rgba(255,255,255,.92);--line:rgba(36,120,216,.18);--shadow:0 14px 34px rgba(24,49,79,.12)}
*{box-sizing:border-box}html{min-height:100%;background:#f7fbff}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#f7fbff;padding-bottom:92px}button,input,select,textarea{font:inherit}.app-shell{width:min(100%,760px);margin:0 auto;padding:18px 14px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.brand h1{font-size:clamp(1.65rem,7vw,2.35rem);line-height:1;margin:0;color:var(--blue);letter-spacing:-.04em}.brand h1 span{color:var(--green)}.brand p{margin:6px 0 0;color:var(--muted);font-size:.94rem}.badge{padding:8px 11px;border-radius:999px;background:rgba(109,60,199,.1);color:var(--purple);font-size:.78rem;font-weight:800}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px;backdrop-filter:blur(8px)}.card h2,.card h3{margin-top:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font-size:1.12rem;margin:0}.counts{display:grid;gap:10px}.count-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;border-radius:16px;background:rgba(36,120,216,.055)}.count-row:nth-child(2){background:rgba(30,143,89,.06)}.count-row:nth-child(3){background:rgba(109,60,199,.06)}.counter{display:flex;align-items:center;gap:8px}.counter button,.icon-btn{width:38px;height:38px;padding:0;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--blue);font-size:1.25rem;font-weight:800}.counter output{min-width:24px;text-align:center;font-weight:800}.btn{border:0;border-radius:15px;padding:12px 16px;font-weight:800;cursor:pointer;min-height:46px}.btn-primary{background:linear-gradient(135deg,var(--blue),#1767c5);color:#fff}.btn-green{background:linear-gradient(135deg,var(--green),#147547);color:#fff}.btn-purple{background:linear-gradient(135deg,var(--purple),#5628ac);color:#fff}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.btn-row .wide{grid-column:1/-1}.week{display:grid;gap:12px}.day-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:0 8px 22px rgba(24,49,79,.08)}.day-head{padding:10px 13px;background:linear-gradient(90deg,rgba(36,120,216,.11),rgba(109,60,199,.08));font-weight:900;display:flex;justify-content:space-between}.slot{display:grid;grid-template-columns:76px 1fr auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid rgba(24,49,79,.07)}.slot-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.slot-label.breakfast{color:var(--blue)}.slot-label.lunch{color:var(--green)}.slot-label.dinner{color:var(--purple)}.meal-main strong{display:block}.meal-main small{color:var(--muted);display:block;margin-top:3px}.meal-select{width:100%;border:1px solid #c7d7e8;border-radius:10px;padding:7px;font-size:.88rem;background:white;color:var(--ink)}.slot-actions{display:flex;gap:6px}.slot-actions button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue)}.empty{color:#97a4b4;font-style:italic}.form-grid{display:grid;gap:13px}.field label{display:block;font-weight:800;font-size:.9rem;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #bfd1e5;background:rgba(255,255,255,.95);border-radius:14px;padding:12px;color:var(--ink);outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,120,216,.11)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented input{display:none}.segmented label{padding:11px 6px;text-align:center;color:#fff;border-radius:13px;font-weight:800}.segmented label:nth-of-type(1){background:var(--blue)}.segmented label:nth-of-type(2){background:var(--green)}.segmented label:nth-of-type(3){background:var(--purple)}.segmented input:not(:checked)+label{opacity:.42}.check-list{display:grid;gap:8px;max-height:220px;overflow:auto}.check-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.list{display:grid;gap:10px}.list-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.list-item h3{margin:0 0 4px;font-size:1rem}.list-item p{margin:4px 0;color:var(--muted);font-size:.9rem}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pill{padding:5px 8px;border-radius:999px;background:rgba(30,143,89,.1);color:var(--green);font-size:.75rem;font-weight:800}.notice{border-radius:14px;padding:11px 12px;margin-bottom:12px;background:rgba(36,120,216,.08);color:#225b93;font-size:.9rem}.notice.warn{background:rgba(109,60,199,.1);color:#5b2ca9}.empty-state{text-align:center;padding:24px 10px;color:var(--muted)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid rgba(36,120,216,.15);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.bottom-nav-inner{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.nav-link{text-decoration:none;text-align:center;color:var(--muted);font-size:.66rem;font-weight:800;padding:8px 2px;border-radius:12px}.nav-link b{display:block;font-size:1.15rem;line-height:1.15}.nav-link.active{background:rgba(36,120,216,.1);color:var(--blue)}dialog{border:0;border-radius:20px;width:min(92vw,520px);padding:0;box-shadow:0 25px 70px rgba(20,35,60,.3)}dialog::backdrop{background:rgba(17,30,49,.45);backdrop-filter:blur(3px)}.modal{padding:17px}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal-head h3{margin:0}.modal-search{margin:13px 0}.modal-search input{width:100%;border:1px solid #bfd1e5;border-radius:13px;padding:11px}.meal-choice{display:flex;gap:10px;align-items:flex-start;padding:10px;border-bottom:1px solid rgba(24,49,79,.07)}.meal-choice:last-child{border-bottom:0}.meal-choice input{margin-top:4px}.modal-list{max-height:48vh;overflow:auto}.side-pickers{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.side-pickers select{width:100%;border:1px solid #c7d7e8;border-radius:10px;padding:7px;font-size:.82rem;background:white}.status{min-height:20px;margin-top:9px;font-size:.86rem;color:var(--muted)}@media(max-width:560px){.app-shell{padding-top:12px}.slot{grid-template-columns:66px 1fr}.slot-actions{grid-column:2;justify-content:flex-end}.btn-row{grid-template-columns:1fr}.btn-row .wide{grid-column:auto}.bottom-nav-inner{gap:2px}.nav-link{font-size:.58rem}.nav-link b{font-size:1rem}.side-pickers{grid-template-columns:1fr}}

/* Requested navigation, planning, edit, and side-type updates */
body{padding-bottom:0}.bottom-nav{position:static;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid rgba(36,120,216,.15);border-radius:18px;padding:8px;margin:-4px 0 14px}.page-back{margin-bottom:7px}.page-back button{border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--blue);font-weight:800;padding:7px 10px}.day-head{padding:16px 13px 14px}.slot:first-of-type{padding-top:15px}.list-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item-head h3{margin:0}.edit-btn{text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:7px 11px;background:#fff;color:var(--blue);font-size:.8rem;font-weight:800}.side-segmented{grid-template-columns:1fr 1fr}.side-segmented label:nth-of-type(1){background:var(--blue)}.side-segmented label:nth-of-type(2){background:var(--green)}.generation-days{margin-top:15px}.generation-days h3{font-size:1rem;margin:0 0 9px}.generation-row{display:grid;grid-template-columns:minmax(78px,1fr) repeat(3,minmax(72px,1fr));gap:6px;align-items:center;padding:7px 0;border-top:1px solid rgba(24,49,79,.07)}.generation-row:first-child{border-top:0}.generation-row strong{font-size:.82rem}.generation-check{position:relative}.generation-check input{position:absolute;opacity:0;pointer-events:none}.generation-check span{display:block;text-align:center;padding:8px 4px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:capitalize}.generation-check.breakfast input:checked+span{background:rgba(36,120,216,.12);border-color:var(--blue);color:var(--blue)}.generation-check.lunch input:checked+span{background:rgba(30,143,89,.12);border-color:var(--green);color:var(--green)}.generation-check.dinner input:checked+span{background:rgba(109,60,199,.12);border-color:var(--purple);color:var(--purple)}
@media(max-width:560px){.bottom-nav-inner{grid-template-columns:repeat(3,1fr)}.generation-row{grid-template-columns:72px repeat(3,1fr);gap:4px}.generation-check span{font-size:.64rem;padding:7px 2px}}
.generation-item-check{display:flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.generation-item-check input{position:absolute;opacity:0;pointer-events:none}.generation-item-check span{width:22px;height:22px;flex:0 0 22px;border:2px solid #bfd1e5;border-radius:6px;background:#fff;position:relative}.generation-item-check input:checked+span{background:var(--green);border-color:var(--green)}.generation-item-check input:checked+span:after{content:'✓';position:absolute;inset:-2px 0 0;text-align:center;color:#fff;font-size:16px;font-weight:900}.generation-item-check h3{min-width:0}
