.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:#0a0a0a;--s1:#111;--s2:#171717;--s3:#1f1f1f;--t1:#f5f5f5;--t2:#a3a3a3;--t3:#7c7c7c;--t4:#5a5a5a;--accent:#f5f5f5;--accent-rgb:245,245,245;--accent-ink:#f5f5f5;--on-accent:#0a0a0a;--accent-glow:transparent;--club:#a3a3a3;--club-rgb:163,163,163;--club-ink:#f5f5f5;--on-club:#0a0a0a;--lime:var(--accent);--lime-rgb:var(--accent-rgb);--lime-glow:transparent;--lime-light:#ffffff0f;--b1:#ffffff14;--b2:#ffffff29;--b3:#fff6;--green:#30a46c;--green-glow:transparent;--red:#e5484d;--red-glow:transparent;--amber:#ffb224;--amber-glow:transparent;--cyan:#a3a3a3;--r:12px;--rs:8px;--f-display:"Geist",system-ui,-apple-system,sans-serif;--f-body:"Geist",system-ui,-apple-system,sans-serif;--f-mono:"Geist Mono",ui-monospace,"SF Mono",monospace;--safe-b:env(safe-area-inset-bottom,0px);--fg-rgb:255,255,255;--bg-rgb:10,10,10;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html:not(.dark){--bg:#fafafa;--s1:#fff;--s2:#f4f4f4;--s3:#e8e8e8;--t1:#0a0a0a;--t2:#525252;--t3:#737373;--t4:#a3a3a3;--accent:#0a0a0a;--accent-rgb:10,10,10;--accent-ink:#0a0a0a;--on-accent:#fafafa;--lime-light:#0000000d;--b1:#00000014;--b2:#00000029;--b3:#0006;--amber:#d97706;--fg-rgb:0,0,0;--bg-rgb:250,250,250;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.vt,html.vt body,html.vt .main,html.vt .app{background:var(--bg)}html.vt .card,html.vt .stat,html.vt .plan-day,html.vt .pt-slot-block,html.vt .pt-table,html.vt .pt-activity-card,html.vt .auth-box{background:var(--s1);border-color:var(--s3)}html.vt .card:hover{background:var(--s2)}html.vt .plan-day.today{border-color:var(--lime);box-shadow:none}html.vt .plan-day-header:hover,html.vt .pt-activity-card:hover{background:var(--s2)}html.vt .pt-slot-header{background:rgba(var(--fg-rgb),.03)}html.vt .pt-row-add-row,html.vt .pt-header{background:var(--s2)}html.vt .mob-topbar,html.vt .mob-nav{background:var(--bg);border-color:var(--s3)}html.vt .mob-topbar-ham span{background:var(--t1)}html.vt .nav-rail-btn.active{background:rgba(var(--accent-rgb),.14);color:var(--accent-ink)}html.vt .nav-rail-btn.active .nav-rail-indicator{opacity:1}html.vt .sb-divider{background:rgba(var(--fg-rgb),.06)}html.vt .nav-rail-tooltip{background:var(--s2);border-color:rgba(var(--fg-rgb),.1);color:var(--t1);box-shadow:0 8px 24px #00000080}html.vt .sb-bottom-btn{color:var(--t4)}html.vt .sb-bottom-btn:hover{background:rgba(var(--fg-rgb),.06);color:var(--t1)}html.vt .nav-btn.active .nav-icon{opacity:1}html.vt .sb-logo,html.vt .sb-username{color:var(--t1)}html.vt .sb-role,html.vt .sb-info{color:var(--t3)}html.vt .inp,html.vt .sel,html.vt input,html.vt textarea{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.vt .inp:focus,html.vt input:focus,html.vt textarea:focus{border-color:rgba(var(--lime-rgb),.6);background:var(--s1)}html.vt .btn{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.vt .btn:hover{background:var(--s3);color:var(--t1);border-color:var(--s3)}html.vt .btn-lime{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}html.vt .btn-lime:hover{filter:brightness(1.15)}html.vt .btn-danger{color:var(--red);background:0 0}html.vt .btn-danger:hover{background:#e5484d1a}html.vt .pt-edit-btn{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.vt .pt-edit-btn:hover{background:rgba(var(--lime-rgb),.12);color:var(--accent-ink)}html.vt .pt-del-btn:hover{background:#e5484d26}html.vt .modal{background:var(--s1);border-color:var(--s3)}html.vt .modal-overlay{background:#000c}html.vt .modal-actions{background:var(--s1);border-color:var(--s3)}html.vt .modal:before{background:var(--s3)}html.vt .auth-screen{background:var(--bg)}html.vt .auth-tab{color:var(--t2)}html.vt .auth-tab.active{background:rgba(var(--lime-rgb),.15);color:var(--accent-ink)}html.vt .field input{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.vt .page-sub{color:var(--t3)}html.vt .overline{color:var(--t4)}html.vt .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(--accent-ink);background:var(--lime-light)}html.vt .wn-arrow{background:var(--s2);border-color:var(--s3);color:var(--t2)}html.vt .wn-arrow:hover{border-color:var(--lime);color:var(--accent-ink)}html.vt .club-tab{color:var(--t3)}html.vt .danger-zone{border-color:#e5484d33}html.vt .mob-nav-btn{color:var(--t3)}html.vt .mob-nav-btn.active{color:var(--accent-ink)}html.vt .mob-nav-btn.active svg{stroke:var(--lime)}html.vt .athlete-card{background:var(--s1);border-color:var(--s3)}html.vt .athlete-card:hover{border-color:rgba(var(--lime-rgb),.35)}html.vt .pt-slot-block{border-color:var(--s3)}html.vt .slog-inp{background:var(--s2);border-color:var(--s3);color:var(--t1)}html.vt .perf-tab{color:var(--t3)}html.vt .perf-tab.active{background:rgba(var(--lime-rgb),.15);color:var(--accent-ink)}#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);font-family:var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;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.vt .desktop-topbar{background:var(--bg);border-bottom-color:rgba(var(--fg-rgb),.05)}.dt-logo{-webkit-user-select:none;user-select:none;font-size:13px}.vl-lockup{color:var(--t1);align-items:center;gap:.55em;line-height:1;display:inline-flex}.vl-mark{fill:currentColor;flex-shrink:0;width:1.45em;height:1.45em}.vl-word{font-family:var(--f-display);letter-spacing:.24em;margin-right:-.24em;font-weight:800}.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.vt .sidebar{background:var(--bg);border-right-color:rgba(var(--fg-rgb),.05)}.sb-overlay{display:none!important}.sb-toggle,.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-ink)}.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;font-size:12px;font-weight:500;font-family:var(--f-body);z-index:100;background:#fff;border:1px solid #00000017;border-radius:8px;padding:6px 12px;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{font-family:var(--f-display);letter-spacing:-.01em;color:var(--t1);font-size:29px;font-weight:800;line-height:1}.page-sub{color:var(--t3);letter-spacing:.5px;margin-top:4px;font-family:Geist Mono,monospace;font-size:12px}.overline{color:var(--t3);font-size:10px;font-family:var(--f-body);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:Geist Mono,monospace}.trend-up{color:var(--accent-ink);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{font-size:26px}.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{background:var(--s1);border:1px solid var(--s3);border-radius:18px;width:370px;padding:42px;box-shadow:0 8px 32px #00000014}.auth-logo{justify-content:center;font-size:24px;display:flex}.auth-tagline{text-align:center;color:var(--t3);font-size:10px;font-family:var(--f-body);margin:4px 0 28px}.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);font-size:12px;font-family:var(--f-body);background:0 0;border:none;flex:1;padding:9px;transition:all .15s}.auth-tab.active{background:rgba(var(--lime-rgb),.1);color:var(--accent-ink)}.auth-err{color:var(--red);min-height:18px;margin-bottom:10px;font-size:12px}.field{margin-bottom:14px}.field label{color:var(--t3);font-size:10px;font-family:var(--f-body);margin-bottom:7px;display:block}.field input{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rs);width:100%;color:var(--t1);font-size:13px;font-family:var(--f-body);outline:none;padding:10px 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);background:var(--s1);color:var(--t2);font-size:12px;font-family:var(--f-body);cursor:pointer;white-space:nowrap;padding:9px 18px;font-weight:500;transition:all .15s}.btn:hover{border-color:rgba(var(--lime-rgb),.4);color:var(--accent-ink);background:var(--lime-light)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-lime{background:var(--accent);border-color:var(--accent);color:var(--on-accent);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:#e5484d33}.btn-danger:hover{border-color:var(--red);background:#e5484d0f}.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);font-size:12px;font-family:var(--f-body);outline:none;padding:7px 10px;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);font-size:12px;font-family:var(--f-body);appearance:none;cursor:pointer;outline:none;padding:7px 10px;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{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);padding:20px;transition:border-color .2s}.card:hover{border-color:rgba(var(--lime-rgb),.25);box-shadow:0 4px 16px #0000000f}.card-title{color:var(--t3);font-size:11px;font-family:var(--f-body);margin-bottom:16px;font-weight:600}.card+.card{margin-top:14px}.stats-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--s1);border:1px solid var(--b2);border-radius:var(--r);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{color:var(--t4);font-size:10px;font-family:var(--f-body);margin-bottom: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:rgba(var(--club-rgb),.35);border-radius:3px 3px 0 0;flex:1;min-width:5px;transition:height .4s cubic-bezier(.22,1,.36,1)}.stat-sparkline span:hover{background:rgba(var(--club-rgb),.6)}.stat-sparkline span.cur,html.vt .stat-sparkline span.cur{background:var(--club)}.stat-progress{background:var(--s3);border-radius:3px;height:5px;margin-top:10px;position:relative;overflow:hidden}.stat-progress-fill{background:var(--club);border-radius:3px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}html.vt .stat-progress{background:rgba(var(--fg-rgb),.07)}.ov-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px;margin-bottom:18px;display:grid}.cat-card{background:var(--s1);border:1px solid var(--s3);border-radius:var(--r);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:Geist Mono,monospace;font-size:11px;display:none;position:absolute;top:10px;right:10px}.cc-name{color:var(--t3);font-size:9px;font-family:var(--f-body);margin-bottom:6px}.cc-val{font-family:var(--f-display);letter-spacing:-.01em;color:var(--cc);font-size:27px;font-weight:800;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:Geist 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{background:var(--s1);border:1px solid var(--s3);border-radius:var(--r);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(--accent-ink)}.dn{font-size:8px;font-family:var(--f-body);color:var(--t3);margin-bottom:4px}.dd{font-family:var(--f-display);letter-spacing:-.01em;margin-bottom:9px;font-size:16px;font-weight:800;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:Geist 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(--accent-ink)}.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:Geist Mono,monospace;font-size:10px}.day-add{border:1px dashed var(--t4);width:100%;color:var(--t4);cursor:pointer;font-size:11px;font-family:var(--f-body);background:0 0;border-radius:7px;margin-top:8px;padding:8px;transition:all .2s}.day-add:hover{border-color:var(--lime);color:var(--accent-ink);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(--accent-ink)}.ring-dot.today-dot{background:rgba(var(--lime-rgb),.2);color:var(--accent-ink);border:1px solid var(--lime)}.ring-dot.miss{background:var(--s2);color:var(--t4)}.ring-lbl{color:var(--t4);font-family:Geist 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:Geist Mono,monospace;font-size:9px}.section-divider{background:var(--b1);height:1px;margin:16px 0}.danger-zone{border-radius:var(--r);border:1px solid #e5484d26;padding:18px}.danger-zone-title{color:#e5484d99;font-size:9px;font-family:var(--f-body);margin-bottom:12px}.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{background:var(--s1);border:1px solid var(--s3);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{font-family:var(--f-display);letter-spacing:-.01em;margin-bottom:4px;font-size:21px;font-weight:700}.modal-sub{color:var(--t3);margin-bottom:20px;font-family:Geist Mono,monospace;font-size:11px}.modal-field{margin-bottom:14px}.modal-label{color:var(--t3);font-size:10px;font-family:var(--f-body);margin-bottom:7px;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:var(--bg);pointer-events:none;z-index:300;opacity:0;white-space:nowrap;border-radius:7px;padding:6px 10px;font-family:Geist Mono,monospace;font-size:11px;transition:opacity .15s;position:fixed}.tooltip.show{opacity:1}.notif{z-index:400;opacity:0;font-size:12px;font-weight:600;font-family:var(--f-body);pointer-events:none;border-radius:9px;padding:10px 18px;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 #30a46c4d}.notif.error{color:#991b1b;background:#fef2f2;border:1px solid #e5484d4d}.role-badge{font-size:9px;font-family:var(--f-body);border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-weight:600;display:inline-flex}.role-coach{background:rgba(var(--lime-rgb),.12);color:var(--accent-ink);border:1px solid rgba(var(--lime-rgb),.25)}.role-athlete{background:rgba(var(--accent-rgb),.12);color:var(--accent-ink);border:1px solid rgba(var(--accent-rgb),.3)}.role-admin{background:rgba(var(--accent-rgb),.12);color:var(--accent-ink);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);width:52px;height:52px;font-family:var(--f-display);letter-spacing:-.01em;color:var(--on-accent);letter-spacing:2px;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-size:16px;font-weight:400;display:flex}.club-name{font-family:var(--f-display);letter-spacing:-.01em;color:var(--t1);font-size:18px;font-weight:800}.club-meta{color:var(--t3);margin-top:2px;font-family:Geist 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:Geist 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{font-family:var(--f-display);letter-spacing:-.01em;color:var(--t1);font-size:14px;font-weight:800;line-height:1}.astat-lbl{color:var(--t4);font-size:8px;font-family:var(--f-body);margin-top:2px}.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);font-size:11px;font-weight:600;font-family:var(--f-body);flex:1}.template-day-count{color:var(--t3);font-family:Geist 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:var(--on-accent)}.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{font-family:var(--f-display);letter-spacing:-.01em;text-align:center;width:28px;font-size:18px;font-weight:800;line-height:1}.plan-day-name{color:var(--t3);font-size:8px;font-family:var(--f-body)}.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.vt .pt-activity-card.logged{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.5))}html.vt .pt-activity-card.logged:hover{background:rgba(var(--fg-rgb),.02)}.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{color:var(--t3);font-size:8px;font-family:var(--f-body);align-items:center;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:var(--s1)}.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.vt .pt-row-saved{box-shadow:inset 0 0 0 1.5px var(--log-color,rgba(var(--accent-rgb),.45));background:0 0}html.vt .pt-row-saved:hover{background:rgba(var(--fg-rgb),.02)}.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:Geist Mono,monospace;font-size:8px;font-weight:800}.pt-slot-name{font-family:var(--f-display);letter-spacing:-.01em;color:var(--t1);flex:1;font-size:14px;font-weight:800;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:Geist 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:Geist 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:var(--on-accent);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);background:var(--s1);color:var(--t3);cursor:pointer;font-size:11px;font-family:var(--f-body);border-radius:6px;padding:4px 9px;transition:all .15s}.pt-edit-btn:hover{background:var(--lime-light);color:var(--accent-ink);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:#e5484d;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{border:1.5px solid rgba(var(--accent-rgb),.2);background:var(--s1);border-radius:12px;margin-top:8px;overflow:hidden}.ptw-header{background:rgba(var(--accent-rgb),.07);border-bottom:1px solid rgba(var(--accent-rgb),.12);align-items:center;gap:8px;padding:9px 14px;display:flex}.ptw-header-icon{font-size:14px}.ptw-header-label{font-size:8px;font-weight:800;font-family:var(--f-body);color:var(--accent-ink);flex:1}.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{color:#a5b4fc;font-size:8px;font-family:var(--f-body)}.ptw-metric-val{font-family:var(--f-display);letter-spacing:-.01em;color:var(--accent-ink);font-size:18px;font-weight:800;line-height:1}.ptw-divider{background:rgba(var(--accent-rgb),.15);flex-shrink:0;width:1px;height:32px}.ptw-recovery-badge{background:rgba(var(--accent-rgb),.1);width:36px;height:36px;color:var(--accent-ink);border:1.5px solid rgba(var(--accent-rgb),.2);border-radius:50%;justify-content:center;align-items:center;font-family:Geist Mono,monospace;font-size:14px;font-weight:800;display:inline-flex}.ptw-comment{color:var(--accent-ink);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{border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.07);color:var(--accent-ink);cursor:pointer;font-size:11px;font-family:var(--f-body);border-radius:6px;padding:5px 12px;transition:all .15s}.ptw-edit-btn:hover{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.4)}.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:#e5484d;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:var(--accent-ink)}.ptw-empty-text{color:#a5b4fc;font-size:12px;font-style:italic;transition:color .15s}.ptw-empty-btn{border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.07);color:var(--accent-ink);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--f-body);white-space:nowrap;border-radius:6px;margin-left:auto;padding:5px 14px;transition:all .15s}.ptw-empty-btn:hover{background:rgba(var(--accent-rgb),.15)}.stats-toggle{border:1px solid var(--s3);color:var(--t3);cursor:pointer;background:0 0;border-radius:20px;padding:4px 11px;font-size:11px;font-weight:500;transition:all .15s}.stats-toggle.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.sm-stack{flex-direction:column;display:flex}.sm-panel{border-top:1px solid var(--b1);padding:10px 0 4px}.sm-panel:first-child{border-top:0;padding-top:2px}.sm-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.sm-label{font-family:var(--f-body);color:var(--t2);font-size:10px;font-weight:500}.sm-sum{color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap;font-family:Geist Mono,monospace;font-size:11px}.sm-plot{height:84px;position:relative}.sm-plot-tall,.sm-plot-last{height:104px}.sm-plot-tall.sm-plot-last{height:124px}.sm-none{color:var(--t4);padding:10px 0 8px;font-size:11.5px}.sm-empty{color:var(--t3);text-align:center;padding:24px 0;font-size:12px}.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:#e5484d1a;border:1px solid #e5484d33}.chip-wb{background:rgba(var(--accent-rgb),.1);color:var(--accent-ink);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:Geist 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:var(--on-accent);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:Geist 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:Geist 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:Geist 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:var(--on-accent);font-weight:700}.metric-display{color:var(--accent-ink);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:Geist 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{color:var(--t3);font-size:9px;font-family:var(--f-body);margin-bottom:6px}.onboarding-box{text-align:center;padding:60px 20px}.onboarding-icon{margin-bottom:16px;font-size:48px}.onboarding-title{font-family:var(--f-display);letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:800}.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);font-size:12px;font-family:var(--f-body);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-weight:500;transition:all .15s}.club-tab:hover{color:var(--t2)}.club-tab.active{color:var(--accent-ink);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:Geist Mono,monospace;font-size:11px;transition:all .15s}.perf-tab.active{background:var(--lime-light);color:var(--accent-ink)}.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;color:var(--t3);font-size:9px;font-family:var(--f-body);border-bottom:1px solid var(--s3);padding:10px 14px}.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:Geist Mono,monospace;font-size:10px;font-weight:600;display:inline-block}.load-low{background:rgba(var(--accent-rgb),.1);color:var(--accent-ink)}.load-mid{color:var(--amber);background:#ffb2241a}.load-high{background:rgba(var(--lime-rgb),.1);color:var(--accent-ink)}.load-vhigh{color:var(--red);background:#e5484d1a}.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:Geist Mono,monospace;font-size:10px}.ti-badge{background:rgba(var(--lime-rgb),.08);color:var(--accent-ink);border:1px solid rgba(var(--lime-rgb),.2);white-space:nowrap;border-radius:20px;padding:2px 8px;font-family:Geist 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,.plan-day:hover,.athlete-card:hover{box-shadow:none;border-color:var(--b2)}.auth-box{box-shadow:0 8px 32px #00000014,0 2px 8px #0000000d}html.vt .auth-box{border-color:var(--s3);box-shadow:0 8px 48px #00000080}::-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)}}.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{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.vt .pt-slot-block.neon .pt-slot-type{color:var(--on-club)}.session-type{font-size:9px;font-family:var(--f-body);border-radius:20px;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;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.vt .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:auto;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:0;left:-280px}.sidebar.open{left:0}.main{flex:none;width:100%;position:static;overflow:visible}.mob-topbar{z-index:200;height:calc(44px + 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.vt .mob-topbar{background:var(--bg);border-bottom-color:rgba(var(--accent-rgb),.15);box-shadow:0 1px 0 rgba(var(--accent-rgb),.1), 0 2px 16px #0000004d}.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-logo{font-size:14px}.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}.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(44px + 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:24px}.mob-nav{z-index:120;background:var(--bg);border-top:1px solid var(--s3);padding-bottom:var(--safe-b);height:calc(60px + var(--safe-b));align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.mob-nav-btn{color:var(--t3);cursor:pointer;font-family:var(--f-body);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 2px 4px;transition:color .15s;display:flex}.mob-nav-btn.active{color:var(--accent-ink)}.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{letter-spacing:0;font-size:10.5px;font-weight:500}.mob-nav-btn.active span{font-weight:600}.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:var(--s1);box-shadow:0 1px 3px #0000000a}html.vt .card:hover{box-shadow:none;border-color:var(--s3);background:var(--s1)}.athlete-card:hover{box-shadow:none}html.vt .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);width:19px;height:19px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Geist Mono,monospace;font-size:10px;font-weight:700;display:flex}.help-arrow{color:var(--accent-ink);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-ink);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(--accent-ink);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:var(--on-accent);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)}}.set-wrap{flex-direction:column;max-width:620px;display:flex}.set-seg{background:var(--s2);border-radius:10px;margin-bottom:14px;padding:3px;display:flex}.set-seg button{appearance:none;font:600 13px var(--f-body);color:var(--t2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:8px 0}.set-seg button[aria-pressed=true]{background:var(--s1);color:var(--t1);box-shadow:0 1px 2px #00000024}.set-id{background:var(--s1);border:1px solid var(--b1);text-align:left;width:100%;color:var(--t1);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.set-id:hover{background:var(--s2)}.set-id b{font-size:15px;font-weight:600;display:block}.set-id small{color:var(--t3);margin-top:1px;font-size:12px;display:block}.set-av{background:var(--accent);width:42px;height:42px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.set-av.sq{letter-spacing:.04em;border-radius:10px;font-family:Geist Mono,monospace;font-size:12px}.set-gl{font-family:var(--f-body);color:var(--t3);margin:20px 4px 7px;font-size:10px}.set-grp{background:var(--s1);border:1px solid var(--b1);border-radius:12px;overflow:hidden}.set-row{border:0;border-top:1px solid var(--b1);width:100%;min-height:48px;color:var(--t1);font:400 14px var(--f-body);text-align:left;box-sizing:border-box;background:0 0;align-items:center;gap:10px;padding:11px 14px;display:flex}.set-row:first-child{border-top:0}button.set-row{cursor:pointer}button.set-row:hover{background:var(--s2)}.set-row .v{color:var(--t3);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:55%;margin-left:auto;font-size:13px;overflow:hidden}.set-row .ch,.set-id .ch{width:8px;height:13px;color:var(--t4);flex-shrink:0}.set-id .push{margin-left:auto}.set-row .v+.ch,.set-row .dot+.ch{margin-left:0}.set-row.red{color:var(--red)}.set-row.acc{color:var(--accent-ink);font-weight:600}.set-row .dot{background:var(--club);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-left:auto}.set-row .tag,.set-member .tag{letter-spacing:.06em;color:var(--accent-ink);font-family:Geist Mono,monospace;font-size:10px;font-weight:700}.set-row .push{margin-left:auto}.set-mini{background:var(--s2);border-radius:8px;flex-shrink:0;margin-left:auto;padding:2px;display:flex}.set-mini button{appearance:none;font:500 12px var(--f-body);color:var(--t2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px}.set-mini button[aria-pressed=true]{background:var(--s1);color:var(--t1);font-weight:600;box-shadow:0 1px 2px #0000001f}.set-btn{appearance:none;border:1px solid var(--s3);background:var(--s1);color:var(--accent-ink);font:600 12px var(--f-body);cursor:pointer;border-radius:7px;flex-shrink:0;padding:5px 11px}.set-btn.ghost-red{color:var(--red);background:0 0;border-color:#0000;padding:5px 6px}.set-code{letter-spacing:.08em;margin-left:auto;font-family:Geist Mono,monospace;font-size:13px;font-weight:700}.set-back{appearance:none;color:var(--accent-ink);font:500 14px var(--f-body);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;margin-bottom:6px;padding:4px 0;display:inline-flex}.set-title{color:var(--t1);margin:2px 0 4px;font-size:22px;font-weight:600}.set-lead{color:var(--t3);margin-bottom:6px;font-size:13px;line-height:1.5}.set-field{border-top:1px solid var(--b1);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.set-field:first-child{border-top:0}.set-field label{font-family:var(--f-body);color:var(--t3);font-size:10px}.set-field .inp{box-sizing:border-box;width:100%}.set-foot{color:var(--t3);margin:8px 4px 0;font-size:12px;line-height:1.5}.set-swatches{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;padding:14px;display:grid}.set-sw{appearance:none;border:1px solid var(--s3);background:var(--s1);font:500 13px var(--f-body);color:var(--t1);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex}.set-sw i{border:1px solid #00000026;border-radius:50%;flex-shrink:0;width:20px;height:20px}.set-preview{border-top:1px solid var(--b1);flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.set-preview .pv-btn{background:var(--club);color:var(--on-club);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.set-preview .pv-chip{background:rgba(var(--club-rgb),.16);color:var(--t1);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600}.set-preview .pv-line{background:var(--club);border-radius:2px;flex:1;min-width:80px;height:3px}.set-chips{flex-wrap:wrap;gap:6px;padding:14px;display:flex}.set-chip{background:var(--s2);border:1px solid var(--b1);color:var(--t1);border-radius:20px;align-items:center;gap:4px;padding:5px 6px 5px 11px;font-size:13px;display:inline-flex}.set-chip.neon{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.35);color:var(--accent-ink)}.set-chip button{appearance:none;color:var(--t3);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:2px 5px;font-size:12px;line-height:1}.set-chip button:hover{background:var(--s3);color:var(--t1)}.set-add{gap:8px;padding:0 14px 14px;display:flex}.set-add .inp{flex:1;min-width:0}.set-member{border-top:1px solid var(--b1);align-items:center;gap:10px;padding:10px 14px;display:flex}.set-member:first-child{border-top:0}.set-member .nm{flex:1;min-width:0}.set-member .nm b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.set-member .nm small{color:var(--t3);font-size:11.5px;display:block}.set-member .sel{width:auto;padding:6px 8px;font-size:12.5px}.set-mav{background:var(--s2);width:32px;height:32px;color:var(--t2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}@media (width<=768px){html.pwa,html.pwa body{overscroll-behavior:none;height:100%;overflow:hidden}html.pwa .app{height:var(--app-h,100%);flex-direction:column;min-height:0;position:fixed;top:0;left:0;right:0}html.pwa .main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:auto;min-height:0;overflow:hidden auto}html.pwa .mob-nav{flex:none;position:relative;bottom:auto;left:auto;right:auto}html.pwa .main-inner{padding-bottom:24px}html.pwa .sidebar,html.pwa .sb-overlay,html.pwa .modal-overlay{height:var(--app-h,100%);bottom:auto}html.pwa .modal-actions{padding-bottom:calc(env(safe-area-inset-top,0px) + 14px)!important}html.pwa .sidebar{padding-bottom:calc(env(safe-area-inset-top,0px) + 12px)}}.dr-head,.dr-club,.dr-user{display:none}@media (width<=768px){.sidebar{background:var(--s1);border-right:1px solid var(--b2);width:284px;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px calc(var(--safe-b) + 12px);align-items:stretch;left:-304px}html.vt .sidebar{background:var(--s1);border-right-color:var(--b2)}.dr-head{align-items:center;padding:6px 8px 16px;font-size:14px;display:flex}.dr-club{border:1px solid var(--b2);background:var(--s2);width:100%;color:var(--t1);text-align:left;cursor:pointer;font-family:var(--f-body);border-radius:12px;align-items:center;gap:11px;margin-bottom:12px;padding:10px 12px;display:flex}.dr-club-badge{background:var(--accent);width:36px;height:36px;color:var(--on-accent);font-family:var(--f-mono);letter-spacing:.04em;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.dr-club-txt{flex-direction:column;flex:1;min-width:0;display:flex}.dr-club-txt b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.dr-club-txt small{color:var(--t3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.dr-club-sw{width:12px;height:16px;color:var(--t3);flex-shrink:0}.sidebar .sb-nav{align-items:stretch;gap:2px;padding:0;overflow-y:auto}.sidebar .nav-rail-indicator{display:none}.sidebar.open .nav-rail-btn,html.vt .sidebar.open .nav-rail-btn{width:100%;height:48px;color:var(--t2);border-radius:10px;justify-content:flex-start;gap:14px;padding:0 12px}.sidebar.open .nav-rail-btn svg{flex-shrink:0;width:20px;height:20px}.sidebar.open .nav-rail-btn.active,html.vt .sidebar.open .nav-rail-btn.active{background:rgba(var(--accent-rgb),.12);color:var(--accent-ink)}.sidebar.open .nav-rail-btn .nav-rail-tooltip{font-family:var(--f-body);letter-spacing:0;font-size:15px;font-weight:500}.sidebar.open .nav-rail-btn.active .nav-rail-tooltip{font-weight:600}.sidebar .sb-bottom{display:none!important}.dr-user{border:0;border-top:1px solid var(--b2);width:100%;color:var(--t1);text-align:left;cursor:pointer;font-family:var(--f-body);background:0 0;align-items:center;gap:11px;margin-top:8px;padding:12px;display:flex}.dr-user-av{background:rgba(var(--accent-rgb),.14);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.club-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;padding:0 16px;overflow:auto hidden}.club-tabs::-webkit-scrollbar{display:none}.club-tab{white-space:nowrap;flex-shrink:0;padding:10px 14px}}.lock-screen{z-index:1000;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lock-screen[hidden]{display:none}.lock-inner{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:320px;display:flex}.lock-logo{margin-bottom:10px;font-size:22px}.lock-hi{font-family:var(--f-display);color:var(--t1);margin-bottom:18px;font-size:22px;font-weight:700}.lock-btn{background:var(--accent);width:100%;color:var(--on-accent);font:600 15px var(--f-body);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px;display:flex}.lock-btn:disabled{opacity:.6}.lock-err{color:var(--red);margin:0;font-size:13px}.lock-alt{color:var(--t2);font:500 14px var(--f-body);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:10px;text-decoration:underline}.bio-offer{z-index:1100;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bio-card{background:var(--s1);width:100%;max-width:440px;padding:26px 22px calc(22px + var(--safe-b));text-align:center;border-radius:20px 20px 0 0;flex-direction:column;align-items:center;gap:10px;display:flex}.bio-card h2{font-family:var(--f-display);color:var(--t1);margin:4px 0 0;font-size:21px;font-weight:700}.bio-card p{color:var(--t2);max-width:34ch;margin:0 0 8px;font-size:14px;line-height:1.5}.bio-card .btn{width:100%;padding:13px;font-size:14px}.bio-card small{color:var(--t3);margin-top:4px;font-size:11.5px}.bio-icon{display:inline-flex}.bio-card .bio-icon{background:rgba(var(--accent-rgb),.12);width:52px;height:52px;color:var(--accent-ink);border-radius:14px;justify-content:center;align-items:center}.bio-card .bio-icon svg{width:28px;height:28px}@media (width>=769px){.bio-offer{align-items:center}.bio-card{border-radius:18px}}.exp-date{text-align:right;width:auto;max-width:60%;margin-left:auto}.set-row label{flex-shrink:0}.exp-part{cursor:pointer;align-items:flex-start}.exp-part input{width:20px;height:20px;accent-color:var(--accent);-webkit-appearance:checkbox;appearance:auto;flex-shrink:0;margin-top:1px}.exp-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.exp-txt b{font-size:14px;font-weight:500}.exp-txt small{color:var(--t3);font-size:12px;line-height:1.4}.exp-done{border-color:rgba(var(--accent-rgb),.35);margin-top:16px}.exp-go{width:100%;margin-top:16px;padding:13px;font-size:14px}.coach-tools{justify-content:flex-end;margin-bottom:12px;display:flex}@media (width<=768px){.coach-tools .btn{width:100%}}.ttb-month{min-width:0;color:var(--t3);flex-direction:column;flex:1 1 0;gap:5px;font-size:12px;display:flex}.ttb-month .inp{box-sizing:border-box;width:100%;min-width:0}.pb-row .pb-time{font-family:var(--f-display);color:var(--t1);font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px;font-weight:700}.pb-time-in{gap:8px;display:flex}.pb-time-in label{text-transform:none;letter-spacing:0;min-width:0;font-family:var(--f-body);color:var(--t3);flex:1;align-items:center;gap:6px;font-size:13px;display:flex}.pb-time-in .inp{text-align:center;width:100%;min-width:0}.pb-del{margin-top:10px;border-color:var(--s3)!important;color:var(--red)!important;background:0 0!important}.pb-del.confirm{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}html,body{background:var(--bg);color:var(--t1);font-family:var(--f-body);font-size:14px}html.vt body{font-family:var(--f-body)}::selection{background:rgba(var(--fg-rgb),.2)}html.vt ::-webkit-scrollbar-thumb{background:rgba(var(--fg-rgb),.12)}html.vt .page-title{font-family:var(--f-body);letter-spacing:-.01em;color:var(--t1);font-size:24px;font-weight:600;line-height:1.2}html.vt .page-sub{font-family:var(--f-body);color:var(--t2);letter-spacing:0;font-size:14px}html.vt .card-title,html.vt .modal-label,html.vt .set-gl,html.vt .sm-label,html.vt .stat-label,html.vt .overline{font-family:var(--f-body);letter-spacing:0;text-transform:none;color:var(--t3);font-size:12px;font-weight:400}.set-gl{margin:22px 4px 8px}.sm-label{color:var(--t1)!important;font-size:13px!important;font-weight:500!important}html.vt .modal-title{font-family:var(--f-body);letter-spacing:-.01em;color:var(--t1);font-size:20px;font-weight:600}html.vt .modal-sub{font-family:var(--f-body);color:var(--t2);letter-spacing:0;font-size:14px}.stat-val,.big-num,.sm-sum,.set-code,.pb-time{font-variant-numeric:tabular-nums}html.vt .btn{border:1px solid var(--b2);min-height:44px;color:var(--t1);font-family:var(--f-body);box-shadow:none;filter:none;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}html.vt .btn:hover,html.vt .btn:active{background:var(--s3);color:var(--t1);border-color:var(--b2)}html.vt .btn-lime,html.vt .btn-lime:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);filter:none;font-weight:600}html.vt .btn-lime:active{background:rgba(var(--fg-rgb),.9);border-color:rgba(var(--fg-rgb),.9)}html.vt .btn-danger{color:var(--red);background:0 0;border-color:#e5484d66}html.vt .btn-danger:hover,html.vt .btn-danger:active{color:var(--red);background:#e5484d1a}html.vt .btn:disabled,html.vt button:disabled{opacity:.5}html.vt .btn-sm{min-height:44px;padding:0 14px;font-size:13px}html.vt .wn-arrow{border:1px solid var(--b1);width:44px;height:44px;color:var(--t3);background:0 0;border-radius:8px}html.vt .wn-arrow:hover,html.vt .wn-arrow:active{background:var(--s3);color:var(--t1);border-color:var(--b1)}html.vt .card,html.vt .stat,html.vt .athlete-card,html.vt .plan-day,html.vt .pt-slot-block,html.vt .auth-box{background:var(--s1);border:1px solid var(--b1);box-shadow:none;border-radius:12px}html.vt .card{padding:20px}html.vt .card:hover,html.vt .stat:hover,html.vt .athlete-card:hover,html.vt .plan-day:hover{border-color:var(--b2);box-shadow:none;background:var(--s1)}html.vt .athlete-card.selected{border-color:var(--b3);box-shadow:none}html.vt .plan-day.today{border-color:var(--b2)}html.vt .inp,html.vt .sel,html.vt .field input,html.vt input[type=text],html.vt input[type=email],html.vt input[type=password],html.vt input[type=number],html.vt input[type=date],html.vt input[type=month],html.vt input[type=search],html.vt input[type=tel],html.vt select,html.vt textarea{background:var(--s2);border:1px solid var(--b1);min-height:44px;color:var(--t1);font-family:var(--f-body);box-shadow:none;border-radius:8px;font-size:16px}html.vt textarea{min-height:88px;padding:10px 12px;line-height:1.45}html.vt .inp:focus,html.vt .sel:focus,html.vt input:focus,html.vt select:focus,html.vt textarea:focus{border-color:var(--b3);box-shadow:none;background:var(--s2);outline:none}html.vt ::placeholder{color:var(--t4)}html.vt .club-tab{color:var(--t3);font-family:var(--f-body);min-height:44px;font-size:14px;font-weight:500}html.vt .club-tab.active{color:var(--t1);border-bottom-color:var(--t1)}html.vt .club-tabs{border-bottom-color:var(--b1)}html.vt .stats-toggle{border:1px solid var(--b1);min-height:36px;color:var(--t3);font-family:var(--f-body);background:0 0;border-radius:8px;padding:0 12px;font-size:13px}html.vt .stats-toggle.active{border-color:var(--b2);background:var(--s2);color:var(--t1)}.role-badge{font-family:var(--f-body)!important;letter-spacing:0!important;text-transform:none!important;border-radius:6px!important;padding:2px 8px!important;font-size:11px!important;font-weight:500!important}.role-coach,.role-athlete,.role-admin{background:var(--s2)!important;color:var(--t2)!important;border:1px solid var(--b1)!important}.club-logo{background:var(--club)!important;color:var(--on-club)!important;box-shadow:none!important;font-family:var(--f-mono)!important;letter-spacing:0!important;border-radius:10px!important;font-weight:600!important}.dr-club-badge,.set-av.sq{background:var(--club)!important;color:var(--on-club)!important}.set-av:not(.sq),.dr-user-av{background:var(--s3)!important;color:var(--t1)!important}.set-row.acc,.set-back{color:var(--t1)!important}.set-mini button[aria-pressed=true]{background:var(--accent)!important;color:var(--on-accent)!important}.set-sw[aria-pressed=true]{border-color:var(--t1);box-shadow:inset 0 0 0 1px var(--t1)}html.vt .notif{background:var(--s2);color:var(--t1);border:1px solid var(--b2);box-shadow:none;font-family:var(--f-body);font-size:14px;font-weight:500}html.vt .notif.success{background:var(--s2);color:var(--t1);border-color:#30a46c80}html.vt .notif.error{background:var(--s2);color:var(--t1);border-color:#e5484d99}html.vt .desktop-topbar{background:var(--bg);border-bottom:1px solid var(--b1)}html.vt .sidebar{background:var(--bg);border-right:1px solid var(--b1)}html.vt .nav-rail-btn{color:var(--t3)}html.vt .nav-rail-btn:hover,html.vt .nav-rail-btn.active{background:var(--s3);color:var(--t1)}.nav-rail-indicator{background:var(--t1)!important;box-shadow:none!important}@media (width<=768px){html.vt .mob-topbar{height:calc(44px + env(safe-area-inset-top,0px));background:var(--bg);border-bottom:1px solid var(--b1);box-shadow:none}.mob-topbar-ham{visibility:hidden;pointer-events:none}html.vt .mob-nav{background:rgba(var(--bg-rgb),.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--b1)}html.vt .mob-nav-btn{color:var(--t3);min-height:44px}html.vt .mob-nav-btn.active,html.vt .mob-nav-btn.active span{color:var(--t1)}html.vt .mob-nav-btn.active svg,html.vt .mob-nav-btn svg{stroke:currentColor}.mob-nav-btn span{font-family:var(--f-body);font-size:11px;font-weight:500}.mob-nav-icon{width:22px;height:22px}html.vt .modal{background:var(--s1);border:1px solid var(--b1);border-bottom:0;border-radius:16px 16px 0 0!important}html.vt .modal:before{background:rgba(var(--fg-rgb),.2);border-radius:3px;width:36px;height:5px}html.vt .modal-overlay{background:#0009}html.vt .modal-actions{background:var(--s1);border-top:1px solid var(--b1)}}.more-list{flex-direction:column;display:flex;padding:4px 0 calc(var(--safe-b) + 12px)!important}.more-row{border:0;border-top:1px solid var(--b1);min-height:52px;color:var(--t1);font:400 15px var(--f-body);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:14px;width:100%;padding:0 20px;display:flex}.more-row:active{background:var(--s3)}.more-row .ic{width:22px;height:22px;color:var(--t2);flex-shrink:0}.more-row .v{color:var(--t3);margin-left:auto;font-size:13px}.more-row .ch{width:16px;height:16px;color:var(--t3);flex-shrink:0}.more-row .v+.ch{margin-left:6px}.more-row>.ch:last-child{margin-left:auto}.more-row .v~.ch{margin-left:6px}.more-row.red{color:var(--red);border-bottom:1px solid var(--b1);font-weight:500}.more-row.red .ic{color:var(--red)}@media (width<=768px){html.pwa .more-list{padding-bottom:calc(env(safe-area-inset-top,0px) + 14px)!important}.stats-ctl{flex-direction:column;align-items:stretch!important;gap:10px!important}.stats-ctl>div:first-child{width:100%;display:flex!important}.stats-ctl>div:first-child .btn{flex:1;min-height:36px}.stats-ctl>div[style*=flex\:1]{display:none!important}.stats-ctl>div:last-child{grid-template-columns:44px 1fr 1fr 44px;align-items:center;gap:8px;width:100%;display:grid!important}.stats-ctl>div:last-child>:first-child{grid-area:1/1}.stats-ctl>div:last-child>:nth-child(2){text-align:center;grid-area:1/2/auto/4;min-width:0!important;font-family:var(--f-body)!important;color:var(--t1)!important;font-size:14px!important}.stats-ctl>div:last-child>:nth-child(3){grid-area:1/4}.stats-ctl>div:last-child>:nth-child(4){grid-area:2/1/auto/3;min-height:44px;border-radius:8px!important}.stats-ctl>div:last-child>:nth-child(5){grid-area:2/3/auto/5;min-height:44px;border-radius:8px!important}}.pt-slot-header{flex-wrap:wrap;row-gap:8px}.pt-slot-num,.pt-slot-type{border:1px solid var(--b1);font-family:var(--f-body)!important;letter-spacing:0!important;background:var(--s2)!important;color:var(--t2)!important;opacity:1!important;border-radius:6px!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important}.pt-slot-name{min-width:120px;font-family:var(--f-body)!important;letter-spacing:0!important;font-size:15px!important;font-weight:600!important}.set-row .tag,.set-member .tag{font-family:var(--f-body)!important;letter-spacing:0!important;color:var(--t2)!important;font-size:12px!important;font-weight:500!important}@media (width<=768px){.stats-ctl>div:last-child>:nth-child(4),.stats-ctl>div:last-child>:nth-child(5){font-family:var(--f-body)!important;letter-spacing:0!important;color:var(--t1)!important;border:1px solid var(--b2)!important;background:0 0!important;font-size:14px!important;font-weight:500!important}}.club-meta,.athlete-discipline,.template-day-count,.unit-badge,.ring-lbl,.ti-meta,.ti-badge,.perf-tab,.load-pill,.slog-chip,.tooltip,.cc-badge{font-variant-numeric:tabular-nums;font-family:var(--f-body)!important;letter-spacing:0!important}.cd{gap:14px;display:grid}.cd-hero{border:1px solid var(--b2);background:radial-gradient(120% 140% at 0% 0%,rgba(var(--club-rgb),.16),transparent 55%),var(--s1);border-radius:18px;padding:24px;position:relative;overflow:hidden}.cd-id{align-items:center;gap:16px;min-width:0;display:flex}.cd-badge{width:64px;height:64px;font-family:var(--f-mono);background:var(--club);color:var(--on-club);box-shadow:0 10px 30px -10px rgba(var(--club-rgb),.8);border-radius:16px;flex-shrink:0;place-items:center;font-size:17px;font-weight:600;display:grid}.cd-id-txt{min-width:0}.cd-id-txt h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:1.15}.cd-id-txt p{color:var(--t2);margin:4px 0 8px;font-size:14px}.cd-you{font-family:var(--f-mono);letter-spacing:.04em;border:1px solid var(--b2);color:var(--t2);border-radius:999px;padding:4px 10px;font-size:11px;display:inline-block}.cd-card{border:1px solid var(--b1);background:var(--s1);border-radius:16px;min-width:0;padding:20px}.cd-card h3{letter-spacing:-.01em;margin:0 0 14px;font-size:15px;font-weight:600}.cd-wide{grid-column:1/-1}.cd-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.cd-h h3{margin:0}.cd-hint{color:var(--t3);font-size:12px}.cd-empty{color:var(--t3);padding:6px 0;font-size:13px;list-style:none}.cd-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cd-pbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (width<=1180px){.cd-pbs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.cd-pbs{grid-template-columns:minmax(0,1fr)}}.cd-pb{border:1px solid var(--b1);background:var(--s2);border-radius:14px;padding:14px}.cd-pb-h{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.cd-pb-h b{letter-spacing:-.01em;font-size:16px;font-weight:600}.cd-pb-h span{color:var(--t3);font-size:11px}.cd-pb ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.cd-pb li{border-radius:9px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.cd-pb li.me{background:rgba(var(--club-rgb),.12)}.cd-medal{width:20px;height:20px;font-size:10px;font-weight:700;font-family:var(--f-mono);border:1px solid var(--b2);color:var(--t2);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.cd-medal.m1{background:var(--t1);color:var(--bg);border-color:var(--t1)}.cd-medal.m2{color:#0a0a0a;background:#a3a3a3;border-color:#a3a3a3}.cd-medal.m3{color:#f5f5f5;background:#5a5a5a;border-color:#5a5a5a}.cd-time{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.cd-new{background:var(--club);color:var(--on-club);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:600}.cd-more{border:1px solid var(--b2);color:var(--t2);cursor:pointer;background:0 0;border-radius:999px;margin-top:12px;padding:8px 14px;font-family:inherit;font-size:12px}.cd-more:hover{color:var(--t1);border-color:var(--t2)}.cd-team{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:18px;display:grid}.cd-label{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin-bottom:8px;font-size:11px}.cd-people{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.cd-team>div:first-child:not(:only-child) .cd-people{grid-template-columns:minmax(0,1fr)}.cd-team:has(>div:only-child){grid-template-columns:minmax(0,1fr)}.cd-people li{background:var(--s2);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.cd-people li.link{cursor:pointer;transition:background .15s}.cd-people li.link:hover{background:var(--s3)}.cd-av{background:var(--s3);width:34px;height:34px;color:var(--t2);border:1px solid var(--b1);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.cd-av.staff{background:var(--t1);color:var(--bg)}.cd-person{flex:1;min-width:0;display:grid}.cd-person b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.cd-person span{color:var(--t3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cd-me{color:var(--t3);font-size:10px;font-style:normal;font-weight:500}.cd-role,.cd-pbn{font-family:var(--f-mono);border:1px solid var(--b2);color:var(--t2);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px}.cd-chev{color:var(--t4);font-size:16px}@media (width<=760px){.cd-hero{padding:18px}.cd-team{grid-template-columns:minmax(0,1fr)}.cd-badge{width:52px;height:52px;font-size:15px}.cd-id-txt h2{font-size:20px}}.log-bar{background:var(--s3);border-radius:3px;height:6px;overflow:hidden}.log-bar i{background:var(--club);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1);display:block}.well-btn{border:1px solid var(--b2);background:var(--s2);color:var(--t1);font-size:11px;font-weight:600;font-family:var(--f-body);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;transition:background .15s,border-color .15s;display:inline-flex}.well-btn:hover{background:var(--s3);border-color:var(--t3)}.well-btn svg{fill:none;stroke:currentColor;stroke-width:2px;width:12px;height:12px}.set-dot{background:var(--dot);cursor:pointer;width:14px;height:14px;box-shadow:0 0 0 2px var(--s1),0 0 0 3px var(--b2);vertical-align:-2px;border-radius:50%;flex-shrink:0;margin-right:7px;display:inline-block;position:relative}.set-dot input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.lib-toolbar{gap:8px;max-width:520px;margin-bottom:18px;display:flex}.lib-toolbar .inp{flex:1;min-width:0}.lib-folder{margin-bottom:26px}.lib-folder-h{border-bottom:1px solid var(--b1);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.lib-folder-h svg{fill:none;width:16px;height:16px;stroke:var(--t3);stroke-width:1.8px;stroke-linejoin:round}.lib-folder-h b{font-size:15px;font-weight:600}.lib-count{font-family:var(--f-mono);color:var(--t3);border:1px solid var(--b2);border-radius:999px;padding:1px 7px;font-size:11px}.lib-folder-tools{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.lib-folder-tools button{border:1px solid var(--b1);color:var(--t2);cursor:pointer;font-size:11px;font-family:var(--f-body);background:0 0;border-radius:8px;padding:4px 9px}.lib-folder-tools button:hover:not(:disabled){border-color:var(--t3);color:var(--t1)}.lib-folder-tools button:disabled{opacity:.35;cursor:default}.lib-folder-tools button.danger{color:var(--red)}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.lib-empty{color:var(--t3);padding:10px 0;font-size:12px}.lib-card{background:var(--s1);border:1px solid var(--b1);border-left:3px solid var(--tc);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.lib-card-h{border-bottom:1px solid var(--b1);align-items:center;gap:8px;padding:12px 14px;display:flex}.lib-type{background:color-mix(in srgb,var(--tc) 18%,transparent);color:var(--tc);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:700}.lib-name{color:var(--t1);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.lib-acts{flex:1;padding:8px 14px}.lib-act{border-top:1px solid var(--b1);gap:8px;padding:6px 0;display:flex}.lib-act:first-child{border-top:0}.lib-n{color:var(--t4);font-variant-numeric:tabular-nums;min-width:16px;margin-top:1px;font-size:10px}.lib-at{color:var(--t1);font-size:12px;font-weight:600}.lib-at span{color:var(--t4);margin-left:6px;font-size:10px;font-weight:400}.lib-ad{color:var(--t3);margin-top:2px;font-size:11px;line-height:1.4}.lib-card-f{border-top:1px solid var(--b1);background:var(--s2);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;display:flex}.lib-move{background:var(--s1);border:1px solid var(--b2);min-width:110px;color:var(--t2);font-size:11px;font-family:var(--f-body);border-radius:8px;flex:120px;padding:5px 8px}.lib-btn{background:var(--s1);border:1px solid var(--b2);color:var(--t2);cursor:pointer;white-space:nowrap;font-size:11px;font-family:var(--f-body);border-radius:8px;padding:5px 9px}.lib-btn:hover{color:var(--t1);border-color:var(--t3)}.lib-btn.danger{color:var(--t4);background:0 0;border-color:#0000}.lib-btn.danger:hover{color:var(--red)}.lib-mini-h{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3);justify-content:space-between;align-items:center;margin:10px 2px 6px;font-size:10px;display:flex}.lib-mini-h:first-child{margin-top:0}.lib-mini-h span{font-size:10px}.lib-filter{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.lib-filter::-webkit-scrollbar{display:none}.lib-chip{border:1px solid var(--b2);background:var(--s2);color:var(--t2);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--f-body);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.lib-chip span{font-family:var(--f-mono);color:var(--t4);font-size:10px;font-weight:500}.lib-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lib-chip[aria-pressed=true] span{color:var(--on-accent);opacity:.7}.pb-gcount{font-family:var(--f-mono);color:var(--t4);margin-left:8px;font-size:10px;font-weight:500}.auth-note{border:1px solid var(--b2);background:var(--s2);border-radius:12px;margin:-2px 0 14px;padding:12px 14px;font-size:13px;line-height:1.5}.auth-note b{margin-bottom:2px;font-size:14px;display:block}.auth-note p{color:var(--t2);margin:0}.auth-note-btn{border:1px solid var(--b2);color:var(--t1);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--f-body);background:0 0;border-radius:999px;margin-top:10px;padding:7px 12px}.auth-hint{color:var(--t3);text-align:center;margin:10px 2px 0;font-size:11.5px;line-height:1.5}.bw-in{align-items:center;gap:10px;display:flex}.bw-in .inp{text-align:center;font-variant-numeric:tabular-nums;max-width:140px;font-size:22px;font-weight:600}.bw-in span{color:var(--t3);font-size:16px;font-weight:600}.rc{fill:#e5484d;flex-shrink:0;width:14px;height:14px}.pain-btn{color:var(--t1);font-size:11px;font-weight:600;font-family:var(--f-body);cursor:pointer;white-space:nowrap;background:#e5484d1a;border:1px solid #e5484d73;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.pain-btn:hover{background:#e5484d2e}.pain-btn .rc{width:12px;height:12px}.pain-type{margin-bottom:12px}.pain-map{background:var(--s2);border:1px solid var(--b1);border-radius:14px;justify-items:center;gap:8px;margin-bottom:10px;padding:10px;display:grid}.pain-views{background:var(--s1);border-radius:999px;gap:4px;padding:3px;display:flex}.pain-views .pv{color:var(--t3);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--f-body);background:0 0;border:0;border-radius:999px;padding:6px 14px}.pain-views .pv.on{background:var(--accent);color:var(--on-accent)}.body-fig{--bf-a:#3a3f48;--bf-b:#262a31;--bf-edge:#ffffff29;--bf-line:#ffffff21;width:min(180px,48vw);height:auto;display:block;overflow:visible}html:not(.dark) .body-fig{--bf-a:#e9ecf1;--bf-b:#d3d8e0;--bf-edge:#14181f38;--bf-line:#14181f24}.body-fig.sm{width:40px}.body-fig .bf-g0{stop-color:var(--bf-b)}.body-fig .bf-g1{stop-color:var(--bf-a)}.body-fig .bf-outline path,.body-fig .bf-outline ellipse{fill:none;stroke:var(--bf-edge);stroke-width:2.4px;stroke-linejoin:round}.body-fig .bf-fill path,.body-fig .bf-fill ellipse{stroke:none}.body-fig .bf-lines path{fill:none;stroke:var(--bf-line);stroke-width:1.1px;stroke-linecap:round;pointer-events:none}.body-fig .reg{fill:#0000;stroke:none;transition:fill .18s}.body-fig.live .reg{stroke:rgba(var(--fg-rgb),.05);stroke-width:.8px}.body-fig .reg[role=button]{cursor:pointer;outline:none}.body-fig .reg[role=button]:focus-visible{stroke:#e5484d;stroke-width:1.6px}@media (hover:hover){.body-fig .reg[role=button]:hover:not(.on){fill:#e5484d2e}}.body-fig .reg.on{fill:#e5484d6b}.body-fig .bf-glow,.body-fig .bf-dot{pointer-events:none}.body-fig .bf-core{fill:#fff;stroke:#e5484d;stroke-width:2px}.body-fig .bf-ping{fill:none;stroke:#e5484d;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite bfPing}@keyframes bfPing{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.body-fig.sm .bf-outline path,.body-fig.sm .bf-outline ellipse{stroke-width:5px}.body-fig.sm .reg.on{fill:#e5484d}.body-fig.sm .bf-ping,.body-fig.sm .bf-core,.body-fig.sm .bf-glow{display:none}@media (prefers-reduced-motion:reduce){.body-fig .bf-ping{opacity:0;animation:none}}.pain-legend{color:var(--t3);text-align:center;max-width:260px;font-size:11px;line-height:1.4}.pain-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.pain-chip{color:var(--t1);cursor:pointer;font-size:12px;font-family:var(--f-body);background:#e5484d1f;border:1px solid #e5484d80;border-radius:999px;padding:5px 10px}.pain-scale{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:4px;display:grid}.pain-scale button{border:1px solid color-mix(in srgb,var(--pc) 45%,transparent);height:36px;color:var(--pc);cursor:pointer;font-size:13px;font-weight:700;font-family:var(--f-body);background:0 0;border-radius:8px}.pain-scale button[aria-pressed=true]{background:var(--pc);color:#fff;border-color:var(--pc)}.pain-card{border:1px solid color-mix(in srgb,var(--pc) 45%,transparent);border-left:3px solid var(--pc);background:color-mix(in srgb,var(--pc) 8%,var(--s1));border-radius:12px;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;display:flex}.pain-card-fig{flex-shrink:0}.pain-card-txt{flex:1;gap:3px;min-width:0;display:grid}.pain-card-h{align-items:center;gap:6px;font-size:13px;display:flex}.pain-int{font-family:var(--f-mono);color:var(--pc);margin-left:4px;font-size:11px;font-weight:600}.pain-card-reg{color:var(--t1);font-size:12px}.pain-card-note{color:var(--t2);font-size:12px;line-height:1.4}.pain-card-edit{border:1px solid var(--b2);color:var(--t2);cursor:pointer;font-size:11px;font-family:var(--f-body);background:0 0;border-radius:8px;flex-shrink:0;align-self:flex-start;padding:5px 10px}.plan-day.focus{scroll-margin-top:80px;box-shadow:0 0 0 2px #e5484d!important}.stats-row.has-weight{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1000px){.stats-row.has-weight{grid-template-columns:repeat(2,minmax(0,1fr))}}.ath-pain{color:#e5484d;background:#e5484d24;border:1px solid #e5484d66;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}
