.rosters-page{background:#f4f4f6}.roster-container{max-width:1100px}.rosters-heading{background:linear-gradient(135deg,#0d1440 0%,#141e60 70%,#1a2575 100%);color:#fff;padding:clamp(2.25rem,6vw,4rem) 0 2.25rem}.rosters-heading .breadcrumb{margin-bottom:1.25rem;color:rgba(255,255,255,.72)}.rosters-heading .breadcrumb a{text-decoration:underline;text-underline-offset:3px}.rosters-heading h1{font-size:clamp(2.6rem,8vw,4.75rem);margin-bottom:.75rem}.rosters-heading>div>p:last-of-type{font-size:1.08rem;max-width:54ch}.rosters-eyebrow{font-size:.8rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.55rem;color:#d4001f}.division-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.75rem;max-width:600px}.division-option{display:flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1rem;border-radius:8px;font-weight:800;text-align:center;border:2px solid rgba(255,255,255,.28)}.division-option.active{background:#fff;color:#141e60;border-color:#fff}.division-option.unavailable{color:rgba(255,255,255,.62);background:rgba(255,255,255,.07)}.rosters-content{padding:clamp(2rem,5vw,4rem) 0}.roster-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:2rem;align-items:end;margin-bottom:1.5rem}.roster-toolbar h2{color:#141e60;font-size:clamp(1.9rem,5vw,3rem)}.roster-search label{display:block;font-size:.95rem;font-weight:800;color:#141e60;margin-bottom:.45rem}.roster-search-row{display:flex}.roster-search input{width:100%;min-height:50px;border:2px solid #c9cbd3;border-radius:8px 0 0 8px;padding:.8rem .95rem;font:inherit;background:#fff}.roster-search input:focus{outline:3px solid rgba(212,0,31,.22);border-color:#d4001f;position:relative}.roster-search button{min-width:70px;border:0;border-radius:0 8px 8px 0;background:#141e60;color:#fff;font-weight:800;padding:.75rem;cursor:pointer}.roster-search-status{font-size:.86rem;margin-top:.45rem;color:#596273}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.roster-card{background:#fff;border:1px solid #dddfe6;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(13,20,64,.08)}.roster-card-header{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:center;background:#141e60;color:#fff;padding:1rem 1.2rem}.roster-card-header img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:12px;padding:8px}.roster-card-header h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.15;margin:.12rem 0 .28rem}.roster-card-header p{font-size:.84rem;color:rgba(255,255,255,.75);line-height:1.4}.roster-card-header .roster-division{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ff7c8d}.athlete-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.5rem 1.2rem 1.1rem}.athlete-list li{list-style:none;padding:.72rem .25rem;border-bottom:1px solid #ececf0;font-size:1rem;font-weight:650;color:#252c3b}.athlete-list li:nth-last-child(-n+2){border-bottom:0}.roster-card[hidden],.athlete-list li[hidden]{display:none}.roster-no-results{background:#fff;border:2px solid #d4001f;border-radius:12px;padding:1.5rem;text-align:center}.roster-no-results h2{font-size:1.65rem;color:#141e60;margin-bottom:.5rem}.roster-no-results a{text-decoration:underline}.roster-privacy-note{font-size:.9rem;color:#596273;margin:1.4rem 0 0;line-height:1.65}.roster-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.roster-actions .btn,.roster-entry-banner .btn{font-family:Inter,sans-serif;text-transform:none;letter-spacing:normal;font-weight:800;justify-content:center;text-align:center}.roster-btn-primary{background:#d4001f;color:#fff}.roster-btn-secondary{background:#fff;color:#141e60;border:2px solid #141e60}.roster-entry-banner{background:#fff;border-bottom:1px solid #e1e2e8;padding:1.25rem 0}.roster-entry-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.roster-entry-inner h2{font-size:clamp(1.35rem,3vw,1.9rem);color:#141e60;margin-bottom:.25rem}.roster-entry-inner p{color:#596273}.roster-entry-banner .btn{background:#141e60;color:#fff;flex-shrink:0}@media(max-width:760px){.roster-toolbar{grid-template-columns:1fr;gap:1.1rem}.roster-grid{grid-template-columns:1fr}.roster-card-header{grid-template-columns:76px 1fr}.roster-card-header img{width:70px;height:70px}.roster-entry-inner{align-items:stretch;flex-direction:column}.roster-entry-banner .btn{width:100%}}@media(max-width:480px){.division-switcher{grid-template-columns:1fr}.athlete-list{grid-template-columns:1fr}.athlete-list li:nth-last-child(2){border-bottom:1px solid #ececf0}.roster-actions{flex-direction:column}.roster-actions .btn{width:100%}.roster-search-row{display:grid;grid-template-columns:1fr auto}.rosters-heading{padding-top:2rem}}
.division-panel[hidden]{display:none}
.roster-team-schedule{display:flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;padding:.85rem 1rem;border-radius:10px;background:#d50a0a;color:#fff;font-weight:800;text-align:center;text-decoration:none;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.roster-team-schedule:hover,.roster-team-schedule:focus-visible{background:#b10808;color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(213,10,10,.22)}.roster-team-schedule:focus-visible{outline:3px solid #ffb81c;outline-offset:3px}.athlete-list .athlete-placeholder{visibility:hidden;pointer-events:none}
.roster-coaches{padding:.85rem 1.2rem .95rem;background:#f7f8fb;border-bottom:1px solid #e1e4eb}
.roster-coaches>p{margin:0 0 .55rem;color:#d4001f;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.roster-coaches ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin:0;padding:0}
.roster-coaches li{list-style:none;display:flex;flex-direction:column;gap:.12rem;min-width:0}
.roster-coaches li span{color:#687184;font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.roster-coaches li strong{color:#141e60;font-size:.96rem;line-height:1.3}
@media(max-width:480px){.roster-coaches{padding:.8rem 1rem .9rem}.roster-coaches ul{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-coaches li strong{font-size:.9rem}}
