/*
 * Team Strength / Modern Performance — v1.11 UI-only theme.
 * This stylesheet is intentionally layered over app.css so the previous styling
 * can be restored simply by removing this link. No server/business logic changed.
 * No third-party font or tracker requests.
 */
:root {
  --navy:#102C39;--navy2:#0C222E;--ink:#142E3C;--slate:#647984;
  --accent:#DAFD84;--teal:#167C79;--teal-dark:#0C625F;
  --line:#DDE8E8;--bg:#F3F6F5;--white:#FFFFFF;--mint:#E9F4EE;
  --r:20px;--shadow:0 10px 36px rgba(14,47,57,.055);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:Inter,"Aptos","Segoe UI",ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.52;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Inter,"Aptos Display","Segoe UI",system-ui,sans-serif;letter-spacing:-.042em}
h1{font-weight:800}h2,h3{font-weight:780}
:focus-visible{outline:3px solid #5fb4ab;outline-offset:3px}
.container{max-width:1170px;padding:34px 32px 100px}
.topbar{background:var(--navy2);border-bottom:1px solid #183d47}
.topbar-inner{max-width:1220px;min-height:79px;padding:11px 30px}
.brand{gap:13px;letter-spacing:-.017em;font-size:.92rem}
.brand-mark{position:relative;width:42px;height:42px;border-radius:13px;background:var(--accent);color:var(--navy2);box-shadow:0 4px 15px rgba(218,253,132,.17);font-size:1.48rem;overflow:hidden}
.mark-letter{position:absolute;left:10px;top:5px;font-weight:900;letter-spacing:-.1em}.mark-glyph{position:absolute;font-size:.87rem;right:4px;bottom:4px;font-weight:900}
.brand-wordmark{display:flex;flex-wrap:wrap;align-items:baseline;position:relative;padding-bottom:13px;gap:2px;font-weight:530;letter-spacing:.06em}
.brand-wordmark strong{font-weight:900;letter-spacing:-.015em}.brand-wordmark small{position:absolute;left:0;bottom:0;font-size:.54rem;letter-spacing:.23em;color:#a0c6c1;font-weight:720}
.account-label{gap:10px}.account-avatar{display:grid;place-items:center;background:#2C545F;border:1px solid #496C77;color:#e6f4ef;border-radius:50%;width:38px;height:38px;font-weight:820}
.account-name{display:flex;flex-direction:column;gap:2px;font-size:.79rem;font-weight:700}.role-tag{border:0;padding:0;font-size:.65rem;color:#9ECFC9;text-transform:capitalize}
.topnav{gap:17px}.topnav .signout{background:#1A3D48;padding:10px 14px;border-radius:10px;color:#E6F5EF;font-weight:700}.topnav .signout:hover{background:#295764}
.subnav{background:#fff;border-bottom:1px solid var(--line)}.subnav-inner{max-width:1220px;padding:0 30px;gap:24px}
.navlink{padding:18px 0 17px;font-size:.79rem;position:relative;font-weight:710;color:#637881}
.navlink.is-active{color:var(--teal-dark)}.navlink.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--teal);border-radius:3px 3px 0 0}
.navlink:hover{color:var(--teal-dark)}
.club-switch{background:#e9f0ed;border-bottom:1px solid var(--line)}.club-switch form{max-width:1160px;margin:0 auto;padding:9px 24px;display:flex;gap:13px;align-items:end}.club-switch label{font-weight:700;color:#23454a;font-size:.79rem}.club-switch select{min-width:210px}
.footer{color:#82939A;margin-top:20px}
.pagehead{margin:10px 0 26px}.pagehead h1{line-height:1.08}.pagehead .muted{line-height:1.6}
.player-hero,.coach-hero,.admin-hero{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(120deg,#102C39 0%,#164450 76%,#20565C 100%);padding:38px 40px 36px;min-height:245px;color:white;box-shadow:0 18px 40px rgba(7,36,47,.12)}
.player-hero:after,.coach-hero:after,.admin-hero:after{content:"";pointer-events:none;position:absolute;width:390px;height:390px;border:1px solid rgba(213,246,159,.20);border-radius:50%;right:-90px;top:-155px;box-shadow:0 0 0 52px rgba(209,249,171,.04),0 0 0 108px rgba(212,247,176,.04)}
.player-hero>*,.coach-hero>*,.admin-hero>*{position:relative;z-index:1}
.player-hero h1,.coach-hero h1,.admin-hero h1{font-size:clamp(2.25rem,4.5vw,3.8rem);letter-spacing:-.068em;margin:10px 0 16px;max-width:720px}
.player-hero h1 em{font-style:normal;color:var(--accent)}
.player-hero .eyebrow,.coach-hero .eyebrow,.admin-hero .eyebrow{color:#ACD8C6}
.player-hero .muted,.coach-hero .muted,.admin-hero .muted{color:#C8DFDF}
.player-hero .pill{background:rgba(255,255,255,.10);border:1px solid rgba(229,255,232,.2);color:#e5f3ef;align-self:flex-start}
.coach-hero .btn,.admin-hero .btn{background:var(--accent);color:#102b35;border-color:var(--accent)}
.section{margin-top:28px}.section-header{margin-bottom:14px}.section-header .eyebrow{margin-bottom:6px}.section-header h2{font-size:1.55rem}
.section-header .muted{font-size:.89rem}
.eyebrow{font-size:.66rem;font-weight:900;letter-spacing:.17em;color:var(--teal)}
.card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;background:#fff}
.padded{padding:28px}.stats{gap:15px;margin:18px 0}.stat{position:relative;gap:10px;border-radius:18px;min-height:144px;padding:23px 25px;border:1px solid var(--line);box-shadow:var(--shadow)}
.stat::before{content:"";height:4px;width:38px;border-radius:4px;background:var(--teal);position:absolute;right:23px;top:25px}
.stat:nth-child(2)::before{background:#A5C864}.stat:nth-child(3)::before{background:#86B5BB}
.stat span{font-size:.78rem;font-weight:700;letter-spacing:.005em}.stat strong{font-size:2.45rem;color:var(--navy);letter-spacing:-.08em;line-height:1.08}.stat strong small{font-size:.9rem;font-weight:650;color:#8EA1A4;letter-spacing:0}
.stat .stat-subtext{color:#8B9EA5;font-size:.73rem;font-weight:530;margin-top:auto}
.btn{border-radius:12px;padding:12px 19px;min-height:46px;font-weight:780;letter-spacing:-.01em;background:var(--navy);border-color:var(--navy);box-shadow:0 5px 14px rgba(15,51,65,.09)}
.btn:hover{background:#174955;border-color:#174955;transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn-outline{color:var(--navy);background:#fff;border:1px solid #C9D9DA;box-shadow:none}.btn-outline:hover{background:#EDF5F3;color:#135E5D;border-color:#A7C9C7}
.btn-sm{min-height:39px;padding:8px 14px}.text-link{color:var(--teal-dark)}
.chip,.pill{border-radius:100px;font-weight:750;background:#F3F7F5;border-color:#DBE7E5;color:#315958}.chip.green{background:#DFF3E8;color:#116443;border-color:#C9E7D6}
.notice{border:1px solid #CBE8D9;background:#EAF7EE;color:#1C5F47}
.workout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workout-tile{min-height:247px;border-radius:22px;padding:27px;gap:49px;box-shadow:0 12px 26px rgba(15,44,52,.1);background:radial-gradient(circle at 102% 8%,rgba(215,253,159,.18),transparent 40%),linear-gradient(145deg,#174C57,#102D3B)}
.workout-tile:nth-child(2){background:radial-gradient(circle at 105% 4%,rgba(215,253,159,.16),transparent 42%),linear-gradient(145deg,#126E72,#11454F)}
.workout-tile:after{content:"";width:182px;height:182px;right:-27px;top:-60px;border:1px solid rgba(218,253,132,.26);border-radius:50%;font-size:0;opacity:1;box-shadow:0 0 0 29px rgba(215,253,159,.055),0 0 0 62px rgba(215,253,159,.025)}
.workout-tile:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(15,44,52,.16)}
.workout-tile h3{font-size:1.65rem;line-height:1.17;position:relative;z-index:1;max-width:315px}.workout-tile .eyebrow{color:#BDDBD6;margin-bottom:8px}
.tile-number{font-size:1.06rem;letter-spacing:-.045em;opacity:1;color:var(--accent);font-weight:850;display:flex;align-items:center;gap:10px}
.tile-kind{font-size:.65rem;letter-spacing:.16em;border:1px solid rgba(199,241,211,.32);border-radius:100px;padding:4px 9px;color:#D3EAE5;font-weight:820}
.workout-tile p{color:#C4DFDE;font-size:.8rem;line-height:1.6}
.tile-arrow{right:24px;bottom:24px;background:rgba(218,253,132,.12);border:1px solid rgba(218,253,132,.24);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:1.4rem}
.workout-grid+.workout-grid{margin-top:12px}
.week-plot{padding-top:8px;gap:8px;min-height:155px}.week-column{height:104px}.week-column>div{width:min(100%,46px);background:linear-gradient(180deg,#26A199,#176F72);border-radius:8px 8px 2px 2px}
.week-bar b{font-size:.83rem;color:var(--navy)}.week-bar small{color:#819398}
.weight-bar-track>div{background:linear-gradient(180deg,#91D6C2,#277A82)}
.player-dashboard-summary .card.padded{padding:25px 30px}
.list-row{padding:19px 24px}.list-row:hover:has(a){background:#FAFCFB}.list-row b{font-size:.9rem}
.workout-tile:focus-visible{outline-offset:4px}
/* Training detail: photos and inputs are bigger but form names/actions unchanged */
.exercise-group{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:white}
.group-heading{background:#E9F2F0;border-radius:0;padding:17px 22px}
.group-icon{background:#195B62;border-radius:11px}
.exercise-card{border:0;border-top:1px solid #E7EEEE;padding:21px 22px}
.exercise-photo{width:176px;height:139px;object-fit:cover;border-radius:14px;border:1px solid #DCEAE6;background:#F0F5F2}
.warmup-photo{width:102px;height:94px;border-radius:12px;background:#EFF5F3}
.video-link{color:#0E6A64;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.warmup-block,.warmup-item{background:#fff}
.single-weight-entry{border-top:1px solid #DDE9E7;padding-top:18px}
.weight-label input{font-size:1.22rem;font-weight:750;background:#F9FCFB!important}
.prescribed-reps{background:#F1F7F4;border-radius:10px;padding:10px 12px}
.complete-toggle{color:#1A5E5B}
textarea{border:1px solid #CBDADC;border-radius:12px;background:white;color:var(--ink);font:inherit;min-height:92px;padding:12px}
input:not([type=checkbox]):not([type=hidden]),select{border-color:#CDDEDF;border-radius:12px}
input:focus,select:focus,textarea:focus{outline:2px solid #54A79A;outline-offset:1px;box-shadow:none}
.auth-wrap{min-height:72vh}.auth-card{padding:42px;border:1px solid #D8E6E4;box-shadow:0 22px 60px rgba(12,47,58,.11)}
.auth-card:before{content:"";display:block;background:linear-gradient(90deg,#167C79,#DBFA8A);width:48px;height:5px;border-radius:3px;margin-bottom:22px}
.auth-card h1{font-size:2.55rem}.auth-foot a{color:var(--teal-dark)}
.hero{background:radial-gradient(circle at 95% 5%,rgba(218,253,132,.12),transparent 45%),linear-gradient(127deg,#102C39,#16555C);border-radius:27px;overflow:hidden;box-shadow:0 15px 35px rgba(9,48,53,.08)}
.hero .btn{background:var(--accent);color:#193238;border-color:var(--accent)}.hero .btn-outline{background:transparent;color:white;border:1px solid rgba(255,255,255,.37)}
.hero-panel{background:rgba(19,59,65,.85);border:1px solid rgba(220,255,230,.21);transform:rotate(1deg)}
.feature{box-shadow:var(--shadow)}.feature-icon{background:#DFF2E9;color:#164C55}
.run-rpe-target{background:#E5F3EE;color:#145E57;border:1px solid #D4E9E3}
.mobile-tabbar{display:none}
@media(max-width:850px){
 .container{padding:26px 22px 100px}
 .topbar-inner{padding:11px 20px;min-height:71px}.subnav-inner{padding:0 22px;gap:21px}
 .player-hero,.coach-hero,.admin-hero{min-height:210px;padding:30px 28px}
 .player-hero:after{width:320px;height:320px;right:-140px}
 .stat{padding:21px 19px}
 .hero{padding:38px 29px}
 .section-header{align-items:flex-start;flex-wrap:wrap}
 .exercise-photo{width:145px;height:125px}
}
@media(max-width:640px){
 .container{padding:18px 16px 110px}
 .topbar-inner{padding:9px 16px;min-height:66px}.brand-mark{width:36px;height:36px;border-radius:11px}.mark-letter{left:8px;top:3px}.mark-glyph{right:2px;bottom:3px}
 .brand{gap:10px;font-size:.77rem}.brand-wordmark small{font-size:.46rem;letter-spacing:.18em}
 .account-avatar{width:32px;height:32px;font-size:.78rem}.account-name{display:none}.topnav{gap:7px}.topnav .signout{padding:8px 10px;font-size:.7rem}
 .subnav{display:none}
 .pagehead{gap:13px;margin:8px 0 20px;align-items:flex-start}
 .player-hero,.coach-hero,.admin-hero{padding:28px 22px 27px;min-height:245px;border-radius:20px;flex-direction:column}
 .player-hero h1,.coach-hero h1,.admin-hero h1{font-size:clamp(2.05rem,9vw,2.75rem);line-height:1.1;margin:10px 0 12px}
 .player-hero .pill{font-size:.68rem;padding:6px 9px}.player-hero:after{width:200px;height:200px;top:-100px;right:-58px}
 .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0}
 .stat{padding:16px 11px 13px;min-height:116px;gap:7px;border-radius:14px}.stat:before{display:none}.stat span{font-size:.67rem;line-height:1.3}.stat strong{font-size:1.82rem}.stat strong small{font-size:.7rem}.stat .stat-subtext{font-size:.59rem}
 .section{margin-top:25px}.section-header{margin-bottom:13px}.section-header h2{font-size:1.36rem}.section-header .muted{font-size:.82rem}
 .workout-grid{grid-template-columns:1fr;gap:13px}.workout-tile{min-height:209px;padding:24px;gap:43px;border-radius:19px}.workout-tile h3{font-size:1.55rem}.workout-tile:after{right:-46px;top:-72px}
 .card{border-radius:17px}.padded{padding:20px}.player-dashboard-summary .card.padded{padding:20px 15px}
 .split{grid-template-columns:1fr;gap:13px}.pagehead .btn{align-self:flex-start}
 .exercise-card{padding:17px}.exercise-photo{width:116px;height:109px;border-radius:11px}.warmup-photo{width:83px;height:83px}
 .one-weight-fields{gap:10px}.weight-label input{max-width:150px}
 .auth-wrap{min-height:70vh}.auth-card{padding:24px}.auth-card h1{font-size:2.2rem}
 .mobile-tabbar{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid #DCE7E5;padding:8px 13px calc(8px + env(safe-area-inset-bottom));gap:6px;justify-content:space-around;box-shadow:0 -9px 30px rgba(13,48,58,.08);backdrop-filter:blur(12px)}
 .mobile-tab{flex:1;min-height:47px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;font-size:.65rem;font-weight:760;color:#6A8287;border-radius:12px}
 .mobile-tab .tab-symbol{font-size:1.35rem;line-height:1.15;color:#63858A;font-weight:800}
 .mobile-tab.active{background:#E7F3EB;color:#105D58}.mobile-tab.active .tab-symbol{color:#167C79}
 .footer{padding-bottom:95px}
 .club-switch form{padding:9px 16px;flex-wrap:wrap;gap:8px}.club-switch label{flex:1}.club-switch select{min-width:0}.club-switch .btn{align-self:end}
 .hero{display:block;padding:34px 22px;min-height:auto}.hero h1{font-size:2.65rem}.hero-panel{margin-top:35px;transform:none}
 .feature-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.workout-tile{transition:none}}

/* v1.11 preview refinement — make starting a workout the first action on mobile */
.hero-micro{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.hero-micro .pill{font-size:.75rem;padding:8px 11px}
.workout-tile{isolation:isolate}
.workout-tile:before{content:"";position:absolute;z-index:0;inset:auto -13px -32px auto;width:160px;height:140px;opacity:.075;background:url('/static/exercises/trap-bar-deadlift.svg') center / contain no-repeat;filter:brightness(0) invert(1);transform:rotate(-14deg);pointer-events:none}
.workout-tile:nth-child(2):before{background-image:url('/static/exercises/barbell-box-squat.svg')}
.workout-tile>*{position:relative;z-index:1}
@media(max-width:640px){
 .player-hero{padding:23px 22px;min-height:0;border-radius:20px}
 .player-hero h1{font-size:clamp(1.9rem,8.5vw,2.5rem);margin:5px 0 9px}
 .player-hero .muted{font-size:.89rem;line-height:1.46;max-width:310px}
 .player-hero .eyebrow{font-size:.61rem;letter-spacing:.13em}
 .hero-micro{margin-top:12px}
 .player-dashboard-summary{margin-top:22px}
 .player-dashboard-summary .section-header h2{font-size:1.22rem}
 .section-header h2{font-size:1.4rem}
 .section-header .muted{margin-top:3px}
 .section:first-of-type{margin-top:20px}
 .workout-tile{min-height:175px;gap:25px;padding:22px}
 .workout-tile h3{font-size:1.5rem}
 .workout-tile p{margin-bottom:4px}
 .stat{min-height:102px}
 .stats{margin-top:12px}
 .navlink{font-size:.75rem}
}

/* v1.12: workout type switch and warm-up dropdown builder */
.training-switch {display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.warmup-exercise-row {display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(150px,1fr) auto;gap:12px;align-items:end;padding:10px 0;border-bottom:1px solid var(--border,#dae3e6)}
.warmup-exercise-row label {min-width:0}
.warmup-assignment-row {display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:14px 0;padding-bottom:14px;border-bottom:1px solid #e1e7e8}
.warmup-assignment-row label {min-width:250px;flex:1}
@media(max-width:650px){.warmup-exercise-row{grid-template-columns:1fr}.warmup-assignment-row{display:block}.warmup-assignment-row button{margin-top:10px}}
