@import url('/assets/css/portal-enhancements.css');
:root{--bg:#08090b!important;--bg2:#0d0f12!important;--card:#111316!important;--card2:#171a1f!important;--text:#fff!important;--muted:#a7abb1!important;--line:#2a2e34!important;--line2:#3a4048!important;--accent:#e31b23!important;--accent2:#ff323a!important;--success:#35b56a!important;--warning:#e3a53b!important;--urgent:#ff5a62!important}.topbar{border-bottom:1px solid #2d1518!important;background:rgba(7,8,10,.97)!important;box-shadow:0 8px 28px rgba(0,0,0,.28)!important;min-height:66px}.topbar>div:first-child{width:260px;max-width:52vw;height:52px;background:url('/assets/images/logo-2-4.png') left center/contain no-repeat;flex:0 1 auto}.topbar>div:first-child>strong,.topbar>div:first-child>span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.brand-lockup{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;text-decoration:none;min-width:0}.brand-logo{display:block;width:260px;max-width:58vw;height:auto;object-fit:contain}.brand-logo.auth-logo{width:min(390px,88vw);max-width:100%;margin:0 auto 12px}.brand-subtitle{display:block;font-size:.64rem!important;color:#b8bdc3!important;letter-spacing:.12em;text-transform:uppercase}.brand-accent{height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px;margin:14px 0 20px}.auth-card{border-color:#2e2527!important;background:linear-gradient(155deg,#111316,#0c0e11)!important;box-shadow:0 22px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.02)!important}.auth-card:before{content:"";display:block;height:4px;margin:-28px -28px 24px;background:linear-gradient(90deg,#8d0e13,var(--accent),#ff4148,#8d0e13);border-radius:24px 24px 0 0}.auth-card.wide:before{margin-left:-28px;margin-right:-28px}.auth-card h1{color:#fff}.btn.primary{background:linear-gradient(135deg,#ba1017 0,var(--accent) 55%,#ff3b43 100%)!important;box-shadow:0 8px 20px rgba(227,27,35,.18)}.btn.primary:hover{filter:brightness(1.06)}.card.hero,.program-hero{border-color:#3d2528!important;background:linear-gradient(145deg,#171316,#20171a)!important}.eyebrow{color:#d7d9dc}.status.approved,.status.completed{box-shadow:inset 0 0 0 1px rgba(53,181,106,.18)}.status.pending,.status.scheduled{box-shadow:inset 0 0 0 1px rgba(227,165,59,.16)}.status.disabled,.status.missed{box-shadow:inset 0 0 0 1px rgba(227,27,35,.2)}.program-hero h2,.workout-head h1{position:relative}.program-hero h2:after,.workout-head h1:after{content:"";display:block;width:48px;height:3px;border-radius:999px;background:var(--accent);margin-top:9px}.branding-note{font-size:.72rem;color:#777f88;text-align:center;margin:18px 0 0}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.schedule-week.current-week{border-color:#7b292e!important;box-shadow:0 0 0 1px rgba(227,27,35,.15),0 14px 38px rgba(0,0,0,.25)}.portal-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.portal-nav a{font-weight:700}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.quick-link{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#11171e;text-decoration:none;min-width:0}.quick-link strong{font-size:.9rem}.quick-link span{font-size:.74rem;color:var(--muted);line-height:1.35}.photo-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;align-items:start}.photo-strip figure,.photo-grid figure{min-width:0;max-width:100%;overflow:hidden}.photo-strip img,.photo-grid img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important}.photo-week{overflow:hidden}.forgot-link{text-align:right;margin:-8px 0 14px;font-size:.82rem}.auth-links{text-align:center}.mobile-nav{display:none}

/* Professional coach / athlete UI pass */
body{letter-spacing:.005em}.container{width:min(100%,1180px)!important}.container.narrow{width:min(100%,820px)!important}.page-head.athlete-title{background:linear-gradient(145deg,#121519,#0e1115)!important;border:1px solid #262c33!important;border-radius:18px!important;padding:18px 20px!important;margin:12px 0 20px!important;align-items:center!important;box-shadow:0 12px 32px rgba(0,0,0,.2)!important}.page-head.athlete-title .identity-line{gap:16px!important;min-width:0!important}.page-head.athlete-title .identity-line .avatar.large{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;max-width:72px!important;max-height:72px!important;border-radius:50%!important;overflow:hidden!important;border:2px solid #3d454f!important;box-shadow:0 0 0 3px rgba(227,27,35,.08)!important}.page-head.athlete-title .identity-line .avatar.large img{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:cover!important;display:block!important}.page-head.athlete-title h1{font-size:clamp(1.55rem,3vw,2.2rem)!important;margin-bottom:4px!important}.coach-grid{gap:18px!important}.coach-grid>.card{border-color:#262c33!important}#loads{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-top:22px!important}#loads>.section-head{padding:20px 22px 8px!important;background:linear-gradient(145deg,#14171b,#101318)!important;border:1px solid #292f37!important;border-bottom:0!important;border-radius:18px 18px 0 0!important}#loads>p.muted{margin:0!important;padding:0 22px 20px!important;background:linear-gradient(145deg,#14171b,#101318)!important;border-left:1px solid #292f37!important;border-right:1px solid #292f37!important;line-height:1.55!important}#loads .load-list{padding:4px 16px 18px!important;background:#0d1014!important;border:1px solid #292f37!important;border-top:0!important;border-radius:0 0 18px 18px!important}#loads .phase-heading{margin:26px 0 12px!important;padding:13px 16px!important;border:1px solid #3c292c!important;border-left:4px solid var(--accent)!important;border-radius:12px!important;background:linear-gradient(90deg,#211618,#15181d)!important;font-size:1.05rem!important;letter-spacing:.015em!important;box-shadow:0 8px 22px rgba(0,0,0,.16)!important}#loads .phase-heading:first-child{margin-top:12px!important}#loads .load-row{display:grid!important;grid-template-columns:minmax(210px,1.5fr) auto minmax(200px,.9fr) 90px!important;gap:12px!important;align-items:center!important;padding:13px 14px!important;margin:0 0 9px!important;border:1px solid #252b32!important;border-radius:12px!important;background:linear-gradient(145deg,#12161b,#0f1317)!important;box-shadow:0 5px 16px rgba(0,0,0,.12)!important}#loads .load-title strong{font-size:.9rem!important}#loads .load-title small{font-size:.69rem!important;line-height:1.35!important}#loads .load-inputs{grid-template-columns:88px 88px 70px!important;gap:7px!important;justify-content:start!important}#loads .load-inputs label,#loads .load-note{font-size:.67rem!important;gap:4px!important;margin:0!important;color:#aeb5bd!important}#loads .load-inputs input,#loads .load-inputs select,#loads .load-note input{height:36px!important;min-height:36px!important;padding:6px 9px!important;border-radius:8px!important;font-size:.82rem!important}#loads .load-note input{min-width:180px!important}#loads .btn.small{min-height:36px!important;height:36px!important;padding:7px 11px!important;font-size:.75rem!important}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,140px))!important;justify-content:start!important;align-items:start!important}.photo-grid figure{width:100%!important}.photo-grid img{width:100%!important;height:150px!important;max-height:150px!important;aspect-ratio:1/1!important;object-fit:cover!important}.container.narrow .photo-strip{grid-template-columns:repeat(auto-fill,minmax(110px,140px))!important;justify-content:start!important}.container.narrow .photo-strip img{height:150px!important;max-height:150px!important;aspect-ratio:1/1!important}.schedule-week{overflow:hidden!important;padding:0!important;border-color:#292f37!important;background:linear-gradient(145deg,#12161a,#0f1317)!important}.schedule-week .section-head{padding:16px 18px 13px!important;background:#15191e!important;border-bottom:1px solid #292f37!important}.schedule-week .athlete-session-list{padding:14px!important}.schedule-week.current-week .section-head{background:linear-gradient(90deg,#221618,#171b20)!important}.schedule-week.current-week{border-left:4px solid var(--accent)!important}.workout-exercise.card{border-color:#2b3138!important;border-top:3px solid #3b444e!important;background:linear-gradient(145deg,#12161b,#0e1216)!important;box-shadow:0 14px 36px rgba(0,0,0,.25)!important}.workout-exercise.card.active{border-top-color:var(--accent)!important}.prescription-grid>div{padding:10px 8px!important}.set-card{background:#0d1116!important;border-color:#2a3037!important}.set-card input{height:40px!important;min-height:40px!important;padding:7px 9px!important;font-size:.9rem!important}.recommended-load{padding:10px 12px!important}

@media(max-width:980px){#loads .load-row{grid-template-columns:1fr auto!important}#loads .load-title{grid-column:1/-1!important}#loads .load-note{grid-column:1/2!important}}
@media(max-width:760px){.topbar{padding:10px 12px;gap:10px;flex-wrap:wrap!important}.topbar>div:first-child{width:170px;max-width:48vw;height:42px}.portal-nav,.topbar nav{gap:8px;width:100%!important;max-width:none!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding-top:8px!important;border-top:1px solid #20252b!important}.portal-nav a,.topbar nav a{font-size:.76rem;white-space:nowrap!important}.quick-links{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-strip img,.photo-grid img{aspect-ratio:4/5!important}.container{padding-left:12px!important;padding-right:12px!important}.card{padding:15px!important}.page-head.athlete-title{padding:14px!important}.page-head.athlete-title .identity-line .avatar.large{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;max-height:60px!important}.page-head.athlete-title .identity-line .avatar.large img{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;max-height:60px!important}#loads .load-list{padding:4px 10px 14px!important}#loads .load-row{grid-template-columns:1fr!important;padding:12px!important}#loads .load-title,#loads .load-note{grid-column:auto!important}#loads .load-inputs{grid-template-columns:86px 86px 68px!important}#loads .load-note input{min-width:0!important}#loads .load-row .btn{width:100%!important}.photo-grid,.container.narrow .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-grid img,.container.narrow .photo-strip img{height:auto!important;max-height:none!important;aspect-ratio:4/5!important}}
@media(max-width:520px){.topbar{align-items:flex-start}.topbar>div:first-child{width:150px;max-width:44vw;height:38px}.portal-nav{max-width:none!important;justify-content:flex-start!important}.brand-logo{width:200px;max-width:60vw}.brand-logo.auth-logo{width:min(340px,90vw)}.auth-card:before{margin:-22px -18px 20px}.auth-card.wide:before{margin-left:-18px;margin-right:-18px}}
@media(max-width:420px){.page-head.athlete-title{flex-direction:column!important;align-items:flex-start!important}#loads .load-inputs{grid-template-columns:1fr 1fr 74px!important}}
