*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#18243b;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1{font-size:27px;margin:0 0 7px}h2{font-size:19px;margin:0 0 18px}h3{font-size:16px}.shell{display:flex;min-height:100vh}aside{width:245px;background:#07183b;color:white;flex-direction:column;flex-shrink:0}.logo,aside{display:flex}.logo{gap:12px;align-items:center;padding:25px 19px;font-weight:700;font-size:18px;border-bottom:1px solid #283b5c}.logo small,.user small{display:block;color:#aab9d2;font-size:10px;letter-spacing:1px;margin-top:5px}.brandmark{background:#2ab68b;color:white;padding:11px;border-radius:10px;font-weight:800}.user{padding:24px 19px;background:#10264c;font-weight:600}nav{padding:18px 9px}.aside-bottom button,nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;color:#c9d6ec;border:0;padding:14px;border-radius:7px}.aside-bottom button:hover,nav button.active,nav button:hover{background:#1a3765;color:white}.aside-bottom{margin-top:auto;padding:14px;border-top:1px solid #2b4063}.content{width:100%;max-width:1280px;padding:42px 50px;margin:auto;align-self:stretch}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}header p{color:#6f7e94;margin:0}button:not(nav button,.aside-bottom button,.event-card,.back,.secondary,.rsvp-controls button){display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#0d3b76;color:white;border:0;border-radius:6px;padding:12px 19px;font-weight:600}.month{background:#e9eef5;text-align:center;padding:12px;margin-bottom:14px;font-weight:600;color:#56677d}.events{display:grid;grid-gap:12px;gap:12px}.event-card{display:flex;align-items:center;gap:22px;background:white;border:1px solid #e0e6ee;border-radius:8px;text-align:left;width:100%;padding:20px;box-shadow:0 1px 2px #00000008}.event-card:hover{border-color:#6797c9;box-shadow:0 3px 12px #00000010}.date{border-right:1px solid #e1e6ed;width:76px;text-align:center;flex-shrink:0;padding-right:15px}.date strong{display:block;font-size:28px}.date small{color:#78879b}.event-body{display:grid;grid-gap:7px;gap:7px;flex:1 1}.event-body strong{font-size:17px}.event-body span,.panel p{display:flex;align-items:center;gap:7px;color:#56647b}.tag{color:#4787ae;text-transform:capitalize}.count{display:flex;align-items:center;gap:8px;color:#118657}.count small{color:#77869b}.panel{background:white;border:1px solid #e1e7ef;border-radius:9px;padding:25px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0}.form{max-width:740px;display:grid;grid-gap:16px;gap:16px}.form h2{margin:0}.auth label,.form label{display:grid;grid-gap:7px;gap:7px;color:#485b73;font-weight:600}.auth input,.form input,.form select,.form textarea{width:100%;padding:11px;border:1px solid #ccd6e2;border-radius:6px;background:white;color:#172640}.form textarea{min-height:90px}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.back,.secondary{background:white;color:#18467b;border:1px solid #cdd9e7;border-radius:6px;padding:9px 13px;margin-bottom:15px}.reminder{background:#f4f7fb;padding:14px;border-radius:7px;white-space:pre-wrap}.player-row,.roster-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-top:1px solid #e8edf4}.muted,.player-row small{color:#8492a6;font-weight:400}.rsvp-controls{display:flex;gap:7px}.rsvp-controls button{border:1px solid #d5deeb;background:white;color:#52657b;border-radius:5px;padding:8px 11px;display:flex;align-items:center;gap:4px}.rsvp-controls button.yes{background:#dcf6e9;color:#0b7946;border-color:#b1e8cb}.rsvp-controls button.no{background:#ffe5e5;color:#b52b34;border-color:#f4c4c4}.rsvp-controls .secondary{margin:0}.yes{color:#138553}.no{color:#b52b34}.team-block{margin-top:22px}.alert{padding:12px 16px;border-radius:6px;margin-bottom:15px}.error{color:#a72d35;background:#ffeded}.success{color:#116f45;background:#e3f6ec}.auth{min-height:100vh;display:grid;place-items:center;background:#eef3f9}.auth-card{width:min(420px,92vw);background:white;padding:36px;border-radius:12px;box-shadow:0 10px 30px #132e5417}.auth-card .brandmark{display:inline-block;margin-bottom:15px}.auth-card p{color:#6b7d91}.auth-card form{display:grid;grid-gap:20px;gap:20px;margin-top:28px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:15px}@media(max-width:700px){.shell{display:block}aside{width:100%}.logo{padding:12px}.aside-bottom,.user{display:none}nav{display:flex;padding:5px;overflow:auto}nav button{width:auto;white-space:nowrap}.content{padding:22px 14px}.event-card{gap:10px;padding:13px}.count{flex-wrap:wrap;max-width:90px}.count small{font-size:10px}.date{width:55px;padding-right:8px}.date strong{font-size:22px}.two{grid-template-columns:1fr}.roster-row{align-items:flex-start;flex-direction:column}.panel{padding:17px}}.auth-logo{display:flex;justify-content:center;align-items:center;margin-bottom:15px}.auth-logo .logo-image{display:block;height:auto;max-width:100%}.sidebar-logo{border-radius:8px;flex-shrink:0}.auth-card h1,.auth-card>p{text-align:center}.user-editor .panel-head{gap:16px;flex-wrap:wrap;margin-bottom:22px}.user-editor .form{max-width:600px}.user-section{border-top:1px solid #e4eaf2;margin-top:24px;padding-top:20px}.user-section h3{margin-top:0}.user-section .form{margin-top:14px}button:disabled{opacity:.55;cursor:not-allowed}.coach-assignment{margin:10px 0;color:#52657b}.coach-assignment-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.coach-assignment-controls select{min-width:185px;max-width:100%;padding:10px;border:1px solid #ccd6e2;border-radius:6px;background:#fff}.coach-assignment-controls .secondary{margin:0}@media(max-width:700px){.coach-assignment-controls select{width:100%}}.side-nav .sidebar-teams{display:flex;flex-direction:column;gap:2px;margin:0 8px 10px 27px;padding:2px 0 4px 11px;border-left:1px solid #354a70}.side-nav .sidebar-teams button.sidebar-team{display:flex;align-items:center;gap:9px;width:100%;padding:10px 9px;border-radius:6px;font-size:12px;color:#c3d2e9;text-align:left;white-space:normal;overflow-wrap:anywhere}.side-nav .sidebar-teams button.sidebar-team.active{background:#204574;color:#fff}.team-dot{height:7px;width:7px;flex:0 0 7px;background:#77b4e8;border-radius:50%}.no-sidebar-teams{font-size:12px;color:#91a4c3;padding:8px 4px}.calendar-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button.team-management-button{background:#fff!important;color:#0d3b76!important;border:1px solid #b5c8df!important}.calendar-team-filter{background:#fff;border:1px solid #e0e6ee;border-radius:9px;margin-bottom:16px;padding:17px 20px}.filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.filter-heading strong{font-size:15px}.filter-heading p{margin:5px 0 0;color:#748399;font-size:13px}button.filter-all-button{background:#f3f7fc!important;color:#18467b!important;border:1px solid #ccd9e8!important;padding:8px 12px!important;white-space:nowrap}.filter-team-options{display:flex;flex-wrap:wrap;gap:10px 23px}.filter-team-checkbox{display:inline-flex;gap:9px;align-items:center;cursor:pointer;padding:5px 0;font-size:14px}.filter-team-checkbox input{accent-color:#0d3b76;width:17px;height:17px;margin:0;cursor:pointer}@media(max-width:700px){.side-nav .sidebar-teams{margin:0 4px 4px 8px;padding-left:6px;border-left:0;max-width:180px}.calendar-header{align-items:flex-start;gap:12px;flex-wrap:wrap}.calendar-header-actions{width:100%}.calendar-team-filter{padding:13px}.filter-heading{flex-wrap:wrap}}.team-calendar-header{justify-content:flex-start;gap:24px}.team-calendar-header .calendar-header-actions{margin-left:0}@media(max-width:700px){.team-calendar-header{gap:12px}}.calendar-team-filter-compact{position:relative;display:flex;align-items:center;gap:10px;margin:0 0 15px;width:max-content;max-width:100%;min-height:40px;z-index:5}.filter-compact-label{color:#4a607a;font-weight:600;font-size:14px;white-space:nowrap}button.team-filter-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-width:205px;max-width:100%;padding:10px 13px!important;border:1px solid #cbd7e5!important;border-radius:7px!important;background:white!important;color:#183a65!important;font-weight:600!important;box-shadow:0 1px 2px #00000008}.team-filter-trigger:hover{border-color:#8baccf!important}.filter-chevron-open{transform:rotate(180deg)}.team-filter-menu{position:absolute;top:calc(100% + 6px);left:62px;width:330px;max-width:min(90vw,360px);background:white;border:1px solid #cbd7e5;border-radius:9px;box-shadow:0 10px 30px #0d274329;padding:10px;z-index:30}.team-filter-search{display:flex;align-items:center;gap:8px;border:1px solid #ccd6e2;border-radius:6px;padding:0 10px;color:#6e8096}.team-filter-search input{width:100%;border:0;outline:0;background:white;padding:11px 2px;color:#172640}.team-filter-quick-actions{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e5eaf2;padding:10px 2px}button.team-filter-quick-actions-placeholder{display:none}.team-filter-footer button,.team-filter-quick-actions button{background:transparent!important;color:#0d3b76!important;padding:4px 8px!important;border:0!important;font-weight:600!important}.team-filter-footer button:hover,.team-filter-quick-actions button:hover{text-decoration:underline}.team-filter-list{max-height:250px;overflow-y:auto;padding:5px 0;overscroll-behavior:contain}.team-filter-option{display:flex;gap:11px;align-items:center;padding:10px 8px;border-radius:5px;cursor:pointer;color:#243955;line-height:1.35}.team-filter-option:hover{background:#f2f6fb}.team-filter-option input{width:17px;height:17px;accent-color:#0d3b76;cursor:pointer;flex:0 0 17px}.team-filter-empty{padding:18px 8px;color:#77869b}.team-filter-footer{border-top:1px solid #e5eaf2;padding:9px 3px 2px;display:flex;align-items:center;justify-content:space-between;color:#61748d;font-size:12px}@media(max-width:700px){.calendar-team-filter-compact{width:100%}.team-filter-menu{left:0;max-width:100%;width:min(330px,90vw)}button.team-filter-trigger{min-width:180px;flex:1 1}}