:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#10264c;background:#f7fbfd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 54% 45%,#f1f9fd 0,#f8fbfd 52%,#f5fafc 100%);font-size:14px}button{font:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #86c9ee;outline-offset:2px}.app-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:142px minmax(0,1fr) 355px;grid-template-rows:64px minmax(calc(100vh - 64px),auto);column-gap:16px;padding:0 18px 28px}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:20px;height:64px}.brand{display:flex;align-items:center;gap:11px;min-width:138px;font-size:18px}.brand strong{font-weight:800}.brand-leaf{width:28px;height:28px;display:grid;place-items:center;background:#16b981;color:white;border-radius:80% 5% 80% 5%;transform:rotate(-15deg);font-size:20px;line-height:1}.brand-subtitle{color:#7c91ae;font-size:13px;letter-spacing:1px}.top-spacer{flex:1}.today-date{display:flex;align-items:center;gap:10px;color:#587093;font-size:13px}.small-icon{font-size:19px}.top-divider{height:20px;width:1px;background:#e6eef5;margin:0 2px}.avatar{height:30px;width:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#172e47 55%,#f1d0bf 55%);color:#fff;font-size:11px}.sidebar{grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:900px}.sidebar nav{display:flex;flex-direction:column;gap:9px;padding-top:11px}.nav-item{height:40px;width:100%;background:transparent;color:#536b92;border-radius:10px;display:flex;align-items:center;gap:11px;padding:0 11px;text-align:left;font-weight:550;white-space:nowrap}.nav-item:hover{background:#eaf5f5;color:#159d75}.nav-item.active{background:#dff4ee;color:#078b67;font-weight:750}.nav-icon{width:20px;font-size:22px;line-height:1;text-align:center;font-weight:700}.sidebar-note{margin-top:auto;margin-bottom:28px;position:relative;height:166px;border:1px solid #e3f4ee;border-radius:11px;background:linear-gradient(155deg,#f1fbf9,#eaf8f5);overflow:hidden;padding:11px 17px;color:#365273;line-height:1.5;font-size:15px}.sidebar-note-leaf{font-size:20px}.sidebar-note p{margin:4px 0}.sidebar-note svg{position:absolute;bottom:0;left:0;width:100%;height:60px}.main-column{grid-column:2;grid-row:2;min-width:0}.right-column{grid-column:3;grid-row:2;display:flex;flex-direction:column;gap:12px;min-width:0}.card{border:1px solid #e6eff8;border-radius:11px;background:linear-gradient(145deg,#fff,#fefefe);box-shadow:0 7px 22px rgba(48,105,146,.035)}h1,h2,p{margin-top:0}.hero{height:104px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:0 17px 0 23px;background:linear-gradient(105deg,#eefafb,#e9f5fb 72%,#f7fbff)}.hero-landscape{position:absolute;inset:0;width:100%;height:100%}.hero-content,.hero-goal{position:relative;z-index:1}.hero-content{display:flex;align-items:center;gap:19px}.sun{font-size:34px;color:#ffc433;filter:drop-shadow(0 2px 3px #ffc96f)}.hero h1{font-size:22px;letter-spacing:.5px;margin:0 0 5px;font-weight:800}.hero p{margin:0;color:#6986a7;font-size:13px}.hero-goal{width:264px;height:61px;border-radius:14px;background:#fffdfd;box-shadow:0 5px 15px #9bcbd127;padding:12px 17px;color:#667d9d;font-size:13px}.hero-goal strong{color:#142b55;font-size:17px;margin-left:4px}.hero-progress{display:flex;align-items:center;gap:12px;margin-top:6px}.track{display:block;height:7px;background:#e8eef4;border-radius:20px;overflow:hidden}.track>span{display:block;height:100%;background:linear-gradient(90deg,#0bab73,#17b77f);border-radius:20px}.hero-progress .track{flex:1}.hero-progress b{color:#00a86e;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.stat-card{height:161px;padding:14px 18px;position:relative;overflow:hidden}.stat-heading{display:flex;align-items:center;gap:13px;color:#1e365a;font-weight:650}.badge{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:50%;color:white;font-size:19px;font-weight:bold;line-height:1}.badge.green{background:linear-gradient(145deg,#19c78d,#0da873)}.badge.purple{background:linear-gradient(145deg,#a09bff,#655cf2)}.badge.coral{background:linear-gradient(145deg,#ff859a,#ff465e)}.badge.orange{background:linear-gradient(145deg,#ffd36d,#ff9b25)}.stat-value{display:flex;align-items:baseline;gap:6px;margin:8px 0 1px;white-space:nowrap}.stat-value strong{font-size:31px;letter-spacing:-.8px}.stat-value span{font-size:14px}.stat-value.bp strong{font-size:28px}.stat-change{font-size:13px;white-space:nowrap}.stat-change small{color:#6680a4}.stat-change.good{color:#06af73;font-weight:750}.stat-change.muted{color:#7188a8}.stat-footer{position:absolute;bottom:16px;font-size:12px;color:#6e85a5}.stat-footer em{font-style:normal;color:#11ad7d;font-weight:700}.spark{position:absolute;right:13px;bottom:15px;width:82px;height:36px}.stat-meter{height:8px;border-radius:30px;background:#e6eef4;margin-top:10px;width:72%;overflow:hidden}.stat-meter span{display:block;height:100%;background:linear-gradient(90deg,#0eae75,#19b879);border-radius:30px}.stat-foot-right{position:absolute;bottom:15px;right:17px;color:#05a774;font-size:12px}.trend{margin-top:14px;height:283px;padding:18px 20px 13px}.section-heading,.mini-heading{display:flex;justify-content:space-between;align-items:flex-start}.section-heading h2,.mini-heading h2,.goal-card h2,.advice-card h2,.watch-card h2{font-size:16px;margin:0;font-weight:800;letter-spacing:.2px}.section-heading p{font-size:12px;color:#7089ac;margin:7px 0 0}.heading-icon{font-size:22px;line-height:1;vertical-align:-2px;margin-right:5px}.green-text{color:#10ad78}.blue-text{color:#5a8bc9}.segmented{display:flex;align-items:center;gap:7px}.segmented button{height:28px;min-width:56px;border-radius:20px;background:#f5f8fc;color:#7186a5;font-size:12px}.segmented button.active,.tiny-toggle button.active{background:linear-gradient(135deg,#0ba96c,#16bd86);color:white;box-shadow:0 2px 7px #10b87b34}.chart-legend{display:flex;gap:27px;justify-content:flex-end;color:#8294aa;font-size:11px;margin-top:2px}.chart-legend span,.activity-legend span{display:flex;align-items:center;gap:6px}.chart-legend i,.activity-legend i{display:block;width:18px;height:2px}.solid-green{background:#0aaa72}.dashed-orange{border-top:1.5px dashed #ff9b16}.trend-chart{height:195px;margin-top:2px}.trend-chart svg{width:100%;height:100%;overflow:visible}.bottom-grid{display:grid;grid-template-columns:1.15fr 1.1fr .98fr;gap:10px;margin-top:12px}.bottom-grid>.card{height:270px;padding:15px 17px}.mini-heading{align-items:center;margin-bottom:12px}.mini-heading h2{font-size:15px;white-space:nowrap}.text-link{background:transparent;color:#1aaf83;font-size:10px;padding:4px 0}.progress-row{height:45px;border-bottom:1px solid #edf3f8;display:grid;grid-template-columns:30px 83px 1fr 39px;gap:6px;align-items:center}.progress-row:last-child{border-bottom:0}.progress-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:white;font-size:15px}.progress-icon.amber{background:#ffa629}.progress-icon.green{background:#17b989}.progress-icon.purple{background:#7b6af4}.progress-icon.blue{background:#45b1f6}.progress-label{font-size:11px;color:#19345c;white-space:nowrap}.progress-measure{font-size:10px;color:#506d96;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-measure .mini-track{height:5px;border-radius:10px;background:#e8eef4;margin-top:4px;overflow:hidden}.progress-measure .mini-track span{display:block;height:100%;border-radius:10px;background:#11b57b}.progress-row:nth-child(1) .mini-track span{background:#ff737e}.progress-row:nth-child(2) .mini-track span{background:#ffa227}.progress-status{text-align:right;font-size:10px;color:#14a978;white-space:nowrap}.progress-status.warn{color:#f09823}.progress-status.pending{color:#95a7bd}.tiny-toggle{background:#f5f8fb;border-radius:9px;padding:2px;display:flex}.tiny-toggle button{font-size:10px;min-width:51px;height:25px;border-radius:7px;background:transparent;color:#748aab}.activity-chart{height:182px}.activity-chart svg{width:100%;height:100%;overflow:visible}.activity-legend{display:flex;gap:20px;font-size:10px;color:#7b90ad;margin-top:1px}.activity-legend .solid-green{width:9px;height:9px;border-radius:2px}.nutrition-body{display:flex;align-items:center;gap:15px;height:140px}.donut{width:137px;height:137px;flex:none;border-radius:50%;position:relative;background:conic-gradient(#3795f6 0 27%,#ffb644 27% 71%,#ff8d98 71% 100%);display:grid;place-items:center}.donut:before{content:"";position:absolute;inset:14px;background:white;border-radius:50%}.donut-center{position:relative;z-index:1;text-align:center}.donut-center strong{display:block;font-size:21px}.donut-center small{font-size:9px;color:#8599b1}.nutri-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:13px}.nutri-row{display:grid;grid-template-columns:8px 1fr auto;gap:5px;align-items:center;font-size:10px;color:#526e94;white-space:nowrap}.nutri-dot{height:8px;width:8px;border-radius:50%}.nutri-row b{font-size:10px;color:#244269;font-weight:500}.nutrition-note{background:#eafaf3;border-radius:8px;color:#12a87b;padding:10px 12px;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-affirmation{height:63px;margin-top:12px;background:linear-gradient(105deg,#eefaf6,#e5f6f3 70%,#eef8f5);display:flex;align-items:center;gap:12px;padding:11px 16px;color:#26866f;font-size:12px;line-height:1.7}.footer-affirmation span{font-size:24px}.goal-card{height:340px;padding:18px 18px}.goal-card h2{font-size:20px;display:flex;gap:14px;align-items:center}.goal-icon{font-size:33px;color:#0cab76;line-height:1;font-weight:bold}.goal-current{height:112px;display:flex;align-items:center;gap:14px}.goal-person{font-size:27px;background:#dff8ec;color:#09a873;border-radius:50%;width:39px;height:39px;display:grid;place-items:center}.goal-current>div:nth-child(2){flex:1;min-width:0}.goal-current small,.goal-details small,.weekly-goal small{color:#6981a2;font-size:12px}.goal-current strong{font-size:28px}.goal-current>div:nth-child(2)>div{white-space:nowrap;margin:3px 0}.progress-ring{width:74px;height:74px;border-radius:50%;background:conic-gradient(#16b77e var(--p,9%),#e6edf5 0);display:grid;place-items:center;position:relative}.progress-ring:before{content:"";position:absolute;width:59px;height:59px;border-radius:50%;background:#fff}.progress-ring span{position:relative;font-size:17px;font-weight:800}.goal-details{border-top:1px solid #eaf0f6;border-bottom:1px solid #eaf0f6;height:77px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.goal-details>div{display:flex;gap:10px;align-items:center}.goal-details strong{display:block;margin-top:4px;font-size:16px;white-space:nowrap}.detail-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;font-size:20px}.detail-icon.blue{color:#148cf1;background:#eaf5fe}.weekly-goal{padding-top:14px}.weekly-goal>div{font-size:14px;margin:5px 0}.weekly-goal strong{font-size:17px}.weekly-goal .track{width:100%;margin-top:7px}.advice-card{height:149px;background:linear-gradient(125deg,#ecfaf6,#e9f8f5);padding:16px 18px;display:flex;gap:14px}.advice-icon{width:36px;height:36px;flex:none;background:#d6f5e8;color:#0aaf78;border-radius:50%;display:grid;place-items:center;font-size:27px}.advice-card h2{color:#147b65;margin:1px 0 10px}.advice-card p{font-size:12px;color:#516d85;line-height:1.65;margin-bottom:6px;min-height:40px}.green-button{display:block;margin-left:auto;color:white;background:linear-gradient(130deg,#13ad79,#079b68);padding:7px 13px;border-radius:8px;font-size:11px;white-space:nowrap}.watch-card{height:313px;padding:15px 18px}.watch-card h2{display:flex;gap:10px;align-items:center;margin-bottom:6px}.watch-card .badge{width:30px;height:30px;font-size:16px}.watch-item{height:70px;border-bottom:1px solid #ecf2f7;display:flex;gap:12px;align-items:center}.watch-symbol{width:35px;height:35px;border-radius:50%;background:#e9f2ff;color:#4a92e9;font-size:18px;display:grid;place-items:center;flex:none}.watch-item:first-child .watch-symbol{background:#ffe9ed;color:#ff536f}.watch-item:nth-child(3) .watch-symbol{background:#ffe9ed;color:#ff536f}.watch-item strong{font-size:12px;display:block;margin-bottom:5px}.watch-item p{font-size:11px;color:#7990b0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.watch-all{margin-top:11px;background:transparent;color:#425d85;font-size:12px;padding:0}.watch-all span{margin-left:5px}.secondary-card{padding:24px;min-height:600px}.secondary-header{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #e9f1f7;padding-bottom:18px;margin-bottom:18px}.secondary-header h1{font-size:24px;margin:0 0 5px}.secondary-header p{color:#7289a8;margin:0}.back-button{background:#e8f7f1;color:#009c6b;border-radius:8px;padding:9px 15px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e9f0f6;padding:12px 10px;vertical-align:top}.data-table th{color:#6f86a4;font-weight:650;background:#f6fafc}.data-table td{color:#233e62}.data-table tr:hover td{background:#f7fbfa}.pill{display:inline-block;border-radius:20px;padding:4px 9px;background:#e8f8f0;color:#079b6d;font-size:11px}.pill.pending{background:#fff4e5;color:#d6861f}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.detail-tile{border:1px solid #e6eff5;border-radius:10px;padding:17px;background:#f9fcfd}.detail-tile small{color:#7189aa}.detail-tile strong{display:block;font-size:25px;margin-top:8px}.secondary-list{display:grid;gap:10px}.secondary-list>div{background:#f8fcfd;border:1px solid #e7f0f6;border-radius:9px;padding:12px 14px}.secondary-list strong{display:block;margin-bottom:5px}.secondary-list p{margin:0;color:#617b9a;line-height:1.6}.upload-box{border:1px dashed #a5d6ce;background:#f3fbf8;border-radius:10px;padding:24px;max-width:560px}.upload-box input{margin-top:15px;display:block}.upload-box p{color:#637f97;line-height:1.6}.empty{color:#9badbd} @media(max-width:1280px){.app-shell{grid-template-columns:145px minmax(0,1fr) 300px;column-gap:12px;padding-inline:12px}.stats-grid{gap:8px}.stat-card{padding-inline:13px}.stat-value strong{font-size:27px}.bottom-grid>.card{padding-inline:12px}.donut{width:111px;height:111px}.nutrition-body{gap:8px}.goal-card{padding-inline:13px}}@media(max-width:1050px){.app-shell{grid-template-columns:135px minmax(0,1fr);}.right-column{grid-column:2;grid-row:3;display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px}.goal-card,.advice-card,.watch-card{height:auto;min-height:250px}.goal-current{height:100px}.goal-details{height:70px}.advice-card{display:block}.advice-icon{margin-bottom:10px}.watch-item{height:63px}.watch-item p{max-width:150px}}@media(max-width:740px){.app-shell{display:block;padding:0 12px 30px}.topbar{gap:10px}.brand{min-width:0;font-size:16px}.brand-subtitle,.top-divider{display:none}.today-date{font-size:11px}.sidebar{min-height:0;display:block;overflow-x:auto;margin-bottom:10px}.sidebar nav{display:flex;flex-direction:row;padding-top:0;gap:5px;width:max-content}.nav-item{width:auto;padding:0 11px;font-size:12px}.nav-icon{font-size:17px;width:auto}.sidebar-note{display:none}.hero{height:115px}.hero h1{font-size:17px}.hero p{font-size:11px;max-width:210px}.sun{font-size:26px}.hero-content{gap:9px}.hero-goal{width:145px;height:66px;padding:10px;font-size:10px}.hero-goal strong{font-size:14px}.stats-grid{grid-template-columns:repeat(2,1fr)}.trend{height:300px;padding:16px 12px}.section-heading{gap:8px}.section-heading h2{font-size:15px}.segmented{gap:2px}.segmented button{min-width:38px;font-size:10px}.trend-chart{height:200px}.bottom-grid{grid-template-columns:1fr}.bottom-grid>.card{height:auto;min-height:235px}.nutrition-body{justify-content:space-evenly}.right-column{display:block}.right-column>.card{margin-top:12px}.goal-card{min-height:310px}.watch-card{min-height:315px}.advice-card{min-height:150px}.details-grid{grid-template-columns:1fr 1fr}}@media(max-width:390px){.brand strong{display:none}.hero-goal{width:118px}.hero-content{max-width:190px}.stat-card{padding-inline:10px}.stat-value strong{font-size:25px}}
