
:root{--green:#1f9d6b;--green-d:#17795280;--ink:#1c2b27;--muted:#6b7d77;--bg:#f5f8f6;--card:#fff;--line:#e6ecea}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;font:16px/1.6 -apple-system,"PingFang SC","Helvetica Neue",Arial;background:var(--bg);color:var(--ink)}
a{color:var(--green);text-decoration:none}
.wrap{max-width:560px;margin:0 auto;padding:16px 16px 96px}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:700;font-size:18px;letter-spacing:.5px}
.brand small{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}
.card{background:var(--card);border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 2px 10px rgba(20,60,45,.05)}
.privacy{background:#eef7f2;color:#2b6b52;border-radius:12px;padding:10px 14px;font-size:13px;margin:10px 0;display:flex;gap:8px;align-items:center}
.big{font-size:34px;font-weight:700;color:var(--green)}
.muted{color:var(--muted);font-size:13px}
.bar{height:12px;border-radius:8px;background:#e9f1ed;overflow:hidden;margin:10px 0 6px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#38c08a,#1f9d6b);border-radius:8px}
.bar.warn i{background:linear-gradient(90deg,#ffb457,#f08a24)}
.bar.over i{background:linear-gradient(90deg,#ff8a80,#e53935)}
.meal{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--line)}
.meal:last-child{border:none}
.meal b{font-weight:600}
.tag{display:inline-block;background:#eef7f2;color:#1f7a58;border-radius:999px;padding:2px 10px;font-size:12px;margin-right:6px}
.items{margin:8px 0 0;padding-left:0;list-style:none}
.items li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dotted #eef2f0;font-size:14px}
.btn{display:block;width:100%;padding:14px;border:none;border-radius:14px;background:var(--green);color:#fff;font-size:16px;font-weight:600;margin-top:10px}
.btn.ghost{background:#fff;color:var(--green);border:1.5px solid var(--green)}
.btn.gray{background:#eef2f0;color:#4b5f58}
input,select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:16px;background:#fff;margin:6px 0 12px}
label{font-size:14px;color:var(--muted)}
.nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:flex}
.nav a{flex:1;text-align:center;padding:12px 0 14px;font-size:12px;color:var(--muted)}
.nav a b{display:block;font-size:19px;line-height:1.4}
.nav a.on{color:var(--green)}
.center{text-align:center}
.hero{padding:26px 16px 10px;text-align:center}
.hero h1{margin:0 0 6px;font-size:24px}
.hero p{margin:0;color:var(--muted);font-size:14px}
.spin{display:none;text-align:center;color:var(--muted);padding:20px}
.spin.on{display:block}
.err{background:#fdecea;color:#c62828;border-radius:10px;padding:10px 14px;font-size:14px;margin:10px 0}
.pill{font-size:12px;color:#1f7a58;background:#eef7f2;border-radius:999px;padding:3px 10px}

.ops{display:flex;gap:16px;margin-top:10px;font-size:13.5px}
.ops a{color:#6f817b;border-bottom:1px dashed #ccd7d3;cursor:pointer}
.ops a.danger{color:#c0655f;border-bottom-color:#eec9c6}

.fix{color:#8aa79c;font-size:12.5px;margin-left:6px;border-bottom:1px dashed #cfe0d9;cursor:pointer}

.editor{background:#f7fbf9;border:1px solid #e2ece8;border-radius:12px;padding:12px;margin:8px 0}
.editor label{display:block;font-size:12.5px;color:#7b8b85;margin:6px 0 2px}
.editor input{width:100%;padding:10px 12px;border:1.5px solid #e2ece8;border-radius:10px;font-size:15px;background:#fff;margin:0}
.e-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.mini{border:none;border-radius:9px;padding:9px 12px;font-size:13.5px;background:#eef2f0;color:#4b5f58}
.mini.ok{background:#1f9d6b;color:#fff}
.mini.del{background:#fdecea;color:#c62828}
