:root{--club-blue:#71a3d7;--link-blue:#21759b;--link-blue-dark:#175b79;--paper:#f1f1f1;--white:#fff;--ink:#1a1a1a;--muted:#686868;--line:#d1d1d1;--soft-blue:#e7f0f8;--shadow:0 15px 42px #1643692e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--club-blue);color:var(--ink);margin:0;font:16px/1.6 Merriweather,Georgia,serif}button,select,input{font:inherit}a{color:var(--link-blue)}.skip-link{z-index:50;background:var(--ink);color:var(--white);padding:.65rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-shell{background:var(--paper);width:min(1320px,100% - 72px);margin:36px auto;box-shadow:0 0 0 1px #00000014}.site-header{border-bottom:4px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:2rem;padding:38px 52px 24px;display:flex}.brand img{width:240px;max-width:45vw;height:auto;display:block}nav{flex-wrap:wrap;gap:28px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;display:flex}nav a{color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none}:is(nav a:hover,nav a:focus-visible){color:var(--link-blue)}main{padding:0 52px 64px}.page-heading{max-width:860px;padding:54px 0 40px}.eyebrow{color:var(--link-blue);letter-spacing:.14em;margin:0 0 6px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.72rem;font-weight:700}h1,h2,h3,summary,button,select{font-family:Montserrat,Helvetica Neue,Arial,sans-serif}h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.7rem,6vw,5.2rem);line-height:1}.page-heading>p:last-child{max-width:610px;color:var(--muted);margin:20px 0 0;font-size:1.1rem}.team-picker{background:var(--white);border-top:5px solid var(--link-blue);box-shadow:var(--shadow);margin-bottom:28px;padding:28px 30px 30px}.picker-top{grid-template-columns:1fr minmax(300px,390px);align-items:end;gap:40px;display:grid}.team-picker h2{margin:0;font-size:1.55rem;line-height:1.2}.team-picker label>span{margin-bottom:5px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.78rem;font-weight:700;display:block}select{-webkit-appearance:none;appearance:none;border:2px solid var(--ink);width:100%;color:var(--ink);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m4 7 5 5 5-5' fill='none' stroke='%231a1a1a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;border-radius:0;padding:13px 44px 13px 14px;font-weight:700}.category-filters{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;display:grid}.category-filters button{border:2px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;justify-items:start;padding:13px 15px;display:grid}.category-filters button:hover{border-color:var(--link-blue)}.category-filters button.active{border-color:var(--ink);background:var(--ink);color:var(--white)}.category-filters strong{font-size:1rem}.category-filters span{color:var(--muted);font-size:.7rem}.category-filters button.active span{color:#b7d6ed}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);align-items:start;gap:28px;display:grid}.program-column{min-width:0}.next-card{background:var(--link-blue);color:var(--white);grid-template-columns:140px 1fr;display:grid}.next-date{background:var(--ink);align-content:center;padding:24px;display:grid}.next-date strong{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:2rem;line-height:1.1;display:block}.next-info{padding:23px 26px}.next-info>span{letter-spacing:.12em;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.7rem;font-weight:700}.next-info h3{color:var(--white);margin:4px 0;font-size:1.16rem;line-height:1.3}.next-info p{color:#d9edf6;margin:0;font-size:.86rem}.schedule{background:var(--white);margin-top:28px;padding:28px}.section-heading{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:1.8rem;line-height:1.15}.section-heading>p{color:var(--muted);margin:0;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.8rem;font-weight:700}.date-group{padding-top:26px}.date-label{color:var(--link-blue);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;margin:0 0 10px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.72rem;display:flex}.date-label:after{content:"";background:var(--line);flex:1;height:1px}.match-row{border-bottom:1px solid var(--line);grid-template-columns:64px 78px minmax(220px,1fr);align-items:center;gap:12px;min-height:70px;padding:11px 0;display:grid}.match-time{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:700}.match-team{background:var(--soft-blue);color:var(--link-blue-dark);justify-self:start;padding:3px 7px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.7rem;font-weight:700}.match-name{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.9rem;font-weight:700;line-height:1.35}.match-location{color:var(--muted);grid-column:3;margin-top:-12px;font-size:.78rem}.home-label{color:var(--link-blue);letter-spacing:.08em;margin-left:6px;font-size:.62rem}.team-column{background:var(--white);border-top:5px solid var(--ink);box-shadow:var(--shadow);position:sticky;top:18px}.team-prompt{min-height:250px;padding:34px}.team-prompt>span{color:var(--club-blue);font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:3rem;font-weight:700}.team-prompt h2{margin:6px 0;font-size:1.6rem}.team-prompt p{color:var(--muted);margin:0}.team-hub-header{background:var(--ink);color:var(--white);padding:28px 28px 24px}.team-hub-header .eyebrow{color:#9bc4e8}.team-hub-header h2{margin:0;font-size:2rem}.team-hub-header>p:last-child{color:#d4d4d4;margin:7px 0 0;font-size:.85rem}.team-section{border-bottom:1px solid var(--line);padding:24px 28px}.mini-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mini-heading h3{margin:0;font-size:1.05rem}.mini-heading span{color:var(--muted);font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.7rem;font-weight:700}.mini-heading a{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.78rem;font-weight:700;text-decoration:none}.training-section{background:var(--soft-blue)}.training-list{gap:8px;margin-top:14px;display:grid}.training-item{border-bottom:1px solid #21759b38;grid-template-columns:80px 1fr;gap:10px;padding:9px 0;display:grid}.training-item:last-child{border-bottom:0}.training-item strong{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.82rem}.training-item span{color:var(--muted);flex-wrap:wrap;gap:.2rem .45rem;font-size:.8rem;display:flex}.training-item time{white-space:nowrap;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-style:normal;font-weight:700}.training-item em{font-style:normal}.team-status{min-height:0;color:var(--link-blue-dark);margin:0;padding:0 28px;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.78rem;font-weight:700}.team-status:not(:empty){padding-top:12px}.team-list{margin:14px 0}.empty-copy{color:var(--muted);background:var(--paper);margin:0;padding:14px;font-size:.82rem}.error-copy{border-left:4px solid #a32222}.info-item{border-bottom:1px solid var(--line);padding:12px 30px 12px 0;position:relative}.info-item:last-child{border-bottom:0}.info-item strong{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.84rem;line-height:1.35;display:block}.info-item span{color:var(--muted);font-size:.76rem;display:block}.info-item a{word-break:break-word;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.8rem;font-weight:700}.remove-button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.1rem;position:absolute;top:10px;right:0}.remove-button:hover{color:#a32222}details{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}summary{color:var(--link-blue);cursor:pointer;font-size:.8rem;font-weight:700}form{gap:11px;margin-top:14px;display:grid}form label{color:var(--muted);font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.7rem;font-weight:700}input{background:var(--white);width:100%;color:var(--ink);border:1px solid #9b9b9b;border-radius:0;margin-top:4px;padding:9px 10px;font-family:Merriweather,Georgia,serif;font-size:.82rem}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}form button{background:var(--link-blue);color:var(--white);cursor:pointer;border:0;justify-self:start;padding:9px 13px;font-size:.76rem;font-weight:700}form button:hover{background:var(--link-blue-dark)}:is(button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible){outline:3px solid var(--club-blue);outline-offset:3px}footer{border-top:4px solid var(--ink);color:var(--muted);justify-content:space-between;gap:2rem;padding:26px 52px;font-size:.76rem;display:flex}footer p{margin:0}footer a{font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-weight:700;text-decoration:none}@media (max-width:960px){.site-shell{width:calc(100% - 36px);margin:18px auto}.site-header,main,footer{padding-left:30px;padding-right:30px}.dashboard-grid{grid-template-columns:1fr}.team-column{grid-row:1;position:static}}@media (max-width:680px){.site-shell{width:100%;margin:0}.site-header{align-items:center;padding:24px 20px 18px}.brand img{width:175px;max-width:55vw}nav{justify-content:flex-end;gap:12px}nav a{font-size:.72rem}nav a:nth-child(2){display:none}main{padding:0 16px 48px}.page-heading{padding:38px 4px 28px}.page-heading>p:last-child{font-size:.98rem}.picker-top{grid-template-columns:1fr;gap:20px}.team-picker{padding:23px 20px}.team-picker h2{font-size:1.25rem}.category-filters{grid-template-columns:1fr 1fr}.dashboard-grid{gap:18px}.next-card{grid-template-columns:104px 1fr}.next-date,.next-info{padding:18px 15px}.next-date strong{font-size:1.5rem}.next-info h3{font-size:.9rem}.schedule{margin-top:18px;padding:20px 16px}.section-heading h2{font-size:1.35rem}.section-heading>p{text-align:right;max-width:90px}.match-row{grid-template-columns:58px 1fr}.match-team,.match-name,.match-location{grid-column:2}.match-location{margin-top:-5px}footer{padding:24px 20px;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.login-page{background:var(--club-blue);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--paper);border-top:6px solid var(--ink);width:min(100%,460px);padding:clamp(28px,7vw,52px);box-shadow:0 24px 70px #12334f4d}.login-logo{width:min(240px,75%);height:auto;margin-bottom:38px;display:block}.login-card h1{font-size:clamp(2.6rem,10vw,4rem)}.login-intro{color:var(--muted);margin:16px 0 24px}.login-error{color:#711717;background:#f7e8e8;border-left:4px solid #a32222;margin:0 0 18px;padding:12px 14px;font-size:.9rem}.login-form{gap:10px;margin:0;display:grid}.login-form label{color:var(--ink);font-size:.9rem}.login-form input{border:2px solid var(--ink);min-height:52px;margin:0;font-size:1rem}.login-form button{justify-self:stretch;width:100%;min-height:52px;margin-top:4px;font-size:.95rem}.login-help{color:var(--muted);margin:18px 0 0;font-size:.82rem}.logout-form{margin:0;display:block}.logout-form button{border:1px solid var(--ink);min-height:44px;color:var(--ink);background:0 0;padding:0 12px;font-size:.8rem}.logout-form button:hover{background:var(--ink);color:var(--white)}nav a{align-items:center;min-height:44px;display:inline-flex}select{min-height:52px;font-size:1rem}.category-filters button{min-height:68px}.category-filters span,.team-picker label>span,.section-heading>p,.mini-heading span,summary,form label,.info-item a{font-size:.875rem}.remove-button{width:44px;height:44px;top:4px}form button{min-height:44px;font-size:.875rem}@media (max-width:480px){.login-page{align-items:stretch;padding:0}.login-card{border-top-width:5px;flex-direction:column;justify-content:center;width:100%;min-height:100dvh;padding:30px 22px;display:flex}.login-logo{margin-bottom:30px}.site-header{align-items:flex-start;gap:12px}nav{gap:2px 10px;max-width:135px}nav a{min-height:36px}.logout-form button{min-height:38px}.page-heading{padding-top:30px}h1{font-size:2.65rem}.category-filters button{min-height:76px}.team-column{margin-inline:0}.team-section,.team-hub-header,.team-prompt{padding-left:20px;padding-right:20px}.training-section .mini-heading{flex-direction:column;align-items:flex-start;gap:4px}.training-section .mini-heading a{align-items:center;min-height:44px;display:inline-flex}.training-item{grid-template-columns:1fr;gap:3px;padding:12px 0}.training-item strong,.training-item span{font-size:.88rem}}
