.page.active{animation:.22s cubic-bezier(.22,1,.36,1) both pageIn;display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn{transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-lime:active{filter:brightness(.92);transform:scale(.97)}.btn{position:relative;overflow:hidden}.ripple{pointer-events:none;background:#ffffff4d;border-radius:50%;animation:.5s linear ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(4)}}.nav-btn .nav-icon{transition:opacity .15s,transform .2s cubic-bezier(.22,1,.36,1)}.nav-btn:hover .nav-icon{transform:translate(2px)}.nav-btn.active .nav-icon{transform:none}@keyframes badgePop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.badge-pop{animation:.35s cubic-bezier(.34,1.56,.64,1) both badgePop}@keyframes statFlash{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stat-val{animation:.3s both statFlash}@keyframes loggedGlow{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.4)}70%{box-shadow:0 0 0 8px rgba(var(--accent-rgb),0)}to{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0)}}.just-logged{animation:.6s loggedGlow}.card{transition:border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.22,1,.36,1)}.card:hover{transform:translateY(-1px)}.plan-day-body{transition:none}.plan-day-body.open{animation:.2s cubic-bezier(.22,1,.36,1) both slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.plan-day{transition:border-color .2s,box-shadow .2s,transform .15s}.plan-day:hover{transform:translateY(-1px)}.pt-activity-card{transition:background .12s,transform .15s cubic-bezier(.22,1,.36,1)}.pt-activity-card:hover{transform:translate(2px)}@keyframes wellnessPop{0%{opacity:0;transform:scale(.97)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.wellness-appear{animation:.25s cubic-bezier(.22,1,.36,1) both wellnessPop}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.notif.error{animation:.4s shake,.3s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.modal{transition:transform .25s cubic-bezier(.34,1.2,.64,1),opacity .2s}.modal-overlay.open .modal{animation:.25s cubic-bezier(.34,1.1,.64,1) both modalIn}@keyframes modalIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}:root{--bg:#f8f9fc;--s1:#fff;--s2:#f1f5f9;--s3:#e2e8f0;--t1:#0f172a;--t2:#475569;--t3:#94a3b8;--t4:#cbd5e1;--lime:#2563eb;--lime-rgb:37,99,235;--lime-glow:#2563eb33;--lime-10:#2563eb1a;--lime-15:#2563eb26;--lime-20:#2563eb33;--lime-light:#eff6ff;--accent:#10b981;--accent-rgb:16,185,129;--accent-glow:#10b98133;--accent-10:#10b9811a;--accent-light:#ecfdf5;--b1:#2563eb14;--b2:#2563eb2e;--b3:#2563eb52;--green:var(--accent);--green-glow:var(--accent-glow);--blue:var(--lime);--blue-glow:var(--lime-glow);--red:#ef4444;--red-glow:#ef444433;--amber:#f59e0b;--amber-glow:#f59e0b33;--violet:#8b5cf6;--violet-glow:#8b5cf633;--pink:#ec4899;--pink-glow:#ec489933;--orange:#f97316;--orange-glow:#f9731633;--cyan:#0ea5e9;--cyan-glow:#0ea5e933;--ice:#bae6fd;--ice-glow:#bae6fd4d;--r:12px;--rs:8px}html.dark{--bg:#080808;--s1:#111;--s2:#1c1c1c;--s3:#2c2c2c;--t1:#f0f0f0;--t2:#999;--t3:#555;--t4:#383838;--lime-light:rgba(var(--lime-rgb),.18);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.dark,html.dark body,html.dark .main,html.dark .app{background:var(--bg)}html.dark .card,html.dark .stat,html.dark .plan-day,html.dark .pt-slot-block,html.dark .pt-table,html.dark .pt-activity-card,html.dark .auth-box{background:var(--s1);border-color:var(--s3)}html.dark .card:hover{background:var(--s2)}html.dark .plan-day.today{border-color:var(--lime);box-shadow:none}html.dark .plan-day-header:hover,html.dark .pt-activity-card:hover{background:var(--s2)}html.dark .pt-slot-header{background:#ffffff08}html.dark .pt-row-add-row,html.dark .pt-header{background:var(--s2)}html.dark .mob-topbar{border-color:var(--s3);background:#090909}html.dark .mob-nav{background:var(--bg);border-color:var(--s3)}html.dark .mob-topbar-ham span{background:var(--t1)}html.dark .nav-rail-btn{color:#444}html.dark .nav-rail-btn:hover{color:#ccc;background:#ffffff0d}html.dark .nav-rail-btn.active{background:rgba(var(--accent-rgb),.14);color:var(--accent)}html.dark .nav-rail-btn.active .nav-rail-indicator{opacity:1}html.dark .sb-divider{background:#ffffff0f}html.dark .nav-rail-tooltip{color:#f0f0f0;background:#1e1e1e;border-color:#ffffff1a;box-shadow:0 8px 24px #00000080}html.dark .sb-bottom-btn{color:#444}html.dark .sb-bottom-btn:hover{color:#ccc;background:#ffffff0f}html.dark .nav-btn.active .nav-icon{opacity:1}html.dark .sb-logo,html.dark .sb-username{color:#eee}html.dark .sb-role,html.dark .sb-info{color:var(--t3)}html.dark .inp,html.dark .sel,html.dark input,html.dark textarea{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.dark .inp:focus,html.dark input:focus,html.dark textarea:focus{border-color:rgba(var(--lime-rgb),.6);background:var(--s1)}html.dark .btn{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.dark .btn:hover{background:var(--s3);color:var(--t1);border-color:var(--s3)}html.dark .btn-lime{background:var(--accent);border-color:var(--accent);color:#fff}html.dark .btn-lime:hover{filter:brightness(1.15)}html.dark .btn-danger{color:var(--red);background:0 0}html.dark .btn-danger:hover{background:#ef44441a}html.dark .pt-edit-btn{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.dark .pt-edit-btn:hover{background:rgba(var(--lime-rgb),.12);color:var(--lime)}html.dark .pt-del-btn:hover{background:#ef444426}html.dark .modal{background:var(--s1);border-color:var(--s3)}html.dark .modal-overlay{background:#000c}html.dark .modal-actions{background:var(--s1);border-color:var(--s3)}html.dark .modal:before{background:var(--s3)}html.dark .auth-screen{background:var(--bg)}html.dark .auth-tab{color:var(--t2)}html.dark .auth-tab.active{background:rgba(var(--lime-rgb),.15);color:var(--lime)}html.dark .field input{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.dark .page-title{color:var(--t1)}html.dark .page-sub{color:var(--t3)}html.dark .overline{color:var(--t4)}html.dark .card-title{color:var(--t3)}.wn-arrow{border:1px solid var(--s3);background:var(--s1);width:30px;height:30px;color:var(--t2);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.wn-arrow:hover{border-color:rgba(var(--lime-rgb),.4);color:var(--lime);background:var(--lime-light)}html.dark .wn-arrow{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.dark .wn-arrow:hover{border-color:var(--lime);color:var(--lime)}html.dark .club-tab{color:var(--t3)}html.dark .club-tab.active{color:var(--t1);border-bottom-color:var(--accent)}html.dark .danger-zone{border-color:#ef444433}html.dark .stats-toggle{color:var(--t3)}html.dark .mob-nav-btn{color:var(--t4)}html.dark .mob-nav-btn.active{color:var(--lime)}html.dark .mob-nav-btn.active svg{stroke:var(--lime)}html.dark .athlete-card{background:var(--s1);border-color:var(--s3)}html.dark .athlete-card:hover{border-color:rgba(var(--lime-rgb),.35)}html.dark .pt-slot-block{border-color:var(--s3)}html.dark .slog-inp{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.dark .perf-tab{color:var(--t3)}html.dark .perf-tab.active{background:rgba(var(--lime-rgb),.15);color:var(--lime)}html.dark ::-webkit-scrollbar-thumb{background:#ffffff1a}#dark-mode-toggle{background:var(--s3);cursor:pointer;border:none;transition:background .25s;position:relative}#dark-mode-toggle.on{background:var(--lime)}#dark-mode-toggle.on span{transform:translate(22px)!important}#dark-mode-toggle span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0006}*{box-sizing:border-box;margin:0;padding:0}button,input,textarea,select{appearance:none}html,body{background:var(--bg);height:100%;color:var(--t1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Outfit,sans-serif;font-size:15px;line-height:1.5;overflow:hidden}.app{height:100vh;display:block;overflow:hidden}.desktop-topbar{z-index:40;background:var(--bg);border-bottom:1.5px solid #0000001f;justify-content:center;align-items:center;height:44px;display:flex;position:fixed;top:0;left:0;right:0}html.dark .desktop-topbar{background:var(--bg);border-bottom-color:#ffffff0d}.dt-logo{letter-spacing:8px;color:var(--t1);opacity:1;-webkit-user-select:none;user-select:none;text-indent:8px;font-family:Bebas Neue,sans-serif;font-size:18px;font-weight:400}.dt-brand,.dt-center,.dt-right,.dt-icon-btn,.dt-avatar,.dt-page-name,.dt-club-badge{display:none}.sidebar{background:var(--bg);z-index:30;border-right:1.5px solid #0000001c;flex-direction:column;align-items:center;width:64px;display:flex;position:fixed;top:44px;bottom:0;left:0;overflow:visible}html.dark .sidebar{background:var(--bg);border-right-color:#ffffff0d}.sb-overlay{display:none!important}.sb-toggle,.sb-brand,.sb-logo,.sb-user,.sb-avatar,.sb-info,.sb-username,.sb-role,.sb-logout-btn,.sb-logo-text,.nav-label,.sb-sec{display:none}.sb-nav{flex-direction:column;flex:1;align-items:center;gap:2px;width:100%;padding:10px 0;display:flex;overflow:visible}.nav-rail-btn{width:44px;height:44px;color:var(--t3);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .1s;display:flex;position:relative}.nav-rail-btn:hover{background:rgba(var(--accent-rgb),.08);color:var(--t2);transform:scale(1.05)}.nav-rail-btn.active{background:rgba(var(--accent-rgb),.12);color:var(--accent)}.nav-rail-btn:active{transform:scale(.95)}.nav-rail-indicator{background:var(--accent);opacity:0;border-radius:0 3px 3px 0;width:3px;height:22px;transition:opacity .2s;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.nav-rail-btn.active .nav-rail-indicator{opacity:1}.nav-icon{stroke:currentColor;fill:none;flex-shrink:0;width:20px;height:20px}.nav-rail-tooltip{color:var(--t1);white-space:nowrap;pointer-events:none;opacity:0;z-index:100;background:#fff;border:1px solid #00000017;border-radius:8px;padding:6px 12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px);box-shadow:0 4px 16px #0000001a}.nav-rail-btn:hover .nav-rail-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.sb-bottom{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:100%;padding:10px 0 14px;display:flex}.sb-divider{background:#00000014;width:28px;height:1px;margin:4px 0}.sb-bottom-btn{width:44px;height:44px;color:var(--t3);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:relative}.sb-bottom-btn:hover{background:rgba(var(--accent-rgb),.08);color:var(--t2)}.sb-bottom-avatar{border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.nav-btn,.nav-badge,.sb-weeknav{display:none}.main{-webkit-overflow-scrolling:touch;position:fixed;inset:44px 0 0 64px;overflow:hidden auto}.main-inner{box-sizing:border-box;width:100%;min-height:100%;padding:28px 40px 40px}.page-title{letter-spacing:1.5px;color:var(--t1);font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.page-sub{color:var(--t3);letter-spacing:.5px;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:12px}.overline{letter-spacing:2.5px;text-transform:uppercase;color:var(--t3);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.body-lg{color:var(--t1);font-size:15px;line-height:1.6}.body-md{color:var(--t2);font-size:13px;line-height:1.5}.body-sm{color:var(--t3);font-size:12px;line-height:1.4}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.trend-up{color:var(--accent);font-size:12px;font-weight:600}.trend-dn{color:var(--red);font-size:12px;font-weight:600}.trend-neu{color:var(--t4);font-size:12px}.loading-screen{background:var(--s2);z-index:999;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.load-logo{letter-spacing:5px;color:var(--lime);font-family:Bebas Neue,sans-serif;font-size:54px}.load-bar{background:rgba(var(--lime-rgb),.2);border-radius:2px;width:180px;height:2px;overflow:hidden}.load-fill{background:var(--lime);border-radius:2px;height:100%;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%{width:0;margin-left:0}50%{width:100%;margin-left:0}to{width:0;margin-left:100%}}.auth-screen{background:var(--bg);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-box{border:1px solid var(--s3);width:370px;box-shadow:0 8px 32px rgba(var(--lime-rgb),.1),0 2px 8px #0000000d;background:#fff;border-radius:18px;padding:42px}.auth-logo{letter-spacing:4px;color:var(--lime);text-align:center;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1}.auth-tagline{text-align:center;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin:4px 0 28px;font-family:JetBrains Mono,monospace;font-size:10px}.auth-tabs{border:1px solid var(--b1);border-radius:var(--rs);margin-bottom:22px;display:flex;overflow:hidden}.auth-tab{text-align:center;cursor:pointer;color:var(--t2);background:0 0;border:none;flex:1;padding:9px;font-family:Outfit,sans-serif;font-size:12px;transition:all .15s}.auth-tab.active{background:rgba(var(--lime-rgb),.1);color:var(--lime)}.auth-err{color:var(--red);min-height:18px;margin-bottom:10px;font-size:12px}.field{margin-bottom:14px}.field label{letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.field input{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);width:100%;color:var(--t1);outline:none;padding:10px 13px;font-family:Outfit,sans-serif;font-size:13px;transition:all .2s}.field input:hover{border-color:rgba(var(--lime-rgb),.35)}.field input:focus{border-color:rgba(var(--lime-rgb),.65);box-shadow:0 0 0 3px rgba(var(--lime-rgb),.1)}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{border-radius:var(--rs);border:1px solid var(--s3);color:var(--t2);cursor:pointer;white-space:nowrap;background:#fff;padding:9px 18px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.btn:hover{border-color:rgba(var(--lime-rgb),.4);color:var(--lime);background:var(--lime-light)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-lime{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-lime:hover{background:var(--accent);filter:brightness(1.08)}.btn-full{width:100%}.btn-sm{padding:5px 10px;font-size:11px}.btn-xs{border-radius:5px;padding:3px 8px;font-size:10px}.btn-danger{color:var(--red);border-color:#ef444433}.btn-danger:hover{border-color:var(--red);background:#ef44440f}.btn-ghost{color:var(--t3);border-color:#0000}.btn-ghost:hover{border-color:var(--b1);color:var(--t2)}.inp{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);color:var(--t1);outline:none;padding:7px 10px;font-family:Outfit,sans-serif;font-size:12px;transition:all .2s}.inp:hover{border-color:rgba(var(--lime-rgb),.35)}.inp:focus{border-color:rgba(var(--lime-rgb),.65);box-shadow:0 0 0 3px rgba(var(--lime-rgb),.1)}.sel{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);color:var(--t1);appearance:none;cursor:pointer;outline:none;padding:7px 10px;font-family:Outfit,sans-serif;font-size:12px;transition:all .2s}.sel:hover{border-color:rgba(var(--lime-rgb),.35)}.sel:focus{border-color:rgba(var(--lime-rgb),.65);box-shadow:0 0 0 3px rgba(var(--lime-rgb),.1)}.topbar{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page{display:none}.page.active{display:block}.card{border:1px solid var(--s3);border-radius:var(--r);background:#fff;padding:20px;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000a}.card:hover{border-color:rgba(var(--lime-rgb),.25);box-shadow:0 4px 16px #0000000f}.card-title{letter-spacing:2px;color:var(--t3);text-transform:uppercase;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.card+.card{margin-top:14px}.stats-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--s3);background:#fff;border-radius:14px;padding:20px 22px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.stat:hover{border-color:rgba(var(--lime-rgb),.35);box-shadow:0 4px 20px #00000012}.stat-label{letter-spacing:2px;text-transform:uppercase;color:var(--t4);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.stat-val{color:var(--t1);font-variant-numeric:tabular-nums;font-size:36px;font-weight:500;line-height:1}.stat-val span{color:var(--t3);margin-left:3px;font-size:15px;font-weight:400}.stat-sub{color:var(--t3);margin-top:4px;font-size:11px}.stat-bottom{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.stat-sparkline{align-items:flex-end;gap:3px;height:32px;display:flex}.stat-sparkline span{background:linear-gradient(to top, rgba(var(--accent-rgb),.5), rgba(var(--accent-rgb),.1));min-width:5px;box-shadow:0 0 0 0 rgba(var(--accent-rgb),0);border-radius:3px 3px 0 0;flex:1;transition:height .4s cubic-bezier(.22,1,.36,1)}.stat-sparkline span:hover{background:linear-gradient(to top, rgba(var(--accent-rgb),.8), rgba(var(--accent-rgb),.3))}.stat-sparkline span.cur{background:linear-gradient(to top, var(--accent), rgba(var(--accent-rgb),.4));box-shadow:0 0 8px rgba(var(--accent-rgb),.35), 0 2px 4px rgba(var(--accent-rgb),.2)}html.dark .stat-sparkline span{background:linear-gradient(to top, rgba(var(--accent-rgb),.6), rgba(var(--accent-rgb),.05))}html.dark .stat-sparkline span.cur{background:linear-gradient(to top, var(--accent), rgba(var(--accent-rgb),.3));box-shadow:0 0 14px rgba(var(--accent-rgb),.5), 0 2px 6px rgba(var(--accent-rgb),.3)}.stat-progress{background:var(--s3);border-radius:3px;height:5px;margin-top:10px;position:relative;overflow:hidden}.stat-progress:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff26 50%,#0000 100%);position:absolute;inset:0}.stat-progress-fill{background:linear-gradient(to right, var(--accent), var(--lime));height:100%;box-shadow:0 0 6px rgba(var(--accent-rgb),.4);border-radius:3px;transition:width .6s cubic-bezier(.22,1,.36,1)}html.dark .stat-progress{background:#ffffff12}html.dark .stat-progress-fill{background:linear-gradient(to right, var(--accent), rgba(var(--lime-rgb),.9));box-shadow:0 0 10px rgba(var(--accent-rgb),.5), 0 0 4px rgba(var(--accent-rgb),.3)}.ov-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px;margin-bottom:18px;display:grid}.cat-card{border:1px solid var(--s3);border-radius:var(--r);background:#fff;padding:15px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.cat-card:after{content:"";background:var(--cc);height:2px;transition:height .3s;position:absolute;top:0;left:0;right:0}.cat-card:hover{border-color:var(--cc);box-shadow:0 4px 16px var(--cc-glow,rgba(var(--lime-rgb),.15))}.cat-card.done{border-color:var(--cc);box-shadow:0 0 20px var(--cc-glow,rgba(var(--lime-rgb),.2))}.cat-card.done:after{height:3px}.cat-card.done .cc-badge{display:flex}.cc-badge{color:var(--cc);border-radius:20px;align-items:center;gap:3px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:11px;display:none;position:absolute;top:10px;right:10px}.cc-name{letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:9px}.cc-val{color:var(--cc);font-family:Bebas Neue,sans-serif;font-size:34px;line-height:1;transition:filter .3s}.cc-unit{color:var(--t3);margin-top:1px;font-size:10px}.cc-bar{background:var(--s3);border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.cc-fill{background:var(--cc);border-radius:2px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.cc-pct{color:var(--t3);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:10px;transition:color .3s}.cat-card.done .cc-pct{color:var(--cc)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.cat-card.just-done{animation:.4s pop}.cc-spark{pointer-events:none;opacity:0;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%}@keyframes spark{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) scale(0);opacity:0}}.days-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day-col{border:1px solid var(--s3);border-radius:var(--r);background:#fff;padding:11px 9px;transition:all .2s;box-shadow:0 1px 2px #00000008}.day-col:hover{border-color:rgba(var(--lime-rgb),.5);box-shadow:0 4px 16px #0000000f}.day-col.today{border-color:rgba(var(--lime-rgb),.45)}.day-col.today .dn{color:var(--lime)}.dn{letter-spacing:2px;text-transform:uppercase;color:var(--t3);margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:8px}.dd{margin-bottom:9px;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1}.day-entries{flex-direction:column;gap:4px;min-height:30px;display:flex}.de{background:var(--s2);border:1px solid var(--s3);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:5px;padding:5px 8px;font-size:10px;transition:all .15s;display:flex}.de:hover{background:var(--lime-light);border-color:rgba(var(--lime-rgb),.4)}.de:hover .de-actions{opacity:1}.de-left{flex:1;overflow:hidden}.de-cat{color:var(--cc2);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.de-note{color:var(--t4);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9px;overflow:hidden}.de-val{color:var(--t3);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px}.de-actions{opacity:0;flex-shrink:0;gap:3px;transition:opacity .15s;display:flex}.de-actions button{cursor:pointer;width:18px;height:18px;color:var(--t3);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:10px;transition:all .15s;display:flex}.de-actions button:hover{color:var(--lime)}.de-actions .del-btn:hover{color:var(--red)}.day-total{border-top:1px solid var(--b1);color:var(--t3);margin-top:7px;padding-top:6px;font-family:JetBrains Mono,monospace;font-size:10px}.day-add{border:1px dashed var(--t4);width:100%;color:var(--t4);cursor:pointer;background:0 0;border-radius:7px;margin-top:8px;padding:8px;font-family:Outfit,sans-serif;font-size:11px;transition:all .2s}.day-add:hover{border-color:var(--lime);color:var(--lime);background:rgba(var(--lime-rgb),.04)}.charts-row{grid-template-columns:1fr 260px;gap:13px;margin-bottom:18px;display:grid}.streak-ring{align-items:center;gap:14px;padding:12px 0;display:flex}.ring-item{flex-direction:column;align-items:center;gap:4px;display:flex}.ring-dot{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:600;display:flex}.ring-dot.done{background:rgba(var(--lime-rgb),.15);color:var(--lime)}.ring-dot.today-dot{background:rgba(var(--lime-rgb),.2);color:var(--lime);border:1px solid var(--lime)}.ring-dot.miss{background:var(--s2);color:var(--t4)}.ring-lbl{color:var(--t4);font-family:JetBrains Mono,monospace;font-size:8px}.settings-layout{grid-template-columns:1fr 1fr;gap:14px;display:grid}.acc-wrap{max-width:760px}.account-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sub-list{margin-top:6px;padding-left:18px}.sub-item{border-bottom:1px dashed var(--b1);align-items:center;gap:8px;padding:8px 0;display:flex}.sub-item:last-child{border-bottom:none}.unit-badge{border:1px solid var(--b2);color:var(--t2);white-space:nowrap;border-radius:20px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:9px}.section-divider{background:var(--b1);height:1px;margin:16px 0}.danger-zone{border-radius:var(--r);border:1px solid #ef444426;padding:18px}.danger-zone-title{letter-spacing:2px;text-transform:uppercase;color:#ef444499;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:9px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{border:1px solid var(--s3);background:#fff;border-radius:16px;width:420px;max-width:95vw;max-height:90vh;padding:28px;transition:transform .2s;overflow-y:auto;transform:translateY(12px);box-shadow:0 20px 60px #0000001f}.modal-overlay.open .modal{transform:translateY(0)}.modal-title{letter-spacing:2px;margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:26px}.modal-sub{color:var(--t3);margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:11px}.modal-field{margin-bottom:14px}.modal-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.modal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.tooltip{background:var(--t1);color:#fff;pointer-events:none;z-index:300;opacity:0;white-space:nowrap;border-radius:7px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;transition:opacity .15s;position:fixed}.tooltip.show{opacity:1}.notif{z-index:400;opacity:0;pointer-events:none;border-radius:9px;padding:10px 18px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .3s;position:fixed;bottom:22px;right:22px;transform:translateY(14px)}.notif.show{opacity:1;transform:translateY(0)}.notif.success{color:#065f46;background:#ecfdf5;border:1px solid #10b9814d}.notif.error{color:#991b1b;background:#fef2f2;border:1px solid #ef44444d}.role-badge{letter-spacing:1px;text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;display:inline-flex}.role-coach{background:rgba(var(--lime-rgb),.12);color:var(--lime);border:1px solid rgba(var(--lime-rgb),.25)}.role-athlete{background:rgba(var(--accent-rgb),.12);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.3)}.role-admin{background:rgba(var(--accent-rgb),.2);color:var(--accent);border:2px solid rgba(var(--accent-rgb),.4);letter-spacing:1.5px;font-weight:800}.club-header{background:var(--s2);border:1px solid var(--s3);border-radius:var(--r);align-items:center;gap:16px;margin-bottom:18px;padding:20px 24px;display:flex}.club-logo{background:var(--accent);color:#fff;letter-spacing:2px;width:52px;height:52px;box-shadow:0 4px 14px rgba(var(--accent-rgb),.35);border:none;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-family:Bebas Neue,sans-serif;font-size:20px;font-weight:400;display:flex}.club-name{letter-spacing:2px;color:var(--t1);font-family:Bebas Neue,sans-serif;font-size:22px}.club-meta{color:var(--t3);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:11px}.athlete-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:18px;display:grid}.athlete-card{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);cursor:pointer;padding:16px;transition:all .2s;position:relative}.athlete-card:hover{border-color:rgba(var(--lime-rgb),.35);box-shadow:0 4px 16px #0000000f}.athlete-card.selected{border-color:var(--lime);box-shadow:0 0 0 3px rgba(var(--lime-rgb),.1)}.athlete-avatar{border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.athlete-name{color:var(--t1);font-size:13px;font-weight:500}.athlete-discipline{color:var(--t3);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px}.athlete-stats{border-top:1px solid var(--b1);gap:10px;margin-top:10px;padding-top:10px;display:flex}.astat{text-align:center;flex:1}.astat-val{color:var(--t1);font-family:Bebas Neue,sans-serif;font-size:18px;line-height:1}.astat-lbl{color:var(--t4);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:8px}.template-week{grid-template-columns:1fr;gap:8px;display:grid}.template-day{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);overflow:hidden}.template-day-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.template-day-header:hover{background:var(--s3)}.template-day-name{color:var(--t1);letter-spacing:1px;text-transform:uppercase;flex:1;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.template-day-count{color:var(--t3);font-family:JetBrains Mono,monospace;font-size:10px}.template-day-body{border-top:1px solid var(--b1);padding:10px 14px;display:none}.template-day-body.open{display:block}.session-block{background:var(--s1);border:1px solid var(--b1);border-left:3px solid var(--sc,var(--b1));border-radius:8px;margin-bottom:10px;padding:12px 14px;position:relative}.session-block-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.session-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-title-text{color:var(--t1);flex:1;font-size:12px;font-weight:600}.session-content-text{color:var(--t2);background:var(--s2);white-space:pre-wrap;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:11px;line-height:1.6}.session-content{color:var(--t2);white-space:pre-wrap;font-size:11px;line-height:1.6}.session-delete{color:var(--t4);cursor:pointer;background:0 0;border:none;font-size:12px;transition:color .15s;position:absolute;top:8px;right:8px}.session-delete:hover{color:var(--red)}.assignment-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.assignment-panel{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:18px}.assignment-list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.assignment-item{border-radius:var(--rs);background:var(--s2);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;transition:all .15s;display:flex}.assignment-item:hover{border-color:var(--b2)}.assignment-item.assigned{border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.06)}.assignment-item .ai-name{color:var(--t1);flex:1;font-size:12px}.assignment-item .ai-check{border:1.5px solid var(--b2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;display:flex}.assignment-item.assigned .ai-check{background:var(--accent);border-color:var(--accent);color:#fff}.plan-day{background:var(--s1);border:1px solid var(--s3);border-radius:var(--r);margin-bottom:10px;transition:border-color .2s;overflow:hidden;box-shadow:0 1px 3px #0000000a}.plan-day.today{border-color:rgba(var(--lime-rgb),.35);box-shadow:0 0 0 3px rgba(var(--lime-rgb),.06),0 1px 3px #0000000a}.plan-day-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 16px;display:flex}.plan-day-header:hover{background:var(--s2)}.plan-day-date{text-align:center;width:28px;font-family:Bebas Neue,sans-serif;font-size:22px;line-height:1}.plan-day-name{letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-family:JetBrains Mono,monospace;font-size:8px}.plan-day-body{padding:0 16px 14px;display:none}.plan-day-body.open{display:block}.pt-activity-card{background:#fff;border-bottom:1px solid #0000000a;border-left:4px solid #0000;padding:14px 16px;transition:background .12s}.pt-activity-card:last-child{border-bottom:none}.pt-activity-card:hover{background:var(--s2)}.pt-activity-card.logged{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.4));border-radius:var(--rs);background:0 0}.pt-activity-card.logged:hover{background:#00000005}html.dark .pt-activity-card.logged{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.5))}html.dark .pt-activity-card.logged:hover{background:#ffffff05}.pt-table{-webkit-overflow-scrolling:touch;border:1px solid var(--s3);background:var(--s1);border-radius:10px;width:100%;margin-top:10px;overflow:hidden}.pt-header{background:var(--s2);border-bottom:1.5px solid var(--s3);padding:7px 14px;display:grid}.pt-header>div{letter-spacing:2px;text-transform:uppercase;color:var(--t3);align-items:center;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:500;display:flex}.pt-row{border-bottom:1px solid #0000000a;align-items:center;padding:11px 14px;transition:background .12s;display:grid}.pt-row:last-child{border-bottom:none}.pt-row-new{background:#fff}.pt-row-new:hover{background:var(--s2)}.pt-row-saved{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.35));background:0 0}.pt-row-saved:hover{background:#00000004}html.dark .pt-row-saved{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.45));background:0 0}html.dark .pt-row-saved:hover{background:#ffffff05}.pt-row-empty{opacity:.7}.pt-row-add-row{border-top:1px dashed var(--s3);background:var(--s2);align-items:center;padding:9px 14px;display:grid}.pt-slot-block{border:1.5px solid var(--sl-col,var(--s3));border-radius:10px;margin-top:8px;overflow:hidden}.pt-slot-block:first-child{margin-top:0}.pt-slot-header{background:var(--sl-bg,var(--s2));border-bottom:1px solid var(--sl-col,var(--s3));align-items:center;gap:10px;padding:9px 14px;display:flex}.pt-slot-num{letter-spacing:2px;color:var(--sl-text,var(--t3));background:var(--sl-col,var(--s3));white-space:nowrap;opacity:.85;border-radius:20px;padding:2px 9px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800}.pt-slot-name{letter-spacing:1.5px;color:var(--t1);flex:1;font-family:Bebas Neue,sans-serif;font-size:17px;line-height:1.2}.pt-slot-type{letter-spacing:1px;background:var(--sl-col,var(--s3));color:var(--sl-text,var(--t3));opacity:.85;border-radius:20px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.pt-col-act{align-items:flex-start;gap:8px;min-width:0;padding-right:8px;display:flex}.pt-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.pt-act-text{min-width:0;overflow:hidden}.pt-act-name{color:var(--t1);font-size:13px;font-weight:500;line-height:1.3}.pt-act-desc{color:var(--t3);margin-top:2px;font-size:10px;line-height:1.4}.pt-col-foster .slog-foster{flex-wrap:wrap;gap:2px}.pt-col-foster .slog-fbtn{min-width:16px;padding:3px 1px;font-size:9px}.pt-val-num{color:var(--t1);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.pt-val-empty{color:var(--s3);font-size:16px;font-weight:300;line-height:1}.pt-comment-text{color:var(--t3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;display:block;overflow:hidden}.pt-col-act-btn{justify-content:flex-end;gap:3px;display:flex}.pt-save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600}.pt-save-btn:hover{background:var(--lime);filter:brightness(.88)}.pt-edit-btn{border:1px solid var(--s3);color:var(--t3);cursor:pointer;background:#fff;border-radius:6px;padding:4px 9px;font-family:Outfit,sans-serif;font-size:11px;transition:all .15s}.pt-edit-btn:hover{background:var(--lime-light);color:var(--lime);border-color:rgba(var(--lime-rgb),.3)}.pt-del-btn{color:var(--t4);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:11px;transition:all .15s}.pt-del-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.pt-edit-form{border-top:1px solid var(--b1);background:var(--s2)}.pt-edit-inner{padding:10px 12px}.pt-ef-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.pt-ef-group{flex-direction:column;gap:4px;display:flex}.pt-race-row{color:#92400e;background:#fffbeb;border-bottom:1.5px solid #fde68a;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.pt-wellness-card{background:linear-gradient(135deg,#6366f10a 0%,#8b5cf608 100%);border:1.5px solid #6366f133;border-radius:12px;margin-top:8px;overflow:hidden}.ptw-header{background:#6366f112;border-bottom:1px solid #6366f11f;align-items:center;gap:8px;padding:9px 14px;display:flex}.ptw-header-icon{font-size:14px}.ptw-header-label{letter-spacing:2px;text-transform:uppercase;color:#6366f1;flex:1;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800}.ptw-body{flex-wrap:wrap;align-items:center;gap:20px;padding:10px 14px;display:flex}.ptw-metric{flex-direction:column;gap:2px;min-width:60px;display:flex}.ptw-metric-label{letter-spacing:1.5px;text-transform:uppercase;color:#a5b4fc;font-family:JetBrains Mono,monospace;font-size:8px}.ptw-metric-val{color:#4f46e5;font-family:Bebas Neue,sans-serif;font-size:22px;line-height:1}.ptw-divider{background:#6366f126;flex-shrink:0;width:1px;height:32px}.ptw-recovery-badge{color:#4f46e5;background:#6366f11a;border:1.5px solid #6366f133;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:800;display:inline-flex}.ptw-comment{color:#818cf8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-style:italic;overflow:hidden}.ptw-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.ptw-edit-btn{color:#6366f1;cursor:pointer;background:#6366f112;border:1px solid #6366f14d;border-radius:6px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:11px;transition:all .15s}.ptw-edit-btn:hover{background:#6366f124;border-color:#6366f166}.ptw-del-btn{color:#c7d2fe;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-size:11px;transition:all .15s}.ptw-del-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fca5a5}.ptw-empty{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.ptw-empty:hover .ptw-empty-text{color:#6366f1}.ptw-empty-text{color:#a5b4fc;font-size:12px;font-style:italic;transition:color .15s}.ptw-empty-btn{color:#6366f1;cursor:pointer;white-space:nowrap;background:#6366f112;border:1px solid #6366f14d;border-radius:6px;margin-left:auto;padding:5px 14px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.ptw-empty-btn:hover{background:#6366f126}.stats-toggle{border:1.5px solid var(--tc,var(--b2));color:var(--t3);cursor:pointer;background:0 0;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s}.stats-toggle.active{background:var(--tc);color:#fff;border-color:var(--tc)}.stats-toggle:not(.active){color:var(--tc)}.slog-scale-row{grid-template-columns:1fr auto;align-items:start;gap:10px;margin-bottom:10px;display:grid}.slog-scale-group{flex-direction:column;gap:6px;display:flex}.slog-metrics-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.slog-metric{flex-direction:column;gap:4px;display:flex}.slog-comment{width:100%;color:var(--t3);margin-top:4px;font-size:11px;font-style:italic}.chip-foster{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.chip-wb{background:rgba(var(--accent-rgb),.1);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.2)}.slog-fbtn{border:1px solid var(--b1);min-width:24px;color:var(--t3);cursor:pointer;text-align:center;background:0 0;border-radius:4px;flex:1;padding:5px 2px;font-family:JetBrains Mono,monospace;font-size:10px;transition:all .15s}.slog-fbtn:hover{border-color:var(--b2);color:var(--t1)}.slog-fbtn.sel{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.slog-inp{background:var(--s1);border:1px solid var(--b1);color:var(--t1);border-radius:5px;outline:none;width:100%;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:12px}.slog-inp:focus{border-color:var(--lime)}.slog-saved{background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.slog-chip{background:var(--s3);color:var(--t2);border-radius:20px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.foster-btn{border:1px solid var(--b1);min-width:28px;color:var(--t3);cursor:pointer;text-align:center;background:0 0;border-radius:5px;flex:1;padding:6px 4px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.foster-btn:hover{border-color:var(--b2);color:var(--t1)}.foster-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.metric-display{color:var(--lime);text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:20px;font-weight:500}.metric-val input[type=range]{accent-color:var(--lime);flex:1;height:4px}.metric-val input[type=number]{background:var(--s3);border:1px solid var(--b1);width:60px;color:var(--t1);text-align:center;border-radius:5px;outline:none;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:13px}.session-log-form{background:var(--s2);border:1px solid var(--b1);border-radius:8px;margin-top:8px;padding:12px}.feedback-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.metric-input{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);padding:10px 12px}.metric-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:9px}.onboarding-box{text-align:center;padding:60px 20px}.onboarding-icon{margin-bottom:16px;font-size:48px}.onboarding-title{letter-spacing:2px;margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:28px}.onboarding-sub{color:var(--t2);margin-bottom:28px;font-size:13px;line-height:1.6}.onboarding-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.club-tabs{border-bottom:1px solid var(--s3);gap:0;margin-bottom:20px;display:flex}.club-tab{cursor:pointer;color:var(--t3);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.club-tab:hover{color:var(--t2)}.club-tab.active{color:var(--lime);border-bottom-color:var(--lime)}.perf-tabs{border:1px solid var(--b1);border-radius:var(--rs);gap:0;width:fit-content;margin-bottom:16px;display:flex;overflow:hidden}.perf-tab{cursor:pointer;color:var(--t3);background:0 0;border:none;padding:7px 16px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.perf-tab.active{background:var(--lime-light);color:var(--lime)}.week-load-bar{background:var(--s3);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.week-load-fill{border-radius:3px;height:100%;transition:width .5s}.athlete-table{border-collapse:collapse;width:100%}.athlete-table th{text-align:left;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);border-bottom:1px solid var(--s3);padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:9px}.athlete-table td{border-bottom:1px solid var(--s3);color:var(--t2);vertical-align:middle;padding:11px 14px;font-size:12px}.athlete-table tr:last-child td{border-bottom:none}.athlete-table tr:hover td{background:var(--s2);cursor:pointer}.load-pill{border-radius:20px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:inline-block}.load-low{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.load-mid{color:var(--amber);background:#f59e0b1a}.load-high{background:rgba(var(--lime-rgb),.1);color:var(--lime)}.load-vhigh{color:var(--red);background:#ef44441a}.template-list{flex-direction:column;gap:10px;display:flex}.template-item{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);cursor:pointer;align-items:center;gap:14px;padding:14px 18px;transition:all .2s;display:flex}.template-item:hover{border-color:rgba(var(--lime-rgb),.3);box-shadow:0 4px 16px #0000000f}.template-item.active-template{border-color:var(--lime)}.ti-icon{background:rgba(var(--lime-rgb),.1);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.ti-name{color:var(--t1);flex:1;font-size:13px;font-weight:500}.ti-meta{color:var(--t3);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px}.ti-badge{background:rgba(var(--lime-rgb),.08);color:var(--lime);border:1px solid rgba(var(--lime-rgb),.2);white-space:nowrap;border-radius:20px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px}.invite-row{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.invite-row .inp{flex:1}.card,.stat,.plan-day,.athlete-card{transition:border-color .2s,box-shadow .2s,transform .15s}.card:after,.stat:after,.plan-day:after,.athlete-card:after{display:none!important}.card:hover,.stat:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.35), 0 4px 16px rgba(var(--accent-rgb),.06)}.plan-day:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.3), 0 2px 12px rgba(var(--accent-rgb),.05)}.athlete-card:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.35), 0 4px 16px rgba(var(--accent-rgb),.06)}html.dark .card:hover,html.dark .stat:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.6), 0 0 18px rgba(var(--accent-rgb),.18)}html.dark .plan-day:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.55), 0 0 16px rgba(var(--accent-rgb),.15)}html.dark .athlete-card:hover{box-shadow:0 0 0 1.5px rgba(var(--accent-rgb),.6), 0 0 18px rgba(var(--accent-rgb),.18)}.auth-box{box-shadow:0 8px 32px rgba(var(--lime-rgb),.12), 0 2px 8px #0000000d, 0 0 0 1px rgba(var(--lime-rgb),.08)}html.dark .auth-box{box-shadow:0 8px 48px rgba(var(--lime-rgb),.25), 0 2px 8px #0006, 0 0 0 1px rgba(var(--lime-rgb),.2);border-color:rgba(var(--lime-rgb),.2)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--lime-rgb),.15);border-radius:2px}@keyframes neonPulse{0%,to{box-shadow:0 0 0 1.5px var(--neon-col), 0 0 14px var(--neon-glow), 0 0 28px var(--neon-glow)}50%{box-shadow:0 0 0 1.5px var(--neon-col), 0 0 22px var(--neon-glow-hi), 0 0 44px var(--neon-glow-hi)}}.pt-slot-block.neon{--neon-glow:color-mix(in srgb, var(--sl-text) 35%, transparent);--neon-glow-hi:color-mix(in srgb, var(--sl-text) 55%, transparent);--neon-col:var(--sl-text);animation:2.8s ease-in-out infinite neonPulse;border-color:var(--sl-text)!important}.pt-slot-block.neon .pt-slot-name{text-shadow:0 0 12px color-mix(in srgb, var(--sl-text) 60%, transparent);letter-spacing:2px}.pt-slot-block.neon .pt-slot-type{background:var(--sl-text);color:#fff;letter-spacing:1.4px;box-shadow:0 0 12px color-mix(in srgb, var(--sl-text) 55%, transparent);font-weight:700}html.dark .pt-slot-block.neon .pt-slot-type{color:#000}.session-type{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:inline-flex}.stype-lauf{color:#0d9669;background:#0d96691a;border:1px solid #0d966933}.stype-kraft{color:#7c3aed;background:#7c3aed1a;border:1px solid #7c3aed33}.stype-regen{color:#059669;background:#0596691a;border:1px solid #05966933}.stype-velo{color:#0891b2;background:#0891b21a;border:1px solid #0891b233}.stype-intervall{color:#d97706;background:#d977061a;border:1px solid #d9770633}.stype-tempo{color:#dc2626;background:#dc26261a;border:1px solid #dc262633}.stype-ausdauer{color:#3b7dd8;background:#3b7dd81a;border:1px solid #3b7dd833}.stype-wettkampf{color:#e05a1a;background:#e05a1a1a;border:1px solid #e05a1a33}html.dark .session-type{filter:brightness(1.3)}.day-wellness{background:rgba(var(--lime-rgb),.03);border:1px dashed rgba(var(--lime-rgb),.15);border-radius:8px;margin-top:10px;padding:12px}@media (width<=1100px){.days-grid{grid-template-columns:repeat(4,1fr)}.charts-row{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.settings-layout,.account-grid{grid-template-columns:1fr}}@media (width<=900px){.nav-rail-btn{width:40px;height:40px}}.mob-topbar{display:none!important}.mob-overlay,.mob-add-btn,.mob-nav,.sb-toggle{display:none}@media (width<=768px){.desktop-topbar{display:none!important}.sidebar{z-index:400;box-sizing:border-box;width:240px;height:100%;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);transition:left .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:auto;left:-280px}.sidebar.open{left:0}.main{flex:none;width:100%;position:static;overflow:visible}.mob-topbar{z-index:200;height:calc(54px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--s1);border-bottom:1.5px solid rgba(var(--accent-rgb),.18);box-shadow:0 1px 0 rgba(var(--accent-rgb),.08), 0 2px 12px #0000000f;align-items:center;position:fixed;top:0;left:0;right:0;display:flex!important}html.dark .mob-topbar{border-bottom-color:rgba(var(--accent-rgb),.15);box-shadow:0 1px 0 rgba(var(--accent-rgb),.1), 0 2px 16px #0000004d;background:#0a0a0a}.mob-topbar-ham{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:52px;height:52px;display:flex}.mob-topbar-ham span{background:var(--t1);border-radius:2px;width:20px;height:2px;display:block}.mob-topbar-right{align-items:center;gap:8px;padding-right:14px;display:flex}.sb-toggle{display:none!important}.sidebar .sb-bottom{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:100%;padding:10px 0 14px;display:flex}.sidebar.open .nav-rail-btn{border-radius:8px;justify-content:flex-start;gap:12px;width:100%;height:46px;padding:0 16px}.sidebar.open .nav-rail-btn .nav-rail-tooltip{opacity:1;box-shadow:none;color:inherit;background:0 0;border:none;padding:0;font-size:13px;position:static;transform:none}.sidebar.open .sb-bottom{align-items:flex-start;padding-left:10px;padding-right:10px}.sidebar.open .sb-bottom-btn{border-radius:8px;justify-content:flex-start;gap:12px;width:100%;height:40px;padding:0 6px}.sidebar.open .sb-brand{justify-content:flex-start;gap:8px;padding-left:20px}.sidebar.open .sb-logo:before{content:"VOLANT";letter-spacing:4px;color:var(--accent);font-size:20px}.sidebar.open .sb-logo{font-size:0}.sb-overlay{z-index:399;opacity:0;pointer-events:none;background:#0006;transition:opacity .25s;position:fixed;inset:0;display:block!important}.sb-overlay.show{opacity:1;pointer-events:all}.main-inner{padding-top:calc(54px + env(safe-area-inset-top,0px) + 16px);padding-bottom:calc(60px + env(safe-area-inset-bottom,0px) + 24px);padding-left:max(16px,env(safe-area-inset-left,16px));padding-right:max(16px,env(safe-area-inset-right,16px));box-sizing:border-box;width:100%;min-height:100%}html,body{height:auto;min-height:100%;overflow:hidden visible}.app{height:auto;min-height:100dvh;display:block;overflow:visible}.topbar{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px;padding-left:0}.page-title{font-size:26px}.mob-nav{z-index:120;background:var(--bg);border-top:1px solid var(--s3);padding-bottom:env(safe-area-inset-bottom,0px);height:calc(60px + env(safe-area-inset-bottom,0px));align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.mob-nav-btn{color:var(--t4);cursor:pointer;letter-spacing:.3px;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-family:JetBrains Mono,monospace;font-size:9px;transition:color .15s;display:flex}.mob-nav-btn.active{color:var(--lime)}.mob-nav-btn svg{transition:stroke .15s}.mob-nav-btn.active svg{stroke:var(--lime)}.mob-nav-icon{width:22px;height:22px}.mob-nav-btn span{font-size:9px;font-weight:500}.ov-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.charts-row{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.days-grid{grid-template-columns:1fr;gap:8px}.day-col{padding:10px 12px}.stats-row{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.stat{border-radius:12px;padding:14px 16px}.stat-val{font-size:28px}.stat-sparkline,.streak-ring{display:none}.settings-layout,.account-grid{grid-template-columns:1fr}.sb-weeknav{display:none}.mob-week-nav{align-items:center;gap:8px;margin-top:4px;display:flex}.topbar-actions{display:none}.modal-overlay{z-index:200!important;align-items:flex-end!important;padding:0!important}.modal{border-radius:20px 20px 0 0!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:calc(100dvh - 60px)!important;margin:0!important;padding:0!important;display:flex!important;position:relative!important;overflow:hidden!important;transform:translateY(105%)!important}.modal-overlay.open .modal{transform:translateY(0)!important}.modal:before{content:"";background:#0000001a;border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:14px auto 0;display:block}.modal .modal-title{flex-shrink:0;margin:0!important;padding:16px 20px 4px!important;font-size:22px!important}.modal .modal-sub{border-bottom:1px solid var(--b1);flex-shrink:0;margin:0!important;padding:0 20px 14px!important}.modal-scroll-body{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto;padding:16px 20px 8px!important}.modal-actions{border-top:1px solid var(--b1);background:var(--s1);flex-shrink:0;gap:10px;display:flex;padding:12px 20px max(16px,calc(12px + env(safe-area-inset-bottom,0px)))!important;margin:0!important}.modal-actions .btn{text-align:center;flex:1;border-radius:12px!important;padding:14px!important;font-size:14px!important}.modal .inp,.modal .sel{-webkit-appearance:none;border-radius:10px!important;padding:13px!important;font-size:16px!important}.modal .modal-field{margin-bottom:14px!important}.modal .modal-label{margin-bottom:7px!important;font-size:11px!important}.auth-box{width:92%;padding:28px 20px}.card{padding:14px}.de-actions{opacity:1!important}.day-add{border-radius:9px!important;padding:12px 8px!important;font-size:13px!important}.wn-today{display:none}[style*="grid-template-columns:220px 1fr"]{grid-template-columns:1fr!important}.pt-header,.pt-row,.pt-row-add-row{min-width:460px}.wn-arrow{width:40px;height:40px;font-size:18px}#profile-stats-row{grid-template-columns:repeat(2,1fr)}.assignment-grid,.feedback-grid{grid-template-columns:1fr}.club-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.club-tab{white-space:nowrap}.athlete-table{font-size:11px}.athlete-table th,.athlete-table td{padding:8px 10px}.athlete-grid{grid-template-columns:1fr 1fr}}@media (hover:none){.card:hover{border-color:var(--s3);background:#fff;box-shadow:0 1px 3px #0000000a}html.dark .card:hover{box-shadow:none;border-color:var(--s3);background:var(--s1)}.athlete-card:hover{box-shadow:none}html.dark .athlete-card:hover{border-color:var(--s3);box-shadow:none}.inp:hover,.sel:hover,.field input:hover{border-color:var(--b1)}}.help-visual{margin:6px 0 2px}.help-flow{align-items:stretch;gap:8px;display:flex}.help-step{background:var(--s2);border:1px solid var(--s3);border-radius:12px;flex-direction:column;flex:1;gap:8px;min-width:0;padding:11px 10px;display:flex}.help-step-h{color:var(--t1);align-items:center;gap:7px;font-size:11.5px;font-weight:600;line-height:1.2;display:flex}.help-step-n{background:var(--lime);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:flex}.help-arrow{color:var(--lime);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.help-pill{background:rgba(var(--accent-rgb),.15);color:var(--accent);border-radius:20px;align-items:center;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.help-av{background:rgba(var(--lime-rgb),.18);width:20px;height:20px;color:var(--lime);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}.help-av.sel{border-color:var(--lime);box-shadow:0 0 0 2px rgba(var(--lime-rgb),.25)}.help-mock{background:var(--s1);border:1px solid var(--b1);color:var(--t2);border-radius:8px;padding:7px 8px;font-size:10px}.help-mockbtn{background:var(--lime);color:#fff;text-align:center;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.help-dot{border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:inline-flex}@media (width<=600px){.help-flow{flex-direction:column}.help-arrow{height:14px;transform:rotate(90deg)}}@media (width<=768px){.stats-chart-wrap{height:340px!important}}
