@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&family=Poppins:wght@400;500;600;700&display=swap";:root{--navy-900:#0c3f61;--navy-800:#105482;--teal-600:#1c8aaf;--teal-500:#1dc0db;--pink-500:#f48ca0;--ink:#17384d;--muted:#667f90;--line:#d8e7ef;--surface:#fff;--page:#f4fafc;--soft:#eaf7fb;--danger:#d92d20;--danger-soft:#fff1f0;color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--page)}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}input,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:14px;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px #1dc0db21}textarea{resize:vertical}label span{margin-bottom:8px;font-size:14px;font-weight:600;display:block}h1,h2,h3,strong{font-family:Montserrat,Poppins,sans-serif}h1,h2,h3,p{overflow-wrap:anywhere}.app-shell{width:min(100%,720px);padding:26px 16px calc(112px + env(safe-area-inset-bottom));margin:0 auto}.hero{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero--stacked{display:block}.eyebrow{color:var(--teal-600);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1{color:var(--navy-900);letter-spacing:-.04em;margin:0;font-size:clamp(29px,7vw,43px);font-weight:800;line-height:1.06}.muted{color:var(--muted);margin:8px 0 0}.muted-inline{color:var(--muted);margin:4px 0 0;font-size:14px}.progress-pill{background:var(--soft);color:var(--navy-800);white-space:nowrap;border:1px solid #1c8aaf3d;border-radius:999px;padding:10px 13px;font-family:Montserrat,sans-serif;font-weight:800}.day-nav{grid-template-columns:1fr 1fr 1fr;gap:8px;margin:20px 0;display:grid}.day-nav button,.button{border-radius:14px;min-height:46px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}.day-nav button{border:1px solid var(--line);background:var(--surface);color:var(--navy-800)}.day-nav .day-nav__today,.button--primary{background:var(--navy-800);color:#fff;border:1px solid var(--navy-800);box-shadow:0 7px 18px #10548229}.button--secondary{border:1px solid var(--line);background:var(--surface);color:var(--navy-800)}.button--ghost{background:var(--soft);color:var(--navy-800);border:1px dashed #bad8e5}.button--block{width:100%}.button--danger{border:1px solid var(--danger);background:var(--danger);color:#fff}.button--danger-ghost{background:var(--danger-soft);color:var(--danger);border:1px solid #f5b9b4}.text-button{color:var(--teal-600);background:0 0;border:0;padding:8px 0;font-weight:600}.note-card,.prep-card,.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.note-card{border-left:4px solid var(--teal-500)}.note-card span{color:var(--teal-600);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.note-card p{margin:7px 0 0;line-height:1.55}.section-block{margin-top:24px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.section-heading h2{color:var(--navy-900);margin:0;font-size:20px;font-weight:800}.section-heading>span{color:var(--muted);font-size:14px}.meal-list{gap:12px;display:grid}.meal-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 24px #0c3f610b}.meal-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-card h3{color:var(--navy-900);margin:0;font-size:18px;font-weight:800}.meal-card p{color:var(--muted);margin:5px 0 0;font-size:14px}.meal-card ul{margin:15px 0 0;padding-left:22px}.meal-card li{margin:7px 0;line-height:1.45}.meal-card li::marker{color:var(--teal-500)}.empty-state{background:var(--surface);text-align:center;border:1px dashed #b9d9e6;border-radius:20px;margin-top:12px;padding:26px}.empty-state div{color:var(--pink-500);font-size:28px}.empty-state strong{color:var(--navy-900);margin-top:8px;display:block}.empty-state p{color:var(--muted);margin:6px 0 0}.empty-state--plans{margin-top:0}.completed-block{margin-top:14px}.completed-toggle{background:var(--soft);width:100%;min-height:48px;color:var(--navy-800);border:1px solid #bfe2ea;border-radius:14px;justify-content:space-between;align-items:center;padding:0 14px;font-weight:600;display:flex}.completed-list{gap:8px;margin-top:8px;display:grid}.completed-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.completed-row div{gap:3px;min-width:0;display:grid}.completed-row strong{color:var(--teal-600)}.completed-row span{color:var(--muted);font-size:13px}.completed-row button{border:1px solid var(--line);min-height:40px;color:var(--navy-800);background:#fff;border-radius:12px;padding:0 12px;font-weight:600}.prep-card{margin-top:24px}.prep-list{gap:8px;display:grid}.prep-item{border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.prep-item input{width:20px;height:20px;accent-color:var(--teal-600)}.prep-item span{margin:0}.plans-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.tool-card{margin-top:20px}.tool-card__intro{color:var(--muted);margin:0 0 14px;line-height:1.55}.form-grid{gap:12px;display:grid}.form-grid__full{grid-column:1/-1}.json-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.action-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.helper-message,.status-message{background:var(--soft);color:var(--navy-800);border:1px solid #bfe2ea;border-radius:14px;padding:11px 13px;font-size:14px}.status-message{margin:16px 0 0}.preview-card{border:1px solid var(--line);background:var(--page);border-radius:16px;margin-top:16px;padding:14px}.preview-card>strong{color:var(--navy-900)}.preview-grid{gap:10px;margin:12px 0 16px;display:grid}.preview-grid div{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.preview-grid span{color:var(--teal-600);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.preview-grid b{color:var(--navy-900);font-size:14px}.plans-list{gap:12px;display:grid}.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 8px 24px #0c3f610a}.plan-card--active{border-color:var(--teal-500);box-shadow:inset 0 0 0 1px #1dc0db26,0 8px 24px #0c3f610a}.plan-card__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.plan-card h3{color:var(--navy-900);margin:0;font-size:18px;font-weight:800}.plan-card p{color:var(--muted);margin:6px 0 0;font-size:14px}.plan-badge{background:var(--soft);color:var(--teal-600);white-space:nowrap;border:1px solid #afe2ed;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.plan-meta{flex-wrap:wrap;gap:8px;margin:14px 0 10px;display:flex}.plan-meta span{background:var(--page);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:13px}.plan-notes{color:var(--ink);margin:0 0 14px;line-height:1.5}.plan-card__actions{grid-template-columns:1fr auto;gap:8px;display:grid}.no-plan-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:68vh;padding:30px 12px;display:flex}.no-plan-state h1{max-width:520px}.no-plan-state>p:not(.eyebrow){max-width:500px;color:var(--muted);line-height:1.6}.no-plan-state .button{margin-top:8px;padding:0 20px}.brand-mark{background:var(--navy-900);width:76px;height:76px;color:var(--teal-500);border-radius:24px;place-items:center;margin-bottom:16px;font-family:Montserrat,sans-serif;font-size:36px;font-weight:800;display:grid;box-shadow:inset 0 -10px 24px #1dc0db1f}.bottom-nav{width:min(100%,720px);padding:10px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:20;background:#fffffff5;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:12px;font-size:12px;font-weight:600}.bottom-nav button.active{color:var(--navy-900);background:var(--soft);box-shadow:inset 0 -3px 0 var(--teal-500)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c3f616b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:min(100%,420px);padding:24px;box-shadow:0 24px 70px #0c3f613d}.modal-icon{background:var(--danger-soft);width:54px;height:54px;color:var(--danger);border-radius:18px;place-items:center;margin:0 auto 13px;font-size:25px;font-weight:700;display:grid}.modal-card h2{color:var(--navy-900);margin:0}.modal-card p{color:var(--ink);line-height:1.55}.modal-card__hint{font-size:14px;color:var(--muted)!important}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}@media (hover:hover){.button:not(:disabled):hover,.day-nav button:not(:disabled):hover{transform:translateY(-1px)}}@media (width>=680px){.app-shell{padding-left:24px;padding-right:24px}.meal-list,.form-grid,.preview-grid{grid-template-columns:1fr 1fr}}
