*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,Helvetica Neue,Helvetica,sans-serif;background:#080808;color:#f0f0f0;height:100%;width:100%;overflow:hidden}input,select,textarea{font-size:16px;font-family:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}#root{max-width:430px;width:100%;height:100%;height:100dvh;margin:0 auto;position:relative}body[data-app=coach] #root,body[data-landing=true] #root{max-width:none}.text-gradient{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}body[data-theme=light]{background:#fff;color:#0a0a0a}body[data-theme=light] input:focus,body[data-theme=light] textarea:focus,body[data-theme=light] select:focus{border-color:#5ba800!important;box-shadow:0 0 0 2px #5ba80026,0 0 12px #5ba80014!important}input:focus,textarea:focus,select:focus{border-color:#c8ff00!important;box-shadow:0 0 0 2px #c8ff0026,0 0 12px #c8ff0014!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease}input::placeholder,textarea::placeholder{color:#585858;opacity:1}::-webkit-scrollbar{display:none!important}*{scrollbar-width:none!important;-ms-overflow-style:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes drawerUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}button{font-family:inherit;color:inherit}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes crmFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShimmer{0%{background-position:0% 50%}50%{background-position:200% 50%}to{background-position:0% 50%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{max-width:430px;width:100%;height:100%;margin:0 auto;position:relative;overflow:hidden;background:#080808;display:flex;flex-direction:column}.nav-bar-container{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;background:#111;border-top:1px solid #222;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom,0px)}.sidebar-brand{display:none}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 0 8px;background:none;border:none;cursor:pointer;color:#585858;transition:all .2s cubic-bezier(.4,0,.2,1)}.content-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:96px;position:relative;z-index:1}.athlete-view-backdrop{display:none}.athlete-view-wrapper{position:fixed;top:0;bottom:0;left:0;right:0;background:#080808;z-index:200;overflow-y:auto;padding-bottom:100px}.crm-grid{display:flex;flex-direction:column}.crm-card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),background .3s ease}@media (min-width: 768px){.app-shell{max-width:100vw;height:100vh;flex-direction:row;overflow:hidden;background:#050505}.athlete-view-backdrop{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.athlete-view-wrapper{position:relative;max-width:760px;max-height:90vh;border-radius:24px;border:1px solid #1a1a1a;box-shadow:0 20px 60px #000c,0 0 0 1px #c8ff000d;background:#080808;overflow-y:auto;padding-bottom:0;animation:crmFadeIn .3s cubic-bezier(.4,0,.2,1)}.nav-bar-container{position:static;transform:none;width:260px;min-width:260px;max-width:260px;height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;border-top:none;border-right:1px solid #141414;background:linear-gradient(180deg,#0c0c0c,#080808);padding-top:32px;z-index:50;gap:0}.sidebar-brand{display:block!important}.nav-item{flex:none;flex-direction:row;align-items:center;justify-content:flex-start;padding:14px 24px;gap:14px;width:100%;position:relative;border-radius:0;margin:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-item:hover{background:#c8ff000a}.nav-item-active{background:#c8ff000f}.nav-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:60%;width:3px;background:#c8ff00;border-radius:0 3px 3px 0;box-shadow:0 0 8px #c8ff004d}.nav-item span{font-size:13px!important;letter-spacing:.06em}.content-scroll{flex:1;min-height:0;height:100vh;padding:40px 48px;overflow-x:hidden;overflow-y:auto;animation:crmFadeIn .35s cubic-bezier(.4,0,.2,1)}.content-scroll>*{max-width:1200px;margin-left:auto;margin-right:auto}.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;align-items:start}.crm-card{will-change:transform,box-shadow;cursor:pointer}.crm-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 16px 40px #00000080,0 0 0 1px #c8ff0014 inset;background:#141414!important;z-index:2}.coach-card-link:hover{color:#f0f0f0!important}.coach-card-link:hover>span{color:#c8ff00!important;transform:translate(2px)}.coach-card-link>span{display:inline-block;transition:transform .15s,color .15s}}.coach-athlete-card{transition:transform .12s ease,background .12s ease,border-color .12s ease;-webkit-tap-highlight-color:transparent}.coach-athlete-card:active{transform:scale(.985);background:#141414!important;border-color:#2c2c2c!important}@media (max-width: 767px){.coach-athlete-card{margin-bottom:12px}}@media (min-width: 768px){.coach-athlete-card:active{transform:none}.crm-limit-width{max-width:640px!important;margin:0 auto}.web-btn-primary{width:auto!important;min-width:220px;max-width:340px}.content-scroll button[style*="width: 100%"]:not(.row-btn),.content-scroll button[style*="width:100%"]:not(.row-btn){width:auto!important;min-width:140px}.content-scroll .row-btn{width:100%!important}.web-action-row{display:flex;flex-direction:row;gap:12px;justify-content:flex-start;flex-wrap:wrap}.role-picker-cards{flex-direction:row!important;gap:20px!important;justify-content:center}}.app-shell{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;background:#080808;padding-top:env(safe-area-inset-top,0px);box-sizing:border-box}.content-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:8px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;touch-action:pan-y}.nav-bar-container{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;flex-direction:row;justify-content:space-around;align-items:center;background:#0a0a0af5;border-top:1px solid #1E1E1E;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-bar-container .sidebar-brand{display:none}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;padding:4px 2px;min-width:44px;min-height:44px;border-radius:8px;transition:background .15s ease}.nav-item:active{background:#c8ff000f}@media (min-width: 768px){.app-shell{flex-direction:row}.nav-bar-container{position:sticky;top:0;bottom:auto;left:auto;transform:none;width:220px;max-width:220px;height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;border-top:none;border-right:1px solid #1a1a1a;padding:24px 12px;gap:2px;z-index:10}.nav-bar-container .sidebar-brand{display:flex}.nav-item{flex:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;min-height:44px;width:100%}.nav-item span{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;font-weight:500!important}.content-scroll{padding-bottom:24px}}@keyframes drawerUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
