:root{--pink:#ec4899;--rose:#fb7185;--deep:#9f1239;--ink:#4a1734;--muted:#7d5a6e;--line:#f5cfe1;--soft:#fff0f7;--shadow:0 14px 40px #ec48991a}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 10% 0,#fff 0,#fff7fb 48%,#ffeef7 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);color:var(--deep);cursor:pointer;background:#fff;border-radius:13px;padding:10px 13px;font-weight:800}button.primary{background:linear-gradient(135deg,var(--pink),var(--rose));color:#fff;border-color:#0000;box-shadow:0 8px 22px #ec489938}.wrap{max-width:1180px;margin:auto;padding:14px 16px}.top{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#ffffffe6;position:sticky;top:0}.topin{justify-content:space-between;align-items:center;gap:10px;max-width:1180px;margin:auto;padding:10px 16px;display:flex}.brand h1{margin:0;font-size:17px}.brand small{color:var(--muted);font-size:11px}.actions{gap:8px;display:flex}.hero{padding:20px 0 12px}.hero h2{margin:0 0 6px;font-size:29px}.hero p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat,.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:20px}.stat{padding:13px}.stat b{font-size:19px;display:block}.stat span,.note{color:var(--muted);font-size:12px}.panel{margin:12px 0;padding:15px}.panel h3{margin:0 0 11px}.calhead,.sectiontitle{justify-content:space-between;align-items:end;gap:10px;display:flex}.calendar{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.dow{text-align:center;color:var(--muted);padding:4px;font-size:11px;font-weight:800}.day{text-align:left;cursor:pointer;border-radius:14px;min-height:75px;padding:9px;transition:background .15s}.day:hover{background:var(--soft)}.day.active{outline:2px solid var(--pink);background:var(--soft)}.daynum{font-size:16px;font-weight:900}.tiny{color:var(--muted);margin-top:5px;font-size:10px}.check{color:var(--deep);font-weight:900}.mealgrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.meal{border:1px solid var(--line);background:#fff;border-radius:17px;padding:13px;transition:border-color .15s}.meal.selected{background:linear-gradient(#fff1f8,#fff);border-color:#ee83b1}.meal h4{margin:0 0 7px;font-size:15px}.meta{flex-wrap:wrap;gap:6px;display:flex}.pill,.tag{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 8px;font-size:11px;display:inline-flex}.tag{color:var(--deep);background:#fff0f7}.detail{color:#6b5360;margin:8px 0;font-size:12px;line-height:1.45}.meal button{width:100%;margin-top:8px}.waterbuttons{flex-wrap:wrap;gap:7px;display:flex}.waterbar{background:#fde3ef;border-radius:999px;height:11px;margin-top:10px;overflow:hidden}.bar{background:linear-gradient(90deg,var(--pink),var(--rose));height:100%;transition:width .4s}.selection-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;display:grid}.summary{border:1px solid var(--line);border-radius:14px;padding:10px}.summary b{font-size:12px;display:block}.summary span{color:var(--muted);font-size:11px}.loggrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.field label{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:800;display:block}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:10px}.field textarea{resize:vertical;min-height:86px}.full{grid-column:1/-1}.toast{color:#fff;z-index:100;pointer-events:none;background:#4a1734;border-radius:999px;padding:10px 14px;font-size:12px;animation:.2s fadein;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes fadein{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=850px){.stats{grid-template-columns:repeat(2,1fr)}.mealgrid{grid-template-columns:1fr}.loggrid,.selection-summary{grid-template-columns:1fr 1fr}}@media (width<=520px){.wrap{padding:10px}.topin{padding:9px 10px}.actions button:not(.primary){display:none}.hero h2{font-size:23px}.calendar{gap:4px}.day{min-height:67px;padding:7px}.panel{padding:11px}.loggrid,.selection-summary{grid-template-columns:1fr}.daynum{font-size:14px}}
