:root{--paper:#f8f7f2;--white:#fffefa;--ink:#263d33;--muted:#777f72;--line:#e4e5da;--green:#284f40;--leaf:#dceba7;--soft:#edf2e5;--orange:#be7046;--peach:#f8eadc;--blue:#e6edf2;--shadow:0 6px 26px #273f3210}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c39257;outline-offset:3px}button{border:0;background:none}a{color:var(--green)}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,h4,p{margin:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:40px;line-height:1.12;letter-spacing:-1.3px;font-weight:500}h2{font-size:19px;letter-spacing:-.45px;line-height:1.3}h3{font-size:15px;line-height:1.35;letter-spacing:-.2px}p{color:var(--muted)}svg{display:block}.ico{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.small-ico{width:16px;height:16px}.layout{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:236px;background:#f0f0e7;border-right:1px solid var(--line);padding:34px 21px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font:600 23px Georgia,serif;letter-spacing:-.6px;color:var(--green)}.brand-mark{width:38px;height:38px;border-radius:13px;background:var(--green);color:var(--leaf);display:grid;place-items:center;transform:rotate(-5deg)}.brand-mark .ico{width:25px;height:25px}.brand-note{font-size:10px;letter-spacing:2px;text-transform:uppercase;padding-left:49px;color:var(--muted);margin-top:4px}.nav-label{margin:42px 12px 11px;text-transform:uppercase;font-size:10px;letter-spacing:1.8px;color:#9a9e8c;font-weight:700}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 16px;min-height:49px;width:100%;border-radius:12px;text-align:left;margin:4px 0;font-weight:550;color:#647063;position:relative}.nav-item.active{background:var(--green);color:#fff}.nav-item:not(.active):hover{background:#e5e8db}.nav-item .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--orange)}.sidebar-bottom{margin-top:auto}.household{margin-top:20px;padding:16px 12px 0;border-top:1px solid #dfe1d3;display:flex;align-items:center;gap:10px}.avatars{display:flex;padding-left:5px}.avatar{width:32px;height:32px;border-radius:50%;border:3px solid var(--paper);display:grid;place-items:center;background:#d1dcb9;color:var(--green);font-size:10px;font-weight:800;margin-left:-5px}.avatar.sam{background:#ecd8c8;color:#8b6545}.household strong{font-size:12px;display:block}.household small{font-size:10px;color:var(--muted)}.page{margin-left:236px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 42px;border-bottom:1px solid var(--line);background:#fffefa99}.topbar-left{display:flex;align-items:center;gap:14px}.crumb{color:var(--muted);font-size:12px}.crumb b{color:var(--ink);font-weight:600}.topbar-right{display:flex;gap:10px;align-items:center}.week-button{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;background:var(--white);min-height:40px}.icon-button{border:1px solid var(--line);background:var(--white);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.mobile-brand,.bottom-nav{display:none}.preview-tag{font-size:10px;border:1px solid #d9dfd0;color:#718064;padding:4px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.main{padding:34px 42px 60px;max-width:1450px;margin:auto}.eyebrow{color:var(--orange);font-size:10px;letter-spacing:2px;font-weight:750;text-transform:uppercase;margin-bottom:12px}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}.heading p{margin-top:10px;font-size:13px}.btn{min-height:43px;padding:10px 17px;border:1px solid var(--line);border-radius:10px;background:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;font-size:12px;line-height:1.4;text-decoration:none;transition:transform .15s,background .15s}.btn:hover{background:#f0f1e8}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:#1c3e31}.btn.lime{background:var(--leaf);border-color:var(--leaf);color:var(--green)}.btn.ghost{background:transparent;border-color:transparent;padding-left:0}.btn.small{min-height:35px;padding:7px 12px;font-size:11px}.btn.danger{color:#a05140}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.tiny{font-size:11px}.card{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:0 2px 5px #273f3202}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 15px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:4px 7px;background:var(--soft);font-size:10px;font-weight:650;white-space:nowrap;color:#577044}.badge.amber{background:#faefd7;color:#936c28}.badge.blue{background:var(--blue);color:#526d81}.badge.gray{background:#f0f0e9;color:#7a8070}.badge.peach{background:var(--peach);color:#a26843}.badge .ico{width:12px;height:12px}.pill{border-radius:20px}.hero{display:grid;grid-template-columns:1fr 300px;background:#e8eddd;border:1px solid #dce3cf;border-radius:21px;min-height:220px;overflow:hidden;position:relative}.hero-copy{padding:30px 33px;z-index:1;align-self:center}.hero h1{font-size:39px;max-width:430px}.hero p{font-size:12px;max-width:410px;margin:13px 0 19px;color:#65735e}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 60% 40%,#f9f7dc 0%,transparent 70%)}.hero-art svg{width:300px;transform:rotate(-7deg);filter:drop-shadow(0 15px 10px #3a48391a)}.approval-strip{display:flex;align-items:center;gap:13px;padding:15px 20px;border-radius:13px;border:1px solid #e6dccc;background:#fcf7ed;margin:19px 0 26px}.approval-strip .symbol{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eee1c4;color:#977438;flex-shrink:0}.approval-strip strong{font-size:12px}.approval-strip p{font-size:11px;margin-top:2px}.approval-strip .btn{margin-left:auto}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(245px,1fr);gap:24px}.meals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.meal-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--white);text-align:left;padding:0;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;min-width:0}.meal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.meal-art{height:122px;display:grid;place-items:center;overflow:hidden;position:relative;background:#f1e7cd}.meal-art svg{height:100%;width:100%;max-width:250px;transition:transform .2s}.meal-card:hover .meal-art svg{transform:scale(1.04)}.meal-card-body{padding:15px;flex:1;display:flex;flex-direction:column}.kicker{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:750;text-transform:uppercase;margin-bottom:8px}.meal-card h3{font-size:14px;line-height:1.4;min-height:39px}.meal-card .people{font-size:10px;color:var(--muted);margin:7px 0 11px}.meal-foot{margin-top:auto;display:flex;gap:5px;align-items:center;font-size:10px;color:#697561}.meal-foot .ico{width:13px;height:13px}.aside-stack{display:flex;flex-direction:column;gap:15px}.next-card{background:var(--green);color:#fff;border:0}.next-card p{color:#c8d4c1;font-size:12px}.next-card h2{font-family:Georgia,serif;font-weight:500;font-size:24px;letter-spacing:-.3px}.next-card .kicker{color:#b6ccab}.task-line{display:flex;gap:11px;align-items:flex-start;margin-top:18px}.task-line .circle{border:1px solid #7c9684;min-width:23px;height:23px;border-radius:50%;display:grid;place-items:center}.task-line strong{display:block;font-size:12px;font-weight:600}.task-line small{display:block;color:#c0d0bd;font-size:10px;margin-top:3px}.budget-card .money{font-size:28px;letter-spacing:-1px;font-weight:650;margin:12px 0 0}.budget-card .money small{font-weight:400;font-size:13px;color:var(--muted);letter-spacing:0}.track{height:6px;border-radius:8px;background:#e7eadc;overflow:hidden;margin:12px 0}.track span{height:100%;background:#a6bb75;display:block;border-radius:8px;transition:width .3s}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.mini-stat{background:#f0f1e8;border:1px solid #e4e6d8;padding:14px 16px;border-radius:12px;display:flex;align-items:center;gap:10px}.mini-stat .ico{color:#859b61}.mini-stat strong{font-size:13px;display:block}.mini-stat small{font-size:10px;color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:170px}.search .ico{position:absolute;left:13px;top:13px;color:#8d9585}.search input{padding-left:42px;width:100%}.field,input:not([type=checkbox]):not([type=radio]),textarea,select{border:1px solid #dcdfd1;background:var(--white);border-radius:10px;padding:11px 13px;min-height:44px;color:var(--ink);max-width:100%}input[type=checkbox]{accent-color:var(--green);width:19px;height:19px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:8px 13px;border:1px solid var(--line);border-radius:20px;font-size:11px;background:var(--white);min-height:35px}.chip.active{background:var(--green);color:white;border-color:var(--green)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.recipe-tile{padding:0;border-radius:16px;overflow:hidden;position:relative}.recipe-tile .meal-art{height:160px}.recipe-tile .recipe-text{padding:18px}.recipe-tile .recipe-text h3{font-size:16px;margin-bottom:9px}.recipe-tile .recipe-open{width:100%;text-align:left;padding:0}.favorite{position:absolute;right:12px;top:12px;width:33px;height:33px;border-radius:50%;background:#fffdf3de;z-index:2;display:grid;place-items:center;color:#a0a38a}.favorite.on{color:#be7046}.favorite.on .ico{fill:#be7046;stroke:#be7046}.note-box{background:var(--soft);border-radius:11px;padding:13px 16px;font-size:12px;color:#5d7050;border:1px solid #dce5ce}.note-box.amber{background:#fcf1df;color:#87652b;border-color:#edddbc}.weekbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.weekbar h2{font-size:22px}.week-counts{display:flex;gap:13px;font-size:11px;color:var(--muted);margin:8px 0 0}.week-scroll{display:flex;gap:7px;padding-bottom:6px;overflow:auto;scrollbar-width:none}.day-tab{min-width:62px;min-height:73px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-align:center}.day-tab span{font-size:10px;display:block;color:var(--muted)}.day-tab b{font-size:19px;font-weight:550;display:block;margin-top:3px}.day-tab.active{background:var(--green);color:white;border-color:var(--green)}.day-tab.active span{color:#cddcc6}.planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.plan-meal{display:flex;gap:16px;align-items:center;padding:17px}.plan-meal .thumbnail{width:90px;height:83px;border-radius:12px;overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:var(--peach)}.plan-meal .thumbnail svg{width:100%;height:100%}.plan-copy{min-width:0;flex:1}.plan-copy p{font-size:11px;margin-top:6px}.plan-copy h3{font-size:15px}.plan-actions{display:flex;gap:12px;margin-top:9px}.text-link{font-size:11px;color:var(--orange);font-weight:650;padding:0;min-height:30px;display:inline-flex;align-items:center;gap:4px}.week-outline{margin-top:24px;overflow:hidden}.outline-row{display:grid;grid-template-columns:110px 1fr 100px;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.outline-row:first-of-type{margin-top:12px}.outline-row small{color:var(--muted)}.overview-badges{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.prep-hero{background:#e9eddf;padding:24px;display:flex;align-items:center;gap:30px;justify-content:space-between}.prep-metrics{display:flex;gap:30px;margin:15px 0 0}.prep-metrics strong{font-size:23px;display:block;letter-spacing:-.5px}.prep-metrics small{font-size:10px;color:var(--muted)}.ring{height:90px;width:90px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--pct)*1%),#d5ddc7 0);padding:7px;flex-shrink:0}.ring-inner{height:100%;border-radius:50%;background:#e9eddf;display:grid;place-content:center;text-align:center;font-size:21px;font-weight:650}.ring-inner small{font-size:9px;color:var(--muted);font-weight:400}.prep-checklist{margin-top:18px}.prep-item{display:flex;align-items:flex-start;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}.check{width:23px;height:23px;border:1.5px solid #b5bfa5;flex-shrink:0;border-radius:7px;background:transparent;display:grid;place-items:center;padding:0;margin-top:1px}.check.done{background:var(--green);border-color:var(--green);color:white}.check .ico{width:15px;height:15px}.prep-item.done h3,.shop-item.done .shop-name{text-decoration:line-through;color:#8e9787}.prep-item .body{flex:1;min-width:0}.prep-item p{font-size:12px;margin-top:5px;max-width:700px}.recipe-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.recipe-tag{font-size:9px;background:#f0f0e7;padding:4px 7px;border-radius:5px;color:#647057;cursor:pointer;min-height:25px}.prep-time{font-size:11px;color:var(--muted);white-space:nowrap}.prep-group h3{margin-top:26px;font-size:16px}.shopping-top{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:20px}.shopping-total{font-size:31px;font-weight:650;letter-spacing:-1px}.shopping-total small{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}.shopping-group{margin:22px 0}.shopping-group h3{font-size:12px;color:#7e8b73;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:10px}.shopping-group-list{border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden}.shop-item{display:flex;align-items:flex-start;gap:12px;padding:14px 17px;border-bottom:1px solid #eeeee5}.shop-item:last-child{border:0}.shop-info{flex:1;min-width:0}.shop-name{font-size:13px;font-weight:600}.shop-amount{font-size:11px;color:#818b77;margin-top:4px}.shop-price{text-align:right;min-width:53px;font-size:12px;font-weight:600}.shop-price small{font-size:9px;color:var(--muted);display:block;font-weight:400;margin-top:3px}.pantry-toggle{font-size:10px;text-decoration:underline;color:#7e8b6e;padding:5px 0}.shop-recipes{font-size:10px;color:var(--orange);padding:3px 0}.empty{padding:45px;text-align:center;border:1px dashed #d2d9c4;border-radius:15px;color:var(--muted);background:#fffdf7}.ai-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.ai-card{background:#f1f1e7}.ai-intro{display:flex;gap:12px;align-items:center}.ai-symbol{background:var(--green);color:var(--leaf);width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.ai-message{background:var(--white);border:1px solid var(--line);border-radius:0 13px 13px 13px;padding:18px;margin:20px 0 14px;font-size:13px;line-height:1.7}.ai-message p{color:var(--ink)}.chat-input{display:flex;align-items:flex-end;gap:9px;margin-top:18px}.chat-input textarea{flex:1;resize:vertical;min-height:76px;background:var(--white)}.chat-input .btn{height:44px}.suggestions{display:flex;gap:6px;flex-wrap:wrap}.suggestions button{border:1px solid #d9dfcb;background:#fafbf5;border-radius:8px;padding:8px 10px;font-size:10px;text-align:left;min-height:35px}.discord{background:#30323a;color:#eee;border-radius:15px;padding:20px;border:1px solid #43464f}.discord h3{font-size:13px;color:#c0c5cd;font-weight:500}.discord .channel{font-size:11px;color:#8f96a5;margin-top:3px}.discord-identity{display:flex;gap:9px;align-items:center;margin-top:22px}.bot-avatar{background:#79946d;color:#e4f0d2;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:13px}.discord-identity b{font-size:12px;color:#c6dbb2}.app-tag{font-size:8px;padding:2px 4px;background:#5865f2;border-radius:3px;color:white;margin-left:5px}.discord-identity small{font-size:8px;color:#9299a6;margin-left:6px}.embed{background:#282a32;margin:12px 0 15px;padding:16px;border-left:3px solid #acc77d;border-radius:4px 9px 9px 4px}.embed h4{font-size:13px;margin:0 0 8px}.embed p{font-size:11px;color:#bfc3cb;margin:4px 0}.embed-list{font-size:11px;line-height:1.8;margin:10px 0;color:#d9dce3}.discord-buttons{display:flex;gap:6px;flex-wrap:wrap}.discord-buttons button{background:#4a4e5a;padding:8px 10px;font-size:10px;border-radius:4px;color:#f1f1f1;min-height:36px}.discord-buttons button.approve{background:#4c7854}.discord-footnote{font-size:10px;line-height:1.6;color:#a5abb6;margin-top:14px}.approvers{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.person{display:flex;align-items:center;gap:7px;background:#f2f3eb;padding:8px 10px;border-radius:9px;font-size:11px}.person .avatar{border:0;margin:0;width:23px;height:23px}.audit{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:11px;color:var(--muted)}.audit div{margin:6px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin:15px 0}.form-group label,.field-label{display:block;font-size:12px;font-weight:650;margin-bottom:7px}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:14px 0;font-size:12px}.toggle{background:#dce1d2;width:39px;height:23px;flex-shrink:0;border-radius:20px;padding:3px;display:flex;align-items:center}.toggle.on{background:var(--green);justify-content:flex-end}.toggle:after{content:'';width:17px;height:17px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002}.modal-scrim{position:fixed;inset:0;background:#16291c70;backdrop-filter:blur(5px);z-index:100;display:flex;justify-content:center;align-items:center;padding:24px}.modal{width:100%;max-width:780px;background:var(--paper);border:1px solid #dce1d0;border-radius:21px;max-height:92dvh;overflow-y:auto;box-shadow:0 30px 90px #15271c50}.modal.compact{max-width:550px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);background:#fbfbf3;position:sticky;top:0;z-index:5}.modal-head h2{font-family:Georgia,serif;font-size:24px;font-weight:500}.modal-body{padding:24px}.modal-bottom{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end;position:sticky;bottom:0;background:#fbfbf2f5;backdrop-filter:blur(10px)}.recipe-modal-hero{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;margin-bottom:20px}.recipe-modal-hero .meal-art{height:155px;border-radius:14px}.recipe-modal-hero h3{font-family:Georgia,serif;font-size:28px;font-weight:500;letter-spacing:-.6px;line-height:1.2}.recipe-modal-hero p{font-size:12px;margin:10px 0}.serving-control{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:5px 8px;background:white}.serving-control button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:18px}.serving-control span{font-size:12px;min-width:77px;text-align:center}.detail-tabs{display:flex;gap:7px;margin:18px 0;overflow-x:auto;scrollbar-width:none}.detail-tabs .chip{white-space:nowrap}.ingredient-row{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px}.ingredient-row strong{font-weight:650;white-space:nowrap}.instruction-section{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:18px;margin:12px 0}.instruction-section h3{color:var(--green);font-size:14px;margin:0 0 9px;display:flex;align-items:center;gap:9px}.instruction-section p{font-size:13px;line-height:1.8;color:#64705f}.instruction-section .step-label{color:#b37443;font-size:9px;font-weight:750;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.impact-line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.impact-line strong{font-size:13px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.diff-box{background:var(--white);border:1px solid var(--line);padding:15px;border-radius:10px}.diff-box span{font-size:10px;color:var(--muted)}.diff-box b{display:block;font-size:23px;margin-top:4px;font-weight:600}.swap-option{display:flex;align-items:center;gap:15px;padding:13px;border:1px solid var(--line);border-radius:12px;width:100%;background:var(--white);text-align:left;margin-top:10px}.swap-option .meal-art{width:78px;height:66px;border-radius:9px;flex-shrink:0}.swap-option p{font-size:11px;margin-top:5px}.mini-week{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:11px;margin-top:10px}.mini-week span{color:var(--muted)}#toast{position:fixed;left:calc(50% + 100px);bottom:24px;transform:translate(-50%,20px);background:var(--green);color:white;padding:12px 20px;border-radius:10px;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:300;font-size:12px;max-width:90vw;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.view{animation:appear .2s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}.progress-label{font-size:11px;color:var(--muted)}.mobile-only{display:none}.warning{color:#a3593f}.approval-notice{padding:12px 16px;border-radius:11px;background:#f6e9d9;color:#936b42;font-size:11px;margin:14px 0}.footer-note{margin-top:26px;text-align:center;font-size:10px;color:#9a9f91}.budget-micro{font-size:10px;margin-top:8px}.meal-preview select{min-height:33px;padding:5px 8px;font-size:11px}.recipe-grid>.empty{grid-column:1/-1}.recipe-header-actions{display:flex;gap:8px}.storage-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.storage-grid .card{padding:16px}.store-label{font-size:9px;letter-spacing:.5px;color:var(--muted)}
@media(min-width:1450px){.main{padding-left:55px;padding-right:55px}.topbar{padding-left:55px;padding-right:55px}}
@media(max-width:1150px){.sidebar{width:202px;padding-left:15px;padding-right:15px}.page{margin-left:202px}.main{padding:28px}.topbar{padding:0 28px}.hero{grid-template-columns:1fr 225px}.hero-art svg{width:250px}.dashboard-grid{grid-template-columns:1fr}.aside-stack{display:grid;grid-template-columns:1.3fr 1fr}.recipe-grid{gap:13px}.ai-grid{grid-template-columns:1.15fr 1fr}.heading h1{font-size:36px}.planner-grid{grid-template-columns:1fr}.plan-meal .thumbnail{width:105px}.topbar .preview-tag{display:none}}
@media(max-width:760px){body{font-size:13px}.sidebar{display:none}.page{margin:0}.topbar{height:72px;padding:0 20px;position:sticky;top:0;z-index:30;background:#f8f7f2f5;backdrop-filter:blur(12px)}.topbar-left .crumb,.topbar-right .week-button{display:none}.mobile-brand{display:flex}.mobile-brand .brand{font-size:21px}.mobile-brand .brand-mark{height:30px;width:30px;border-radius:10px}.mobile-brand .brand-mark .ico{height:21px;width:21px}.topbar-right{gap:8px}.topbar .icon-button{height:35px;width:35px}.main{padding:23px 19px 108px}.heading{align-items:flex-start;gap:10px;margin-bottom:22px}.heading h1{font-size:32px;letter-spacing:-1px}.heading p{font-size:12px;line-height:1.6;margin-top:8px}.heading>.btn{padding:9px 12px;font-size:11px;white-space:nowrap}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero{grid-template-columns:1fr 115px;min-height:198px;border-radius:17px}.hero-copy{padding:23px 0 23px 21px}.hero h1{font-size:31px;line-height:1.15;max-width:250px}.hero p{font-size:11px;max-width:240px;margin:11px 0 15px}.hero-art{overflow:hidden}.hero-art svg{min-width:220px;width:220px;position:relative;left:35px;transform:rotate(-10deg)}.hero .btn{min-height:36px;padding:8px 10px;font-size:10px}.approval-strip{padding:13px;gap:10px;margin:14px 0 23px;flex-wrap:wrap}.approval-strip strong{font-size:11px}.approval-strip p{font-size:10px}.approval-strip .btn{min-height:34px;padding:7px 9px;font-size:10px;margin-left:auto}.approval-strip .symbol{width:29px;height:29px}.approval-copy{flex:1;min-width:120px}.section-title{margin:23px 0 12px}.section-title h2{font-size:18px}.section-title .tiny{font-size:10px}.meals-grid{gap:9px}.meal-art{height:88px}.meal-card-body{padding:12px 10px}.meal-card h3{font-size:12px;line-height:1.35;min-height:34px}.meal-card .people{font-size:9px;margin:7px 0 9px}.meal-foot{font-size:9px;gap:3px;flex-wrap:wrap}.kicker{font-size:8px;letter-spacing:1px;margin-bottom:6px}.aside-stack{gap:12px;grid-template-columns:1fr}.card{padding:18px;border-radius:14px}.next-card{padding:20px}.next-card h2{font-size:24px}.next-card .task-line{display:flex}.budget-card{padding:18px}.budget-card .money{font-size:26px;margin-top:8px}.mini-stats{gap:7px;margin-top:15px}.mini-stat{padding:12px 8px;gap:7px;flex-direction:column;align-items:flex-start}.mini-stat strong{font-size:11px}.mini-stat small{font-size:9px;line-height:1.4;display:block}.mini-stat .ico{width:17px;height:17px}.dashboard-grid{gap:4px}.recipe-grid{grid-template-columns:1fr 1fr;gap:12px}.recipe-tile .meal-art{height:119px}.recipe-tile .recipe-text{padding:14px 12px}.recipe-tile .recipe-text h3{font-size:14px;line-height:1.4}.recipe-tile .badge{font-size:8px;padding:3px 5px}.recipe-header-actions .btn{font-size:10px;padding:9px}.toolbar{gap:10px}.toolbar .search{flex-basis:100%}.chips{gap:5px}.chip{font-size:10px;min-height:35px;padding:8px 11px}.weekbar{gap:10px}.weekbar h2{font-size:18px}.weekbar .btn{padding:8px 10px;font-size:10px}.week-counts{font-size:10px;gap:9px;flex-wrap:wrap}.day-tab{min-width:45px;min-height:64px;padding:9px 6px;flex:1}.week-scroll{gap:6px}.day-tab span{font-size:9px}.day-tab b{font-size:18px}.planner-grid{margin-top:13px;gap:11px}.plan-meal{padding:14px;gap:12px}.plan-meal .thumbnail{width:77px;height:77px}.plan-copy h3{font-size:13px}.plan-copy p{font-size:10px}.plan-actions{margin-top:5px}.outline-row{grid-template-columns:66px 1fr 71px;gap:8px;font-size:11px}.outline-row .badge{font-size:8px}.outline-row .tiny{font-size:9px}.prep-hero{padding:18px;gap:13px}.prep-hero h2{font-size:18px}.prep-metrics{gap:17px}.prep-metrics strong{font-size:19px}.prep-metrics small{font-size:9px}.ring{width:72px;height:72px;padding:5px}.ring-inner{font-size:18px}.prep-item{gap:11px;padding:17px 0}.prep-item h3{font-size:13px}.prep-item p{font-size:11px;line-height:1.7}.prep-time{font-size:9px;max-width:42px;white-space:normal;text-align:right}.shopping-top{grid-template-columns:1fr;gap:12px}.shopping-total{font-size:29px}.shopping-top .card:nth-child(2){display:flex;gap:18px;align-items:center}.shopping-top .card:nth-child(2) .track{min-width:100px}.shop-item{padding:14px 12px;gap:10px}.shop-name{font-size:12px}.shop-amount{font-size:10px;line-height:1.7}.shop-price{font-size:11px;min-width:42px}.shop-recipes{font-size:9px}.ai-grid{grid-template-columns:1fr}.discord{padding:18px}.settings-grid{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(70px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fffef8f7;border-top:1px solid #e0e4d5;backdrop-filter:blur(16px);z-index:40;justify-content:space-around}.bottom-nav button{width:19%;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;color:#929a86;border-radius:10px;font-size:9px;font-weight:600;min-height:48px}.bottom-nav button.active{color:var(--green);background:#edf2e4}.bottom-nav .ico{width:21px;height:21px}.modal-scrim{padding:12px;align-items:flex-end}.modal{max-height:93dvh;border-radius:20px 20px 13px 13px}.modal-head{padding:16px 18px}.modal-head h2{font-size:22px}.modal-body{padding:18px}.modal-bottom{padding:13px 18px;flex-wrap:wrap}.modal-bottom .btn{flex:1;min-height:44px}.recipe-modal-hero{grid-template-columns:100px 1fr;gap:15px}.recipe-modal-hero .meal-art{height:115px}.recipe-modal-hero h3{font-size:23px;line-height:1.25}.recipe-modal-hero p{font-size:11px}.instruction-section{padding:16px}.instruction-section p{font-size:12px}.ingredient-row{font-size:12px}.modal-head .icon-button{height:34px;width:34px}.diff-grid{gap:8px}.storage-grid{grid-template-columns:1fr}.mobile-only{display:block}#toast{left:50%;bottom:92px;width:max-content;max-width:90vw;text-align:center}.footer-note{font-size:9px;margin-top:24px}.preview-tag{font-size:8px;padding:3px 6px}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:360px){.main{padding-left:14px;padding-right:14px}.hero h1{font-size:27px}.hero{grid-template-columns:1fr 90px}.hero-copy{padding-left:17px}.topbar{padding:0 14px}.meal-card-body{padding:10px 8px}.recipe-grid{gap:9px}.recipe-modal-hero h3{font-size:21px}}
.search input:not([type=checkbox]):not([type=radio]){padding-left:42px}.ai-grid>*{min-width:0}.settings-grid>*{min-width:0}.form-pair>*{min-width:0}.ingredient-row strong .ico{display:inline-block;vertical-align:middle}.note-box>.ico{display:inline-block;vertical-align:middle;margin-right:5px}.discord h3 .ico{display:inline-block;vertical-align:middle;margin-left:6px}
@media(min-width:761px) and (max-width:1150px){.aside-stack>.section-title{display:none}}
@media(max-width:1000px){.ai-grid{grid-template-columns:1fr}}
@media(max-width:760px){.meals-grid{grid-template-columns:1fr;gap:11px}.meal-card{flex-direction:row;align-items:stretch}.meal-card>.meal-art{width:105px;height:auto;min-height:117px;flex-shrink:0}.meal-card-body{padding:14px 15px}.meal-card h3{font-size:15px;min-height:0}.meal-card .people{font-size:11px;margin:6px 0 8px}.meal-foot{font-size:11px}.meal-card .kicker{font-size:9px}.recipe-tile .meal-art{width:100%}}
@media(max-width:760px){.hero{min-height:175px}.hero-copy{padding-top:21px;padding-bottom:21px}.hero h1{font-size:29px}.hero p{display:none}.hero .btn{margin-top:15px}.hero-art svg{min-width:190px;width:190px;left:31px}.heading .meal-preview{padding-top:3px}}
.auth{max-width:440px;margin:6vh auto;padding:28px;background:var(--paper,#fffdf7);border-radius:22px}.auth h1{font-size:32px;margin:28px 0 12px}.auth label{display:block;font-weight:600;margin:20px 0 8px}.auth input{display:block;width:100%;padding:14px;border:1px solid #c9d1c4;border-radius:10px;margin-top:8px;font:inherit}.auth form p{margin:12px 0;color:#8e4635}.auth .brand{font-size:25px}.ingredient-edit{display:grid;grid-template-columns:1fr 90px 36px;gap:8px;margin:10px 0}.ingredient-edit select,.ingredient-edit input{min-width:0}.integration-grid{display:grid;gap:18px}.integration-grid section{padding:16px;background:#f4f5ec;border-radius:14px}.integration-grid h3{margin-bottom:12px}.status-message{padding:12px;border-radius:9px;background:#edf1e6;margin:12px 0}.week-link{display:flex;width:100%;justify-content:space-between;padding:16px;border-bottom:1px solid #d7dfcf;text-align:left}.recipe-notes textarea{min-height:100px}.preview-tag{cursor:pointer}.tiny input[type=file]{max-width:100%}input,select,textarea{font-size:16px!important}.task-line{overflow-wrap:anywhere}

.generation-status{margin:0 0 20px;border:1px solid #96b47a;background:#edf3e3}.generation-status h3{font-size:20px}.generation-status p{font-size:16px;margin:10px 0;line-height:1.5}
.nutrition-panel{border:1px solid #cbd7be;background:#f2f5e9;border-radius:15px;padding:18px;margin:18px 0}.nutrition-panel h3,.recipe-source h3{font-size:19px}.nutrition-basis{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 9px}.nutrition-caption{font-size:14px;font-weight:650;margin:10px 0}.nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.nutrition-grid span{display:block;font-size:13px}.nutrition-grid strong{display:block;font-size:24px;color:#264b3e;line-height:1.4}.nutrition-grid small{font-size:12px;font-weight:500;margin-left:3px}.nutrition-extras{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:14px;margin:13px 0}.recipe-source{padding:16px 0;border-bottom:1px solid #dbe1d2;margin-bottom:17px}.recipe-source p{margin:8px 0}.recipe-source a{overflow-wrap:anywhere}.recipe-notes details{margin:18px 0}.recipe-notes summary{font-weight:650;cursor:pointer;padding:10px 0}@media(max-width:430px){.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-grid strong{font-size:26px}.nutrition-panel{padding:15px}}
