body.m{padding-bottom:0}
.shell{display:flex;min-height:100vh}
.side{width:230px;flex:none;background:#0d0d10;border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px}
.side nav{display:flex;flex-direction:column;gap:4px}
.side nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:#cfcfd6;font-weight:600;position:relative}
.side nav a.on{background:linear-gradient(90deg,#c98a00,#f5b301);color:#1a1200}.side nav a:not(.on):hover{background:#ffffff0d}
.side nav em,.bell em{background:var(--bad);color:#fff;border-radius:99px;font:700 11px Montserrat;font-style:normal;padding:1px 7px;margin-left:auto}
.sidefoot{margin-top:auto;color:var(--mut);font-size:13px}
.col{flex:1;min-width:0}
.mtop{display:none}
.mmain{max-width:1050px;margin:auto;padding:26px 24px 60px}
.ic{width:22px;height:22px;flex:none}
.tabs{display:none}
.hello{font:700 clamp(30px,5vw,44px)/1.05 Oswald,sans-serif;text-transform:uppercase;margin-bottom:4px}.hello span{color:var(--gold)}
.sub{color:var(--mut);margin-bottom:18px}
.pg{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.pg>.mc{margin:0;grid-column:span 6}.pg>.w4{grid-column:span 4}.pg>.w8{grid-column:span 8}.pg>.w12{grid-column:span 12}
.ring{display:flex;align-items:center;gap:18px}
.ring svg{width:130px;height:130px;flex:none;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:11;stroke-linecap:round}.ring .bg{stroke:#26262c}.ring .fg{stroke:var(--gold)}
.ring.ok .fg{stroke:var(--ok)}.ring.warn .fg{stroke:var(--warn)}.ring.bad .fg{stroke:var(--bad)}
.ring .big{font:700 44px/1 Oswald,sans-serif}.ring .big small{display:block;font:500 13px Montserrat;color:var(--mut)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{background:#1a1a1f;border:1px solid var(--line);border-radius:14px;padding:14px 8px;text-align:center;font-weight:700;font-size:13.5px;display:flex;flex-direction:column;align-items:center;gap:6px}
.tile .ic{width:28px;height:28px;color:var(--gold)}.tile:hover{border-color:var(--gold2)}
.note{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
h2+.note{border-top:0}
.note i{width:9px;height:9px;border-radius:50%;background:var(--gold);margin-top:6px;flex:none}.note.ok i{background:var(--ok)}.note.bad i{background:var(--bad)}.note.warn i{background:var(--warn)}
.note.old i{background:#444}.note small{display:block;color:var(--mut);font-size:12px}
.day{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
h2+.day{border-top:0}
.day .wd{width:44px;flex:none;font:700 15px Oswald,Impact,sans-serif;color:var(--gold);text-transform:uppercase;padding-top:2px}
.day.today{background:#f5b30112;margin:0 -10px;padding:12px 10px;border-radius:10px;border-top-color:transparent}
.day b{display:block}.day pre{font:inherit;color:#cfcfd6;white-space:pre-wrap;margin-top:4px}
.day.rest b{color:var(--mut);font-weight:500}
.meal{padding:12px 0;border-top:1px solid var(--line);white-space:pre-wrap}h2+.meal{border-top:0}
.macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.macros div{background:#1a1a1f;border-radius:12px;padding:12px 4px}.macros b{display:block;font:700 24px Oswald,Impact,sans-serif}.macros span{font-size:12px;color:var(--mut)}
.lc{width:100%;height:auto;overflow:visible}.lc .ln{fill:none;stroke:var(--gold);stroke-width:2.5}.lc .ar{fill:#f5b30118}.lc circle{fill:var(--gold)}
.lc text{fill:#f4f4f6;font:600 11px Montserrat,system-ui,sans-serif}.lc text.ax{fill:#9a9aa6;font-weight:500}
.tabsw{display:flex;gap:6px;margin-bottom:10px}.tabsw a{padding:6px 14px;border-radius:99px;background:#1b1b20;color:var(--mut);font-weight:600;font-size:13px}.tabsw a.on{background:var(--gold);color:#1a1200}
.empty{color:var(--mut);padding:8px 0}
textarea{width:100%;background:#0b0b0d;color:var(--tx);border:1px solid #33333b;border-radius:10px;padding:11px 12px;font:inherit;min-height:90px;resize:vertical}
@media(max-width:860px){
 .side{display:none}
 .mtop{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;position:sticky;top:0;z-index:20;background:#0a0a0bee;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
 .bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1b1b20}.bell em{position:absolute;top:-3px;right:-3px;margin:0}
 .mmain{padding:18px 14px calc(96px + env(safe-area-inset-bottom))}
 .pg>.mc,.pg>.w4,.pg>.w8{grid-column:span 12}
 .tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#0d0d10f2;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
 .tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--mut);padding:6px 0;border-radius:10px}
 .tabs a.on{color:var(--gold)}
 .pwa{bottom:84px}
}
.pf input[name=exercise]{flex:2;min-width:0}.pf input[name=kg]{flex:1;min-width:0}
.ring .big{font-family:Oswald,Impact,sans-serif}.ring .big small{font-family:Montserrat,system-ui,sans-serif}
/* login */
.lg-page{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative}
.lg-bg{position:fixed;inset:0;background:linear-gradient(180deg,#0a0a0cb0 0%,#0a0a0c 62%),url(img/login.webp) center top/cover no-repeat;z-index:0}
.lg-box{position:relative;z-index:1;width:100%;max-width:400px;text-align:center}
.lg-logo{width:84px;height:84px;margin:0 auto 6px;color:var(--gold)}.lg-logo svg{width:100%;height:100%;stroke-width:1.6}
.lg-t{font:700 54px/1 Oswald,Impact,sans-serif;font-style:italic;color:#f7d77a;letter-spacing:1px}
.lg-s{color:var(--gold);letter-spacing:8px;font-weight:700;font-size:13px;margin-bottom:6px}
.lg-sub{font-size:18px;margin:10px 0 26px}
.lg-in{display:flex;align-items:center;gap:10px;background:#141418ee;border:1px solid #33333b;border-radius:14px;padding:0 14px;margin-bottom:14px;text-align:left}
.lg-in:focus-within{border-color:var(--gold)}.lg-in .ic{color:#cfcfd6}
.lg-in input{border:0;background:none;padding:16px 0;outline:0!important}
.eye{background:none;border:0;color:#cfcfd6;padding:4px;cursor:pointer}
.lg-go{padding:16px;font-size:17px;margin-top:4px;border-radius:14px}
.lg-note{color:var(--mut);font-size:13px;margin-top:14px}
/* member home v2 */
.who{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.av{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#f9c62e,#a87000);display:grid;place-items:center;font:700 24px Oswald,Impact,sans-serif;color:#1a1200;border:2px solid #fff3;flex:none}
.who small{display:block;color:var(--mut);font-size:15px}.who b{font-size:22px}
.who .bell{margin-left:auto;display:grid}
.mcard{border:1px solid var(--gold2);background:linear-gradient(135deg,#2a2208,#121214 60%);border-radius:18px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.mcard h3{font:700 18px Oswald,Impact,sans-serif;display:flex;gap:8px;align-items:center;margin-bottom:10px}.mcard h3 .ic{color:var(--gold)}
.mcard .pn{font:700 24px Oswald,Impact,sans-serif;margin-bottom:6px}
.mcard .ring{flex:none}.mcard .ring svg{width:112px;height:112px}
.mcard .rc{position:relative;width:112px;height:112px;flex:none}.mcard .rc svg{position:absolute;inset:0;width:100%;height:100%}
.mcard .rc div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:700 32px/1 Oswald,Impact,sans-serif}.mcard .rc small{font:500 13px Montserrat,system-ui,sans-serif;color:#cfcfd6}
.t4{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.t4 a{background:linear-gradient(160deg,#1a1a1f,#111114);border:1px solid var(--line);border-radius:16px;padding:18px 10px;text-align:center;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:104px;justify-content:center}
.t4 a .ic{width:34px;height:34px;color:var(--gold)}.t4 a:hover{border-color:var(--gold2)}
.seg{display:flex;gap:8px;margin-bottom:14px}.seg a{flex:1;text-align:center;padding:11px 6px;border-radius:12px;background:#17171b;border:1px solid var(--line);font-weight:600;font-size:14px}.seg a.on{background:linear-gradient(180deg,#f9c62e,#d99a00);color:#1a1200;border-color:transparent}
.hero{position:relative;border-radius:18px;overflow:hidden;min-height:190px;display:flex;align-items:flex-end;padding:18px;margin-bottom:14px;background:linear-gradient(0deg,#0a0a0cf0 10%,#0a0a0c33),url(img/strength.webp) center/cover}
.hero h2{font:700 24px Oswald,Impact,sans-serif;text-transform:none;margin:0;display:block}.hero p{color:#cfcfd6;margin-top:4px}
details.dd{background:linear-gradient(160deg,#1a1a1f,#111114);border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
details.dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 14px;font-weight:700}
details.dd summary::-webkit-details-marker{display:none}.dd .ic{color:var(--gold)}
details.dd summary::after{content:'›';margin-left:auto;font-size:24px;color:var(--mut);transition:transform .2s}details.dd[open] summary::after{transform:rotate(90deg)}
details.dd.today{border-color:var(--gold2)}details.dd.rest summary{color:var(--mut);font-weight:500}
details.dd pre{font:inherit;color:#cfcfd6;white-space:pre-wrap;padding:0 16px 16px}
.startb{display:flex;width:100%;justify-content:center;gap:10px;padding:16px;border:1px solid var(--gold2);background:#1a1608;color:var(--gold);border-radius:14px;font:700 18px Montserrat,system-ui,sans-serif;cursor:pointer;margin-top:6px}
.startb:disabled{opacity:.55;cursor:default}
@media(min-width:861px){.mtop{display:none}}

/* admin layout */
body.adm .mmain{max-width:1200px}
.anav{display:none}
.side nav a{white-space:nowrap}
.sidefoot{margin-top:auto}
.dn2{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qa{background:#1a1a1f;border:1px solid var(--line);border-radius:14px;padding:16px 8px;text-align:center;font-weight:600;font-size:13.5px;display:flex;flex-direction:column;align-items:center;gap:8px}
.qa .ic{width:28px;height:28px;color:var(--gold)}.qa:hover{border-color:var(--gold2)}
.donut{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.donut .rc{position:relative;width:150px;height:150px}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:16}.donut .rc div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:700 38px/1 Oswald,Impact,sans-serif}.donut .rc small{font:500 13px Montserrat,system-ui,sans-serif;color:var(--mut)}
.lgd i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:8px}.lgd div{margin:8px 0}
.bars{display:flex;gap:4px;align-items:flex-end;height:150px;border-bottom:1px solid var(--line);margin:10px 0 26px}
.bars div{flex:1;position:relative;background:linear-gradient(180deg,#f5b301,#7a5500);border-radius:3px 3px 0 0;min-height:2px}.bars div em{position:absolute;bottom:-22px;left:-4px;right:-4px;text-align:center;font:500 11px Montserrat,system-ui,sans-serif;color:var(--mut);font-style:normal}
@media(max-width:860px){.anav{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;border-bottom:1px solid var(--line);position:sticky;top:67px;z-index:19;background:#0a0a0bee;backdrop-filter:blur(8px)}
 .anav a{white-space:nowrap;padding:7px 12px;border-radius:99px;background:#1b1b20;color:var(--mut);font-weight:600;font-size:13px}.anav a.on{background:var(--gold);color:#1a1200}
 .pwa{bottom:12px}.dn2{grid-template-columns:1fr 1fr}}
