@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');

.auth-tabs{display:flex;gap:8px;background:#f0f5ee;padding:5px;border-radius:12px;margin:22px 0}.auth-tabs button{flex:1;border:0;border-radius:9px;padding:10px;background:transparent;color:#728a78;font-weight:800}.auth-tabs button.active{background:#fff;color:#267653;box-shadow:0 3px 10px #294b3214}.auth-note{font-size:11px!important;margin:17px 0 0!important}.auth-card{max-width:470px}

:root{--bg:#f7f8f2;--paper:#fff;--ink:#20382f;--muted:#78877e;--line:#e8eee6;--green:#267653;--green2:#dff2e4;--lime:#eaf2ca;--coral:#f4a78c;--pink:#fff0e8;--shadow:0 12px 32px rgba(36,70,45,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:32px 19px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-1px;margin:0 13px 36px}.brand-mark{height:33px;width:33px;background:var(--green);color:white;border-radius:11px;display:grid;place-items:center;transform:rotate(-8deg);font-size:23px}.brand-sub{font-size:10px;color:#8ca295;letter-spacing:2px;font-weight:700;display:block;margin-top:-3px}.side-label{color:#a4b0a5;font-size:11px;font-weight:700;letter-spacing:1.8px;padding:0 15px;margin:8px 0 12px}.nav{display:flex;align-items:center;width:100%;border:0;background:transparent;color:#6b8175;border-radius:13px;padding:13px 15px;margin:2px 0;text-align:left;font-weight:700;gap:13px}.nav:hover,.nav.active{background:#e7f2e8;color:var(--green)}.nav-icon{font-size:19px;width:23px;text-align:center}.side-bottom{margin-top:auto;background:#edf5e9;border-radius:19px;padding:17px}.side-bottom b{font-size:14px}.side-bottom p{font-size:12px;line-height:1.6;color:#65816d;margin:7px 0 13px}.side-bottom button{border:0;background:var(--green);color:white;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}.main{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:rgba(247,248,242,.92)}.breadcrumb{font-size:13px;color:#86978b}.breadcrumb b{color:var(--ink)}.top-actions{display:flex;align-items:center;gap:12px}.date-pill{font-size:12px;color:#6e8776;background:white;padding:9px 13px;border-radius:30px;border:1px solid var(--line)}.avatar{width:37px;height:37px;border-radius:50%;background:#ffdaca;color:#7c5847;border:0;font-weight:800}.content{max-width:1290px;margin:auto;padding:35px 42px 110px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin:0 0 8px}.page-title{font-size:29px;line-height:1.3;margin:0;font-weight:800;letter-spacing:-1px}.subtitle{color:#839287;font-size:13px;line-height:1.8;margin:8px 0 0}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 18px #26765329}.btn-primary:hover{background:#1b6144}.btn-light{background:#edf5ea;color:var(--green)}.btn-outline{background:#fff;color:var(--green);border:1px solid #cee3d4}.btn-plain{background:transparent;color:#66806d}.btn-sm{padding:8px 12px;font-size:12px;border-radius:9px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(285px,.72fr);gap:20px}.stack{display:flex;flex-direction:column;gap:20px}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:19px}.card-title{font-size:18px;font-weight:800;margin:0}.card-caption{font-size:12px;color:#9aaa9d;margin:5px 0 0}.link-btn{border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;padding:4px}.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#e0f1dd 0%,#eaf4e4 52%,#f4f7df 100%);border:0;min-height:270px;padding:30px}.hero:after{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:#c5e5c4;right:-60px;top:-100px;opacity:.48}.hero:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:35px solid #fff8;right:90px;bottom:-130px}.hero-content{position:relative;z-index:1;max-width:480px}.hero h2{font-size:29px;line-height:1.35;margin:8px 0 9px;letter-spacing:-1px}.hero p{font-size:13px;color:#65806a;line-height:1.7;margin:0 0 20px}.hero-visual{position:absolute;z-index:1;right:20px;bottom:-17px;font-size:130px;transform:rotate(-12deg);filter:drop-shadow(0 20px 10px #587b3b33)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px}.kpi .label{font-size:12px;color:#8b9b90}.kpi strong{display:block;font-size:23px;margin:7px 0 3px}.kpi small{font-size:11px;color:#a1aea2}.kpi .icon{float:right;font-size:19px;background:#f1f6eb;border-radius:10px;padding:6px}.progress{height:10px;background:#e8efe7;border-radius:20px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,#56b478,#257c57);border-radius:20px}.progress-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.progress-row strong{font-size:29px}.progress-row span{font-size:12px;color:#8b9b90}.hint{background:#f4f8f1;border-radius:12px;padding:12px 14px;color:#5c7764;font-size:12px;line-height:1.7;margin-top:16px}.meal-list{display:flex;flex-direction:column;gap:10px}.meal-row{display:flex;gap:13px;align-items:center;padding:10px;border:1px solid #eff2ed;border-radius:14px}.meal-thumb{width:57px;height:57px;border-radius:11px;object-fit:cover;background:#e9f1e5;display:grid;place-items:center;font-size:26px;flex-shrink:0}.meal-row b{font-size:13px}.meal-row p{color:#9aac9e;font-size:11px;margin:5px 0 0}.meal-row .right{margin-left:auto;text-align:right;font-size:12px;color:var(--green);font-weight:800}.empty{padding:28px;text-align:center;border:1px dashed #d7e4d7;border-radius:14px;color:#91a294;font-size:13px}.empty .emoji{display:block;font-size:35px;margin-bottom:7px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-item{border-radius:15px;padding:17px;background:#f7f9f3}.plan-item:nth-child(2){background:#edf6ef}.plan-item:nth-child(3){background:#fff5ef}.plan-item .time{color:#86a08b;font-size:11px;font-weight:800}.plan-item h4{margin:8px 0;font-size:14px}.plan-item p{font-size:11px;line-height:1.65;color:#87968b;margin:0}.section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.section-grid.two{grid-template-columns:repeat(2,1fr)}.feature-card{background:white;border:1px solid var(--line);border-radius:19px;padding:22px;box-shadow:var(--shadow)}.feature-card .big-icon{font-size:35px;margin-bottom:17px}.feature-card h3{font-size:17px;margin:0 0 7px}.feature-card p{font-size:12px;line-height:1.7;color:#849489;margin:0 0 15px}.pill{border-radius:30px;padding:6px 10px;background:#e9f4ea;color:var(--green);font-size:11px;font-weight:800;display:inline-block}.pill.peach{background:#fff0e7;color:#b67551}.pill.gray{background:#f1f3ef;color:#819185}.list{display:flex;flex-direction:column;gap:12px}.list-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0eb;padding:11px 0}.list-line:last-child{border:0}.list-line b{font-size:13px}.list-line small{display:block;color:#99a69b;font-size:11px;margin-top:4px}.chip-row{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#f0f5ed;color:#698477;border:0;border-radius:30px;padding:8px 12px;font-size:12px}.chip.active{background:var(--green);color:white}.banner{background:#e5f3e6;border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:14px}.banner h3{margin:0 0 5px}.banner p{margin:0;color:#6e8b75;font-size:12px}.product-visual{height:132px;border-radius:13px;background:linear-gradient(135deg,#f6eee5,#eaf2dc);display:grid;place-items:center;font-size:67px;margin-bottom:16px}.price{font-size:19px;font-weight:800}.muted{color:#91a197;font-size:12px}.notice{font-size:12px;line-height:1.6;background:#fff9e9;color:#9c7d40;border-radius:12px;padding:12px 14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:800;color:#65796a}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe8dd;background:#fbfcfa;border-radius:11px;padding:11px 12px;outline:0;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{border-color:#61ae7c}.field textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 13px}.modal-backdrop{position:fixed;inset:0;background:#14251d88;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:22px;width:min(540px,100%);max-height:min(92vh,850px);overflow:auto;padding:25px;box-shadow:0 20px 80px #152b2080}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-top h2{margin:0;font-size:20px}.close{background:#f1f5f0;border:0;width:32px;height:32px;border-radius:9px;color:#627968;font-size:18px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;background:#264937;color:#fff;padding:12px 18px;border-radius:12px;font-size:13px;box-shadow:0 12px 34px #213d2760;max-width:90vw}.preview{width:100%;max-height:190px;object-fit:cover;border-radius:14px;margin:0 0 13px}.stats-split{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-box{background:#f5f8f2;border-radius:14px;padding:15px}.stat-box small{font-size:11px;color:#8b9d90}.stat-box b{display:block;font-size:21px;margin-top:7px}.onboard{min-height:100vh;background:linear-gradient(135deg,#e7f3e3,#f9faf4 45%,#fff0e6);display:grid;place-items:center;padding:24px}.onboard-card{width:min(620px,100%);background:#fff;border-radius:27px;padding:36px;box-shadow:0 22px 70px #4a765b20}.onboard-card h1{font-size:29px;margin:0 0 8px}.onboard-card p{color:#809185;font-size:13px;line-height:1.7}.onboard-head{font-size:38px;margin-bottom:12px}.bottom-nav{display:none}.small-sep{height:1px;background:var(--line);margin:18px 0}.switch{display:flex;align-items:center;gap:9px;color:#768a7a;font-size:12px}.switch input{accent-color:var(--green)}.timeline{display:flex;gap:10px;align-items:flex-start;margin:16px 0}.timeline .dot{width:26px;height:26px;border-radius:50%;background:#e2f2e4;color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.timeline b{font-size:13px}.timeline p{font-size:12px;color:#8fa094;margin:3px 0 0}.wallet-number{font-size:36px;font-weight:800;margin:5px 0}.secondary-row{display:flex;gap:9px;flex-wrap:wrap}.simple-table{width:100%;border-collapse:collapse;font-size:12px}.simple-table td,.simple-table th{text-align:left;padding:12px 7px;border-bottom:1px solid var(--line)}.simple-table th{color:#87988d;font-weight:600}.status{color:#2d885a;font-weight:800}.status.wait{color:#c48252}@media(max-width:1000px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:26px 10px}.brand{font-size:0;margin:0 8px 30px}.brand-sub,.side-label,.nav .label,.side-bottom{display:none}.nav{justify-content:center;padding:13px}.content{padding:28px 27px 100px}.topbar{padding:0 27px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.hero-visual{font-size:100px}}@media(max-width:650px){.app-shell{display:block}.sidebar{display:none}.topbar{height:61px;padding:0 19px}.date-pill{display:none}.content{padding:24px 17px 104px}.page-title{font-size:24px}.page-head{align-items:center}.page-head .btn{padding:10px 12px;font-size:12px}.card{padding:19px;border-radius:18px}.hero{padding:24px;min-height:248px}.hero h2{font-size:25px;max-width:250px}.hero p{max-width:230px}.hero-visual{font-size:86px;right:-4px;bottom:2px}.kpi-grid{gap:8px}.kpi{padding:13px}.kpi strong{font-size:19px}.kpi .label{font-size:10px}.kpi .icon{font-size:14px}.plan-grid,.section-grid,.section-grid.two{grid-template-columns:1fr}.plan-grid{gap:8px}.plan-item{padding:13px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:7px 5px max(7px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:10;justify-content:space-around}.bottom-nav button{background:transparent;border:0;color:#98a69a;font-size:10px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px}.bottom-nav button span{font-size:21px}.bottom-nav button.active{color:var(--green)}.form-grid{grid-template-columns:1fr}.onboard-card{padding:25px}.banner{flex-direction:column;align-items:flex-start}}
[hidden]{display:none!important}
.guide-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.guide-body{background:#f4f8f1;border-radius:14px;padding:17px;color:#526b59;font-size:13px;line-height:1.8;margin-bottom:15px}.guide-body p{margin:0}.guide-steps{margin:0;padding-left:23px}.guide-steps li{padding:5px 0}.guide-body .muted{margin-top:10px}
.body-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.body-metrics>div{background:#f4f8f1;border-radius:14px;padding:15px}.body-metrics small{display:block;color:#839789;font-size:11px}.body-metrics strong{display:block;color:#245c40;font-size:25px;margin-top:5px}.body-metrics span{color:#839789;font-size:11px}@media(max-width:480px){.body-metrics{gap:7px}.body-metrics>div{padding:12px}.body-metrics strong{font-size:20px}}
.nav-icon,.bottom-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.unread-dot{position:absolute;right:-5px;top:-3px;width:9px;height:9px;background:#e54d4d;border:2px solid #fff;border-radius:50%;box-sizing:content-box}.message-row.unread{background:#fff7f5;border-radius:11px;padding-left:10px;padding-right:10px}.chat-log{max-height:48vh;overflow:auto;display:flex;flex-direction:column;gap:9px;margin:12px 0}.chat-bubble{max-width:86%;background:#f1f6ef;padding:10px 12px;border-radius:13px;font-size:13px;line-height:1.6;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.mine{background:#e5f3e6;align-self:flex-end}.chat-bubble small{display:block;color:#8a9c8e;font-size:10px;margin-bottom:3px}.message-section{margin-top:18px}
.station-entry,.chat-list-row{width:100%;display:flex;align-items:center;gap:12px;border:0;text-align:left;background:#fff;color:inherit;cursor:pointer;font:inherit}.station-entry{padding:17px 19px;border-radius:17px;margin-bottom:18px;box-shadow:0 8px 30px rgba(28,64,39,.05)}.station-entry>span:nth-child(2),.chat-list-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.station-entry small,.chat-list-copy small,.chat-list-copy>span{color:#839087;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-icon,.chat-avatar{width:42px;height:42px;border-radius:14px;background:#edf5ec;display:grid;place-items:center;flex:none;font-size:21px}.chat-list-row{padding:14px 4px;border-bottom:1px solid #eef2ed}.chat-list-row:last-child{border-bottom:0}.chat-list-row:hover,.station-entry:hover{background:#f7faf5}.chat-unread{min-width:19px;height:19px;padding:0 5px;border-radius:12px;background:#e54d4d;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none}.chat-chevron{font-size:21px;color:#a4b0a5;flex:none}
.chat-tab-icon{width:22px;height:22px;display:block}.messages-heading{display:flex;align-items:center;justify-content:space-between;margin:3px 0 18px}.messages-heading h1{font-size:28px;line-height:1.2;margin:0;color:#254b37}.station-top-button{position:relative;width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:13px;background:#edf5ec;color:#2e6143;cursor:pointer}.station-top-button svg{width:24px;height:24px}.station-top-button .chat-unread{position:absolute;top:-7px;right:-8px;border:2px solid #f7f8f2;box-sizing:content-box}.conversation-list{background:#fff;border-radius:17px;padding:0 15px;box-shadow:0 8px 30px rgba(28,64,39,.05)}.conversation-list .empty{padding:35px 12px}.conversation-list .chat-list-row{padding:15px 1px;min-height:74px;gap:13px}.chat-avatar{width:46px;height:46px;border-radius:15px;background:#edf5ec}.chat-avatar.group-avatar{background:#e9f1fa}.chat-list-copy{gap:5px}.chat-list-copy .chat-list-name{font-size:15px;font-weight:700;color:#243c2d}.chat-list-copy .chat-list-preview{font-size:13px;color:#87968a}.chat-list-meta{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;color:#9aaba0;font-size:11px;flex:none;padding:2px 0}.chat-list-row .chat-unread{min-width:18px;height:18px}
@media(max-width:650px){.bottom-nav button .bottom-icon{width:28px;height:28px;line-height:28px;flex:none}.bottom-nav button .chat-tab-icon{width:21px;height:21px}}
.station-header-button{position:relative;width:37px;height:37px;display:grid;place-items:center;flex:none;border:0;border-radius:12px;background:#e9f3e9;color:#2e6143;cursor:pointer}.station-header-button svg{width:21px;height:21px}.station-header-button .chat-unread{position:absolute;top:-6px;right:-8px;border:2px solid #f7f8f2;box-sizing:content-box}
.conversation-list{border-radius:0;padding:0;box-shadow:none;border-top:1px solid #e8ece8}.conversation-list .chat-list-row{padding:15px 14px;min-height:76px;gap:13px;border-color:#eef0ee}.conversation-list .chat-list-row:hover{background:#f8faf8}.conversation-list .chat-avatar{border-radius:10px;width:48px;height:48px;font-size:23px}.conversation-list .chat-list-name{font-size:16px;color:#202b23}.conversation-list .chat-list-preview{font-size:13px;color:#929c94}.conversation-list .chat-list-meta{font-size:11px}.chat-screen{height:min(730px,calc(100dvh - 170px));display:flex;flex-direction:column;background:#ededed;border:1px solid #e0e5e0;border-radius:16px;overflow:hidden}.chat-screen-head{height:62px;display:flex;align-items:center;gap:12px;padding:0 16px;background:#f7f7f7;border-bottom:1px solid #e0e0e0;flex:none}.chat-back,.chat-details{border:0;background:transparent;color:#333;font-size:30px;line-height:1;display:grid;place-items:center;width:34px;height:38px;padding:0}.chat-details{font-size:26px}.chat-details-placeholder{width:34px}.chat-screen-title{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column}.chat-screen-title b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-screen-title small{font-size:11px;color:#909990}.chat-screen-messages{flex:1;min-height:0;overflow:auto;padding:22px 18px;display:flex;flex-direction:column;gap:18px}.chat-message{display:flex;align-items:flex-start;gap:9px;max-width:80%;align-self:flex-start}.chat-message.mine{flex-direction:row-reverse;align-self:flex-end}.chat-message-avatar{width:36px;height:36px;border-radius:7px;background:#d8e7d8;display:grid;place-items:center;color:#28563c;font-size:15px;font-weight:700;flex:none}.chat-message.mine .chat-message-avatar{background:#b2df91}.chat-message-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.chat-message.mine .chat-message-content{align-items:flex-end}.chat-message-content small{font-size:11px;color:#9aa39a;margin:0 2px 4px}.chat-message-content time{font-size:10px;color:#a2aaa2;margin:4px 2px 0}.chat-message .chat-bubble{max-width:100%;background:white;border-radius:6px;padding:9px 12px;color:#273027;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.mine .chat-bubble{background:#95ec69}.chat-empty{align-self:center;margin:auto;color:#a0a9a0;font-size:13px}.chat-compose{padding:10px 12px;display:flex;align-items:flex-end;gap:9px;background:#f7f7f7;border-top:1px solid #dedede;flex:none}.chat-compose textarea{flex:1;min-width:0;min-height:38px;max-height:100px;resize:vertical;border:1px solid #dedede;background:white;border-radius:7px;padding:9px 10px;font-size:14px;line-height:1.4}.chat-compose button{border:0;border-radius:7px;background:#38ad65;color:white;height:38px;padding:0 16px;font-weight:700;flex:none}
@media(max-width:650px){.content:has(.chat-screen){padding:0 0 65px}.chat-screen{height:calc(100dvh - 61px - 65px);border:0;border-radius:0}.chat-screen-messages{padding:18px 13px}.chat-message{max-width:88%}.conversation-list{margin:0 -17px}.conversation-list .chat-list-row{padding:14px 17px}}
.public-group-row{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.public-group-row:last-child{border-bottom:0}.public-group-icon{width:43px;height:43px;display:grid;place-items:center;flex:none;border-radius:12px;background:#eaf2eb;font-size:22px}.public-group-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.public-group-info b{font-size:15px}.public-group-info small,.public-group-info span{color:#859488;font-size:12px}.public-group-info .group-description,.group-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.public-group-info .group-description{margin:4px 0;color:#526b59;font-size:13px}.public-group-info .public-group-warning{color:#ad6d46}.public-group-row>.btn{flex:none;margin-top:5px}@media(max-width:650px){.public-group-row{gap:10px}.public-group-icon{width:38px;height:38px}.public-group-row>.btn{padding:7px 10px}}
.content>.card+.card{margin-top:18px}
.member-count{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:7px;padding:5px 9px;border-radius:999px;background:#edf5ea;color:#2e704b;font-size:11px;font-weight:700;white-space:nowrap}.public-group-info .member-count{color:#2e704b}
.circle-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--line)}.circle-tabs button{display:flex;align-items:center;gap:7px;padding:11px 17px;border:0;border-bottom:3px solid transparent;background:transparent;color:#788a7c;font-weight:700}.circle-tabs button.active{border-bottom-color:var(--green);color:var(--green)}.circle-tabs span{font-size:11px;padding:2px 7px;border-radius:12px;background:#e9f2e9}.circle-search{display:flex;align-items:center;gap:12px;margin-bottom:14px}.circle-search input{flex:1;min-width:0;padding:12px 14px;border:1px solid #dce8de;border-radius:11px;background:white}.circle-search span{color:#839287;font-size:12px;white-space:nowrap}.public-circle-list{background:white;border-radius:14px;overflow:hidden}.public-circle-item{width:100%;display:flex;align-items:center;gap:14px;padding:15px;border:0;border-bottom:1px solid #ecf0ec;background:white;text-align:left;color:inherit;font:inherit;cursor:pointer}.public-circle-item:last-child{border-bottom:0}.public-circle-item:hover{background:#f8fbf8}.public-circle-item .public-group-info{min-width:0}.public-circle-item .public-group-info>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-circle-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}.public-circle-side .member-count{margin:0}.public-circle-side small{font-size:11px;color:#859488}.circle-paging{display:flex;justify-content:center;align-items:center;gap:13px;margin:18px 0;color:#748676;font-size:12px}.circle-detail-meta{display:flex;gap:8px;align-items:center}.circle-detail p{line-height:1.7}.circle-detail .group-description{padding:14px;background:#f3f8f2;border-radius:12px;color:#425c48}.circle-detail-actions{display:flex;justify-content:flex-end;margin-top:20px}.circle-contact{padding:15px;background:#f3f8f2;border-radius:12px;margin:12px 0 17px;overflow-wrap:anywhere}.circle-contact strong{color:#236945}.circle-detail .notice{margin-bottom:15px}@media(max-width:650px){.circle-tabs button{flex:1;justify-content:center}.public-circle-item{gap:10px;padding:14px 10px}.public-circle-item .public-group-icon{width:38px;height:38px}.public-circle-side .member-count{font-size:10px;padding:4px 6px}}
#pull-refresh-hint{position:fixed;z-index:30;top:68px;left:50%;transform:translate(-50%,-16px);padding:9px 16px;border-radius:999px;background:#276e4a;color:#fff;box-shadow:0 8px 20px #183d2833;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}#pull-refresh-hint.visible{opacity:1;transform:translate(-50%,0)}

/* Shared surface depth */
.card,.feature-card,.kpi,.stat-box,.plan-item,.conversation-list,.chat-screen,.public-circle-list{box-shadow:0 2px 5px #315b3510,0 14px 34px #315b3510;border:1px solid #e7eee6}
.card,.feature-card,.kpi{background:linear-gradient(155deg,#fff 0%,#fff 78%,#fbfdf9 100%)}
.btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn-primary{box-shadow:0 5px 9px #164e3026,0 12px 24px #164e301c}
.btn-outline{box-shadow:0 2px 6px #315b3510}
@media(hover:hover){.btn:not(:disabled):hover{transform:translateY(-2px)}.card:hover,.feature-card:hover,.kpi:hover{box-shadow:0 4px 8px #315b3510,0 18px 38px #315b3518}}
.nav.active{box-shadow:inset 0 1px #ffffffb0,0 5px 12px #316e3e12}
.bottom-nav{box-shadow:0 -7px 28px #244a2a12}

/* Community */
.community-page{max-width:1060px;margin:auto}
.community-page .page-head{position:relative;align-items:center;margin-bottom:24px;padding:24px 27px;border:1px solid #d9e9db;border-radius:25px;background:radial-gradient(circle at 90% -30%,#ffffffbd 0 15%,transparent 40%),linear-gradient(115deg,#e1f1e3,#f4f8ed 70%,#fff9ee);box-shadow:0 4px 9px #2a5a3520,0 20px 38px #2a5a3514;overflow:hidden}
.community-page .page-head:after{content:'✦';position:absolute;right:26%;top:-31px;font-size:110px;color:#ffffff76;pointer-events:none;transform:rotate(-15deg)}
.community-page .page-head>div,.community-page .page-head>.btn{position:relative;z-index:1}
.community-page .page-title{font-size:30px}
.circle-board{padding:22px;border-radius:26px;background:#ffffffa6;border:1px solid #e8eee6;box-shadow:0 4px 12px #315b350c,0 24px 50px #315b3510}
.community-page .circle-tabs{display:inline-flex;gap:5px;padding:5px;margin-bottom:22px;border:1px solid #e7eee7;border-radius:15px;background:#f2f6f0;box-shadow:inset 0 2px 5px #365c3410}
.community-page .circle-tabs button{border:0;border-radius:11px;padding:10px 18px;font-size:13px;color:#6d8474}
.community-page .circle-tabs button.active{background:#fff;color:#236746;box-shadow:0 3px 9px #2e5c3022}
.community-page .circle-tabs span{background:#e8f1e8;color:#568568}
.admin-pages{max-width:1160px;margin:0 auto}
.admin-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:15px}
.admin-upload-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.admin-upload-card img{display:block;width:100%;height:170px;object-fit:cover;background:#edf1ed}
.admin-upload-card>div{display:grid;gap:6px;padding:11px}.admin-upload-card b{font-size:13px}.admin-upload-card small{color:var(--muted);font-size:11px}.admin-upload-card button{justify-self:start}
.admin-user-toolbar{display:flex;gap:10px;margin-bottom:16px}.admin-user-toolbar input{flex:1;min-width:0;padding:10px 13px;border:1px solid var(--line);border-radius:10px}
.admin-user-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-user-table{width:100%;min-width:1120px;border-collapse:collapse;text-align:left;font-size:12px}
.admin-report-table{min-width:760px}
.admin-report-table a{color:var(--green);font-weight:700;text-decoration:none}
.admin-user-table th{position:sticky;top:0;background:#f3f7f1;color:#64786b;font-weight:700;white-space:nowrap}
.admin-user-table th,.admin-user-table td{padding:11px 12px;border-bottom:1px solid #edf1ed;vertical-align:middle}
.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-table tbody tr:hover{background:#f8fbf7}
.admin-user-table td b,.admin-user-table td small{display:block}.admin-user-table td b{font-size:13px}.admin-user-table td small{margin-top:3px;color:#829187;font-size:11px;white-space:nowrap}
.admin-user-id,.admin-user-ip{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-online{color:#238451;font-weight:700}.admin-user-empty{text-align:center;color:var(--muted)}
.admin-shell{min-height:100vh;background:#f7f8f2}
.admin-shell-header{background:#fff;border-bottom:1px solid var(--line);padding:15px clamp(18px,4vw,52px)}
.admin-shell-brand{display:flex;align-items:center;gap:11px}
.admin-shell-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--green);color:#fff;font-size:21px;font-weight:800}
.admin-shell-brand strong,.admin-shell-brand small{display:block}
.admin-shell-brand strong{font-size:16px}
.admin-shell-brand small{margin-top:2px;color:var(--muted);font-size:11px}
.admin-shell-content{max-width:1260px;margin:auto;padding:28px clamp(16px,4vw,52px) 70px}
.admin-sections{display:flex;gap:6px;overflow-x:auto;margin:0 0 20px;padding:5px;border:1px solid #e3eae2;border-radius:15px;background:#f3f7f1}
.admin-sections button{flex:1;min-width:110px;border:0;border-radius:11px;padding:11px 14px;background:transparent;color:#617667;font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.admin-sections button.active{background:#fff;color:#236746;box-shadow:0 3px 10px #274f3020}
.admin-pages>.kpi-grid,.admin-pages .kpi-grid{margin:0 0 20px}
.admin-trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-trend-scroll{width:100%;overflow-x:auto}
.admin-trend-svg{display:block;width:100%;min-width:620px;height:auto;color:#789085;font-size:11px;font-family:inherit}
.admin-trend-svg .trend-grid{stroke:#e3ebe4;stroke-width:1;stroke-dasharray:4 5}
.admin-trend-svg .trend-area{fill:#52a97d;opacity:.13}
.admin-trend-svg .trend-line{fill:none;stroke:#27784f;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.admin-trend-svg circle{fill:#fff;stroke:#27784f;stroke-width:2}
.admin-trend-details{margin-top:8px;color:#607568;font-size:12px}
.admin-trend-details summary{cursor:pointer;color:#27784f;font-weight:650}
.admin-trend-values{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:5px 16px;margin-top:10px}
.admin-trend-values>div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #edf1ed}
.admin-trend-values strong{color:#244b36}
@media(max-width:650px){.admin-sections{gap:3px;padding:4px}.admin-sections button{min-width:86px;padding:9px 10px;font-size:12px}}
.community-page .card{border-radius:19px;box-shadow:none;padding:20px 22px}
.community-page .card-head{margin-bottom:12px}
.community-page .card-title{font-size:16px}
.community-page .card-caption{font-size:12px}
.circle-mine-item{display:flex;align-items:center;gap:15px;padding:17px 0;border-top:1px solid #edf1eb}
.circle-mine-icon{display:grid;place-items:center;flex:none;width:51px;height:51px;border-radius:17px;background:linear-gradient(145deg,#d7eedf,#f2f8e9);color:#33875d;font-size:22px;box-shadow:inset 0 1px #fff,0 5px 11px #246b3420}
.circle-mine-info{flex:1;min-width:0}
.circle-mine-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.circle-mine-title b{font-size:15px}
.circle-owner-badge{padding:3px 7px;border-radius:6px;background:#e8f4ec;color:#387855;font-size:10px;font-weight:800}
.circle-mine-info small{display:block;margin-top:4px;color:#899a8d;font-size:11px}
.circle-mine-info .group-description{margin:8px 0 0;color:#5b705f;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.circle-mine-meta .member-count{margin-top:8px}
.circle-mine-actions{display:flex;align-items:center;gap:8px;flex:none}
.circle-tools{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:16px;margin-top:16px}
.circle-invite{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:17px 20px;border:1px solid #d5e9d9;border-radius:16px;background:#edf7ef}
.circle-invite b{display:block;color:#176b48;font-size:16px}
.circle-invite p{margin:5px 0 0;color:#5b7563;font-size:13px}
.circle-invite .btn{flex:none}
.circle-invite-stack{min-width:0}
.circle-invite-small{padding:15px 16px;background:#f7faf5}
.circle-invite-small b{font-size:14px}
@media(max-width:650px){.circle-invite{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.circle-invite .btn{width:100%}}
.community-page .circle-search{position:relative;margin:0 0 14px}
.community-page .circle-search:before{content:'⌕';position:absolute;left:14px;top:5px;font-size:25px;color:#7d9c87;pointer-events:none}
.community-page .circle-search input{height:46px;padding:12px 15px 12px 42px;border-radius:13px;background:#fff;box-shadow:inset 0 1px 3px #244b240d}
.community-page .public-circle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
.community-page .public-circle-item{align-items:flex-start;min-width:0;min-height:144px;border:1px solid #e5ede5;border-radius:17px;background:linear-gradient(145deg,#fff,#fbfdf9);box-shadow:0 2px 5px #315b3510,0 12px 25px #315b3510;transition:transform .18s ease,box-shadow .18s ease}
.community-page .public-circle-item:last-child{border:1px solid #e5ede5}
.community-page .public-circle-item:hover{background:#fff;box-shadow:0 5px 10px #315b3514,0 18px 30px #315b3519}
@media(hover:hover){.community-page .public-circle-item:hover{transform:translateY(-3px)}}
.community-page .public-group-icon{background:linear-gradient(145deg,#dcefe4,#eef7e9);box-shadow:inset 0 1px #fff,0 4px 8px #275b3020}
.community-page .public-group-info{gap:6px}
.community-page .public-group-info b{font-size:14px}
.community-page .public-group-info>span{max-width:100%}
.community-page .public-circle-side{align-self:stretch;justify-content:space-between}
.community-page .public-circle-side .member-count{font-size:10px}
@media(max-width:850px){.community-page .public-circle-list,.circle-tools{grid-template-columns:1fr}}
@media(max-width:650px){.community-page .page-head{padding:21px 18px;border-radius:20px;gap:8px}.community-page .page-title{font-size:25px}.community-page .page-head .subtitle{max-width:220px}.circle-board{padding:13px;border-radius:19px}.community-page .circle-tabs{display:flex;width:100%;margin-bottom:17px}.community-page .circle-tabs button{flex:1;justify-content:center}.community-page .card{padding:16px}.circle-mine-item{align-items:flex-start;gap:10px}.circle-mine-icon{width:42px;height:42px;border-radius:13px}.circle-mine-actions{flex-direction:column;align-items:stretch}.circle-mine-actions .btn{padding:7px 9px}.community-page .public-circle-list{gap:10px}.community-page .public-circle-item{min-height:120px}.community-page .public-circle-side{min-width:72px}.community-page .public-circle-side .member-count{white-space:normal;text-align:right}.community-page .circle-search span{font-size:11px}}

/* Simpler daily surfaces */
.simple-home,.simple-page,.community-page{max-width:1040px;margin:auto}
.simple-home .page-head,.simple-page .page-head{margin-bottom:22px}
.simple-home .eyebrow,.simple-page .eyebrow{letter-spacing:.4px;text-transform:none}
.simple-home .page-title,.simple-page .page-title{font-size:28px;letter-spacing:-.5px}
.simple-home .subtitle,.simple-page .subtitle{margin-top:4px}
.home-summary{display:grid;grid-template-columns:1.5fr 1fr 1fr;background:#fff;border:1px solid #e5ece5;border-radius:18px;overflow:hidden;margin-bottom:18px}
.home-summary>div{padding:22px;min-width:0}
.home-summary>div+div{border-left:1px solid #edf1ed}
.home-summary span{display:block;color:#809184;font-size:12px;margin-bottom:8px}
.home-summary strong{display:block;color:#263c2e;font-size:19px;line-height:1.4}
.home-summary-main strong{font-size:31px;margin-bottom:13px}
.home-summary-main strong small{font-size:14px;color:#8a9a8d;font-weight:500}
.home-summary-main>.progress{height:7px;margin-bottom:8px}
.home-summary-main>small{color:#9aa89c;font-size:11px}
.home-summary-side .link-btn{padding:10px 0 0;text-align:left}
.home-main-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}
.home-main-grid .card{min-height:200px;box-shadow:none;border-color:#e5ece5}
.home-next{background:#eef5ed!important}
.home-next p{font-size:20px;font-weight:700;line-height:1.55;margin:18px 0 12px;color:#2b4936}
.home-next small{color:#748c79;font-size:12px;line-height:1.6}
.home-guide{display:flex;align-items:center;gap:10px;padding:12px 6px;color:#819283;font-size:12px}
.home-guide .link-btn:last-child{margin-left:auto;font-size:18px}
.page-note{font-size:12px;line-height:1.7;color:#86978a;padding:0 3px}
.simple-page .card,.community-page .card{box-shadow:none;border-color:#e5ece5}
.community-page .page-head{padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.community-page .page-head:after{display:none}
.community-page .page-title{font-size:28px}
.circle-board{padding:0;background:none;border:0;box-shadow:none}
.community-page .circle-tabs{display:flex;width:max-content;max-width:100%;border:0;border-bottom:1px solid #e2e9e2;border-radius:0;background:none;padding:0;box-shadow:none;margin-bottom:20px}
.community-page .circle-tabs button,.community-page .circle-tabs button.active{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;padding:10px 17px}
.community-page .circle-tabs button.active{border-bottom-color:var(--green);color:var(--green)}
.community-page .public-circle-list{display:block;background:#fff;border:1px solid #e5ece5;border-radius:17px;overflow:hidden;box-shadow:none}
.community-page .public-circle-item,.community-page .public-circle-item:last-child{min-height:0;border:0;border-bottom:1px solid #edf1ed;border-radius:0;background:#fff;box-shadow:none;padding:17px 18px;transform:none}
.community-page .public-circle-item:last-child{border-bottom:0}
.community-page .public-circle-item:hover{box-shadow:none;transform:none;background:#f8faf8}
.community-page .public-group-icon,.community-page .circle-mine-icon{box-shadow:none;background:#edf5ed}
@media(max-width:700px){.home-summary{grid-template-columns:1fr 1fr}.home-summary-main{grid-column:1/-1;border-bottom:1px solid #edf1ed}.home-summary>div:nth-child(2){border-left:0}.home-summary>div{padding:17px}.home-main-grid{grid-template-columns:1fr}.home-main-grid .card{min-height:0}.simple-home .page-title,.simple-page .page-title,.community-page .page-title{font-size:24px}.community-page .page-head{padding:0;border-radius:0}.community-page .circle-tabs{display:flex;width:100%}.community-page .public-circle-item,.community-page .public-circle-item:last-child{padding:15px 12px}}
.home-summary-side>small{display:block;color:#91a194;font-size:11px;margin-top:4px}

/* Compact typography and spacing on narrow screens */
@media(max-width:650px){
  .content{padding:15px 13px 86px}
  .topbar{height:52px;padding:0 15px}
  .bottom-nav{min-height:58px}
  .bottom-nav button{min-width:48px;min-height:48px;padding:3px 7px}
  .page-head,.simple-home .page-head,.simple-page .page-head,.community-page .page-head{margin-bottom:14px}
  .page-title,.simple-home .page-title,.simple-page .page-title,.community-page .page-title{font-size:20px;line-height:1.3}
  .eyebrow{font-size:10px;margin-bottom:4px}
  .subtitle{font-size:11px;line-height:1.5;margin-top:3px}
  .page-head .btn{min-height:40px;padding:8px 11px;font-size:11px}
  .card,.community-page .card{padding:15px;border-radius:15px}
  .card-head{margin-bottom:11px}
  .card-title,.community-page .card-title{font-size:15px}
  .card-caption{font-size:11px;margin-top:2px}
  .dashboard-grid,.stack{gap:12px}
  .home-summary{margin-bottom:12px;border-radius:15px}
  .home-summary>div{padding:12px 14px}
  .home-summary span{font-size:11px;margin-bottom:4px}
  .home-summary strong{font-size:15px}
  .home-summary-main strong{font-size:25px;margin-bottom:8px}
  .home-summary-main strong small{font-size:12px}
  .home-summary-side .link-btn{padding-top:6px}
  .home-main-grid{gap:12px}
  .home-next p{font-size:16px;line-height:1.45;margin:11px 0 7px}
  .home-next small{font-size:11px}
  .meal-row{padding:7px;gap:9px}
  .meal-thumb{width:45px;height:45px}
  .meal-row b{font-size:12px}
  .meal-row p{font-size:10px;margin-top:3px}
  .empty{padding:17px;font-size:12px}
  .empty .emoji{font-size:26px;margin-bottom:4px}
  .community-page .circle-tabs{margin-bottom:12px}
  .community-page .circle-tabs button,.community-page .circle-tabs button.active{padding:8px 12px;font-size:12px}
  .community-page .public-circle-item,.community-page .public-circle-item:last-child{padding:12px}
  .circle-mine-item{padding:12px 0}
}

.simple-home>.card,.simple-page>.card{margin-bottom:14px;box-shadow:none}
.review-overview{display:flex;align-items:baseline;gap:12px;margin:-2px 0 10px}
.review-overview strong{font-size:31px;color:#286b48}
.review-overview strong small{font-size:13px;color:#84968a;font-weight:500}
.review-overview>span{font-size:12px;color:#819184}
.review-points{font-size:15px;color:#286b48;white-space:nowrap}
.review-dialog-score{font-size:48px;line-height:1.1;font-weight:800;color:#286b48}
.review-dialog-score small{font-size:16px;color:#87998a;font-weight:500}
.progress.band-red>i{background:#dc625c}
.progress.band-yellow>i{background:#e5b148}
.progress.band-light-green>i{background:#8bcf9a}
.progress.band-green>i{background:#2d855a}
.review-overview.band-red strong,.review-points.band-red,.review-dialog-score.band-red{color:#c84f4b}
.review-overview.band-yellow strong,.review-points.band-yellow,.review-dialog-score.band-yellow{color:#b9851f}
.review-overview.band-light-green strong,.review-points.band-light-green,.review-dialog-score.band-light-green{color:#6cab79}
.review-overview.band-green strong,.review-points.band-green,.review-dialog-score.band-green{color:#287a50}
.home-diet-score{padding:22px 24px!important;margin-bottom:16px!important}
.home-diet-heading{display:flex;align-items:center;gap:12px}
.home-diet-heading h2{font-size:23px;line-height:1.25;margin:0;color:#233e32}
.score-help{position:relative}
.score-help summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid #bcd8c6;border-radius:50%;color:#317850;background:#f4f9f5;font-size:20px;font-weight:700;cursor:pointer;list-style:none}
.score-help summary::-webkit-details-marker{display:none}
.score-help p{position:absolute;z-index:5;top:34px;left:0;width:min(320px,75vw);padding:12px 14px;border:1px solid #dce9de;border-radius:12px;background:#fff;box-shadow:0 8px 24px #1838241c;font-size:12px;line-height:1.6;color:#647869}
.home-diet-caption{margin:7px 0 20px;color:#91a395;font-size:14px}
.home-diet-total{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:16px;color:#889b8e;font-size:14px}
.home-diet-total strong{font-size:44px;line-height:1;color:#287a50}
.home-diet-total strong small{font-size:21px;color:#84988a;font-weight:500}
.home-diet-score.band-red .home-diet-total strong{color:#ca5450}
.home-diet-score.band-yellow .home-diet-total strong{color:#b9851f}
.home-diet-track{height:12px;border-radius:20px;background:#e7eee8;overflow:hidden;margin-bottom:22px}
.home-diet-track i{display:block;height:100%;border-radius:20px;background:#2d855a}
.home-diet-score.band-red .home-diet-track i{background:#dc625c}
.home-diet-score.band-yellow .home-diet-track i{background:#e5b148}
.home-diet-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-diet-metrics>div{padding:17px 18px;border:1px solid #deeadf;border-radius:18px;background:#fafcf9}
.home-diet-metrics span{display:block;color:#718b77;font-size:15px;margin-bottom:9px}
.home-diet-metrics strong{color:#284c38;font-size:29px;line-height:1.15}
.home-diet-metrics small{font-size:14px;color:#8ca091;font-weight:500}
.home-diet-link{margin-top:17px!important;color:#287a50!important;font-weight:700!important;padding:0!important}
.home-body-status{padding:20px 24px!important;margin-bottom:16px!important}
.home-body-heading{display:flex;align-items:center;gap:12px}
.home-body-heading h2{margin:0;color:#84998a;font-size:17px;font-weight:600}
.home-body-primary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.home-body-primary strong{font-size:29px;color:#536e5c;line-height:1.2}
.body-status-badge{padding:6px 16px;border-radius:100px;background:#edf2ed;color:#4c7159;font-size:22px;font-weight:800;line-height:1.25}
.body-status-badge.body-overweight{background:#fff2c9;color:#986416}
.body-status-badge.body-obese{background:#fce2dd;color:#a74d42}
.body-status-badge.body-underweight{background:#e7effe;color:#4567a1}
.body-status-badge.body-normal{background:#e4f3e7;color:#2e7852}
.home-body-details{margin:13px 0 14px;color:#8a9e8e;font-size:16px}
.home-body-link{padding:0!important;color:#287a50!important;font-weight:700!important}
.admin-meal-row{justify-content:flex-start;align-items:flex-start;gap:12px}
.admin-meal-row .meal-thumb{flex:none;width:56px;height:56px;object-fit:cover;border-radius:10px}
.admin-meal-row>div{min-width:0}
.admin-meal-row small{white-space:normal;overflow-wrap:anywhere}
.manual-meal-home{margin:0 0 14px}
@media(max-width:650px){.home-body-status{padding:17px 14px!important}.home-body-primary strong{font-size:26px}.body-status-badge{font-size:20px}.home-body-details{font-size:14px}}
@media(max-width:650px){.home-diet-score{padding:18px 14px!important}.home-diet-heading h2{font-size:21px}.home-diet-total strong{font-size:39px}.home-diet-metrics{gap:7px}.home-diet-metrics>div{padding:12px 9px;border-radius:14px}.home-diet-metrics span{font-size:13px}.home-diet-metrics strong{font-size:25px}.home-diet-metrics small{font-size:11px}}
@media(max-width:650px){.review-overview strong{font-size:26px}.review-dialog-score{font-size:40px}}
.meal-row>div:nth-child(2){min-width:0;flex:1}
.meal-row .right{flex:none;white-space:nowrap;line-height:1.45}
.meal-row .right span{display:block}
.conversation-list .empty .btn,.circle-board .empty .btn{margin-top:12px}
@media(max-width:650px){.meal-row .right{font-size:11px}.meal-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.avatar-setting{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e5ece5;border-radius:18px;padding:16px;margin-bottom:18px}.avatar-setting p{margin:5px 0 0}.avatar-upload{width:64px;height:64px;border:0;border-radius:50%;background:#e9f2e9;color:#267953;font-size:26px;overflow:hidden;flex:none;cursor:pointer}.avatar-upload img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar{overflow:hidden;padding:0}

.knowledge-intro{background:#edf5ef;border:1px solid #dce9df;border-radius:16px;padding:14px 16px;margin-bottom:18px;color:#3d5a4c;font-size:13px;line-height:1.65}.knowledge-rank{display:grid}.knowledge-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #e9eeeb}.knowledge-row:last-child{border-bottom:0}.knowledge-row>div{min-width:0;flex:1}.knowledge-row b,.knowledge-row small{display:block}.knowledge-row small{font-size:11px;color:#82958a;margin-top:3px}.knowledge-row>strong{color:#287552;white-space:nowrap}.knowledge-row>strong small{display:inline;font-weight:400}.knowledge-num{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e8f3eb;color:#267953;font-size:12px;font-weight:700}.knowledge-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.knowledge-articles p{font-size:13px;line-height:1.7;margin:0;color:#496255}@media(max-width:760px){.knowledge-articles{grid-template-columns:1fr}}
.food-lookup{margin-bottom:18px}.food-lookup h2{font-size:17px;margin:0 0 5px}.food-lookup-form{display:flex;gap:10px;margin-top:14px}.food-lookup-form input{flex:1;min-width:0;border:1px solid #dce8dc;border-radius:12px;background:#fbfdfb;padding:10px 12px;font:inherit;font-size:14px}.food-lookup-result:not(:empty){margin-top:14px;padding-top:14px;border-top:1px solid #e9eeeb}.food-lookup-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.food-lookup-title span{font-size:12px;color:#718d7b}.food-lookup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}.food-lookup-grid>div{background:#f3f8f2;border-radius:10px;padding:10px}.food-lookup-grid small,.food-lookup-grid strong{display:block}.food-lookup-grid small{font-size:11px;color:#718d7b}.food-lookup-grid strong{font-size:14px;margin-top:4px}.food-lookup-result p{font-size:11px;line-height:1.6}@media(max-width:520px){.food-lookup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.meal-estimate{margin:15px 0;padding:14px;border:1px solid #e0eadf;border-radius:14px;background:#f8fbf7}.meal-estimate>b{font-size:14px}.meal-estimate>p{font-size:11px;color:#6a8271;margin:5px 0 8px}.meal-estimate-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e6eee5}.meal-estimate-row strong,.meal-estimate-row small,.meal-estimate-row span{display:block}.meal-estimate-row strong{font-size:13px}.meal-estimate-row small,.meal-estimate-row span{font-size:11px;color:#5d7866;line-height:1.55}.meal-estimate-row>div:last-child{text-align:right;flex:none}@media(max-width:480px){.meal-estimate-row{gap:6px}.meal-estimate-row small,.meal-estimate-row span{font-size:10px}}
.meal-item-details{margin-top:7px;color:#50745e;font-size:11px}.meal-item-details summary{cursor:pointer;font-weight:700}.meal-item-details div{padding-top:5px;line-height:1.5;white-space:normal}

/* Keep the home cards readable at phone and narrow tablet widths. */
.home-main-grid>*{min-width:0}
.home-next p,.meal-row b,.meal-row p,.meal-item-details div{overflow-wrap:anywhere;white-space:normal}
.home-main-grid .meal-row>div:nth-child(2){min-width:0}
@media(max-width:1100px){
  .home-main-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
  .home-main-grid .card{min-width:0}
  .home-main-grid .card-head{flex-wrap:wrap}
  .home-main-grid .meal-row{display:grid;grid-template-columns:45px minmax(0,1fr);align-items:start;gap:8px 10px}
  .home-main-grid .meal-thumb{grid-column:1;grid-row:1}
  .home-main-grid .meal-row>div:nth-child(2){grid-column:2;grid-row:1}
  .home-main-grid .meal-row p{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.5}
  .home-main-grid .meal-row .right{grid-column:2;grid-row:2;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;text-align:left;white-space:normal}
  .home-main-grid .meal-row .right small{display:none!important}
}

.group-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid #eadad8;color:#98625e;font-size:12px}
.group-invite-tools{margin-top:18px;padding:14px;border-radius:14px;background:#f2f7f1}
.group-invite-tools .page-note{margin:0 0 10px}
.group-danger-zone .btn,.btn-danger{color:#b5403c;border-color:#e6b8b5}
.btn-danger{background:#bf4944;color:#fff;border:0}
@media(max-width:650px){.group-danger-zone{align-items:flex-start;flex-direction:column}}
.identity-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:#526b59;margin:12px 0}
.identity-consent input{flex:none;margin-top:3px}
.identity-admin-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.overseas .top-actions select,.top-actions #language-select{max-width:150px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:6px 8px;color:var(--ink)}
.language-control{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #b7d5c0;border-radius:11px;background:#eaf5ec;color:#235339;font-size:13px;font-weight:700;white-space:nowrap}.language-control #language-select{max-width:132px;min-width:78px}@media(max-width:650px){.language-control{padding:3px 5px;font-size:11px}.language-control #language-select{max-width:104px}.topbar .date-pill{display:none}}
.overseas .content{max-width:1100px;margin:auto}
.overseas .simple-page>.card{margin-bottom:18px}
.overseas .card form>.btn{margin-top:16px}
.overseas .meal-row .right{display:flex;flex-direction:column;gap:6px}
.circle-language-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0;color:#56745f;font-size:12px;font-weight:700}
.circle-language-control select{max-width:210px;min-width:135px;padding:8px 10px;border:1px solid #dce9dc;border-radius:9px;background:#fff;color:#284d36;font:inherit}
[dir="rtl"] .overseas .sidebar{border-right:0;border-left:1px solid var(--line)}
[dir="rtl"] .overseas .nav{text-align:right}
@media(max-width:1000px){.overseas .bottom-nav .nav .label{display:block;font-size:11px}.overseas .sidebar .nav .label{display:none}}
@media(max-width:800px){.overseas .bottom-nav .nav{display:flex;flex-direction:column;gap:3px;justify-content:center;text-align:center;padding:7px 3px;margin:0}.overseas .topbar{padding:0 16px}.overseas .brand{font-size:19px}}
.overseas .nav-icon{width:24px;height:24px;flex:none;display:grid;place-items:center;line-height:1}
.overseas .nav-icon svg{display:block;width:21px;height:21px}
@media(max-width:650px){.overseas .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.overseas .bottom-nav .nav{width:100%;min-width:0;min-height:61px;display:grid;grid-template-rows:24px minmax(24px,auto);justify-items:center;align-content:center;gap:3px;padding:6px 2px}.overseas .bottom-nav .nav-icon{width:24px;height:24px}.overseas .bottom-nav .nav .label{display:block;width:100%;font-size:10px;line-height:1.15;text-align:center;overflow-wrap:anywhere}}
.identity-admin-photos>div{min-width:0;padding:10px;border:1px solid #e6eee5;border-radius:12px}
.identity-admin-photos b{display:block;font-size:12px;margin-bottom:8px}
.identity-admin-photos img{display:block;width:100%;height:auto;border-radius:8px}
.admin-chat-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin:5px 0}
@media(max-width:650px){.identity-admin-photos{grid-template-columns:1fr}}
.pwa-panel{position:fixed;right:16px;bottom:16px;z-index:1000;max-width:280px;padding:14px 16px;border:1px solid #d9e6da;border-radius:16px;background:#fff;box-shadow:0 8px 32px #203e2526;color:#203e25;font:14px/1.4 system-ui,sans-serif}.pwa-panel[hidden]{display:none}.pwa-panel p{margin:6px 0 10px}.pwa-actions{display:flex;gap:8px;flex-wrap:wrap}.pwa-actions button{border:0;border-radius:9px;padding:8px 11px;background:#406a54;color:#fff;cursor:pointer}.pwa-actions button+button{background:#edf3ee;color:#274b36}@media(max-width:600px){.pwa-panel{right:12px;left:12px;bottom:72px;max-width:none}}

.daily-steps-form{display:grid;grid-template-columns:minmax(0,180px) minmax(0,180px) auto;gap:10px;align-items:center;margin:14px 0}.daily-steps-form input{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}@media(max-width:600px){.daily-steps-form{grid-template-columns:1fr 1fr}.daily-steps-form button{grid-column:1/-1}}

/* Product invitation remains visible on every page and prominent on Today. */
.header-share{border:1px solid #24794f;border-radius:11px;background:#e7f5eb;color:#16633f;padding:9px 12px;font-weight:800;white-space:nowrap}
.header-share:hover{background:#d4eddd}
.share-invite-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:22px 26px;border-radius:20px;background:linear-gradient(115deg,#176b48,#2b9a63);color:#fff;box-shadow:0 12px 28px #195b3b26}
.share-invite-card h3{margin:4px 0 6px;font-size:22px;line-height:1.3}
.share-invite-card p{margin:0;opacity:.9;font-size:13px;line-height:1.6}
.share-invite-kicker{font-size:11px;font-weight:800;letter-spacing:1.4px;opacity:.8}
.share-invite-button{background:#fff;color:#176b48;box-shadow:none;flex:none}
.share-invite-button:hover{background:#eef9f0}
@media(max-width:650px){.header-share{padding:8px 9px;font-size:11px}.share-invite-card{padding:17px;align-items:flex-start;flex-direction:column;gap:14px}.share-invite-card h3{font-size:19px}.share-invite-button{width:100%}}

@media(max-width:650px){.header-share{max-width:128px;overflow:hidden;text-overflow:ellipsis}.topbar .breadcrumb{display:none}}

/* Keep the product title on the left and header controls on the right. */
.topbar{direction:ltr}
.topbar .breadcrumb{display:block;flex:none;min-width:0;color:var(--ink);font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .top-actions{direction:ltr;margin-left:auto;justify-content:flex-end;flex:none}
@media(max-width:650px){.topbar .breadcrumb{display:block;max-width:38vw;font-size:14px}.topbar .top-actions{gap:6px}.overseas .topbar .breadcrumb{max-width:36vw}}
