:root{
  --lime:#d8ff38;
  --lime-strong:#c9ff20;
  --ink:#111310;
  --muted:#72776d;
  --panel:rgba(250,251,248,.88);
  --line:rgba(21,25,18,.11);
  --shadow:0 18px 60px rgba(24,30,22,.12);
  --radius:28px;
  --radius-sm:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:
  radial-gradient(circle at 78% 7%,rgba(216,255,56,.15),transparent 25%),
  radial-gradient(circle at 10% 30%,rgba(255,255,255,.9),transparent 30%),
  linear-gradient(135deg,#eff1ed 0%,#fbfbf8 45%,#e8ece5 100%);min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}
button,a{font:inherit}button{color:inherit}.app-shell{width:min(1380px,calc(100% - 40px));margin:40px auto;display:grid;grid-template-columns:205px minmax(0,1fr);gap:18px;position:relative;z-index:1}.sidebar,.card{border:1px solid rgba(255,255,255,.72);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.sidebar{border-radius:34px;padding:23px 17px 16px;position:sticky;top:24px;height:calc(100vh - 48px);min-height:760px;display:flex;flex-direction:column;overflow:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:11px;padding:0 7px 22px;text-decoration:none;color:var(--ink)}.brand-mark{width:27px;height:27px;background:#111;border-radius:3px;display:grid;place-items:center;overflow:hidden;transform:rotate(-2deg)}.brand-mark span{width:18px;height:9px;border-radius:1px;background:#fff;transform:skewX(33deg) rotate(14deg)}.brand strong{display:block;font-size:19px;letter-spacing:-.8px}.brand small{display:block;font-size:7px;letter-spacing:.7px;margin-top:1px;color:#6d716a}.main-nav,.secondary-nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 13px;text-decoration:none;color:#30332f;border-radius:15px;font-size:12px;white-space:nowrap;transition:.24s ease}.nav-item svg{width:18px;height:18px;stroke-width:1.9}.nav-item:hover{background:rgba(216,255,56,.2);transform:translateX(2px)}.nav-item.active{background:#080a08;color:#fff;box-shadow:0 9px 20px rgba(0,0,0,.18)}.nav-item.active svg{color:var(--lime)}.nav-divider{height:1px;background:var(--line);margin:18px 10px}.discipline-card{margin-top:auto;background:#090b09;border-radius:22px;color:#fff;min-height:310px;padding:16px 13px 12px;overflow:hidden;position:relative;isolation:isolate}.discipline-card::before{content:"";position:absolute;width:190px;height:190px;background:var(--lime);filter:blur(1px);right:-100px;bottom:-45px;transform:rotate(-28deg);z-index:-2}.discipline-card::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 45%,rgba(216,255,56,.09) 63%,transparent 75%);z-index:-1}.discipline-copy{position:relative;z-index:2}.discipline-copy .bolt{color:var(--lime);font-size:20px}.discipline-copy h3{font-size:14px;line-height:1.38;margin:8px 0 5px}.discipline-copy p{font-size:9px;color:#bdc2b9;margin:0}.discipline-card>img{width:145px;position:absolute;left:8px;bottom:47px;filter:saturate(.75) contrast(1.05)}.streak-row{position:absolute;bottom:44px;left:13px;right:13px;display:flex;justify-content:space-between;align-items:center;font-size:8px;z-index:3}.streak-row svg{width:13px}.week-dots{position:absolute;bottom:13px;left:12px;right:12px;display:flex;justify-content:space-between;z-index:3}.week-dots span{width:9px;height:9px;border-radius:50%;display:block;background:#2b2f24}.week-dots .on{background:var(--lime);color:#172000}
.dashboard{min-width:0}.card{border-radius:var(--radius);padding:18px}.hero{height:108px;display:grid;grid-template-columns:minmax(310px,1.15fr) minmax(235px,.85fr) repeat(3,minmax(105px,.43fr));align-items:center;padding:15px 28px;overflow:hidden;position:relative}.hero-copy h1{font-size:31px;line-height:1;margin:0 0 13px;letter-spacing:-1.7px}.hero-copy p{margin:0;color:#6a6e67;font-size:14px}.year-banner{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:linear-gradient(120deg,transparent 10%,rgba(216,255,56,.82) 42%,rgba(216,255,56,.52) 64%,transparent 90%);transform:skewX(-7deg)}.year-banner>*{transform:skewX(7deg)}.year-banner strong{font-size:52px;line-height:.85;letter-spacing:-4px;font-style:italic}.year-banner span{font-size:10px;font-weight:800;letter-spacing:1px;margin-top:7px}.year-ticker{width:100%;margin-top:7px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.year-ticker-track{display:flex;width:max-content;animation:year-ticker-scroll 9s linear infinite}.year-ticker-group{display:flex;gap:16px;padding-right:16px;flex-shrink:0}.year-ticker-group span{margin-top:0}@keyframes year-ticker-scroll{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.year-ticker-track{animation:none}}.summary-stat{height:60px;border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column;justify-content:center}.summary-stat small{font-size:10px;color:#666b63}.summary-stat strong{display:flex;align-items:center;gap:8px;font-size:23px;line-height:1;margin-top:7px}.summary-stat strong svg{width:19px;height:19px;stroke-width:2.5}.summary-stat em{font-style:normal;font-size:9px;color:#777b74;margin:3px 0 0 26px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .9fr .78fr;grid-template-areas:"workout workout profile" "nutrition nutrition ranking" "supp progress videos" "badges settings videos";gap:13px;margin-top:12px}.dark-card{background:linear-gradient(145deg,#111411,#090b09);color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 22px 50px rgba(0,0,0,.18)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-heading h2{font-size:20px;line-height:1.1;margin:0;letter-spacing:-.7px}.card-heading p{margin:10px 0 0;font-size:12px;color:#dadfd5}.card-heading p b{color:var(--lime)}.ghost-button,.wide-button{border:1px solid rgba(17,19,16,.26);background:rgba(255,255,255,.45);border-radius:999px;padding:7px 13px;font-size:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.2s ease}.ghost-button:hover,.wide-button:hover{background:var(--lime);border-color:var(--lime)}.ghost-button svg,.wide-button svg{width:12px;height:12px}.ghost-button.inverse{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.03);color:#fff}.ghost-button.inverse:hover{background:var(--lime);color:#111}.wide-button{width:100%;margin-top:auto;background:transparent;height:30px}.inverse h2{color:#fff}
.workout-card{grid-area:workout;min-height:280px;padding:20px 23px 15px}.workout-content{display:grid;grid-template-columns:155px 1fr;gap:10px;align-items:end;height:178px}.muscle-figure{height:100%;display:flex;align-items:flex-end;justify-content:center}.muscle-figure img{max-width:100%;max-height:177px;object-fit:contain}.exercise-table{align-self:center}.exercise-head,.exercise-row{display:grid;grid-template-columns:28px 1.4fr .8fr .65fr;align-items:center}.exercise-head{font-size:7px;color:#a4aaa1;padding:0 7px 5px}.exercise-head span:first-child{grid-column:2}.exercise-head span:nth-child(2),.exercise-head span:nth-child(3){text-align:right}.exercise-row{height:28px;background:rgba(255,255,255,.075);border-radius:12px;margin-bottom:3px;padding:0 8px;font-size:9px}.exercise-row b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.35);font-size:9px}.exercise-row span:nth-child(3),.exercise-row span:nth-child(4){color:#c1c5be;text-align:right}.progress-line{display:grid;grid-template-columns:auto 1fr 43px;gap:12px;align-items:center;font-size:10px}.progress-line>div,.level-bar,.water-bar>div{height:9px;border-radius:99px;background:rgba(255,255,255,.13);overflow:hidden}.progress-line i,.level-bar i,.water-bar>div i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lime),#dfff68);border-radius:inherit;box-shadow:0 0 18px rgba(216,255,56,.42)}.progress-line strong{text-align:right;font-size:11px}
.nutrition-card{grid-area:nutrition;min-height:280px;padding:18px 20px 12px}.meal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.meal-item{border:1px solid rgba(15,17,14,.08);border-radius:14px;background:rgba(255,255,255,.48);padding:8px 8px 7px;min-width:0}.meal-item h3{font-size:10px;margin:0}.meal-item img{width:100%;height:62px;object-fit:contain;margin:3px 0}.meal-item p{font-size:7px;line-height:1.35;color:#6e726a;min-height:30px;margin:0 0 4px}.meal-item strong{font-size:9px}.meal-item small{font-weight:500}.meal-mini-table{margin-top:12px}.meal-head,.meal-row{display:grid;grid-template-columns:28px 1.6fr .7fr .6fr;align-items:center}.meal-head{font-size:7px;color:#9a9d95;padding:0 8px 5px;text-transform:uppercase;letter-spacing:.4px}.meal-head span:first-child{grid-column:2}.meal-head span:nth-child(2),.meal-head span:nth-child(3){text-align:right}.meal-row{height:32px;background:rgba(17,19,16,.04);border-radius:12px;margin-bottom:4px;padding:0 10px;font-size:10px}.meal-row b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:rgba(17,19,16,.08);font-size:9px;color:var(--ink);font-weight:700}.meal-row span:nth-child(3){color:#8b8f86;text-align:right}.meal-row span:nth-child(4){color:var(--ink);font-weight:700;text-align:right}.macro-strip{margin-top:10px;min-height:52px;background:linear-gradient(100deg,rgba(216,255,56,.43),rgba(216,255,56,.12));border-radius:13px;display:grid;grid-template-columns:1.15fr repeat(3,1fr) 55px;align-items:center;padding:7px 11px}.macro-strip>div:not(:last-child){border-right:1px solid rgba(17,19,16,.12);padding-right:8px;margin-right:8px}.macro-strip small{font-size:8px;display:block}.macro-strip strong{font-size:10px}.macro-strip>div:first-child strong{font-size:16px}.macro-strip em{font-style:normal;font-size:8px}.donut{display:grid;place-items:center}.donut span{width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--lime) 0 70%,#fff 70% 100%);position:relative}.donut span::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#eff5df}
.supplements-card{grid-area:supp;min-height:280px;padding:18px 18px 13px}.timeline-list{position:relative;margin-top:9px}.timeline-list::before{content:"";position:absolute;left:49px;top:16px;bottom:16px;width:1px;background:#ccd2c5}.timeline-row{display:grid;grid-template-columns:38px 12px 31px 1fr;gap:7px;align-items:center;height:42px}.timeline-row time{font-size:9px;text-align:right}.timeline-row>i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(216,255,56,.12);z-index:1}.supp-icon{width:28px;height:28px;background:linear-gradient(145deg,#fff,#eef0eb);border-radius:9px;display:grid;place-items:center}.supp-icon svg{width:15px}.timeline-row strong{display:block;font-size:9px}.timeline-row small{font-size:7px;color:#83877f}.water-bar{height:44px;border-radius:13px;background:linear-gradient(100deg,rgba(216,255,56,.42),rgba(216,255,56,.1));display:grid;grid-template-columns:auto 1fr auto 24px;align-items:center;gap:8px;padding:0 10px}.water-bar>span{font-size:8px;display:flex;align-items:center;gap:5px}.water-bar svg{width:13px}.water-bar>div{height:5px;background:rgba(17,19,16,.12)}.water-bar strong{font-size:8px}.water-bar button{border:1px solid rgba(0,0,0,.25);background:transparent;width:21px;height:21px;border-radius:50%;cursor:pointer}
.progress-card{grid-area:progress;min-height:280px;padding:18px 20px 14px}.chart-tabs{display:flex;gap:5px;margin:8px 0}.chart-tabs button,.filter-tabs button{border:0;background:rgba(255,255,255,.07);color:#cfd3cb;border-radius:99px;padding:6px 14px;font-size:8px;cursor:pointer}.chart-tabs button.active,.filter-tabs button.active{background:var(--lime);color:#111}.chart-wrap{height:145px;position:relative}.weight-chart{width:100%;height:100%;overflow:visible}.grid-lines line{stroke:rgba(255,255,255,.08);stroke-width:1}.chart-area{fill:url(#areaFill);opacity:0}.chart-path{fill:none;stroke:var(--lime);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(216,255,56,.35))}.chart-points circle{fill:var(--lime);stroke:#fff;stroke-width:2}.axis-labels text{font-size:9px;fill:#9ca198}.chart-callout{position:absolute;right:2px;top:7px;background:var(--lime);color:#111;border-radius:8px;padding:6px 8px;display:flex;flex-direction:column}.chart-callout strong{font-size:9px}.chart-callout small{font-size:7px}.weight-summary{height:54px;border:1px solid rgba(255,255,255,.1);border-radius:13px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;background:rgba(255,255,255,.03)}.weight-summary>div{padding:0 15px;border-right:1px solid rgba(255,255,255,.08)}.weight-summary>div:last-child{border-right:0}.weight-summary small{display:block;color:#92978f;font-size:8px}.weight-summary strong{font-size:15px}.weight-summary em{font-style:normal;font-size:8px}.weight-summary b{color:var(--lime);font-size:8px;margin-left:3px}
.ranking-card{grid-area:ranking;min-height:280px;padding:18px 14px 10px;display:flex;flex-direction:column}.podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:4px;margin:8px 5px 3px}.podium-person{text-align:center;position:relative;padding:4px 2px 3px;border-radius:15px 15px 0 0}.podium-person.first{background:linear-gradient(180deg,rgba(216,255,56,.8),rgba(216,255,56,.2));padding-top:7px}.podium-person img{display:block;margin:0 auto 1px;width:38px;height:38px;border-radius:50%;object-fit:cover}.podium-person.first img{width:43px;height:43px;border:3px solid var(--lime)}.podium-person b,.podium-person strong,.podium-person small{display:block}.podium-person b{font-size:15px}.podium-person strong{font-size:8px}.podium-person small{font-size:6px;color:#6c7069}.crown{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:16px}.ranking-list{border:1px solid rgba(17,19,16,.1);border-radius:12px;overflow:hidden}.ranking-list>div{height:25px;display:grid;grid-template-columns:22px 22px 1fr auto 14px;gap:4px;align-items:center;padding:0 7px;font-size:8px;border-bottom:1px solid rgba(17,19,16,.08)}.ranking-list>div:last-child{border-bottom:0}.ranking-list .you{background:var(--lime)}.ranking-list b{font-size:11px}.ranking-list strong em{font-style:normal;font-size:7px}.ranking-list small{font-size:7px}.ranking-list svg{width:11px}.avatar.mini{width:17px;height:17px;border-radius:50%;overflow:hidden}.avatar.mini img{width:100%;height:100%;object-fit:cover}
.videos-card{grid-area:videos;min-height:263px;padding:17px 17px 12px;display:flex;flex-direction:column}.filter-tabs{display:flex;gap:5px;margin:8px 0;overflow:auto;padding-bottom:4px}.filter-tabs button{background:transparent;color:#747970;border:1px solid rgba(17,19,16,.13);padding:5px 12px;white-space:nowrap;flex-shrink:0}.video-grid{display:grid;grid-template-columns:1fr;gap:10px}.video-item{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.thumb{height:132px;border-radius:13px;overflow:hidden;display:block;position:relative;background:#111}.thumb img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.video-item:hover .thumb img{transform:scale(1.07)}.thumb>svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:29px;height:29px;padding:8px;border-radius:50%;background:#fff;fill:#111}.thumb small{position:absolute;left:6px;bottom:5px;background:rgba(0,0,0,.65);color:#fff;border-radius:5px;padding:2px 4px;font-size:7px}.video-item>strong{display:block;font-size:8px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-item>em{font-style:normal;font-size:7px;color:#8c9088}
.profile-card{grid-area:profile;min-height:263px;padding:17px 17px 12px;display:flex;flex-direction:column;justify-content:center}.profile-main{display:grid;grid-template-columns:87px 1fr;gap:10px;align-items:center;margin:16px 0 12px}.profile-ring{width:84px;height:84px;border-radius:50%;padding:5px;background:conic-gradient(var(--lime) 0 72%,#e5e8df 72%)}.profile-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#dfe3d9}.profile-main h3{font-size:13px;margin:0 0 7px}.profile-main>div>span{display:inline-block;background:rgba(216,255,56,.45);border-radius:99px;padding:5px 10px;font-size:7px}.profile-main small{display:block;font-size:7px;margin:8px 0 5px}.profile-main em{display:block;font-size:6px;font-style:normal;color:#858980;margin-top:4px}.level-bar{height:5px;background:#dfe3db}.profile-stats{border:1px solid rgba(17,19,16,.1);border-radius:13px;display:grid;grid-template-columns:repeat(3,1fr);height:75px}.profile-stats>div{display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid rgba(17,19,16,.08)}.profile-stats>div:last-child{border-right:0}.profile-stats svg{width:16px;height:16px;margin-bottom:5px}.profile-stats strong{font-size:10px}.profile-stats strong small{font-weight:500}.profile-stats span{font-size:7px;color:#7b8078;margin-top:3px}
.badges-card{grid-area:badges;min-height:134px;padding:14px 16px}.badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.badge-grid>div{text-align:center}.badge-icon{width:43px;height:48px;display:grid;place-items:center;margin:0 auto 4px;clip-path:polygon(50% 0,92% 23%,86% 77%,50% 100%,14% 77%,8% 23%);font-size:20px;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.18)}.badge-icon.black{background:linear-gradient(145deg,#0a0a0a,#333);color:var(--lime)}.badge-icon.silver{background:linear-gradient(145deg,#1c1d1d,#7d8580)}.badge-icon.gold{background:linear-gradient(145deg,#211e13,#a8832e);color:#ffd75e}.badge-icon.bronze{background:linear-gradient(145deg,#8d6527,#f1c46e)}.badge-icon.lock{background:#e8ebe4;filter:grayscale(1);opacity:.7}.badge-grid strong,.badge-grid small{display:block}.badge-grid strong{font-size:7px}.badge-grid small{font-size:6px;color:#81867d}.locked{opacity:.55}
.settings-card{grid-area:settings;min-height:115px;padding:13px 15px}.setting-grid{display:grid;grid-template-columns:repeat(4,1fr) 24px;gap:7px;margin-top:9px}.setting-grid button{height:67px;border:1px solid rgba(17,19,16,.09);background:rgba(255,255,255,.35);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.setting-grid button:hover{background:rgba(216,255,56,.18)}.setting-grid svg{width:19px;height:19px}.setting-grid span,.setting-grid small{font-size:7px}.setting-grid .next{border:0;background:transparent}.setting-grid button.sponsor{background:#0d0e0c;border-color:#0d0e0c;color:#fff}.setting-grid button.sponsor:hover{background:var(--lime);color:#111}.toggle{width:23px;height:11px;border-radius:99px;background:#c9ccc5;position:relative}.toggle::after{content:"";position:absolute;top:2px;left:2px;width:7px;height:7px;border-radius:50%;background:#fff;transition:.2s}.toggle.active{background:#10120f}.toggle.active::after{left:14px;background:var(--lime)}
.mobile-menu{display:none;position:fixed;top:15px;left:15px;z-index:30;width:42px;height:42px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.82);border-radius:13px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.mobile-menu svg{width:20px}.video-modal{position:fixed;inset:0;background:rgba(4,5,4,.68);display:grid;place-items:center;z-index:50;opacity:0;visibility:hidden;transition:.25s}.video-modal.open{opacity:1;visibility:visible}.video-dialog{width:min(560px,calc(100% - 30px));background:#f8faf5;border-radius:24px;padding:20px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal-close{position:absolute;right:12px;top:12px;border:0;background:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}.fake-player{height:280px;border-radius:17px;background:linear-gradient(135deg,#0d0f0d,#292d28);display:grid;place-items:center}.fake-player svg{width:64px;height:64px;color:var(--lime);fill:var(--lime)}.video-dialog h3{margin:17px 0 5px}.video-dialog p{margin:0;color:#72776f;font-size:13px}
@media (min-width:1181px){.tilt-card{transform-style:preserve-3d}.tilt-card>*{transform:translateZ(8px)}}
@media (max-width:1220px){.app-shell{width:min(1160px,calc(100% - 28px));grid-template-columns:190px minmax(0,1fr)}.hero{grid-template-columns:minmax(250px,1fr) 205px repeat(3,100px);padding:15px 20px}.hero-copy h1{font-size:26px}.year-banner strong{font-size:43px}.dashboard-grid{grid-template-columns:1fr 1fr;grid-template-areas:"workout workout" "profile ranking" "nutrition nutrition" "videos videos" "supp progress" "badges badges" "settings settings"}.nutrition-card,.workout-card{min-height:auto}.sidebar{min-height:720px}.meal-item img{height:78px}.workout-content{height:185px}}
@media (max-width:900px){body{padding-top:58px}.mobile-menu{display:grid;place-items:center}.app-shell{width:calc(100% - 24px);margin:12px auto;display:block}.sidebar{position:fixed;left:12px;top:12px;bottom:12px;width:235px;height:auto;min-height:0;z-index:25;transform:translateX(calc(-100% - 28px));transition:.3s ease}.sidebar.open{transform:translateX(0)}.dashboard{width:100%}.hero{height:auto;min-height:188px;grid-template-columns:1.2fr .8fr;gap:12px}.hero-copy{grid-column:1}.year-banner{grid-column:2;grid-row:1 / span 2;min-height:108px}.summary-stat{border-left:0;border-top:1px solid var(--line);padding:12px 4px 0;height:62px}.hero .summary-stat:nth-of-type(3){grid-column:1}.hero .summary-stat:nth-of-type(4){grid-column:1}.hero .summary-stat:nth-of-type(5){grid-column:2}.dashboard-grid{grid-template-columns:1fr 1fr;grid-template-areas:"workout workout" "profile profile" "nutrition nutrition" "videos videos" "supp progress" "ranking ranking" "badges badges" "settings settings"}.ranking-card,.profile-card{min-height:auto}.podium{max-width:420px;margin-left:auto;margin-right:auto}.profile-main{grid-template-columns:100px 1fr}.profile-card{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.profile-card>.card-heading{grid-column:1/-1}.profile-stats{height:110px;align-self:center}.discipline-card{display:none}}
@media (max-width:650px){.card{border-radius:22px}.hero{grid-template-columns:1fr 120px;padding:18px}.hero-copy h1{font-size:23px}.hero-copy p{font-size:12px}.year-banner strong{font-size:37px}.summary-stat{padding-left:0}.dashboard-grid{display:block}.dashboard-grid>.card{margin-top:11px}.workout-content{grid-template-columns:105px 1fr;height:215px}.exercise-head,.exercise-row{grid-template-columns:24px 1.35fr .75fr}.exercise-head span:last-child,.exercise-row span:last-child{display:none}.meal-grid{grid-template-columns:repeat(2,1fr)}.meal-item img{height:80px}.macro-strip{grid-template-columns:1fr 1fr;gap:8px}.macro-strip>div{border-right:0!important}.macro-strip .donut{display:none}.profile-card{display:block}.filter-tabs{overflow:auto;padding-bottom:4px}.filter-tabs button{white-space:nowrap}.video-grid{grid-template-columns:1fr}.thumb{height:160px}.badge-grid{overflow-x:auto;grid-template-columns:repeat(5,80px);padding-bottom:4px}.setting-grid{grid-template-columns:repeat(2,1fr)}.setting-grid .next{display:none}.chart-tabs{overflow:auto}.weight-summary>div{padding:0 8px}.weight-summary strong{font-size:12px}}
@media (max-width:420px){.hero{grid-template-columns:1fr}.year-banner{grid-column:1;grid-row:auto}.hero .summary-stat:nth-of-type(n){grid-column:auto}.hero{grid-template-columns:repeat(3,1fr)}.hero-copy,.year-banner{grid-column:1/-1}.summary-stat strong{font-size:18px}.summary-stat em{margin-left:0}.workout-card{padding:18px 14px}.card-heading h2{font-size:18px}.ghost-button{padding:7px 9px}.workout-content{grid-template-columns:80px 1fr}.exercise-row{font-size:7px}.nutrition-card,.supplements-card,.progress-card,.ranking-card,.videos-card,.profile-card,.badges-card,.settings-card{padding-left:14px;padding-right:14px}.fake-player{height:190px}}

/* Inner pages — same TaskLab design system */
.inner-hero{margin-bottom:10px}.page-toolbar{height:48px;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0 18px}.date-picker{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.72);border:1px solid var(--line);padding:8px 15px;border-radius:99px;font-size:11px}.date-picker svg{width:15px}.date-picker button{border:0;background:transparent;font-size:19px}.outline-btn,.black-btn,.lime-btn{border-radius:99px;padding:10px 20px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:700;font-size:11px}.black-btn{background:#090a09;color:#fff;min-width:105px}.lime-btn{background:var(--lime);border-color:transparent}.wide{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.program-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:14px}.program-layout.nutrition-page{grid-template-columns:minmax(0,6fr) minmax(300px,4fr)}.program-layout.workout-page{grid-template-columns:minmax(0,6fr) minmax(300px,4fr)}.program-main,.program-side,.form-main,.form-side{display:grid;gap:14px;align-content:start;min-width:0}.program-main>*,.program-side>*,.form-main>*,.form-side>*,.program-overview>div,.week-plan{min-width:0}.program-overview{padding:22px;color:#fff;border-radius:27px;display:grid;grid-template-columns:1fr;gap:18px;background:linear-gradient(135deg,#111410,#050605)}.program-overview h2,.checkin-hero h2{margin:0 0 18px;font-size:24px}.program-overview h2 b,.checkin-hero h2 b{color:var(--lime)}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:15px}.metric-row span{display:grid;grid-template-columns:22px 1fr;gap:1px 6px;align-items:center}.metric-row svg{width:17px;height:17px;grid-row:1/3;flex-shrink:0}.metric-row b{font-size:12px}.metric-row small{font-size:8px;color:#b7bbb4}.week-plan{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #3b4039;border-radius:18px;overflow:hidden}.week-plan button{border:0;border-right:1px solid #30342e;background:transparent;color:#fff;padding:10px 4px;min-height:112px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:9px}.week-plan button:last-child{border:0}.week-plan button svg{width:21px}.week-plan button.active{background:var(--lime);color:#0a0b09}.week-plan button small{font-size:8px;color:#8a8f84;font-weight:500;margin-top:-4px}.data-card,.chart-card,.detail-card,.status-card,.achievement-card,.quote-card,.sponsor-card,.checkin-hero,.measures-card,.upload-card,.evaluation,.submit-card,.program-side .checklist,.program-main>.water-card{border-radius:25px;padding:18px}.data-card h2,.chart-card h2,.detail-card h2,.upload-card h2,.evaluation h2,.submit-card h2{font-size:18px;margin:0 0 14px}.data-table{overflow:auto}.tr{display:grid;align-items:center;border-bottom:1px solid var(--line);min-width:820px;font-size:9px;min-height:37px;padding:0 8px}.workout-table .tr{grid-template-columns:32px 1.6fr 1.2fr .9fr .8fr .75fr}.meal-mini-table .tr{grid-template-columns:28px .8fr .55fr 1.5fr .65fr .55fr .55fr .45fr .75fr}.tr.head{color:#71766f;font-weight:700}.tr.selected{background:linear-gradient(90deg,var(--lime),#dfff74);border-radius:10px}.actions{display:flex;gap:8px}.actions svg{width:14px}.line-chart{width:100%;height:190px;overflow:visible;background:repeating-linear-gradient(to bottom,transparent 0 38px,rgba(15,18,14,.08) 39px 40px)}.line-chart.no-bg-grid{background:none}.line-chart .chart-path{fill:none;stroke:#a8d400;stroke-width:3}.line-chart .chart-path.black{stroke:#111}.line-chart circle{fill:#fff;stroke:#a8d400;stroke-width:2}.chart-gridline{stroke:rgba(15,18,14,.1);stroke-width:1;stroke-dasharray:3 4}.chart-axis-label{font-family:'Inter',sans-serif;font-size:9px;fill:#9a9d95}.chart-axis-label.x-label{text-anchor:middle}.chart-axis-label.y-label{text-anchor:end}.chart-point-highlight{fill:#111;stroke:#111}.chart-tooltip-bg{fill:#111}.chart-tooltip-text{font-family:'Inter',sans-serif;fill:#fff;text-anchor:middle}.chart-tooltip-text.pct{font-size:12px;font-weight:800}.chart-tooltip-text.date{font-size:8px;fill:#b7bbb4}.chart-kpis em{display:block;font-style:normal;font-size:8px;color:var(--muted);margin-top:3px;font-weight:600}.chart-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:12px}.chart-kpis span{padding:0 13px;border-right:1px solid var(--line)}.chart-kpis span:last-child{border:0}.chart-kpis small{display:block;color:var(--muted);font-size:9px}.chart-kpis b{font-size:15px}.lime-text{color:#8fb300}.mini-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px}.mini-grid article{padding:17px;border-radius:22px}.mini-grid h3{margin:0 0 12px;font-size:14px}.mini-grid p{font-size:9px;color:#6b7068}.water-kpis{display:flex;justify-content:space-between}.water-kpis span{display:flex;flex-direction:column;gap:5px}.water-kpis small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.water-kpis b{font-size:16px}.blue{color:#0a83ff}.bottles{display:flex;gap:8px;margin-top:16px}.bottle-icon{width:15px;height:23px;color:#0a83ff;flex-shrink:0}.water-tip{display:flex;align-items:center;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:9px;color:#6b7068}.water-tip svg{width:14px;height:14px;color:#0a83ff;flex-shrink:0}.detail-card{position:relative}.counter{position:absolute;right:18px;top:17px;border:1px solid var(--line);border-radius:99px;padding:3px 9px}.detail-card h3{font-size:21px;margin:0 0 10px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips.tags-row{margin:14px 0 16px}.chips span{padding:5px 12px;border:1px solid var(--line);border-radius:99px;font-size:8px}.chips .active{background:var(--lime)}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.detail-body>*{min-width:0}.detail-media{display:flex;flex-direction:column;gap:8px}.section-label{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6b7068;margin:0 0 12px;padding:9px 0;position:relative}.section-label::before,.section-label::after{content:"";position:absolute;left:0;width:26px;height:2px;background:var(--lime);border-radius:2px}.section-label::before{top:0}.section-label::after{bottom:0}.detail-media img{width:100%;height:290px;object-fit:contain}.detail-info .chips{margin-bottom:12px}.detail-card h4{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.2px}.detail-card p{font-size:9px;color:#6b7068;line-height:1.55}.tip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}.tip-list li{display:flex;align-items:flex-start;gap:10px}.tip-list li svg{width:17px;height:17px;flex-shrink:0;margin-top:1px;color:#5b8a24;stroke-width:2.2}.tip-list li span{font-size:12.5px;color:#40443c;line-height:1.5;font-weight:500}.rest-box{display:grid;grid-template-columns:1fr 55px 1fr;align-items:center;background:linear-gradient(90deg,#effbc4,#f7ffd9);border-radius:16px;padding:12px;margin-top:18px}.rest-box small{display:block}.rest-box b{font-size:23px}.ring{width:48px;height:48px;border-radius:50%;background:conic-gradient(#a8d400 calc(var(--pct,78)*1%),#dfe7c3 0);transition:background .5s ease;position:relative}.ring:after{content:"";position:absolute;inset:8px;background:#f6ffd7;border-radius:50%}.status-card h3,.achievement-card h3,.program-side .checklist h3,.program-main>.water-card h3{margin:0 0 12px;font-size:14px}.status-card>div,.achievement-card>div,.score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement-card>div{grid-template-columns:repeat(4,1fr)}.status-card span,.achievement-card span{text-align:center;font-size:18px}.status-card b,.achievement-card b,.achievement-card small{display:block;font-size:11px}.achievement-card small{font-size:8px;color:var(--muted)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.two-cols p{display:flex;justify-content:space-between}.quote-card{position:relative;min-height:160px;overflow:hidden}.quote-card blockquote{font-size:22px;font-weight:900;font-style:italic;margin:15px 0}.quote-card img{position:absolute;right:0;bottom:0;width:42%;height:100%;object-fit:contain}.score-row{position:relative;width:60%;font-size:10px}.sponsor-card{display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;min-height:190px}.sponsor-card img{width:100%;height:180px;object-fit:contain}.form-page{display:grid;gap:14px}.checkin-hero{display:grid;grid-template-columns:1fr 1.3fr;color:#fff;background:linear-gradient(135deg,#10130f,#050605)}.week-checks{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #3b4039;border-radius:17px;overflow:hidden}.week-checks>div{text-align:center;padding:16px 8px;border-right:1px solid #3b4039}.week-checks>div:last-child{border:0}.week-checks .active{background:var(--lime);color:#111}.week-checks b,.week-checks span,.week-checks small,.week-checks em{display:block}.week-checks span{font-size:29px;margin:8px}.week-checks small,.week-checks em{font-size:9px}.form-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:14px}.measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 22px}.measure-grid label{display:grid;grid-template-columns:75px 1fr 28px;align-items:center;font-size:9px}.measure-grid input{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px;background:#fafbf8;font-weight:700}.measure-grid em{font-style:normal;color:var(--muted);padding-left:5px}.chart-card{position:relative}.side-kpis{position:absolute;right:20px;top:55px;width:165px}.side-kpis p{border-bottom:1px solid var(--line);padding:8px;margin:0}.side-kpis small{display:block;color:var(--muted);font-size:8px}.side-kpis b{font-size:17px}.dual{padding-right:180px}.notes-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:12px}.notes-grid article{padding:16px;border-radius:22px}.uploads{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.uploads label{text-align:center}.uploads b{display:block;font-size:10px}.silhouette{display:grid;place-items:center;height:125px;border:1px dashed #999;border-radius:15px;font-size:65px;color:#c4c7c1;margin:8px 0}.uploads input{display:none}.uploads em{display:block;border:1px solid var(--line);border-radius:99px;padding:5px;font-size:8px;font-style:normal}.upload-tips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;font-size:9px}.evaluation>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.evaluation span{border:1px solid var(--line);border-radius:13px;padding:10px;display:grid;grid-template-columns:24px 1fr}.evaluation svg{width:18px;grid-row:1/3}.evaluation small{font-size:8px}.evaluation b{font-size:13px;color:#9abc00}.submit-card p{border-bottom:1px solid var(--line);padding:7px;font-size:9px;margin:0}.submit-card p b{float:right}.warning{color:#e86d00}.meal-counter{display:flex;align-items:center;gap:2px;padding:3px 5px}.meal-counter span{font-weight:800;padding:0 3px;min-width:32px;text-align:center}.counter-nav{border:0;background:transparent;color:#9a9f93;cursor:pointer;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;transition:background .18s ease,color .18s ease,transform .18s ease}.counter-nav:hover{background:var(--lime);color:#0a0b09}.counter-nav:active{transform:scale(.88)}.counter-nav svg{width:12px;height:12px;stroke-width:2.6}.meal-media{width:100%;height:230px;display:flex;align-items:center;justify-content:center;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#f4f7ec,#eaf0dc);margin:16px 0 18px}.meal-media img{max-width:90%;max-height:86%;object-fit:contain;transition:opacity .2s ease}.meal-cols{align-items:start}.ingredient-list,.prep-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.ingredient-list li{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:10.5px;color:#40443c;padding-bottom:11px;border-bottom:1px dashed var(--line)}.ingredient-list li:last-child{border-bottom:0;padding-bottom:0}.ingredient-list li b{font-weight:800;color:var(--ink);white-space:nowrap}.prep-list li{position:relative;padding-left:16px;font-size:10.5px;color:#40443c;line-height:1.55}.prep-list li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--lime)}.meal-table .tr{grid-template-columns:26px 1.1fr 1.7fr .7fr .55fr .55fr .5fr 40px;min-width:460px}.meal-flow-row{cursor:pointer;transition:background .15s ease}.meal-flow-row:not(.selected):hover{background:#f4f8e8}.workout-flow-row{cursor:pointer;transition:background .15s ease}.workout-flow-row:not(.selected):hover{background:#f4f8e8}.meal-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;padding:0;cursor:pointer;color:transparent;justify-self:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.meal-check svg{width:12px;height:12px;stroke-width:3}.meal-check:hover{border-color:#8fb300}.meal-check.done{background:var(--lime);border-color:var(--lime);color:#0a0b09}
/* Selektor iki sinifli: .program-layout.nutrition-page ve .workout-page (0,2,0)
   tek sinifli kurali (0,1,0) yeniyor, medya sorgusu ozgulluk eklemiyor.
   Tek sinif yazilinca kural oluydu; iki sayfa da telefonda iki sutunda
   kalip ic ice giriyordu. */
@media(max-width:1220px){.program-layout,.program-layout.nutrition-page,.program-layout.workout-page,.form-grid{grid-template-columns:1fr}.program-side,.form-side{grid-template-columns:repeat(2,1fr)}.program-overview{grid-template-columns:1fr}.detail-card{grid-row:span 2}.form-side .upload-card{grid-column:1/-1}}
/* IC SAYFA mobil kurallari BURAYA yazilir, yukaridaki 900px blogua degil.
   O blok .inner-hero'dan once geliyor; ayni ozgullukteki ic sayfa temel
   kurallari sonra tanimlandigi icin oradaki override'lar sessizce oluyor.
   .detail-body ve .detail-media img tam olarak boyle olmustu: antrenman
   detayi telefonda 155px'lik iki sutunda sikisik kaliyordu. */
@media(max-width:900px){.page-toolbar{justify-content:center;flex-wrap:wrap;height:auto;padding:8px}.program-side,.form-side{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.week-plan{overflow:auto}.week-plan button{min-width:80px}.mini-grid,.notes-grid{grid-template-columns:1fr}.measure-grid{grid-template-columns:1fr 1fr}.checkin-hero{grid-template-columns:1fr}.detail-card{grid-row:auto}.meal-cols{grid-template-columns:1fr}.detail-body{grid-template-columns:1fr}.detail-media img{height:220px}}
@media(max-width:650px){.program-overview,.checkin-hero{padding:15px}.week-checks{overflow:auto}.week-checks>div{min-width:110px}.measure-grid{grid-template-columns:1fr}.uploads{grid-template-columns:1fr}.evaluation>div{grid-template-columns:1fr 1fr}.chart-kpis{grid-template-columns:1fr 1fr;gap:10px}.side-kpis{position:static;width:auto;display:grid;grid-template-columns:1fr 1fr}.dual{padding-right:0}.date-picker strong{font-size:9px}.outline-btn{display:none}}

/* ---------------------------------------------------------------------------
   ÖĞRENCİ PANELİ — MOBİL ALT ÇUBUK
   ---------------------------------------------------------------------------
   900px altında yan çubuk yerine sabit alt sekme çubuğu. Markup'ı app.js
   üretiyor (bkz. buildPanelTabbar): beş şablona aynı HTML'i kopyalamak yerine
   tek yerde duruyor ve aktif sekme adresten türetiliyor — yeni sayfa
   eklendiğinde beş dosyada 'active' güncellemeyi unutma riski yok.

   NEDEN .trainer-tabbar İLE ORTAK DEĞİL: eğitmen çubuğu dört düz bağlantı,
   bu çubuk bir avatar sekmesi ve bir sheet tetikleyicisi taşıyor — bileşim
   farklı. Ayrıca trainer.css öğrenci sayfalarında hiç yüklenmiyor; ortak
   selektör kullanmak iki dosyada aynı adı tanımlamak demekti.

   body.has-tabbar kuralları BURADA, trainer.css'te DEĞİL: eğitmen sayfaları da
   styles.css yüklüyor, tek tanım ikisine birden hizmet ediyor. */
.panel-tabbar,.panel-sheet{display:none}

@media(max-width:900px){
  body.has-tabbar .sidebar,
  body.has-tabbar .mobile-menu{display:none}
  /* Hamburger için ayrılan üst boşluk gereksiz; altta çubuk + iOS ana ekran
     çizgisi kadar yer açılıyor. */
  body.has-tabbar{padding-top:0;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  body.has-tabbar .app-shell{margin-top:14px}

  .panel-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px));background:rgba(250,251,248,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(24,30,22,.10)}
  .panel-tab{display:grid;justify-items:center;gap:3px;padding:7px 2px;border:0;background:none;border-radius:13px;font:inherit;font-size:8.5px;font-weight:700;letter-spacing:-.1px;color:#6c7166;text-decoration:none;text-align:center;cursor:pointer;min-height:44px;align-content:center}
  .panel-tab svg{width:19px;height:19px}
  .panel-tab.active{background:var(--lime);color:#111310}
  .panel-tab-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(17,19,16,.18)}
  .panel-tab.active .panel-tab-avatar{border-color:#111310}

  /* "Programların" bir sayfa değil, sheet açıyor. */
  .panel-sheet{display:block;position:fixed;inset:0;z-index:45;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
  .panel-sheet.open{opacity:1;visibility:visible}
  .panel-sheet-scrim{position:absolute;inset:0;background:rgba(6,8,6,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .panel-sheet-card{position:absolute;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom,0px));background:#fbfcf9;border-radius:22px;padding:7px;box-shadow:0 20px 60px rgba(0,0,0,.32);transform:translateY(12px);transition:transform .22s ease}
  .panel-sheet.open .panel-sheet-card{transform:none}
  .panel-sheet-card h4{margin:0;padding:9px 12px 7px;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
  .panel-sheet-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:15px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:700;min-height:48px}
  .panel-sheet-item svg{width:18px;height:18px;color:#5c6b1c;flex-shrink:0}
  .panel-sheet-item small{display:block;font-size:8.5px;font-weight:600;color:var(--muted);margin-top:2px}
  .panel-sheet-item.active{background:rgba(216,255,56,.28)}
  .panel-sheet-item.disabled{opacity:.45;pointer-events:none}
}

/* Panelin sayfasindaki Video Egitimler karti gercek veriye baglandi.
   Kartlar ve alttaki buton artik <button> degil <a>: ders sayfasina
   #ders-{id} ile derin baglaniyorlar. */
a.video-item{display:block;text-decoration:none;color:inherit}
a.wide-button{text-decoration:none;color:inherit}
.video-loading{font-size:9.5px;color:var(--muted);padding:12px 2px}

/* Bos durum satiri tablo izgarasina takilmasin: tek hucre olarak tum
   genisligi kaplasin. Aksi halde metin ilk dar sutuna sikisip kelime kelime
   kiriliyor. */
.data-table .tr.empty-row{display:block;min-width:0;padding:18px 10px;font-size:11px;color:var(--muted);text-align:center}

/* Cikis: kenar cubugundaki diger maddelerden ayrilsin ama bagirmasin.
   Ustunde ince bir ayirac, uzerine gelince kirmizilasiyor. */
.secondary-nav .nav-item.logout{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);border-radius:0 0 15px 15px;color:#8b8f86}
.secondary-nav .nav-item.logout:hover{background:rgba(223,53,31,.08);color:#c0311a;transform:none}
.secondary-nav .nav-item.logout:hover svg{color:#c0311a}

/* ---------------------------------------------------------------------------
   MOBILDE KAZARA YAKINLASMA
   ---------------------------------------------------------------------------
   Panel telefonda uygulama gibi dursun: dokunurken ekran ziplamasin.

   IKI AYRI OLAY VAR, ikisinin de cozumu farkli:

   1) CIFT DOKUNUSLA yakinlasma. touch-action:manipulation tarayiciya
      "cift dokunusu yakinlastirma diye bekleme" diyor. Yan faydasi: dokunma
      ile tepki arasindaki ~300ms gecikme de kalkiyor, arayuz daha tepkili.

   2) INPUT'A ODAKLANINCA iOS'un otomatik yakinlasmasi. Safari, yazi boyutu
      16px'in ALTINDA olan bir alana odaklaninca sayfayi zorla buyutuyor ve
      geri cikmiyor. Paneldeki alanlar 8-14px, yani her dokunusta oluyordu.
      Cozum kucuk bir hile degil, alanlarin telefonda gercekten 16px olmasi --
      dokunmatikte zaten dogru olan boyut.

   pinch (iki parmakla) yakinlastirma BILEREK acik birakildi: kazara olmuyor
   ve kapatmak gormesi zor olan kullaniciyi disarida birakir.
   --------------------------------------------------------------------------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,label,summary,[role="button"],.nav-item,.tabbar-item,.panel-tab,
.lesson-head,.meal-check,.icon-btn,.counter-nav,.week-plan button,
.filter-tabs button,.chart-tabs button{touch-action:manipulation}

/* !important sart: .modal-form input, .stu-search input gibi iki sinifli
   kurallar cıplak input secicisini yeniyor. Kural tek yerde dursun diye
   hepsini tek tek yeniden yazmak yerine bu tercih edildi. */
@media (max-width:900px){
  input,select,textarea{font-size:16px !important}
}
/* Fotograf yuklenmemis kullanici: paketteki demo resim yerine bas harfler. */
.av-blank{display:grid;place-items:center;border-radius:50%;background:#e2e6dc;color:#7d8476;font-weight:800;letter-spacing:-.02em;line-height:1;overflow:hidden;flex-shrink:0;width:32px;height:32px}
/* hidden, .av-blank'in display:grid'ine yenilirdi; acikca bastiriliyor. */
[hidden]{display:none!important}
.topbar-user .av-blank{width:32px;height:32px;font-size:11px}
.profile-ring .av-blank{width:100%;height:100%;font-size:25px;background:#dfe3d9}
.profile-avatar .av-blank{width:100%;height:100%;font-size:34px;background:#d9ddd5}
.avatar.mini .av-blank{width:100%;height:100%;font-size:7px}
.tabbar-avatar .av-blank{width:100%;height:100%;font-size:9px}
