/* Shared visual finish: restrained depth, clear hierarchy, consistent controls. */
:root{--ink:#172b43;--muted:#58697c;--paper:#f5f7fa;--line:#e2e8f0;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:var(--paper)}
h1{font-weight:720;letter-spacing:-1px}h2{font-weight:680;letter-spacing:-.35px}h3{font-weight:650;letter-spacing:-.15px}
.sidebar{background:#fff;border-right:1px solid #e1e7ef;gap:26px}.brand{padding-bottom:18px;border-bottom:1px solid var(--line)}.brand img{object-position:left center}.brand small{font-size:11px;letter-spacing:1.5px}
.nav{gap:5px}.nav button{border-radius:8px;font-size:14px;font-weight:550;min-height:46px;transition:background .15s,color .15s}.nav button.active{background:#eaf1fa;color:#004187;box-shadow:inset 3px 0 #004187}.nav svg{stroke-width:1.6;width:19px;height:19px}.sidefoot p{line-height:1.75}
.topbar{min-height:76px;margin-bottom:22px}.crumb{font-size:13px;color:#6b7787}.topactions select{background-color:white;border-radius:8px;border-color:#dce3ed;font-size:14px}.avatar{font-weight:650}
.banner{background:#f0f4f9;border:1px solid #dfe7f1;border-left:3px solid #9fb5d0;box-shadow:none;font-size:12px;padding:9px 13px;margin-bottom:26px}.banner select{background:white;font-size:13px;min-height:36px}
.card{border:1px solid #dfe6ef;border-radius:12px;box-shadow:0 2px 5px #122b4610;padding:25px}.cardhead{gap:12px}.cardhead h2{margin-bottom:0}.cardhead .small{font-size:13px}.badge{font-weight:600;font-size:12px;padding:6px 9px;border-radius:6px;background:#eff3f8;color:#52647a}
.button{border-radius:7px;min-height:42px;font-weight:600;font-size:14px;transition:background .15s,border-color .15s,box-shadow .15s}.button:not(.outline):not(.ghost){box-shadow:0 2px 3px #00418717}.button.outline{border-color:#d4deea;background:#fff;color:#004187}.button.outline:hover{background:#f3f7fc;border-color:#a5bad5}.button:disabled{box-shadow:none}
input,textarea,select{border-color:#d6dfeb;border-radius:7px;background:#fff}input:hover,textarea:hover,select:hover{border-color:#b1c1d5}textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.heading{margin-bottom:25px}.heading .eyebrow{letter-spacing:1.35px;color:#62758d;font-size:12px}.learning-heading h1{font-size:32px;line-height:1.2}.learning-heading>div>p:last-child{font-size:15px;margin-bottom:0}.learning-heading>.button{padding:12px 20px}
.learning-layout{gap:24px}.learning-assignments{border-top:1px solid #dfe6ef;padding:0;overflow:hidden}.learning-assignments>.cardhead{padding:22px 24px;margin:0;background:#fcfdff;border-bottom:1px solid var(--line)}.learning-assignments>.cardhead h2{font-size:19px}.learning-assignments>.muted{padding:22px 24px;margin:0}.learning-row{margin:0 24px;padding:24px 0;border-top:0;border-bottom:1px solid #edf1f6;grid-template-columns:80px minmax(0,1fr) auto;gap:16px}.learning-row h3{font-size:16px;color:#1c3552;line-height:1.5}.learning-row p{font-size:13px;line-height:1.65}.learning-type{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;align-self:start;background:#eef4fc;color:#004187;border:1px solid #e3ebf7;border-radius:9px;padding:12px 5px;letter-spacing:.3px;font-size:12px;line-height:1}.learning-type svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.learning-type[data-kind=FILM]{background:#f3f5f8;color:#53657d;border-color:#e6eaf0}.learning-type[data-kind=GOAL]{background:#fff5ef;color:#a7400c;border-color:#ffe5d4}.learning-row>.button{font-size:13px;padding:10px 13px}.learning-footer{background:#fcfdff;border-top:0;padding:12px 18px}.learning-footer .button{font-size:13px}.learning-week{position:relative;overflow:hidden}.learning-week:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#004187}.learning-totals{gap:18px;margin:24px 0}.learning-totals strong{font-size:38px;letter-spacing:-1.5px;line-height:1.1}.learning-totals span{font-size:13px}.learning-totals>div+div strong{color:#b83e08}.learning-aside .focus-card{background:#fafdff;border-color:#dbe5f1}.learning-aside .focus-card h2{font-size:21px;line-height:1.35;margin-bottom:20px}.learning-aside .focus-plan strong{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#61758e}.learning-aside .focus-plan p{font-size:14px;line-height:1.75}.learning-feedback .quote{background:#f6f8fc;border-left:3px solid #ff5100;padding:15px 18px;border-radius:0 7px 7px 0;font-size:15px;line-height:1.8}.learning-main .onboarding{box-shadow:none;background:#fafbfd}.learning-main .onboarding summary{color:#53677e}
.roster-metrics>div{border-radius:10px;border-color:#dfe6ef;box-shadow:0 2px 5px #122b4608}.roster-metrics strong{font-size:30px}.roster-player:hover{background:#fafcff}.attention-card{border-top:3px solid #ff5100}.progress-table th{background:#f5f8fc;font-size:13px}.progress-table td{font-variant-numeric:tabular-nums}.film-thread{background:#fafcff;padding:16px;border-radius:8px;margin-top:12px}.film-conversation summary{color:#004187;font-size:14px}
@media(max-width:1200px){.learning-row{grid-template-columns:80px minmax(0,1fr)}.learning-row>.button{grid-column:2;justify-self:start}}
@media(max-width:900px){.learning-layout{grid-template-columns:1fr}.learning-aside .focus-plan{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.sidebar{gap:12px;padding-top:12px}.brand{border:0;padding-bottom:0}.brand img{object-position:center}.nav button{min-height:44px;font-size:13px}.nav button.active{box-shadow:none}.topbar{min-height:64px}.banner{margin-bottom:22px}.card{padding:20px}.learning-heading{gap:14px;flex-wrap:wrap}.learning-heading h1{font-size:28px}.learning-heading>.button{padding:10px 16px}.learning-assignments{padding:0}.learning-assignments>.cardhead{padding:19px}.learning-row{margin:0 18px;gap:12px;grid-template-columns:74px minmax(0,1fr);padding:22px 0}.learning-type{font-size:12px;min-height:66px}.learning-row h3{font-size:15px}.learning-row>.button{min-height:44px}.learning-footer{padding:10px}.learning-aside .focus-plan{display:block}.learning-feedback .quote{padding:14px;font-size:15px}.learning-totals strong{font-size:36px}.cardhead{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.button,.nav button{transition:none}}
.parent-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.parent-heading p:last-child{margin-bottom:0}.parent-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:24px;align-items:start}.parent-main,.parent-support{min-width:0}.parent-progress{border-top:3px solid var(--blue)}.parent-progress .cardhead{align-items:flex-start;flex-wrap:wrap}.parent-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.parent-metrics>div{background:#f3f7fc;padding:16px 12px;border:1px solid #e6edf5;border-radius:8px}.parent-metrics span{font-size:13px;color:var(--muted);display:block}.parent-metrics strong{font-size:34px;color:var(--blue);display:block;margin:12px 0;font-variant-numeric:tabular-nums}.parent-metrics small{font-size:12px;line-height:1.5;color:var(--muted);display:block}.parent-evidence{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px;font-size:14px;line-height:1.5}.parent-evidence strong{color:var(--blue);padding-right:4px}.parent-help{border-top:3px solid var(--orange);background:#fffdfb}.parent-help h2{font-size:24px}.parent-help>.eyebrow{color:#a4400e}.parent-support-step{display:flex;gap:12px;border-top:1px solid #ece8e4;padding:20px 0}.parent-support-step>span{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;background:#fff0e5;color:#934014;border-radius:50%;font-size:13px;font-weight:700}.parent-support-step h3{font-size:15px;margin:3px 0 12px}.parent-support-step p{font-size:14px;line-height:1.75;margin-bottom:8px}.parent-support-step strong{font-size:15px;color:var(--blue)}.parent-support-step small{font-size:12px;color:var(--muted)}.parent-prompt{font-style:italic}.parent-coach-note{padding:16px 18px;background:#f5f8fc;border-left:3px solid var(--blue);line-height:1.8;border-radius:0 8px 8px 0}.parent-next-step{margin-bottom:20px}.parent-next-step strong{font-size:14px;color:var(--blue)}.parent-next-step p{font-size:15px;margin-top:8px}.parent-goal{padding:18px 0;border-top:1px solid var(--line)}.parent-goal>div{display:flex;justify-content:space-between;gap:20px;font-size:14px;line-height:1.5}.parent-goal span{white-space:nowrap;color:var(--blue)}.parent-goal progress{width:100%;height:7px;margin:14px 0 8px;accent-color:var(--blue)}.parent-goal p{margin-bottom:0}.parent-support .team-link{flex-direction:column;align-items:start}.parent-support .event-row{grid-template-columns:1fr}.parent-support h1{font-size:22px}
@media(max-width:1000px){.parent-layout{grid-template-columns:1fr}.parent-support{display:contents}.parent-help{grid-row:2}.parent-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:600px){.parent-metrics{gap:8px}.parent-metrics>div{padding:14px 8px}.parent-metrics strong{font-size:28px}.parent-metrics span,.parent-metrics small{font-size:12px}.parent-goal>div{gap:12px}.parent-heading h1{font-size:28px}}
@media(max-width:1000px){.parent-main{display:contents}.parent-progress{grid-row:1}.parent-layout{gap:0}}

.coach-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.coach-assignment{padding:16px 0;border-top:1px solid var(--line)}.coach-assignment strong{font-size:15px}.coach-assignment p{margin:8px 0 12px}.player-context .quick-actions{margin-top:22px}.coach-review-grid .quick-actions{flex-wrap:wrap}.coach-review-grid p{font-size:14px;line-height:1.75}@media(max-width:850px){.coach-review-grid{grid-template-columns:1fr;gap:0}}

.remember-choice{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:18px 0 6px}.remember-choice input{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:var(--blue)}.account-loading{max-width:480px;margin:15vh auto}.loginbox a,.loginintro a{color:var(--blue);text-underline-offset:3px}.loginbox form .error{overflow-wrap:anywhere}

/* Full-screen branded arena, with a solid accessible sign-in surface. */
.login.login-arena{max-width:none;width:100%;min-height:100svh;margin:0;padding:54px clamp(24px,5vw,88px);display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:48px;align-items:center;background:linear-gradient(180deg,rgba(5,17,34,.55),rgba(5,17,34,.05) 55%,rgba(5,17,34,.24)),url('/tpb-arena.webp') right center/cover no-repeat;background-color:#0b1d33}.login-arena .loginintro{align-self:start;max-width:520px;padding-top:12px}.login-arena .brand{border:0;flex-direction:row;align-items:center;gap:18px}.login-arena .brand img{width:70px;height:70px;object-fit:contain}.login-arena .brand small{color:#fff;letter-spacing:2px;font-weight:700}.login-arena .loginintro h1{color:#fff;font-size:clamp(32px,3.4vw,48px);line-height:1.08;margin:26px 0 16px;text-shadow:0 2px 16px #0006}.login-arena .loginintro .muted{color:#f0f4f8;font-size:15px;text-shadow:0 1px 8px #0009;max-width:340px}.login-arena .loginbox{margin:0;background:#fff;border:1px solid #ffffff99;box-shadow:0 24px 70px #0005;padding:28px;border-radius:16px}@media(max-width:800px){.login.login-arena{grid-template-columns:1fr;gap:24px;padding:28px 20px 36px;background-position:46% top;background-size:auto 750px;background-color:#0b1d33}.login-arena .loginintro{max-width:100%;min-height:310px;padding-top:0}.login-arena .brand img{width:52px;height:52px}.login-arena .loginintro h1{font-size:32px;margin-top:20px}.login-arena .loginintro .muted{font-size:13px;max-width:270px}.login-arena .loginbox{width:100%;max-width:440px;justify-self:center;padding:24px}.login-arena .brand small{font-size:11px}}

/* Role-based information architecture. */
.section-nav{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 18px;margin-bottom:24px;border-bottom:1px solid var(--line)}.section-nav button{border:1px solid transparent;background:transparent;color:var(--muted);padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;min-height:44px}.section-nav button.active{background:#e8eff8;color:var(--blue);border-color:#cddbeb}.section-nav button:hover{background:#edf1f6}.account-menu{position:relative;font-size:14px}.account-menu summary{cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:8px;list-style:none}.account-menu>div{position:absolute;right:0;top:48px;width:210px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px #123e7322;z-index:30}.account-menu button{display:block;width:100%;text-align:left;border:0;background:white;padding:12px;color:var(--ink);border-radius:6px;font-size:14px}.account-menu button:hover{background:#edf1f6}.support-page{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.topbar .topactions{flex-wrap:wrap}@media(max-width:700px){.section-nav{gap:4px;margin-bottom:18px;padding-bottom:12px}.section-nav button{font-size:12px;padding:9px 10px}.support-page{display:block}.sidebar .nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.sidebar .nav button{white-space:normal;text-align:center;justify-content:center;padding:10px 4px;line-height:1.3;font-size:12px}.topactions #child{max-width:180px!important;flex:1}.topbar .avatar{display:none}.account-menu summary{padding:10px}.account-menu>div{top:42px}}

@media(max-width:700px){.main .heading{flex-direction:column;align-items:stretch}.main .heading>.button{align-self:flex-start}}

/* Welcoming TPB blue navigation across all account roles. */
.sidebar{background:linear-gradient(165deg,#215e9b 0%,#174c83 65%,#123f71 100%);color:#fff;border-color:#174c83}.sidebar .brand{border-color:#ffffff30}.sidebar .brand img{background:#fff;border-radius:10px;padding:6px;object-position:center}.sidebar .brand small{color:#fff}.sidebar .nav button{color:#eaf3ff}.sidebar .nav button:hover{background:#ffffff1c;color:#fff}.sidebar .nav button.active{background:#fff;color:#164d84;box-shadow:inset 4px 0 #f47a3c}.sidebar .nav button:focus-visible,.sidebar a:focus-visible{outline:3px solid #ffd39f}.sidebar .sidefoot{border-color:#ffffff30}.sidebar .sidefoot p{color:#e0edfc}.sidebar .sidefoot .badge{background:#ffffff1c;color:#fff}@media(max-width:700px){.sidebar .brand img{padding:4px}.sidebar .nav button.active{box-shadow:inset 0 -3px #f47a3c}}

/* Sidebar-only Home Court wordmark. */
.sidebar-wordmark{padding:5px 14px 26px;border-bottom:1px solid #ffffff30;color:#fff}.wordmark-club{display:block;font-size:10px;line-height:1.65;letter-spacing:1.5px;font-weight:650}.wordmark-home{display:block;margin-top:18px;font-family:Arial,Helvetica,sans-serif;font-size:34px;line-height:.96;letter-spacing:-1.2px;font-weight:900}.wordmark-home>span{display:flex;align-items:center;gap:8px;margin-top:5px}.wordmark-ball{width:23px;height:23px;display:inline-flex;color:#ffab70;flex-shrink:0}.wordmark-ball svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}.wordmark-line{display:block;margin-top:18px;width:40px;height:3px;background:#ffab70;border-radius:2px}@media(max-width:700px){.sidebar-wordmark{padding:2px 0 14px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:18px}.wordmark-club{font-size:9px;letter-spacing:1.2px}.wordmark-home{margin-top:0;font-size:22px;letter-spacing:-.7px}.wordmark-home>span{margin-top:3px;gap:5px}.wordmark-ball{width:17px;height:17px}.wordmark-line{grid-column:1 / -1;margin-top:10px;width:30px;height:2px}}

.activity-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.activity-counts strong{display:block;font-size:30px;color:var(--blue)}.activity-counts span{display:block;font-size:13px;color:var(--muted);line-height:1.4}.activity-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}.activity-day{display:grid;justify-items:center;gap:8px;padding:12px 4px;border:1px solid var(--line);border-radius:9px;font-size:12px;background:#f7f9fc}.activity-day.logged{background:#e9f2fd;border-color:#a6c6e9;color:#124775}.activity-day.future{color:#657180;background:#fff}.activity-date{font-size:15px}.activity-indicator{font-weight:700;min-height:18px}.activity-assignment{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}.activity-assignment small{display:block;margin-top:6px;color:var(--muted)}.activity-history{margin-bottom:20px}.activity-history>div{display:flex;gap:16px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.activity-history span{color:var(--muted)}.activity-note{margin-top:18px;margin-bottom:0;font-size:12px}@media(max-width:700px){.activity-days{gap:4px}.activity-day{padding:10px 2px;font-size:10px}.activity-counts{gap:10px}.activity-counts strong{font-size:26px}.activity-counts span{font-size:11px}.activity-assignment,.activity-history>div{flex-wrap:wrap}.activity-assignment>div{width:100%}}
