:root{--background:#f4f7f7;--surface:#fbfcfc;--surface-strong:#fff;--ink:#142021;--muted:#5c6667;--line:#d4e0e0;--accent:#014547;--accent-dark:#013234;--accent-soft:#e6f1f1;--accent-border:#b8d4d4;--shadow:0 14px 35px #01454714}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fbfcfcf0;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:18px 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{border-radius:8px;flex-shrink:0}.brand-text{gap:2px;display:grid}.brand-title{color:var(--accent);font-size:1.05rem;font-weight:800}.brand-subtitle{color:var(--muted);font-size:.83rem}.topbar-end{align-items:center;gap:10px;display:flex}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:8px;gap:14px;width:100%;max-width:360px;padding:32px;display:grid}.login-logo{border-radius:8px;justify-self:center}.login-title{color:var(--accent);margin:0;font-size:1.2rem;font-weight:800}.login-subtitle{color:var(--muted);margin:-6px 0 0;font-size:.9rem}.login-card .field{text-align:left}.login-error{color:#b3261e;margin:0;font-size:.85rem}.login-button{width:100%}.logout-form{display:inline-flex}.logout-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:800}.logout-button:hover{background:var(--accent-soft);color:var(--accent)}.status-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;display:inline-flex}.status-pill:before{background:var(--accent);content:"";border-radius:999px;width:8px;height:8px}.page{max-width:1180px;margin:0 auto;padding:28px 24px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.team-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.team-hero-main h1{margin-bottom:0}.roster-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.add-player-panel{flex-basis:100%;width:100%;margin-bottom:4px}.add-player-panel h2{margin-bottom:14px}.roster-stat{background:var(--surface);border:1px solid var(--accent-border);box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-shrink:0;place-items:center;gap:2px;min-width:88px;padding:14px 18px;display:grid}.roster-stat-value{color:var(--accent);font-size:2rem;font-weight:850;line-height:1}.roster-stat-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:720px;margin-bottom:12px;font-size:clamp(2rem,4vw,3.8rem);line-height:.95}h2{margin-bottom:14px;font-size:1.2rem}h3{margin-bottom:10px;font-size:1rem}.lede{color:var(--muted);max-width:640px;line-height:1.5}.dashboard-grid{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:22px;display:grid}.panel,.team-card,.player-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.panel{padding:20px}.teams-section h2{margin-bottom:0}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.section-count{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:800}.team-list{gap:14px;display:grid}.team-card{grid-template-columns:4px 1fr auto;align-items:center;gap:16px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;overflow:hidden}.team-card:hover{border-color:#01454759;transform:translateY(-1px);box-shadow:0 10px 28px #0145471f}.team-card:hover .team-card-arrow{color:var(--accent);transform:translate(3px)}.team-card-accent{background:var(--accent);border-radius:8px 0 0 8px;align-self:stretch}.team-card-main{gap:4px;min-width:0;padding:18px 0;display:grid}.team-card-title{color:var(--ink);font-size:1.08rem;font-weight:800;line-height:1.25;display:block}.team-card-subtitle{color:var(--muted);font-size:.88rem;line-height:1.4;display:block}.team-card-end{flex-shrink:0;align-items:center;gap:12px;padding-right:18px;display:flex}.team-card-arrow{color:#9aaba9;font-size:1.1rem;font-weight:700;line-height:1;transition:color .15s,transform .15s}.metric{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800}.form-grid{gap:14px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:6px;display:grid}.field.full{grid-column:1/-1}label,.label{color:#3e453f;font-size:.78rem;font-weight:800}input,select,textarea{background:var(--surface-strong);color:var(--ink);border:1px solid #d4cec4;border-radius:7px;width:100%;min-width:0;padding:10px 11px}textarea{resize:vertical;min-height:86px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid #01454729}.checkbox-row{align-items:center;gap:10px;min-height:40px;display:flex}.checkbox-row input{accent-color:var(--accent);width:18px;height:18px}.actions{flex-wrap:wrap;gap:10px;display:flex}.form-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding-top:20px;display:flex}.form-footer--single{justify-content:flex-start}.form-footer-delete{margin:0}.save-status{color:var(--muted);order:-1;margin-left:auto;font-size:13px}.player-form .field-grid.three textarea{min-height:96px}.button{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:11px 18px;font-size:.9rem;font-weight:800;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.button:hover{background:var(--accent-dark)}.button:active{transform:translateY(1px)}.button-primary{min-width:160px;box-shadow:0 4px 14px #01454738}.button-primary:hover{box-shadow:0 6px 18px #01454747}.button.secondary{background:var(--surface-strong);border-color:var(--line);box-shadow:none;color:var(--ink)}.button.secondary:hover{background:var(--accent-soft);border-color:var(--accent-border)}.button-danger,.button.danger{background:var(--surface-strong);border-color:var(--line);box-shadow:none;color:#9b2c24;min-width:auto}.button-danger:hover,.button.danger:hover{color:#7f221c;background:#fdf0ee;border-color:#e8b4ae}.muted{color:var(--muted);font-size:.88rem;line-height:1.45}.empty-state{color:var(--muted);border:1px dashed #cfc7bc;border-radius:8px;align-items:center;min-height:180px;padding:24px;display:flex}.team-toolbar{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}.breadcrumb{color:var(--muted);margin-bottom:18px;font-size:.86rem;display:inline-flex}.player-list{gap:14px;margin-top:22px;display:grid}.player-list--primary{margin-top:0}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.print-cards-btn{white-space:nowrap;padding:6px 14px;font-size:13px}.team-settings{margin-top:28px}.team-settings h2{margin-bottom:14px}.player-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:4px;display:flex}.player-list-header h2{margin-bottom:0}.roster-sort{flex-wrap:wrap;gap:8px;display:flex}.roster-sort-link{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800;transition:background .15s,border-color .15s,color .15s}.roster-sort-link:hover{border-color:var(--accent-border);color:var(--accent)}.roster-sort-link.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.player-card{padding:0}.player-card summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:18px 20px;list-style:none;display:grid}.player-card summary::-webkit-details-marker{display:none}.player-card[open] summary{border-bottom:1px solid var(--line)}.player-body{padding:20px}.player-name-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.player-name{font-size:1.05rem;font-weight:850}.jersey-badge{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:2.4rem;padding:6px 9px;font-size:.82rem;font-weight:850;line-height:1;display:inline-flex}.tags{flex-wrap:wrap;gap:7px;display:flex}.tag{color:#4e554f;background:#f1eee8;border:1px solid #dfd8cc;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:750}.score-strip{flex-wrap:wrap;gap:8px;display:flex}.score{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-dark);border-radius:7px;padding:7px 9px;font-size:.78rem;font-weight:800}.testing-panel{background:#f7faf9;border:1px solid #b8d4d4;border-radius:10px;margin-bottom:26px;overflow:hidden;box-shadow:0 8px 24px #01454714}.section-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:850}.testing-hero{background:linear-gradient(125deg, var(--accent-dark), var(--accent));color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.testing-hero .section-kicker{color:#bfe0dd}.testing-hero h3{color:#fff;margin:0;font-size:1.35rem}.testing-profile{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.testing-profile>span{background:#ffffff1a;border:1px solid #fff3;border-radius:7px;gap:2px;min-width:94px;padding:8px 10px;display:grid}.testing-profile small{color:#bfe0dd;text-transform:uppercase;font-size:.62rem;font-weight:750}.testing-profile strong{color:#fff;text-transform:capitalize;font-size:.8rem}.performance-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 20px 8px;display:grid}.performance-stat{background:var(--surface);border:1px solid var(--line);border-radius:9px;gap:3px;min-height:100px;padding:14px 15px;display:grid;position:relative}.performance-stat:before{content:"";background:#bfd8d6;border-radius:999px;width:24px;height:4px;position:absolute;top:14px;right:14px}.performance-stat--accent:before{background:var(--accent)}.performance-stat-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:850}.performance-stat>strong{color:var(--accent-dark);font-size:1.65rem;line-height:1.15}.performance-stat-detail{color:var(--muted);font-size:.72rem}.foot-comparisons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 20px 18px;display:grid}.foot-comparison{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:15px}.foot-comparison-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.foot-comparison-heading h4{margin:0}.foot-comparison-heading>span{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 8px;font-size:.67rem;font-weight:800}.foot-row+.foot-row{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.foot-row-heading,.foot-row-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.foot-row-heading span{color:var(--muted);font-size:.73rem;font-weight:750}.foot-row-heading strong{color:var(--accent-dark);font-size:1.05rem}.foot-bar{background:#e5eceb;border-radius:999px;height:7px;margin:6px 0 8px;overflow:hidden}.foot-bar span{background:linear-gradient(90deg, #4e9693, var(--accent));border-radius:inherit;height:100%;display:block}.foot-row-meta>span:first-child,.attempt-empty{color:var(--muted);font-size:.66rem}.attempt-chips{gap:4px;display:flex}.attempt-chips>span{color:#46504d;text-align:center;background:#f1eee8;border-radius:4px;min-width:23px;padding:3px 5px;font-size:.65rem;font-weight:800}.scorecard-results{border-top:1px solid #cfdfde;padding:18px 20px}.scorecard-result{background:var(--surface);border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:13px 15px;display:grid}.scorecard-result h4{margin:2px 0 0}.scorecard-result-scores{gap:6px;display:flex}.scorecard-result-scores>span{text-align:center;background:#f1eee8;border-radius:6px;min-width:48px;padding:6px 8px;display:grid}.scorecard-result-scores small{color:var(--muted);font-size:.6rem}.scorecard-rank{background:var(--accent);color:#fff;border-radius:8px;align-items:baseline;gap:4px;padding:8px 11px;display:flex}.scorecard-rank strong{font-size:1.15rem}.scorecard-rank span{color:#cce1df;font-size:.68rem}.goals-panel{background:#fbfaf6;border:1px solid #ded8c8;border-radius:10px;margin-bottom:26px;overflow:hidden;box-shadow:0 8px 24px #3d321c0f}.goals-hero{background:linear-gradient(125deg,#eee8d9,#f8f4ea);border-bottom:1px solid #ded8c8;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.goals-hero h3{color:var(--accent-dark);margin:0;font-size:1.25rem}.goals-submission{background:var(--surface-strong);color:#625b4b;white-space:nowrap;border:1px solid #d8cfba;border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:800}.goals-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 20px;display:grid}.goal-answer{background:var(--surface-strong);border:1px solid #e3ddd0;border-radius:9px;min-height:132px;padding:15px}.goal-answer-label{color:#6b6250;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:.66rem;font-weight:850;display:block}.goal-answer-copy{color:var(--ink);font-size:.86rem;line-height:1.5}.goal-answer-copy p{margin-bottom:8px}.goal-answer-copy p:last-child{margin-bottom:0}.goal-answer--empty .goal-answer-copy{min-height:72px}.goals-panel--empty .goal-answer{background:#ffffff8c}.goal-plans{border-top:1px solid #ded8c8;padding:18px 20px 20px}.goal-plans-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.goal-plans-heading>span{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:850}.goal-plans-heading small{color:#756d5d;font-size:.7rem}.goal-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goal-plan{background:var(--surface-strong);border:1px solid #e3ddd0;border-radius:9px;padding:15px}.goal-plan-heading{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.goal-plan-heading>span{background:var(--accent);color:#fff;border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;height:24px;font-size:.7rem;font-weight:850;display:inline-flex}.goal-plan-heading h4{color:var(--accent-dark);margin:1px 0 0;font-size:.92rem;line-height:1.4}.goal-plan-actions{color:#4f504a;border-left:2px solid #d8cfba;margin-left:11px;padding-left:21px;font-size:.82rem;line-height:1.48}.goal-plan-actions p{margin-bottom:7px}.goal-plan-actions p:last-child{margin-bottom:0}.coach-editor-heading{border-top:1px solid var(--line);margin:4px 0 18px;padding-top:20px}.coach-editor-heading h3{margin:0}.section-title{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:18px 0 12px;padding-top:16px;font-size:.78rem;font-weight:850}@media (max-width:760px){.topbar-inner,.page{padding-left:16px;padding-right:16px}.page-header,.dashboard-grid,.team-toolbar,.field-grid,.field-grid.three{grid-template-columns:1fr}.page-header,.team-hero{display:grid}.roster-actions{justify-content:flex-start}.roster-stat{justify-self:start}.player-card summary{grid-template-columns:1fr}.performance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.testing-hero{align-items:stretch;display:grid}.testing-profile{justify-content:flex-start}.foot-comparisons,.goals-overview{grid-template-columns:1fr}.goal-answer{min-height:0}.goal-plan-grid{grid-template-columns:1fr}.team-card{grid-template-rows:auto auto;grid-template-columns:4px 1fr;gap:0 12px}.team-card-accent{grid-row:1/-1}.team-card-main{padding:16px 16px 8px}.team-card-end{grid-column:2;justify-content:space-between;padding:0 16px 16px}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button-primary,.form-footer-delete,.form-footer-delete .button{width:100%}h1{font-size:2.25rem}}@media (max-width:480px){.goals-hero{align-items:flex-start;display:grid}.performance-overview{grid-template-columns:1fr 1fr}.performance-stat{min-height:90px}.scorecard-result{grid-template-columns:1fr auto}.scorecard-result-scores{grid-area:2/1/auto/-1}}
