:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#101114;background:#f4f7f6;line-height:1.4;--green:#12c77b;--green2:#0fa968;--dark:#0d1117;--muted:#687176;--line:#e7ece9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#0d1117;color:#fff;display:flex;flex-direction:column;gap:8px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px;margin-bottom:26px}.brand b{color:var(--green)}.panda{font-size:30px}.brand.big{font-size:26px;color:#0d1117;justify-content:center;margin-bottom:10px}.brand.big .panda{font-size:44px}.content{width:min(940px,100%);margin:0 auto;padding:34px 34px 100px}.nav-item{border:0;background:transparent;color:#b6bec3;display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;text-align:left}.nav-item svg{width:20px}.nav-item.active,.nav-item:hover{background:#18211e;color:#fff}.nav-item.active svg{color:var(--green)}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:10px;padding:15px 8px;border-top:1px solid #242a2e}.profile div:nth-child(2){display:flex;flex-direction:column}.profile span{font-size:12px;color:#9aa3a8}.avatar{width:38px;height:38px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-weight:800;color:#fff}.logout{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#aeb6ba;padding:10px}.bottom-nav{display:none}.hero{margin-bottom:18px}.hero h1{font-size:34px;margin:3px 0}.muted{color:var(--muted)}.small{font-size:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.weight-chip{background:var(--dark);color:#fff;padding:16px 18px;border-radius:18px;display:grid;grid-template-columns:auto auto;gap:2px 9px;align-items:center}.weight-chip span{grid-column:2;font-size:12px;color:#bdc3c7}.health-banner{background:#eafff5;border:1px solid #c7f4dd;border-radius:16px;padding:12px 14px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.health-banner>div{display:flex;align-items:center;gap:10px}.health-banner span{display:flex;flex-direction:column}.health-banner small{color:var(--muted)}.sync-ok{background:#12c77b;color:#fff;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3,.fitness-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stat-card,.quick-stat,.chart-card,.panel,.scanbox,.workout-card,.today-session{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px #0e19140b}.stat-card{padding:18px;min-height:145px}.stat-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.stat-title svg{width:20px;color:var(--green)}.big-number{font-size:32px;font-weight:900;margin:23px 0 3px}.camera-action{width:100%;border:0;background:linear-gradient(135deg,var(--green),#28dc94);color:#fff;border-radius:20px;padding:18px;margin:16px 0;display:flex;align-items:center;gap:14px;text-align:left;box-shadow:0 12px 30px #12c77b33}.camera-action span{display:flex;flex-direction:column;flex:1}.camera-action small{opacity:.84}.quick-stat{padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center}.quick-stat svg{color:var(--green);margin-bottom:6px}.quick-stat b{font-size:23px}.quick-stat span{font-size:12px;color:var(--muted)}.today-session{padding:16px;display:flex;align-items:center;gap:13px}.today-session:hover{border-color:#bfead5}.session-icon{width:48px;height:48px;border-radius:14px;background:#e9fbf3;color:var(--green2);display:grid;place-items:center}.session-main{flex:1}.session-main h3{margin:2px 0}.session-main p{margin:0;color:var(--muted);font-size:13px}.eyebrow{font-size:10px;font-weight:900;color:var(--green2)}.chart-card{background:#0d1117;color:#fff;padding:20px;margin:16px 0}.chart{width:100%;height:auto;color:var(--green);margin-top:12px}.badge{background:var(--green);padding:7px 10px;border-radius:10px;font-weight:800}.page-title{display:flex;gap:12px;align-items:center;margin-bottom:22px}.page-title h2{margin:0;font-size:30px}.page-title span{color:var(--muted)}.title-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e9fbf3;color:var(--green2)}.panel{padding:18px;margin:14px 0}.health-source{display:flex;align-items:center;gap:12px}.health-source div{display:flex;flex-direction:column}.health-source span{font-size:12px;color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.permission-grid span{background:#f3f7f5;border-radius:10px;padding:9px;font-size:12px}.section-title{margin:22px 0 10px}.workout-card{padding:18px;margin:12px 0}.workout-top{display:flex;gap:12px;align-items:center}.mini-badge{background:#e8fff4;color:#0b9b5d;border-radius:8px;padding:5px 7px;font-size:10px;font-weight:900}.workout-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.mini-metric{background:#f5f8f7;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;text-align:center}.mini-metric svg{width:18px;color:var(--green2)}.mini-metric span{font-size:10px;color:var(--muted);margin:4px 0}.mini-metric b{font-size:13px}.meal{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0;display:flex;gap:16px;align-items:center}.meal-time{font-size:12px;color:var(--muted);width:45px}.meal-main{flex:1}.meal-main p{margin:3px 0;color:#3c4447}.meal-main span{font-size:12px;color:var(--muted)}.outline,.primary{border:0;border-radius:14px;padding:13px 16px;display:flex;align-items:center;justify-content:center;gap:8px}.outline{width:100%;border:1px dashed #b8c4be;background:#fff;color:#35403b;margin:12px 0}.primary{background:var(--green);color:#fff;font-weight:800}.scanbox{text-align:center;padding:28px;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center}.scanbox>.primary{margin-top:18px}.plate{font-size:78px}.detected{width:min(440px,100%);display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.nutrition{margin:18px 0;background:#f1f8f5;padding:14px;border-radius:15px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.nutrition b{width:100%;font-size:24px}.admin-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-summary>div{background:#0d1117;color:#fff;border-radius:18px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}.admin-summary svg{grid-row:1/3;color:var(--green)}.admin-summary b{font-size:26px}.admin-summary span{color:#b9c0c3}.user-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.user-row>div:nth-child(2){flex:1;display:flex;flex-direction:column}.user-row>div:nth-child(2) span{font-size:12px;color:var(--muted)}.role{padding:6px 9px;border-radius:8px;font-size:12px}.role.admin{background:#e6fbf2;color:#088c55}.role.user{background:#eef1f3;color:#526067}.forbidden{text-align:center;padding:100px 20px;color:#56615c}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 30% 20%,#e9fff5,#f4f7f6 45%,#edf2f0)}.login-card{width:min(430px,100%);background:#fff;border-radius:26px;padding:32px;box-shadow:0 24px 70px #0f19141f}.login-card form{display:flex;flex-direction:column;gap:10px;margin:25px 0}.login-card label{font-size:13px;font-weight:700}.login-card input,.login-card select{padding:12px;border-radius:12px;border:1px solid #dce4e0;background:#fff}.login-card .primary{margin-top:10px}.login-card small{color:var(--muted)}.error{background:#fff1f1;color:#b42318;padding:10px;border-radius:10px}@media(max-width:780px){.shell{display:block}.sidebar{display:none}.content{padding:24px 16px 100px}.bottom-nav{display:grid;grid-template-columns:1fr 1fr 70px 1fr 1fr;position:fixed;left:0;right:0;bottom:0;background:#0d1117;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:10}.bottom-nav .nav-item{padding:7px 3px;flex-direction:column;gap:2px;justify-content:center;font-size:10px}.bottom-nav .nav-item svg{width:21px}.fab{width:54px;height:54px;border:0;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:-20px auto 0}.grid3,.fitness-summary{grid-template-columns:repeat(3,1fr)}.workout-metrics,.permission-grid{grid-template-columns:repeat(2,1fr)}.page-title h2{font-size:25px}}@media(max-width:430px){.grid2{grid-template-columns:1fr 1fr}.grid3,.fitness-summary{gap:8px}.quick-stat{padding:11px}.quick-stat b{font-size:18px}.stat-card{padding:14px;min-height:136px}.big-number{font-size:24px}.hero h1{font-size:29px}.weight-chip{padding:12px}}.panel input,.panel select{padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.data-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.data-form .primary{min-height:44px}.compact{width:auto;margin:0}.panel .error{margin-top:12px}.data-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.success{margin-top:12px;background:#e8fff4;color:#087f4d;padding:10px;border-radius:10px}.profile-details{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.profile-details>summary{cursor:pointer;display:flex;align-items:center;gap:9px;font-weight:800;list-style:none}.profile-details>summary::-webkit-details-marker{display:none}.profile-details>summary svg{color:var(--green2);width:21px}.profile-details[open]>summary{padding-bottom:14px;border-bottom:1px solid var(--line)}.profile-details .page-title{margin-top:18px}.icon-danger{border:0;background:#fff1f1;color:#b42318;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}.icon-danger svg{width:18px}.workout-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.workout-row h3{margin:0}.weight-chart{background:var(--dark);color:#fff;border-radius:18px;padding:16px;margin:14px 0}.weight-chart span{font-size:12px;color:#b9c0c3}.weight-chart svg{width:100%;height:150px;color:var(--green)}.user-block{border-bottom:1px solid var(--line)}.user-block:last-child{border-bottom:0}.user-block .user-row{border:0}.user-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 14px 50px}.user-editor input,.user-editor select{padding:10px;border:1px solid var(--line);border-radius:10px}.editor-actions{display:flex;gap:8px;align-items:center}.editor-actions .outline{margin:0}.backup-button{margin-left:auto;border:0;border-radius:12px;background:var(--dark);color:#fff;padding:10px 13px;font-weight:700}.week-summary{margin-top:16px;background:linear-gradient(135deg,#0d1117,#18211e);color:#fff;border-radius:18px;padding:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.week-summary>div{display:flex;align-items:center;gap:9px}.week-summary svg{color:var(--green);width:22px}.week-summary span{display:flex;flex-direction:column;font-size:12px;color:#b9c0c3}.week-summary b{font-size:22px;color:#fff}.week-summary small{grid-column:1/-1;color:#9aa3a8;border-top:1px solid #29322e;padding-top:9px}.photo-field{border:1px dashed #aebcb5;border-radius:12px;padding:10px;color:var(--muted);font-weight:600!important}.photo-field svg{width:20px;color:var(--green2)}.photo-field input{border:0!important;padding:5px 0!important}.meal-photo{width:92px;height:82px;border-radius:12px;object-fit:cover;flex:0 0 auto}.card-actions{display:flex;gap:7px}.icon-edit{border:0;background:#e8fff4;color:#087f4d;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.icon-edit svg{width:18px}.heart-line{display:flex;align-items:center;gap:5px;color:#b4235a!important;font-size:13px}.heart-line svg{width:17px}.recovery-card{text-align:center}.recovery-card .primary{width:100%;margin-top:18px}@media(max-width:700px){.user-editor{grid-template-columns:1fr;padding-left:0}.user-row .role{order:3}.user-row .compact{font-size:11px;padding:8px}}@media(max-width:600px){.page-title{flex-wrap:wrap}.backup-button{width:100%;margin-left:0}}@media(max-width:500px){.week-summary{grid-template-columns:1fr}.week-summary small{grid-column:1}}@media(max-width:500px){.meal{align-items:flex-start;flex-wrap:wrap}.meal-photo{width:100%;height:190px}.meal .icon-danger{margin-left:auto}}.mobile-header{display:none}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--dark)}.mobile-brand span{display:flex;flex-direction:column}.mobile-brand strong{font-size:15px}.mobile-brand strong b{color:var(--green2)}.mobile-brand small{color:var(--muted)}.mobile-actions{display:flex;gap:7px}.mobile-logout,.mobile-admin{border:0;background:#18211e;color:#fff;border-radius:10px;padding:9px 11px;align-items:center;gap:7px}.mobile-admin{background:#e6fbf2;color:#088c55}.mobile-admin.active{background:var(--green);color:#fff}.mobile-logout svg,.mobile-admin svg{width:18px}@media(max-width:600px){.data-form{grid-template-columns:1fr}.user-row{flex-wrap:wrap}}@media(max-width:780px){.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.mobile-logout,.mobile-admin{display:flex}}@media(max-width:430px){.mobile-header{align-items:stretch}.mobile-brand,.mobile-actions{width:100%}.mobile-logout,.mobile-admin{flex:1;font-size:12px;padding:8px}}.brand-logo{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.9);flex:0 0 auto}.brand.big .brand-logo{width:84px;height:84px;border:3px solid #101114;box-shadow:0 8px 25px #00000014}.sidebar .brand-logo{border-color:#fff}
