*{box-sizing:border-box}body{margin:0;background:#fffaf5;color:#28231d;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.shell{max-width:1180px;margin:auto;padding:22px 22px 110px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.brand{font-family:Georgia,serif;font-weight:700;font-size:27px}.small{font-size:13px;color:#82786c}.nav{display:flex;gap:8px;overflow-x:auto;padding:3px 0 15px;position:sticky;top:0;background:#fffaf5;z-index:3}.nav button,.pill{border:1px solid #e9ded2;border-radius:99px;background:white;padding:10px 15px;white-space:nowrap}.nav button.active,.primary{background:#403b31!important;color:white!important;border-color:#403b31!important}h1,h2,h3{font-family:Georgia,serif;margin:4px 0 14px}h1{font-size:32px}h2{font-size:24px}h3{font-size:19px}.subtitle{color:#877a6d;margin-bottom:20px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.panel,.tile{background:white;border:1px solid #ede5dc;border-radius:18px;padding:17px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.tile{padding:0;overflow:hidden;cursor:pointer}.tile img,.photo{width:100%;height:170px;object-fit:cover;background:#eadfd3}.tile .pad{padding:12px}.placeholder{height:170px;background:linear-gradient(130deg,#eee3d6,#f9efe1);display:grid;place-items:center;font-size:52px}.btn{border:1px solid #dfd5ca;border-radius:12px;background:#fff;padding:10px 15px;color:#352e26}.btn.primary{background:#403b31}.btn.soft{background:#f5efe7}.btn.danger{color:#ad3939}.btn.sm{padding:6px 10px;font-size:13px}.input,textarea,select{width:100%;border:1px solid #dfd6cb;background:#fff;border-radius:11px;padding:11px;min-width:0}textarea{min-height:100px}.field{display:grid;gap:5px;margin:10px 0}.field>label{font-size:13px;font-weight:700;color:#675b50}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.muted{color:#867e72}.star{background:none;border:0;font-size:23px;padding:2px}.star.john{color:#2e74cd}.star.emily{color:#e76caa}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{background:#f3eee7;border-radius:30px;padding:4px 9px;font-size:12px;color:#6a5847}.empty{border:1px dashed #d7c9bb;border-radius:16px;text-align:center;padding:34px;color:#81766b}.shopping-item{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #f0ebe4}.shopping-item input{width:21px;height:21px;accent-color:#37684d;flex-shrink:0}.shopping-item .qty{margin-left:auto;color:#82786c;font-size:14px}.shopping-section{margin-top:20px}.shopping-section h3{text-transform:uppercase;font:700 12px system-ui;letter-spacing:1.1px;color:#8b7b6a}.got{opacity:.65}.got .name{text-decoration:line-through}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day{min-height:150px;background:white;border:1px solid #eee0d4;border-radius:13px;padding:9px}.day strong{display:block;font-size:13px}.day .date{font-size:12px;color:#8a7f71}.day .meal{font-size:12px;background:#f6eee5;border-radius:7px;padding:7px;margin:8px 0}.auth{max-width:430px;margin:10vh auto;padding:28px;background:white;border:1px solid #ede3d9;border-radius:22px;text-align:center}.auth input{font-size:21px;text-align:center;letter-spacing:4px}.auth .input{margin:9px 0}.status{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);background:#423d35;color:white;border-radius:12px;padding:10px 17px;z-index:10;box-shadow:0 4px 20px #0002}.step{padding:20px;background:#f7f1e9;border-radius:15px;font-size:22px;line-height:1.5}.ing{padding:8px 0;border-bottom:1px solid #eee6dc}.search{margin:10px 0 18px}.banner{background:#e9f1e8;border:1px solid #cedece;padding:11px;border-radius:12px;color:#3b6949}.hero-photo{width:100%;max-height:300px;object-fit:cover;border-radius:14px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.block{display:block;width:100%}.badge{font-size:12px;background:#f3eee8;padding:4px 9px;border-radius:99px}.line{border:0;border-top:1px solid #eee5dc;margin:18px 0}.editing-row{display:grid;grid-template-columns:1fr 76px 76px 110px 32px;gap:5px;margin-bottom:7px}.loading{text-align:center;padding:60px}.modal-shade{position:fixed;inset:0;background:#211a15a9;z-index:5;overflow-y:auto;padding:20px}.modal{max-width:760px;margin:20px auto;background:#fffaf5;padding:22px;border-radius:20px}.tabs{display:flex;gap:8px;margin-bottom:12px}@media(max-width:750px){.shell{padding:15px 12px 100px}.brand{font-size:23px}.days{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.three{grid-template-columns:1fr}.editing-row{grid-template-columns:1fr 65px 65px 70px 28px}.top{align-items:flex-start}.btn{padding:9px 11px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tile .photo,.tile .placeholder{height:125px}.tile .pad{padding:9px}.tile h3{font-size:16px}.modal-shade{padding:0}.modal{margin:0;min-height:100vh;border-radius:0}.step{font-size:21px}}