:root{--bg: #0b0c10;--panel: #11131a;--text: #eef2ff;--muted: rgba(238, 242, 255, .65);--navH: 78px;--radius: 16px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}.appShell{min-height:100svh;display:flex;flex-direction:column}.appMain{flex:1;padding:16px 16px calc(var(--navH) + 18px);overflow-x:hidden}.page{max-width:520px;margin:0 auto}.pageTitle{margin:8px 0 12px;font-size:22px;letter-spacing:.2px}.pageBody{color:var(--muted);line-height:1.5}.card{background:var(--panel);border-radius:var(--radius);padding:12px;box-shadow:0 10px 30px #00000040;margin-bottom:12px}.row{display:flex;gap:10px;align-items:center}.input{flex:1;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text);padding:0 12px;outline:none}.input::placeholder{color:#eef2ff73}.btn{height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--text)}.btn:active{transform:translateY(1px)}.list{list-style:none;padding:0;margin:10px 0 0}.listItem{padding:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:10px}.muted{color:var(--muted);padding:6px 2px}.bottomNav{position:fixed;left:0;right:0;bottom:0;height:var(--navH);padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#11131aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(5,1fr);gap:6px;z-index:50}.navItem{appearance:none;border:0;background:transparent;color:#eef2ffa6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;border-radius:14px;touch-action:manipulation}.navIcon{width:22px;height:22px}.navLabel{font-size:11px;letter-spacing:.2px}.navItem.isActive{color:var(--text);background:#ffffff0f}.navItemPrimary{transform:translateY(-18px)}.primaryCircle{width:54px;height:54px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;box-shadow:0 12px 30px #00000059}.primaryIcon{width:26px;height:26px}.navItemPrimary.isActive .primaryCircle{background:#ffffff2e}.eatBackdrop{position:fixed;inset:0;background:#00000073;z-index:60}.eatDialog{position:fixed;left:50%;bottom:calc(var(--navH) + 12px);transform:translate(-50%);width:min(90%,340px);background:var(--panel);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 40px #0006;z-index:61}.eatAction{height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:var(--text);font-size:15px}.eatCancel{height:42px;border-radius:14px;border:none;background:transparent;color:var(--muted)}.todayEntries{display:flex;flex-direction:column;gap:10px}.todayEntry{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--panel);border-radius:16px;border:1px solid rgba(255,255,255,.08)}.entryLeft{display:flex;align-items:center;gap:10px;flex-shrink:0}.entryTime{font-size:13px;color:var(--muted);min-width:42px}.entryName{font-size:15px;font-weight:500;text-transform:capitalize}.entryDivider{flex:1;height:1px;background:linear-gradient(to right,#ffffff26,#ffffff0d);margin:0 4px}.entryRightTable{display:flex;flex-direction:column;align-items:flex-end;min-width:72px;gap:2px;flex-shrink:0}.entryTableHeader{display:grid;grid-template-columns:repeat(2,minmax(28px,1fr));gap:10px;font-size:11px;color:var(--muted);text-align:center}.entryTableValues{display:grid;grid-template-columns:repeat(2,minmax(28px,1fr));gap:10px;font-size:15px;font-weight:500;text-align:center}.todayEntry.meal{opacity:.9}.todayEntry.custom{border-left:3px solid rgba(255,255,255,.18)}.todayDate{margin-top:-6px;margin-bottom:14px;font-size:20px;color:var(--muted);text-align:center}.todayPage{display:flex;flex-direction:column;gap:12px}.todayDivider{margin:16px 0 8px;height:1px;background:linear-gradient(to right,#ffffff0d,#ffffff2e,#ffffff0d)}.todaySummary{background:var(--panel);border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.08);display:grid;gap:8px}.summaryRow{display:grid;grid-template-columns:1fr 64px 64px;align-items:center;font-size:14px}.summaryRow span{text-align:center}.summaryRow span:first-child{text-align:left;font-weight:500}.summaryRow.muted{color:var(--muted)}.summaryHeader{display:grid;grid-template-columns:1fr 64px 64px;font-size:11px;color:var(--muted)}.summaryHeader span{text-align:center}.summaryHeader span:first-child{text-align:left}.btnPrimary{width:100%;margin-bottom:12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.fieldLabel{font-size:12px;color:var(--muted);margin-bottom:4px}.textarea{width:100%;min-height:64px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text);padding:8px 12px;resize:vertical;margin-top:8px}.cardHeader{display:flex;justify-content:space-between;align-items:center;font-weight:500;margin-bottom:8px}.iconBtn{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:var(--text);font-size:18px}.property{flex:1;display:flex;flex-direction:column}.recipeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recipeCard{aspect-ratio:1 / 1;background:var(--panel);border-radius:16px;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;cursor:pointer;transition:background .15s ease,transform .1s ease}.recipeCard:active{transform:scale(.97);background:#ffffff14}.recipeName{font-size:14px;font-weight:500;line-height:1.3;word-break:break-word}.todayEntry{position:relative}.entryRemove{position:absolute;top:-6px;right:0;width:20px;height:20px;border-radius:999px;border:none;background:#c0392b;color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.entryRemove:active{transform:scale(.9)}.targetForm{display:flex;flex-direction:column;gap:14px}.targetField{display:flex;flex-direction:column;gap:4px}.formError{font-size:13px;color:#e74c3c;background:#e74c3c1f;border:1px solid rgba(231,76,60,.25);border-radius:10px;padding:8px 10px}.btnPrimary{margin-top:6px}.todayEntry{cursor:pointer}.modalOverlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modalCard{width:90%;max-width:420px;background:var(--panel);border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.08)}.modalHeader{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:8px}.modalClose{background:none;border:none;font-size:20px;color:var(--text);cursor:pointer}.modalContent{display:flex;flex-direction:column;gap:8px}.modalItem{display:grid;grid-template-columns:1fr auto;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.modalItem:last-child{border-bottom:none}.modalItemLeft{display:flex;flex-direction:column}.modalItemName{font-size:14px}.modalItemTime{font-size:11px;color:var(--muted)}.modalItemRight{display:grid;grid-template-columns:40px 40px;text-align:center;font-size:13px}.recipeCard{position:relative;aspect-ratio:1 / 1;background:var(--panel);border-radius:16px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:space-between;padding:12px;cursor:pointer}.recipeName{font-size:14px;font-weight:500;text-align:center}.recipeInvBtn{align-self:center;margin-top:8px;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text);cursor:pointer}.recipeInvBtn:active{transform:scale(.95)}.stashGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.stashCard{aspect-ratio:1 / 1;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:var(--panel);padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.stashCard.empty{background:#ffffff0a}.stashCard.filled{background:#ffffff14}.stashName{font-size:14px;font-weight:500;text-align:center}.stashDate{margin-top:6px;text-align:center;line-height:1.3}.stashDate .label{display:block;font-size:11px;color:var(--muted)}.stashDate .value{display:block;font-size:12px;color:var(--text);font-weight:500}.modalRow{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.stashCard.selectable{cursor:pointer;outline:2px dashed rgba(255,255,255,.25)}.stashCard.selectable:active{transform:scale(.97)}.danger{color:#e74c3c;font-weight:600}
