*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a202c;background:#f5f7fa;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nav{color:#fff;background:#003087;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex}.nav__brand{letter-spacing:.5px;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;display:flex}.nav__logo{object-fit:contain;border-radius:4px;width:auto;height:36px}.nav__links{align-items:center;gap:1.25rem;display:flex}.nav__links a{color:#cbd5e0;font-size:.95rem;text-decoration:none}.nav__links a:hover{color:#fff}.nav__signout{color:#cbd5e0;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:4px;padding:.25rem .75rem;font-size:.9rem}.nav__signout:hover{background:#ffffff1a}.main-content{max-width:1400px;margin:0 auto;padding:1.5rem}.loading{text-align:center;color:#718096;padding:3rem}.btn{cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:.5rem 1.1rem;font-size:.9rem}.btn:hover{background:#edf2f7}.btn--primary{color:#fff;background:#003087;border-color:#003087}.btn--primary:hover{background:#002060}.btn-secondary,.btn--secondary{color:#1a202c;background:#fff;border-color:#cbd5e0}.btn-secondary:hover,.btn--secondary:hover{background:#edf2f7;border-color:#a0aec0}.btn--danger{color:#fff;background:#e53e3e;border-color:#e53e3e}.btn--danger:hover{background:#c53030}.btn--warning{color:#fff;background:#d97706;border-color:#d97706}.btn--warning:hover{background:#b45309}.btn--small{padding:.2rem .6rem;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed}.login-page{background:#003087;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:#fff;border-radius:10px;width:100%;max-width:380px;padding:2.5rem;box-shadow:0 8px 32px #0000002e}.login-logo{object-fit:contain;width:120px;height:120px;margin-bottom:.75rem;margin-left:auto;margin-right:auto;display:block}.login-card h2{color:#718096;text-align:center;margin-bottom:1.5rem;font-size:1rem;font-weight:400}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}.login-form input{border:1px solid #cbd5e0;border-radius:6px;min-height:44px;padding:.5rem .75rem;font-size:.95rem}.login-form>.btn--primary{min-height:44px;margin-top:.5rem;font-weight:600}.login-error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.login-info{color:#276749;background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.login-oauth-group{flex-direction:column;gap:.6rem;width:100%;margin-top:.5rem;display:flex}.login-divider{align-items:center;margin:.25rem 0;display:flex}.login-divider__line{background-color:#cbd5e0;flex:1;height:1px}.login-divider__text{color:#718096;padding:0 .6rem;font-size:.85rem}.btn--oauth{color:#374151;background-color:#fff;border:1px solid #cbd5e0;justify-content:center;align-items:center;gap:.6rem;min-height:44px;font-weight:500;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.btn--oauth:hover:not(:disabled){background-color:#f8fafc;border-color:#94a3b8;box-shadow:0 1px 3px #0000000f}.login-links{flex-direction:column;align-items:center;gap:.25rem;margin-top:.5rem;display:flex}.login-forgot{color:#718096;cursor:pointer;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;padding:.5rem;font-size:.85rem;text-decoration:underline;display:inline-flex}.login-forgot:hover{color:#003087}.login-reset-hint{color:#718096;margin-bottom:.25rem;font-size:.875rem}.no-access-page{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding-top:2rem;display:flex}.no-access-page__signout{min-height:44px;margin-top:1.5rem;padding:.5rem 1.25rem;font-weight:600}.import-page h1{margin-bottom:.5rem}.import-page>p{color:#718096;margin-bottom:1.5rem}.import-template-actions{color:#4a5568;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.9rem;display:flex}.import-dropzone{text-align:center;background:#fff;border:2px dashed #a0aec0;border-radius:8px;margin-bottom:1.5rem;padding:2.5rem}.import-dropzone__label{cursor:pointer;color:#003087;font-weight:500}.import-dropzone__input{display:none}.import-loading{color:#718096;margin-bottom:1rem}.import-errors{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;margin-bottom:1rem;padding:1rem}.import-errors ul{margin-top:.5rem;padding-left:1.25rem}.import-preview h2{margin-bottom:.75rem}.import-preview h3{color:#4a5568;margin:1.25rem 0 .5rem;font-size:1rem}.import-preview__stats{color:#4a5568;gap:1.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.import-preview__review-warning{color:#d69e2e;font-weight:600}.import-preview .btn--primary{margin-top:1.5rem}.import-steps{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.import-steps li{color:#718096;font-size:.9rem}.import-steps li.is-active{color:#1a202c;font-weight:600}.preview-table{border-collapse:collapse;background:#fff;border-radius:6px;width:100%;font-size:.875rem;overflow:hidden;box-shadow:0 1px 4px #00000012}.preview-table th{color:#fff;text-align:left;background:#003087;padding:.6rem .75rem;font-weight:500}.preview-table td{border-bottom:1px solid #e2e8f0;padding:.5rem .75rem}.preview-table tr:last-child td{border-bottom:none}.preview-table tr.row--review td{background:#fffbeb}.preview-table tr.row--error td{background:#fff5f5}.preview-table tr.row--bye td{color:#718096;background:#f7fafc;font-style:italic}.preview-table tr:hover td{background:#f7fafc}.edit-input{border:1px solid #cbd5e0;border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.85rem}.edit-input:focus{border-color:#003087;outline:none;box-shadow:0 0 0 1px #003087}.edit-input--time{width:80px}.import-edit-input{background:#fff;border:1px solid #cbd5e0;border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.85rem}.import-edit-input:focus{border-color:#003087;outline:none;box-shadow:0 0 0 1px #003087}.error-border{background-color:#fff5f5;border-color:#e53e3e!important}.actions-cell{align-items:center;gap:.4rem;display:flex}.badge{text-transform:uppercase;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--bye{color:#4a5568;background:#edf2f7;border:1px solid #cbd5e0}.schedule-page__header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.schedule-page__title-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.schedule-page__status-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.12rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.schedule-page__status-badge--draft{color:#9c4221;background:#fffaf0;border:1px solid #f6ad55}.schedule-page__status-badge--official{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.schedule-page__actions{flex-wrap:wrap;gap:.75rem;display:flex}.schedule-page__round-picker{color:#4a5568;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.schedule-page__round-picker span{font-weight:600}.schedule-page__round-picker select{background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:.4rem .55rem;font-size:.9rem}.schedule-grid{background:#e2e8f0;border:1px solid #e2e8f0;border-radius:8px;gap:1px;margin-bottom:2rem;display:grid;overflow:hidden}.schedule-grid__corner{background:#f7fafc}.schedule-grid__ground-header{color:#fff;text-align:center;background:#003087;padding:.6rem .75rem;font-size:.9rem;font-weight:600}.schedule-grid__time-label{color:#4a5568;background:#edf2f7;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.85rem;font-weight:600;display:flex}.away-games{border:2px solid #0000;border-radius:8px;margin-top:1rem;padding:.5rem;transition:background .2s,border .2s}.away-games h2{color:#4a5568;margin-bottom:.75rem;font-size:1rem}.away-games--over{background:#f0fdf4;border-color:#86efac}.game-card__ideal-time{color:#4a5568;background:#edf2f7;border:1px solid #cbd5e0;border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:600;position:absolute;top:.35rem;right:.4rem}.game-card__ideal-time--with-delete{right:1.6rem}.game-card__badges{flex-direction:column;gap:.25rem;margin-top:.35rem;display:flex}.game-card__badge{border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex}.game-card__badge--moved{color:#4a5568;background:#edf2f7;border:1px solid #cbd5e0}.game-card__badge--rule-alert{color:#c53030;background:#fff5f5;border:1px solid #feb2b2}.schedule-alerts-banner{background:#fffaf0;border:1px solid #f6ad55;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.schedule-alerts-banner h3{color:#dd6b20;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.95rem;display:flex}.schedule-alerts-banner ul{color:#744210;margin:0;padding-left:1.5rem;font-size:.85rem}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background:#1a4a9e}.ground-column{background:#fff;flex-direction:column;gap:.4rem;min-height:80px;padding:.5rem;transition:background .15s;display:flex}.ground-column--over{background:#ebf8ff}.ground-column--empty{background:#f7fafc}.ground-column--gap{background:#fff5f5;border:1px dashed #fc8181}.ground-column--gap .ground-column__empty-label{color:#c53030;font-weight:600}.ground-column__empty-label{color:#a0aec0;text-align:center;padding:.75rem 0;font-size:.8rem}.game-card{background:#fff;border:1px solid #bee3f8;border-radius:6px;padding:.5rem .65rem;font-size:.8rem;position:relative;box-shadow:0 1px 3px #0000000f}.game-card--draggable{cursor:grab}.game-card--draggable:active{cursor:grabbing}.game-card__delete{cursor:pointer;opacity:.5;background:0 0;border:none;font-size:.9rem;transition:opacity .2s;position:absolute;top:.2rem;right:.2rem}.game-card__delete:hover{opacity:1}.game-card--review{background:#fffbeb;border-color:#f6ad55}.game-card__grade{color:#003087;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.2rem;font-size:.75rem;font-weight:600}.game-card__teams{color:#2d3748;line-height:1.3}.game-card__vs{color:#a0aec0}.game-card__time{color:#718096;margin-top:.2rem;font-size:.75rem}.game-card__review-badge{color:#d69e2e;cursor:pointer;margin-top:.25rem;font-size:.72rem;font-weight:600}.game-card__review-badge:hover{text-decoration:underline}.game-card__reason-tooltip{color:#744210;white-space:normal;word-wrap:break-word;background:#fffaf0;border:1px solid #f6ad55;border-radius:4px;margin-top:.35rem;padding:.4rem .5rem;font-size:.7rem;line-height:1.4}.settings-page{flex-direction:column;gap:1.5rem;display:flex}.settings-page__header{flex-direction:column;gap:1rem;display:flex}.settings-page__title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-page__title-row h1,.settings-page h1{color:#003087;margin:0;font-size:1.75rem}.settings-page__controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.settings-page__new-season-btn{color:#1a202c;cursor:pointer;background:#fff;border:1px solid #a0aec0;height:44px;padding:0 1.1rem}.settings-page__new-season-btn:hover{background:#edf2f7;border-color:#718096}.settings-page__error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.85rem 1rem;font-size:.9rem}.settings-section{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 4px #00000012}.settings-section h2{margin-bottom:.5rem;font-size:1rem}.settings-hint{color:#718096;margin-bottom:1rem;font-size:.875rem}.settings-table{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:.875rem}.settings-table th{text-align:left;background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:.4rem .5rem}.settings-table td{border-bottom:1px solid #e2e8f0;padding:.4rem .5rem}.settings-add-ground{align-items:center;gap:.75rem;display:flex}.settings-add-ground input{border:1px solid #cbd5e0;border-radius:6px;flex:1;padding:.4rem .75rem;font-size:.9rem}.settings-select{min-width:100px;color:inherit;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.4rem .5rem;font-size:.875rem}.settings-add-grade{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.settings-add-grade input{border:1px solid #cbd5e0;border-radius:6px;flex:1;min-width:140px;padding:.4rem .75rem;font-size:.9rem}.settings-error{color:#dc2626;margin-top:.5rem;margin-bottom:0;font-size:.85rem}.settings-missing-times-notice{color:#92400e;background:#fef3c7b3;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem .9rem;font-size:.85rem;font-weight:500;line-height:1.4;display:flex}.settings-time-slots{border-top:1px solid #e2e8f0;margin-top:1.15rem;padding-top:1rem}.settings-time-slots--first{border-top:none;margin-top:0;padding-top:0}.settings-ideal-times{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.25rem}.settings-ideal-times h3,.settings-time-slots h3{margin-bottom:.35rem;font-size:.95rem}.settings-slot-chips{flex-wrap:wrap;gap:.55rem;margin-bottom:.75rem;display:flex}.settings-slot-chip{background:#fff;border:1px solid #cbd5e0;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem .2rem .65rem;font-size:.84rem;animation:.18s cubic-bezier(.16,1,.3,1) chip-enter;display:inline-flex}.settings-slot-chip__remove{color:#4a5568;cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1}.settings-slot-chip__remove:hover{color:#c53030}.settings-slot-chip__locked{color:#0f766e;background:#e6fffa;border:1px solid #99f6e4;border-radius:999px;align-items:center;padding:.05rem .45rem;font-size:.72rem;display:inline-flex}.chip-list--warning,.chip-list--warning .settings-slot-chip,.settings-slot-chip.chip-list--warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.chip-list--warning .settings-slot-chip__remove,.settings-slot-chip.chip-list--warning .settings-slot-chip__remove{color:#856404}.chip-list--warning .settings-slot-chip__remove:hover,.settings-slot-chip.chip-list--warning .settings-slot-chip__remove:hover{color:#c53030}@keyframes chip-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.chip-list-editor{flex-direction:column;display:flex}.chip-list-editor__form{margin-top:.25rem}.chip-list-editor__label{color:#4a5568;font-size:.88rem;font-weight:500}.chip-list-editor__error{color:#dc2626;margin-top:.4rem;margin-bottom:0;font-size:.82rem}.chip-list__empty{color:#718096;margin:.25rem 0 .75rem;font-size:.88rem;font-style:italic}.settings-add-time-slot{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.settings-add-time-slot input{border:1px solid #cbd5e0;border-radius:6px;width:130px;padding:.4rem .75rem;font-size:.9rem}.rules-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.9rem;padding:.75rem}.rules-controls{gap:.55rem;margin-bottom:.9rem;display:grid}.rules-checkbox{color:#1f2937;align-items:center;gap:.55rem;font-size:.9rem;display:flex}.rules-checkbox input{width:15px;height:15px}.rules-row{justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.88rem;display:flex}.rules-row+.rules-row{border-top:1px solid #e2e8f0}.rules-label{color:#4a5568;font-weight:600}.rules-value{color:#1f2937;text-align:right}.rules-list{color:#2d3748;margin-left:1rem;font-size:.9rem;line-height:1.5}.rules-list li+li{margin-top:.35rem}.schedule-page__allocation-summary{margin:1.5rem 0}.ground-summary__title{color:#2d3748;margin-bottom:.75rem;font-size:1rem}.ground-summary__empty{color:#718096;font-size:.9rem}.ground-summary__table .ground-summary__count{text-align:center;font-variant-numeric:tabular-nums}.ground-summary__table .ground-summary__total{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.report-page h1{margin-bottom:.35rem}.report-page__hint{color:#718096;margin-bottom:1.25rem;font-size:.875rem}.report-page__controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.5rem;display:flex}.report-page__season-label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500;display:flex}.report-page__season-input{border:1px solid #cbd5e0;border-radius:6px;width:120px;padding:.45rem .75rem;font-size:.95rem}.report-page__meta{color:#4a5568;margin-bottom:.75rem;font-size:.875rem}.report-page__empty{color:#718096;margin-top:1rem}.report-tabs-container{background:#fff;border-radius:8px;margin-top:1.5rem;overflow:hidden;box-shadow:0 1px 4px #00000012}.report-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex}.report-tab{color:#718096;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:1rem;font-size:.95rem;font-weight:600;transition:all .2s}.report-tab:hover{color:#003087;background:#edf2f7}.report-tab--active{color:#003087;background:#fff;border-bottom-color:#003087}.report-tab-content{padding:1.5rem}.report-section h2{color:#2d3748;margin-bottom:.5rem;font-size:1.25rem}.report-section p{color:#4a5568;margin-bottom:1rem}.report-select{border:1px solid #cbd5e0;border-radius:6px;width:100%;max-width:300px;padding:.5rem;font-size:.95rem}.notes-sidebar-overlay{opacity:0;pointer-events:none;z-index:1000;background:#0006;transition:opacity .3s;position:fixed;inset:0}.notes-sidebar-overlay.open{opacity:1;pointer-events:auto}.notes-sidebar{z-index:1001;background:#fff;flex-direction:column;width:400px;max-width:100vw;height:100vh;transition:right .3s cubic-bezier(.25,.8,.25,1);display:flex;position:fixed;top:0;right:-400px;box-shadow:-2px 0 8px #0000001a}.notes-sidebar.open{right:0}.notes-sidebar-header{color:#fff;background:#003087;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.notes-sidebar-header h2{font-size:1.1rem}.notes-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem}.notes-sidebar-content{background:#f8fafc;flex:1;padding:1rem;overflow-y:auto}.notes-empty{text-align:center;color:#718096;margin-top:2rem;font-size:.95rem}.note-thread{background:0 0;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;display:flex}.note-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 6px #0000000a}.note-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.note-item.note-item-reply{background:#f8fafc;border-top-left-radius:4px}.note-item.note-item-reply:before{content:"";border-bottom:2px solid #cbd5e0;border-left:2px solid #cbd5e0;border-bottom-left-radius:8px;width:1rem;height:2rem;position:absolute;top:-.6rem;left:-1rem}.note-item-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.note-author{color:#2b6cb0;background:#ebf8ff;border-radius:6px;padding:.15rem .5rem;font-size:.85rem;font-weight:600}.note-time{color:#a0aec0;font-size:.75rem}.note-body{color:#2d3748;white-space:pre-wrap;margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.note-actions{gap:.5rem;display:flex}.note-action-btn{color:#718096;cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:500}.note-action-btn:hover{color:#003087;text-decoration:underline}.note-action-delete:hover{color:#e53e3e}.notes-sidebar-footer{background:#fff;border-top:1px solid #e2e8f0;padding:1rem}.replying-to-banner{color:#2b6cb0;background:#ebf8ff;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.replying-to-banner button{color:#2b6cb0;cursor:pointer;background:0 0;border:none;font-weight:600}.replying-to-banner button:hover{text-decoration:underline}.note-input-container{flex-direction:column;gap:.5rem;display:flex}.note-input-textarea{resize:vertical;border:1px solid #cbd5e0;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:.9rem}.note-input-textarea:focus{border-color:#003087;outline:none;box-shadow:0 0 0 1px #003087}.note-input-submit{color:#fff;cursor:pointer;background:#003087;border:none;border-radius:6px;align-self:flex-end;padding:.5rem 1rem;font-weight:600;transition:background .2s}.note-input-submit:hover:not(:disabled){background:#002060}.note-input-submit:disabled{opacity:.6;cursor:not-allowed}.manual-container{max-width:900px;margin:0 auto}.manual-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px #0000000d}.manual-card h1{color:#003087;border-bottom:2px solid #003087;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.8rem}.manual-card h2{color:#003087;border-bottom:1px solid #e2e8f0;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.4rem}.manual-card h3{color:#2d3748;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.1rem}.manual-card p{margin-bottom:1rem;line-height:1.7}.manual-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;margin:1.5rem 0;overflow-x:auto}.manual-table{border-collapse:collapse;width:100%}.manual-table th{color:#003087;text-align:left;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;padding:1rem}.manual-table td{border-bottom:1px solid #e2e8f0;padding:1rem;font-size:.95rem}.manual-table tr:last-child td{border-bottom:none}.manual-note{background-color:#ebf8ff;border-left:4px solid #3182ce;border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1.25rem}.manual-note-title{color:#2c5282;margin-bottom:.5rem;font-weight:700}.manual-tip{color:#4a5568;border-top:1px solid #e2e8f0;margin-top:3rem;padding-top:1.5rem;font-style:italic}.manual-card ul,.manual-card ol{margin-bottom:1.5rem;padding-left:1.5rem}.manual-card li{margin-bottom:.75rem;line-height:1.6}.officials-page{max-width:1200px;margin:0 auto;padding-bottom:3rem}.officials-header{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.officials-header h1{color:#003087;margin:0 0 .25rem;font-size:1.8rem}.officials-subtitle{color:#718096;margin:0;font-size:.95rem}.officials-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.control-group{align-items:center;gap:.5rem;display:flex}.control-group label{color:#2d3748;font-size:.9rem;font-weight:600}.officials-select,.officials-search-input{background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.officials-select:focus,.officials-search-input:focus{border-color:#003087;outline:none;box-shadow:0 0 0 2px #00308726}.officials-search-input{min-width:200px}.officials-summary{color:#4a5568;margin-bottom:1.25rem;font-size:.9rem;font-weight:500}.officials-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.officials-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #0000000a}.officials-card:hover{border-color:#cbd5e0;box-shadow:0 6px 12px #00000014}.officials-card-header{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.officials-card-header h3{color:#003087;margin:0;font-size:1.2rem;font-weight:700}.btn-save-team{color:#fff;cursor:pointer;background:#003087;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;transition:background .2s}.btn-save-team:hover:not(:disabled){background:#002060}.btn-save-team:disabled{opacity:.6;cursor:not-allowed}.save-badge{border-radius:6px;margin-bottom:1rem;padding:.35rem .6rem;font-size:.8rem}.save-badge.success{color:#22543d;background-color:#c6f6d5}.save-badge.error{color:#9b2c2c;background-color:#fed7d7}.officials-roles-list{flex-direction:column;gap:.85rem;display:flex}.official-role-row{flex-direction:column;gap:.35rem;display:flex}.role-label{text-transform:uppercase;letter-spacing:.04em;color:#4a5568;font-size:.8rem;font-weight:700}.role-inputs{gap:.5rem;display:flex}.role-input-name{border:1px solid #cbd5e0;border-radius:6px;flex:1.3;padding:.4rem .6rem;font-size:.85rem}.role-input-phone{border:1px solid #cbd5e0;border-radius:6px;flex:1;padding:.4rem .6rem;font-size:.85rem}.role-input-name:focus,.role-input-phone:focus{border-color:#003087;outline:none}.role-display{color:#2d3748;padding:.2rem 0;font-size:.9rem}.phone-tag{color:#4a5568;margin-left:.25rem;font-size:.85rem}.unassigned-tag{color:#a0aec0;font-size:.85rem;font-style:italic}.officials-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:100%;margin-top:1rem;overflow-x:auto;box-shadow:0 4px 6px #0000000a}.officials-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.officials-table th,.officials-table td{white-space:nowrap;border-bottom:1px solid #edf2f7;border-right:1px solid #edf2f7;padding:.6rem .75rem}.officials-table th{color:#003087;text-align:center;z-index:10;background-color:#f7fafc;font-weight:700;position:sticky;top:0}.officials-table .role-header-cell{text-transform:uppercase;letter-spacing:.03em;color:#2b6cb0;background-color:#ebf8ff;border-bottom:1px solid #bee3f8;font-size:.8rem}.officials-table .sub-header-row th{color:#718096;text-transform:uppercase;background-color:#f7fafc;font-size:.75rem;font-weight:600}.officials-table .sticky-col{z-index:20;background-color:#fff;border-right:2px solid #cbd5e0;min-width:210px;position:sticky;left:0}.officials-table th.sticky-col{z-index:30;text-align:left;background-color:#f7fafc}.team-name-wrapper{flex-direction:column;gap:.2rem;display:flex}.team-name-wrapper strong{color:#003087;font-size:.9rem}.status-pill{border-radius:4px;width:fit-content;padding:.15rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.status-pill.success{color:#22543d;background-color:#c6f6d5}.status-pill.error{color:#9b2c2c;background-color:#fed7d7}.table-input-cell{background-color:#fff;padding:.35rem .4rem}.table-cell-input{background-color:#fff;border:1px solid #cbd5e0;border-radius:5px;width:130px;padding:.35rem .5rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.table-cell-input:focus{background-color:#fff;border-color:#003087;outline:none;box-shadow:0 0 0 2px #00308726}.table-display-cell{color:#2d3748;text-align:center;min-width:110px;font-size:.85rem}.officials-table tbody tr:hover td{background-color:#f8fafc}.officials-table tbody tr:hover td.sticky-col{background-color:#f7fafc}.finals-container{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.finals-controls{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 4px #00000008}.finals-controls__count{color:#003087;font-size:.95rem;font-weight:600}.finals-controls__toggle-group{background:#edf2f7;border-radius:8px;gap:2px;padding:3px;display:flex}.finals-controls__toggle-btn{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:all .2s}.finals-controls__toggle-btn:hover{color:#003087}.finals-controls__toggle-btn--active{color:#003087;background:#fff;box-shadow:0 1px 3px #0000001a}.finals-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.finals-venue-sections{flex-direction:column;gap:2rem;display:flex}.finals-venue-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.finals-venue-section__header{border-bottom:2px solid #cbd5e0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.finals-venue-section__header h3{color:#003087;margin:0;font-size:1.15rem;font-weight:700}.finals-venue-section__count{color:#718096;background:#edf2f7;border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.finals-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.75rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 5px #0000000a}.finals-card:hover{border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 6px 12px #00000014}.finals-card__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.finals-card__grade{color:#2b6cb0;background:#ebf8ff;border-radius:6px;padding:.2rem .6rem;font-size:.95rem;font-weight:700}.finals-card__time{color:#2d3748;font-size:.9rem;font-weight:700}.finals-card__teams{background:#f8fafc;border:1px solid #edf2f7;border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.finals-card__team{color:#2d3748;justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.finals-card__team--our-club{color:#003087;font-weight:700}.finals-card__team-label{color:#a0aec0;letter-spacing:.05em;font-size:.65rem;font-weight:700}.finals-card__team-name{font-size:.9rem}.finals-card__vs-divider{color:#cbd5e0;letter-spacing:.1em;align-self:center;font-size:.65rem;font-weight:800}.finals-card__bottom{color:#718096;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.finals-card__venue{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.finals-card__date{font-weight:500}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes training-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.setup-page,.training-page,.setup-page__header,.training-page__header{flex-direction:column;gap:1rem;display:flex}.setup-page__header h1,.training-page__header h1{color:#003087;margin-bottom:.25rem;font-size:1.5rem}.setup-page__subtitle,.training-page__subtitle{color:#718096;max-width:60ch;font-size:.95rem;line-height:1.5}.setup-page__subtitle a{color:#003087;font-weight:600}.setup-page__controls,.training-page__header-actions{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.season-picker,.setup-page__copy,.copy-season{flex-direction:column;gap:.3rem;display:flex}.season-picker__label,.training-form__field label,.training-schedule__filter label,.setup-card__add-label{color:#4a5568;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.season-picker__label-row,.control-group__label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.season-picker__badge,.officials-active-badge,.report-page__active-badge,.active-season-card__active-pill{color:#b45309;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.report-page__season-title{align-items:center;gap:.5rem;display:flex}.season-picker__select,.setup-input,.training-form__field select,.training-form__field input,.training-schedule__filter select{color:#1a202c;background:#fff;border:1px solid #a0aec0;border-radius:8px;min-height:44px;padding:.5rem .75rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.season-picker__select{min-width:140px}.season-picker__select:focus-visible,.setup-input:focus-visible,.training-form__field select:focus-visible,.training-form__field input:focus-visible,.training-schedule__filter select:focus-visible{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308733}.setup-page__copy-row,.copy-season__row{align-items:center;gap:.5rem;display:flex}.copy-season__confirm{-webkit-backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e2e8f0e6;border-radius:10px;flex-direction:column;gap:.6rem;margin-top:.4rem;padding:.85rem 1rem;animation:.18s ease-out copy-confirm-slide-in;display:flex;box-shadow:0 4px 16px #00308714}.copy-season__confirm-text{color:#1a202c;margin:0;font-size:.88rem;font-weight:500;line-height:1.4}.copy-season__confirm-actions{gap:.5rem;display:flex}.copy-season__confirm-btn{color:#fff;background:#c53030;border:1px solid #9b2c2c}.copy-season__confirm-btn:hover:not(:disabled){background:#9b2c2c}.copy-season__cancel-btn{color:#4a5568;background:#f7fafc;border:1px solid #cbd5e0}.copy-season__cancel-btn:hover:not(:disabled){background:#edf2f7}.copy-season__status{min-height:1.25rem;margin:.25rem 0 0;font-size:.875rem;font-weight:500}.copy-season__status--success{color:#2f855a}.copy-season__status--error{color:#c53030}@keyframes copy-confirm-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.setup-btn,.training-btn{border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-weight:600;transition:transform .12s,background .15s,box-shadow .15s;display:inline-flex}.setup-btn:active:not(:disabled),.training-btn:active:not(:disabled){transform:scale(.97)}.setup-btn:focus-visible,.training-btn:focus-visible{outline-offset:2px;outline:3px solid #00308759}.setup-page__status{color:#2f855a;min-height:1.25rem;font-size:.875rem}.setup-page__error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:1rem}.setup-page__grid,.training-page__layout{grid-template-columns:1fr;align-items:start;gap:1.25rem;display:grid}.setup-card,.training-card{-webkit-backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #e2e8f0e6;border-radius:14px;padding:1.25rem;animation:.25s both training-fade-in;box-shadow:0 8px 24px #0030870f,0 1px 3px #0000000d}.setup-card__header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.setup-card h2,.training-card h2{color:#1a202c;align-items:center;gap:.5rem;font-size:1.1rem;display:flex}.setup-card__count{color:#003087;background:#ebf4ff;border-radius:999px;justify-content:center;align-items:center;min-width:1.75rem;height:1.5rem;padding:0 .5rem;font-size:.8rem;font-weight:700;display:inline-flex}.setup-card__hint{color:#718096;margin-bottom:1rem;font-size:.875rem}.setup-card__empty,.training-card__empty{color:#718096;text-align:center;background:#f7fafc;border:1px dashed #cbd5e0;border-radius:10px;margin-bottom:1rem;padding:1rem;font-style:italic}.training-card__empty a{color:#003087;font-style:normal;font-weight:600}.setup-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;list-style:none;display:flex}.setup-list__item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s;animation:.2s both training-fade-in;display:flex}.setup-list__item:hover{border-color:#bee3f8;box-shadow:0 2px 8px #0030870f}.setup-list__name{color:#2d3748;font-weight:600}.setup-list__actions,.setup-list__edit{gap:.5rem;display:flex}.setup-list__edit{flex-wrap:wrap;flex:1}.setup-list__edit .setup-input{flex:1;min-width:10rem}.setup-card__add{flex-direction:column;gap:.3rem;display:flex}.setup-card__add-row{gap:.5rem;display:flex}.setup-card__add-row .setup-input{flex:1;min-width:0}.setup-card__error,.training-form__errors{color:#c53030;min-height:1.25rem;margin-top:.5rem;font-size:.875rem}.training-form__errors ul{padding-left:1.1rem}.training-form{flex-direction:column;gap:.9rem;margin-top:1rem;display:flex}.training-form__field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.training-form__row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.training-form__optional{text-transform:none;color:#a0aec0;letter-spacing:0;font-weight:400}.training-form__actions{gap:.5rem;display:flex}.training-form__actions .btn--primary{flex:1}.training-schedule__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.training-schedule__filter{flex-direction:column;gap:.3rem;display:flex}.training-days{flex-direction:column;gap:1.25rem;display:flex}.training-day__title{text-transform:uppercase;letter-spacing:.06em;color:#003087;border-bottom:2px solid #ebf4ff;margin-bottom:.6rem;padding-bottom:.4rem;font-size:.85rem}.training-day__list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.training-booking{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #003087;border-radius:10px;grid-template-columns:1fr;gap:.4rem;padding:.75rem;transition:transform .15s,box-shadow .15s,border-color .15s;animation:.2s both training-fade-in;display:grid}.training-booking:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00308714}.training-booking--editing{background:#fffbeb;border-color:#d69e2e}.training-booking__time{color:#2d3748;font-variant-numeric:tabular-nums;font-weight:700}.training-booking__main{flex-direction:column;gap:.1rem;display:flex}.training-booking__team{color:#003087;font-weight:600}.training-booking__ground{color:#4a5568;font-size:.9rem}.training-booking__notes{color:#718096;font-size:.85rem;font-style:italic}.training-booking__badges{flex-wrap:wrap;gap:.35rem;display:flex}.training-booking__badges:empty{display:none}.training-badge{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.training-badge--shared{color:#234e52;background:#e6fffa;border:1px solid #81e6d9}.training-badge--warning{color:#975a16;background:#fffbeb;border:1px solid #f6ad55}.training-badge--conflict{color:#c05621;background:#fffaf0;border:1px solid #fbd38d}.training-badge--dates-sm{color:#718096;background:#f7fafc;border:1px solid #e2e8f0;font-size:.7rem;font-weight:500}.training-badge--adhoc{color:#6b46c1;background:#faf5ff;border:1px solid #d6bcfa}.training-badge--weekly{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8}.training-badge--ground{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.training-booking--adhoc{border-left:3px solid #805ad5}.training-form__type-selector{gap:.5rem;display:flex}.training-type-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.training-type-btn:hover:not(.training-type-btn--active){background:#f7fafc;border-color:#cbd5e1}.training-type-btn--active{color:#fff;background:#003087;border-color:#003087;box-shadow:0 1px 3px #00308733}.training-form__notice{color:#44337a;background:#faf5ff;border:1px solid #e9d8fd;border-left:4px solid #805ad5;border-radius:8px;margin-bottom:.5rem;padding:.65rem .85rem;font-size:.85rem}.training-form__day-hint{color:#3182ce;margin-left:.35rem;font-size:.8rem;font-weight:600}.training-form__ground-avail{background:#f7fafce6;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.45rem;margin-top:-.25rem;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.training-form__ground-avail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;display:flex}.training-form__ground-avail-title{color:#4a5568;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.training-form__ground-days-list{flex-wrap:wrap;gap:.4rem;display:flex}.training-day-chip{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8;border-radius:9999px;justify-content:center;align-items:center;padding:.3rem .65rem;font-size:.78rem;font-weight:600;line-height:1.2;transition:all .15s;display:inline-flex}.training-day-chip--active{color:#2b6cb0;background:#ebf8ff;border-color:#bee3f8}.training-day-chip:hover{background:#e1f0fa;border-color:#90cdf4}.training-day-chip__name{font-size:.78rem;font-weight:600}.training-form__date-notice{border-radius:6px;margin-top:.4rem;padding:.4rem .65rem;font-size:.8rem;font-weight:600;line-height:1.3}.training-form__date-notice--valid{color:#22543d;background:#f0fff4;border:1px solid #9ae6b4}.training-form__date-notice--error{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.training-schedule__type-switcher{background:#edf2f7cc;border:1px solid #e2e8f0;border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.training-phase-tabs{-webkit-backdrop-filter:blur(8px);background:#edf2f7b3;border:1px solid #e2e8f0;border-radius:12px;gap:.5rem;width:fit-content;padding:.35rem;display:flex}.training-phase-tab{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.training-phase-tab:hover:not(.training-phase-tab--active){color:#1a202c;background:#fff9}.training-phase-tab--active{color:#003087;background:#fff;box-shadow:0 2px 6px #00308714,0 1px 2px #0000000a}.training-phase-tab__count{color:#003087;background:#ebf4ff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-flex}.training-phase-tab--active .training-phase-tab__count{color:#fff;background:#003087}.training-form__warning{color:#9c4221;background:#fffaf0;border:1px solid #fbd38d;border-radius:8px;padding:.85rem;font-size:.9rem}.training-form__warning p{margin:0}.training-form__warning-hint{color:#7b341e;font-size:.8rem;margin-top:.35rem!important}.training-form__conflict-alert{color:#9c4221;background:#fffaf0;border:1px solid #f6ad55;border-radius:8px;padding:.75rem;font-size:.85rem}.training-schedule__ground-window{margin-top:.35rem}.training-booking__ground-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.training-booking__actions{gap:.5rem;display:flex}.training-schedule__controls{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.training-schedule__view-switcher{-webkit-backdrop-filter:blur(8px);background:#edf2f7b3;border:1px solid #e2e8f0;border-radius:10px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.training-view-btn{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;min-width:44px;min-height:44px;padding:.45rem .85rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.training-view-btn:hover:not(.training-view-btn--active){color:#1a202c;background:#fff9}.training-view-btn--active{color:#003087;background:#fff;box-shadow:0 2px 6px #00308714,0 1px 2px #0000000a}.training-calendar-toolbar{-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex;box-shadow:0 2px 8px #0000000a}.training-calendar-toolbar__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.training-calendar-toolbar__view-switcher{-webkit-backdrop-filter:blur(8px);background:#edf2f7b3;border:1px solid #e2e8f0;border-radius:10px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.training-calendar-toolbar__nav-group{align-items:center;gap:.35rem;display:inline-flex}.training-calendar-toolbar__nav-btn{color:#2d3748;cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.45rem .85rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.training-calendar-toolbar__nav-btn:hover{color:#003087;background:#f7fafc;border-color:#003087}.training-calendar-toolbar__nav-btn:active{transform:scale(.97)}.training-calendar-toolbar__nav-btn:focus-visible{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308726}.training-calendar-toolbar__today-btn{color:#003087;background:#f0f4fc;border-color:#b3c5e8;font-weight:700}.training-calendar-toolbar__today-btn:hover{background:#e1ebfa;border-color:#003087}.training-calendar-toolbar__window{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.training-calendar-toolbar__week-label{color:#003087;letter-spacing:-.01em;font-size:.95rem;font-weight:700}.training-calendar-toolbar__day-context{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8;border-radius:9999px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.training-calendar-toolbar__jump-group{align-items:center;gap:.5rem;display:inline-flex}.training-calendar-toolbar__date-label{color:#4a5568;white-space:nowrap;font-size:.82rem;font-weight:600}.training-calendar-toolbar__date-input{color:#1a202c;cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:8px;min-height:44px;padding:.4rem .65rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.training-calendar-toolbar__date-input:focus-visible{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308726}.training-calendar-toolbar__notice{color:#9c4221;background:#fffaf0;border:1px solid #fbd38d;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.88rem;font-weight:500;display:flex;box-shadow:0 1px 3px #0000000a}.training-calendar{flex-direction:column;gap:1rem;animation:.2s both training-fade-in;display:flex}.training-calendar__days{-webkit-overflow-scrolling:touch;gap:.4rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.training-calendar__day-tab{color:#4a5568;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.45rem;min-width:44px;min-height:44px;padding:.45rem .85rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.training-calendar__day-tab:hover:not(.training-calendar__day-tab--active){color:#1a202c;background:#edf2f7;border-color:#cbd5e0}.training-calendar__day-tab--active{color:#fff;background:#003087;border-color:#003087;box-shadow:0 2px 8px #00308733}.training-calendar__day-short{display:none}.training-calendar__day-count{color:#718096;background:#edf2f7;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.72rem;font-weight:600;display:inline-flex}.training-calendar__day-tab--active .training-calendar__day-count{color:#fff;background:#ffffff40}.training-calendar__day-count--has-bookings{font-weight:700}.training-calendar__wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000008}.training-calendar__scroll{min-width:100%;overflow-x:auto}.training-calendar__header-row{z-index:5;background:#f8fafc;border-bottom:2px solid #e2e8f0;display:grid;position:sticky;top:0}.training-calendar__corner-cell{color:#718096;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid #e2e8f0;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;font-weight:700;display:flex}.training-calendar__ground-header{text-align:center;border-right:1px solid #e2e8f0;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex}.training-calendar__ground-name{color:#003087;font-size:.95rem;font-weight:700}.training-calendar__ground-status{margin-top:.15rem}.training-calendar__hours-label{color:#4a5568;font-variant-numeric:tabular-nums;background:#edf2f7;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.training-calendar__closed-badge{color:#a0aec0;background:#f1f5f9;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.training-calendar__grid-canvas{background:#fff;height:600px;min-height:520px;display:grid;position:relative}.training-calendar__timeline{background:#fafbfc;border-right:1px solid #e2e8f0;position:relative}.training-calendar__time-marker{text-align:right;padding-right:.5rem;position:absolute;left:0;right:0;transform:translateY(-50%)}.training-calendar__time-label{color:#718096;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.training-calendar__ground-column{border-right:1px solid #e2e8f0;height:100%;position:relative}.training-calendar__ground-column--closed{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f5f5f5 10px 20px)}.training-calendar__grid-line{pointer-events:none;border-top:1px dashed #edf2f7;position:absolute;left:0;right:0}.training-calendar__closed-watermark,.training-calendar__empty-column{color:#a0aec0;pointer-events:none;text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:.85rem;font-style:italic;font-weight:600;display:flex;position:absolute;inset:0}.training-calendar__empty-column{color:#cbd5e1}.training-calendar__booking-card{-webkit-backdrop-filter:blur(4px);z-index:2;box-sizing:border-box;background:#ebf8fff2;border:1px solid #90cdf4;border-left:4px solid #003087;border-radius:8px;flex-direction:column;gap:.2rem;padding:.4rem .5rem;transition:transform .15s,box-shadow .15s,z-index .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px #00308714}.training-calendar__booking-card:hover{z-index:10;box-shadow:0 6px 16px #00308726}.training-calendar__booking-card--editing{background:#fffaf0;border-color:#f6ad55 #f6ad55 #f6ad55 #dd6b20}.training-calendar__booking-card--adhoc{background:#faf5fff2;border-color:#d6bcfa #d6bcfa #d6bcfa #805ad5}.training-calendar__card-top{justify-content:space-between;align-items:flex-start;gap:.25rem;display:flex}.training-calendar__card-time{color:#2b6cb0;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700;line-height:1.2}.training-calendar__card-actions{gap:.2rem;display:flex}.training-calendar__action-btn{cursor:pointer;background:#fffc;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:.1rem;font-size:.75rem;transition:transform .1s,background .1s;display:inline-flex}.training-calendar__action-btn:hover{background:#fff;transform:scale(1.1)}.training-calendar__card-team{color:#1a365d;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;line-height:1.2;overflow:hidden}.training-calendar__card-notes{color:#4a5568;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-style:italic;overflow:hidden}.training-calendar__card-badges{flex-wrap:wrap;gap:.2rem;margin-top:auto;display:flex}.training-weekly-grid{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;animation:.2s both training-fade-in;display:flex;overflow:auto hidden;box-shadow:0 4px 12px #00000008}.training-weekly-grid__header-row{z-index:5;background:#f8fafc;border-bottom:2px solid #e2e8f0;grid-template-columns:72px repeat(7,minmax(160px,1fr));min-width:1192px;display:grid;position:sticky;top:0}.training-weekly-grid__day-header{cursor:pointer;text-align:center;background:#f8fafc;border:none;border-right:1px solid #e2e8f0;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:background .15s,color .15s;display:flex;position:relative}.training-weekly-grid__day-header:hover{background:#edf2f7}.training-weekly-grid__day-header:focus-visible{outline-offset:-2px;outline:2px solid #003087}.training-weekly-grid__day-header--selected{background:#ebf4ff;border-bottom:2px solid #003087;margin-bottom:-2px}.training-weekly-grid__day-header-main{justify-content:center;align-items:center;gap:.4rem;display:flex}.training-weekly-grid__day-title{color:#003087;font-size:.9rem;font-weight:700}.training-weekly-grid__day-count{font-size:.72rem}.training-weekly-grid__drill-hint{color:#3182ce;opacity:0;font-size:.7rem;font-weight:600;transition:opacity .15s,transform .15s;transform:translateY(2px)}.training-weekly-grid__day-header:hover .training-weekly-grid__drill-hint,.training-weekly-grid__day-header:focus-visible .training-weekly-grid__drill-hint,.training-weekly-grid__day-header--selected .training-weekly-grid__drill-hint{opacity:1;transform:translateY(0)}.training-weekly-grid__canvas{background:#fff;grid-template-columns:72px repeat(7,minmax(160px,1fr));min-width:1192px;height:600px;min-height:520px;display:grid;position:relative}.training-weekly-grid__day-column{cursor:pointer;border-right:1px solid #e2e8f0;height:100%;transition:background-color .1s;position:relative}.training-weekly-grid__day-column:hover{background-color:#f7fafc99}@media (width<=640px){.training-calendar__day-name{display:none}.training-calendar__day-short{display:inline}.training-calendar-toolbar__controls{flex-direction:column;align-items:stretch}.training-calendar-toolbar__view-switcher,.training-calendar-toolbar__nav-group,.training-calendar-toolbar__jump-group{justify-content:center;width:100%}.training-calendar-toolbar__nav-btn{flex:1}.training-calendar-toolbar__window{text-align:center;justify-content:center}}@media (width>=768px){.training-schedule__controls{flex-direction:row;justify-content:space-between;align-items:center}.setup-page__header,.training-page__header{flex-direction:row;justify-content:space-between;align-items:flex-end}.setup-page__grid{grid-template-columns:1fr 1fr}.training-booking{grid-template-columns:9.5rem 1fr auto auto;align-items:center;gap:1rem}}@media (width>=1024px){.training-page__layout{grid-template-columns:minmax(300px,360px) 1fr}.training-form-card{position:sticky;top:1rem}}@media (prefers-reduced-motion:reduce){.setup-card,.training-card,.setup-list__item,.training-booking{animation:none}.training-booking:hover{transform:none}}.setup-list__info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.setup-ground-badges{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.setup-badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-flex}.setup-badge--configured{color:#03543f;background:#def7ec;border:1px solid #84e1bc}.setup-badge--needs-config{color:#c05621;background:#fffaf0;border:1px solid #fbd38d}.setup-badge--phase{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8}.setup-badge--dates{color:#4a5568;background:#f7fafc;border:1px solid #e2e8f0;font-weight:500}.setup-badge--training{color:#6b21a8;background:#f3e8ff;border:1px solid #d8b4fe}.setup-badge--hub{color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc}.setup-badge--exempt{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.setup-btn--configure{color:#003087;background:#ebf8ff;border-color:#bee3f8;font-weight:600}.setup-btn--configure:hover{color:#026;background:#bee3f8}.ground-modal__overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;animation:.2s cubic-bezier(.16,1,.3,1) modal-fade-in;display:flex;position:fixed;inset:0}.ground-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) modal-scale-in;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a,0 0 0 1px #00308714}.ground-modal__header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.ground-modal__title{color:#003087;margin:0;font-size:1.25rem;font-weight:700}.ground-modal__subtitle{color:#4a5568;margin:.25rem 0 0;font-size:.85rem}.ground-modal__close-btn{color:#718096;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.25rem;line-height:1;transition:background .15s,color .15s}.ground-modal__close-btn:hover{color:#2d3748;background:#edf2f7}.ground-modal__form{flex-direction:column;flex:1;min-height:0;display:flex}.ground-modal__body{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.ground-modal__field{flex-direction:column;gap:.35rem;display:flex}.ground-modal__label{color:#2d3748;font-size:.875rem;font-weight:600}.ground-modal__fieldset{background:#fbfcfe;border:1px solid #e2e8f0;border-radius:10px;margin:0;padding:.9rem 1rem}.ground-modal__legend{color:#1a202c;padding:0 .4rem;font-size:.9rem;font-weight:700}.ground-modal__required{color:#e53e3e}.ground-modal__hint{color:#718096;margin:0 0 .75rem;font-size:.8rem}.ground-modal__pills{flex-wrap:wrap;gap:.5rem;display:flex}.ground-modal__pill{color:#4a5568;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #cbd5e0;border-radius:999px;align-items:center;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.ground-modal__pill:hover{background:#ebf8ff;border-color:#90cdf4}.ground-modal__pill--active{color:#fff;background:#003087;border-color:#003087}.ground-modal__pill--active:hover{color:#fff;background:#026;border-color:#026}.ground-modal__dates-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ground-modal__date-field{flex-direction:column;gap:.35rem;display:flex}.ground-modal__date-preview{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;margin:.6rem 0 0;padding:.35rem .65rem;font-size:.82rem}.ground-modal__days-grid{flex-wrap:wrap;gap:.5rem;display:flex}.ground-modal__day-chip{color:#4a5568;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.ground-modal__day-chip:hover{background:#f7fafc;border-color:#bee3f8}.ground-modal__day-chip--active{color:#2b6cb0;background:#ebf8ff;border-color:#3182ce;font-weight:700}.ground-modal__defaults-bar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.6rem .75rem;display:flex}.ground-modal__defaults-title{color:#4a5568;font-size:.82rem;font-weight:700}.ground-modal__time-select-group{align-items:center;gap:.4rem;display:flex}.ground-modal__time-sep{color:#718096;font-size:.8rem}.ground-modal__empty-days{color:#a0aec0;margin:.5rem 0;font-size:.82rem;font-style:italic}.ground-modal__hours-table{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.4rem;padding:.5rem .75rem;display:flex}.ground-modal__hours-row{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.ground-modal__hours-row:last-child{border-bottom:none}.ground-modal__hours-day{color:#2d3748;min-width:6rem;font-size:.85rem;font-weight:600}.ground-modal__hours-inputs{align-items:center;gap:.4rem;display:flex}.ground-modal__errors{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:.75rem 1rem;font-size:.82rem}.ground-modal__errors ul{margin:0;padding-left:1.2rem}.ground-modal__footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.team-modal__overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;animation:.2s cubic-bezier(.16,1,.3,1) modal-fade-in;display:flex;position:fixed;inset:0}.team-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:580px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) modal-scale-in;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a,0 0 0 1px #00308714}.team-modal__header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.team-modal__title{color:#0f172a;margin:0;font-size:1.2rem;font-weight:700}.team-modal__subtitle{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.team-modal__close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.35rem .5rem;font-size:1.25rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.team-modal__close-btn:hover:not(:disabled){color:#334155;background:#f1f5f9}.team-modal__close-btn:disabled{opacity:.4;cursor:not-allowed}.team-modal__form{flex-direction:column;flex:1;display:flex;overflow:hidden}.team-modal__body{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.team-modal__field{flex-direction:column;gap:.35rem;display:flex}.team-modal__label{color:#334155;font-size:.85rem;font-weight:600}.team-modal__fieldset{border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.75rem;margin:0;padding:1rem;display:flex}.team-modal__legend{color:#1e293b;padding:0 .35rem;font-size:.85rem;font-weight:700}.team-modal__required{color:#e53e3e}.team-modal__hint{color:#64748b;margin:0;font-size:.78rem;line-height:1.4}.team-modal__radio-group{flex-direction:column;gap:.6rem;display:flex}.team-modal__radio-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.75rem;min-height:44px;padding:.85rem 1rem;transition:all .15s;display:flex}.team-modal__radio-card:hover{background:#f8fafc;border-color:#cbd5e1}.team-modal__radio-card--active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.team-modal__radio-input{accent-color:#003087;cursor:pointer;flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.2rem}.team-modal__radio-content{flex-direction:column;gap:.2rem;display:flex}.team-modal__radio-title{color:#1e293b;font-size:.88rem;font-weight:600}.team-modal__radio-desc{color:#64748b;font-size:.76rem;line-height:1.35}.team-modal__select{width:100%;min-height:44px}.team-modal__checkbox-wrapper,.team-modal__policy-note{flex-direction:column;gap:.35rem;display:flex}.team-modal__checkbox-label{color:#334155;cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-size:.85rem;font-weight:500;display:flex}.team-modal__checkbox-label--disabled{color:#64748b;cursor:not-allowed}.team-modal__checkbox-input{accent-color:#003087;cursor:pointer;flex-shrink:0;width:1.15rem;height:1.15rem}.team-modal__checkbox-input:disabled{cursor:not-allowed;opacity:.7}.team-modal__error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:.75rem 1rem;font-size:.82rem}.team-modal__footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.settings-exempt-times-notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.save-pill{-webkit-backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;line-height:1;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.save-pill--idle{color:#64748b;background:#f1f5f9bf;border:1px solid #cbd5e1cc}.save-pill--saving{color:#003087;background:#eff6ffd9;border:1px solid #bfdbfee6}.save-pill--saving:before{content:"";background-color:#003087;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite save-pill-pulse;display:inline-block}.save-pill--saved{color:#065f46;background:#ecfdf5d9;border:1px solid #a7f3d0e6}.save-pill--error{color:#991b1b;cursor:help;background:#fef2f2d9;border:1px solid #fecacae6}@keyframes save-pill-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.copy-season__confirm,.settings-slot-chip,.save-pill,.save-pill--saving:before{transition:none;animation:none}}dialog.new-season-dialog{-webkit-backdrop-filter:blur(16px);color:#1a202c;background:#fffffff5;border:1px solid #e2e8f0cc;border-radius:16px;width:100%;max-width:460px;padding:0;animation:.22s cubic-bezier(.16,1,.3,1) new-season-dialog-appear;overflow:hidden;box-shadow:0 25px 50px -12px #00308733,0 10px 15px -3px #0000000d,0 0 0 1px #0030870f}dialog.new-season-dialog:not([open]){display:none}dialog.new-season-dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#0f172a8c;animation:.2s cubic-bezier(.16,1,.3,1) modal-fade-in}.new-season-dialog__form{flex-direction:column;display:flex}.new-season-dialog__header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1.25rem 1.5rem}.new-season-dialog__title{color:#003087;margin:0;font-size:1.25rem;font-weight:700}.new-season-dialog__subtitle{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.new-season-dialog__body{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.new-season-dialog__field{flex-direction:column;gap:.4rem;display:flex}.new-season-dialog__label{color:#2d3748;font-size:.875rem;font-weight:600}.new-season-dialog__input{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;width:100%;padding:.6rem .75rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.new-season-dialog__input:focus{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308726}.new-season-dialog__input--error{border-color:#e53e3e}.new-season-dialog__input--error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e26}.new-season-dialog__error{color:#c53030;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;display:flex}.new-season-dialog__fieldset{background:#fbfcfe;border:1px solid #e2e8f0;border-radius:10px;margin:0;padding:.9rem 1rem}.new-season-dialog__legend{color:#2d3748;padding:0 .4rem;font-size:.875rem;font-weight:600}.new-season-dialog__radios{flex-direction:column;gap:.6rem;margin-top:.25rem;display:flex}.new-season-dialog__radio-label{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.new-season-dialog__radio-input{accent-color:#003087;cursor:pointer;width:1rem;height:1rem}.new-season-dialog__select-container{flex-direction:column;gap:.35rem;margin-top:.75rem;padding-left:1.5rem;display:flex}.new-season-dialog__select{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;width:100%;padding:.55rem .75rem;font-size:.9rem}.new-season-dialog__select:focus{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308726}.new-season-dialog__footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.new-season-dialog__btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.new-season-dialog__btn-cancel:hover{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.new-season-dialog__btn-confirm{color:#fff;cursor:pointer;background:#003087;border:1px solid #003087;border-radius:8px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .15s,box-shadow .15s}.new-season-dialog__btn-confirm:hover{background:#026;border-color:#026}@keyframes new-season-dialog-appear{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){dialog.new-season-dialog,dialog.new-season-dialog::backdrop{transition:none;animation:none}}.settings-hub__nav{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0d9;display:flex;box-shadow:0 4px 16px #0030870f}.settings-hub__nav-link{color:#4a5568;cursor:pointer;box-sizing:border-box;border:1px solid #0000;align-items:center;gap:.65rem;min-width:44px;min-height:44px;padding:.5rem .9rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.settings-hub__nav-link:hover{color:#003087;background:#0030870d}.settings-hub__nav-link:focus-visible{outline-offset:2px;outline:2px solid #003087}.settings-hub__nav-link--active{color:#003087;background:#0030871a;border-color:#00308733;font-weight:600;box-shadow:0 2px 6px #00308714}.settings-hub__nav-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;display:inline-flex}.settings-hub__nav-label{white-space:nowrap;line-height:1.25}.settings-hub__nav-badge{color:#fff;background:#e53e3e;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #e53e3e59}@media (width<=899px){.settings-hub__nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:12px;flex-direction:row;gap:.4rem;padding:.5rem;overflow:auto hidden}.settings-hub__nav-link{border-radius:9999px;flex-shrink:0;padding:.5rem .9rem}.settings-hub__nav-badge{margin-left:.25rem}}@media (width>=900px){.settings-hub__nav{border-radius:12px;flex-direction:column;gap:.4rem;min-width:220px;padding:.75rem}.settings-hub__nav-link{border-radius:8px;width:100%}}@media (prefers-reduced-motion:reduce){.settings-hub__nav-link{transition:none}}.settings-hub{flex-direction:column;gap:1.5rem;width:100%;display:flex}.settings-hub__header{z-index:20;-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0d9;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0;box-shadow:0 4px 16px #0030870f}.settings-hub__header-left{align-items:center;gap:1rem;display:flex}.settings-hub__header-left h1{color:#003087;margin:0;font-size:1.75rem;line-height:1.2}.settings-hub__header-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.settings-hub__new-season-btn{white-space:nowrap;border-radius:8px;min-height:44px;padding:.5rem 1.1rem;font-weight:500}.settings-hub__body{grid-template-columns:1fr;gap:1.5rem;display:grid}.settings-hub__content{flex-direction:column;gap:1.5rem;min-width:0;display:flex}@media (width<=899px){.settings-hub__header{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 1rem}.settings-hub__header-controls{align-items:flex-end;width:100%}}@media (width>=900px){.settings-hub__body{grid-template-columns:240px 1fr;align-items:start}}.settings-grounds-route{flex-direction:column;gap:2rem;display:flex}.settings-grounds-route__section{flex-direction:column;display:flex}.settings-section__heading{color:#003087;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.users-section{flex-direction:column;width:100%;display:flex}.users-section h2{color:#003087;margin-bottom:1.25rem;font-size:1.5rem}.users-section h3,.users-section section h2{color:#2d3748;margin-bottom:.75rem;font-size:1.1rem}.users-section__create-section{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.25rem;box-shadow:0 1px 4px #00000012}.users-section__form{flex-direction:column;gap:1rem;max-width:800px;display:flex}.users-section__row{flex-wrap:wrap;gap:1rem;display:flex}.users-section__row--password-submit{align-items:flex-end}.users-section__field{flex-direction:column;display:flex}.users-section__field--name{flex:200px}.users-section__field--email{flex:1.5 250px}.users-section__field--role{width:120px}.users-section__field--password{flex:300px}.users-section__label{color:#718096;margin-bottom:.25rem;font-size:.875rem;display:block}.users-section__input{box-sizing:border-box;border:1px solid #cbd5e0;border-radius:6px;width:100%;padding:.5rem;font-size:.9rem}.users-section__select{box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;width:100%;height:37px;padding:.5rem;font-size:.9rem}.users-section__password-group{gap:.5rem;display:flex}.users-section__input--password{flex:1;min-width:150px}.users-section__generate-btn{white-space:nowrap;padding:.5rem 1rem}.users-section__submit-btn{height:37px;padding:.5rem 2rem}.users-section__message{margin-top:.5rem;font-size:.9rem}.users-section__message--success{color:#276749}.users-section__message--error{color:#c53030}.users-section__pending-section{background:#fff;border-radius:8px;margin-bottom:3rem;padding:1.25rem;box-shadow:0 1px 4px #00000012}.users-section__active-section{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.25rem;box-shadow:0 1px 4px #00000012}.users-section__table-input{box-sizing:border-box;border:1px solid #cbd5e0;border-radius:4px;width:100%;padding:.25rem;font-size:.875rem}.users-section__row--inactive{opacity:.6}.unified-grounds-section{flex-direction:column;gap:1rem;display:flex}.unified-grounds-banner{color:#2b6cb0;-webkit-backdrop-filter:blur(8px);background:#ebf8ffd9;border:1px solid #bee3f8;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;animation:.2s cubic-bezier(.16,1,.3,1) modal-fade-in;display:flex}.unified-grounds-error{color:#dc2626;-webkit-backdrop-filter:blur(8px);background:#fef2f2d9;border:1px solid #fecaca;border-radius:8px;padding:.6rem .85rem;font-size:.85rem;font-weight:500;display:block}.unified-ground-extra{flex-direction:column;gap:.4rem;margin-top:.25rem;display:flex}.unified-ground-extra__controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ground-usage-toggles{background:#f1f5f9d9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:.25rem;padding:2px;display:inline-flex}.ground-usage-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .65rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.ground-usage-toggle--off{color:#64748b;background:0 0}.ground-usage-toggle--off:hover{color:#334155;background:#ffffffb3}.ground-usage-toggle--on{color:#003087;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #00000014}.ground-usage-toggle--on:hover{background:#f8fafc;border-color:#94a3b8}.ground-usage-toggle:focus-visible{outline-offset:1px;outline:2px solid #003087}.ground-priority-btn{color:#94a3b8;cursor:pointer;background:#ffffffb3;border:1px solid #e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;line-height:1;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.ground-priority-btn:hover{color:#d97706;background:#fff;border-color:#cbd5e1;transform:scale(1.08)}.ground-priority-btn--active{color:#d97706;background:#fffbeb;border-color:#fde68a;box-shadow:0 1px 3px #d9770633}.ground-priority-btn--active:hover{color:#b45309;background:#fef3c7;border-color:#fcd34d}.ground-priority-btn:focus-visible{outline-offset:1px;outline:2px solid #003087}.overview-section{flex-direction:column;gap:1.5rem;width:100%;display:flex}.overview-section__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.overview-section__heading{color:#003087;margin:0;font-size:1.5rem;font-weight:700;line-height:1.25}.overview-section__progress-card{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0d9;border-radius:14px;padding:1.1rem 1.35rem;box-shadow:0 4px 16px #0030870d}.overview-section__progress-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;display:flex}.overview-section__progress-label{color:#1e293b;cursor:default;font-size:.95rem;font-weight:600}.overview-section__progress-count{color:#003087;font-size:.9rem;font-weight:700}.overview-section__progress{appearance:none;background:#e2e8f0b3;border:none;border-radius:9999px;width:100%;height:10px;display:block;overflow:hidden}.overview-section__progress::-webkit-progress-bar{background:#e2e8f0b3;border-radius:9999px}.overview-section__progress::-webkit-progress-value{background:linear-gradient(90deg,#003087,#0284c7);border-radius:9999px;transition:width .3s cubic-bezier(.16,1,.3,1)}.overview-section__progress::-moz-progress-bar{background:linear-gradient(90deg,#003087,#0284c7);border-radius:9999px}.overview-section__banner{border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.overview-section__banner--complete{-webkit-backdrop-filter:blur(10px);color:#065f46;background:#ecfdf5e6;border:1px solid #a7f3d0e6;box-shadow:0 4px 14px #10b9811f}.overview-section__banner-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.overview-section__banner-text{color:#065f46}.active-season-card{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0d9;border-radius:14px;flex-direction:column;gap:1.25rem;padding:1.35rem;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #0030870d}.active-season-card:hover{border-color:#cbd5e1f2;box-shadow:0 6px 20px #00308714}.active-season-card__header{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.active-season-card__icon{font-size:1.35rem;line-height:1}.active-season-card__title{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.active-season-card__description{color:#475569;margin:.5rem 0 .85rem;font-size:.9rem;line-height:1.5}.active-season-card__meta{color:#334155;font-size:.92rem}.active-season-card__meta-label{color:#64748b;font-weight:600}.active-season-card__meta-value{color:#003087;font-weight:700}.active-season-card__actions{border-top:1px solid #e2e8f0cc;flex-wrap:wrap;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.active-season-card__btn{border-radius:8px;min-height:40px;padding:.45rem 1rem;font-size:.9rem;font-weight:600}.active-season-card__select-group{align-items:center;gap:.5rem;display:flex}.active-season-card__select-label{color:#475569;font-size:.85rem;font-weight:600}.active-season-card__select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;padding:.35rem .65rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.active-season-card__select:focus-visible{border-color:#003087;outline:none;box-shadow:0 0 0 3px #00308726}.active-season-card__feedback{border-radius:6px;margin:0;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.active-season-card__feedback--success{color:#065f46;background:#10b9811a;border:1px solid #10b98133}.active-season-card__feedback--error{color:#991b1b;background:#ef44441a;border:1px solid #ef444433}.readiness-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.readiness-card{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0d9;border-radius:14px;flex-direction:column;padding:1.25rem;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;animation:.35s cubic-bezier(.16,1,.3,1) backwards readiness-card-fade-in;display:flex;box-shadow:0 4px 16px #0030870d}.readiness-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0030871a}.readiness-card--complete{background:#f0fdf4b3;border-color:#a7f3d0d9;border-left-style:solid;border-left-width:4px}.readiness-card--warning{background:#fef3c78c;border-color:#fde68ad9;border-left-style:solid;border-left-width:4px}.readiness-card--incomplete{background:#fef2f28c;border-color:#fecacad9;border-left-style:solid;border-left-width:4px}.readiness-card__header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.readiness-card__icon{flex-shrink:0;font-size:1.25rem;line-height:1}.readiness-card__label{color:#1e293b;margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.readiness-card__detail{color:#64748b;flex-grow:1;margin:0 0 1.15rem;font-size:.875rem;line-height:1.45}.readiness-card__link{color:#003087;background:#0030870f;border-radius:8px;align-items:center;gap:.35rem;width:fit-content;margin-top:auto;padding:.45rem .85rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:inline-flex}.readiness-card__link:hover{color:#002060;background:#0030871f;transform:translate(2px)}.readiness-card__link:focus-visible{outline-offset:2px;outline:2px solid #003087}@keyframes readiness-card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.readiness-card:first-child{animation-delay:40ms}.readiness-card:nth-child(2){animation-delay:80ms}.readiness-card:nth-child(3){animation-delay:.12s}.readiness-card:nth-child(4){animation-delay:.16s}.readiness-card:nth-child(5){animation-delay:.2s}.readiness-card:nth-child(6){animation-delay:.24s}.readiness-card:nth-child(7){animation-delay:.28s}.readiness-card:nth-child(8){animation-delay:.32s}@media (prefers-reduced-motion:reduce){.readiness-card{transition:none;animation:none}.readiness-card:hover,.readiness-card__link:hover{transform:none}.overview-section__progress::-webkit-progress-value{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.setup-wizard{z-index:15;-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #00308726;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:.85rem 1.25rem;animation:.25s ease-out setup-wizard-slide-down;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #00308714}@keyframes setup-wizard-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.setup-wizard__indicator{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.setup-wizard__step-label{color:#1e293b;letter-spacing:-.01em;font-size:.95rem;font-weight:600}.setup-wizard__dots{align-items:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.setup-wizard__dot{background:#cbd5e1;border-radius:50%;width:10px;height:10px;transition:all .2s}.setup-wizard__dot--current{background:#003087;width:12px;height:12px;box-shadow:0 0 0 3px #00308733}.setup-wizard__dot--completed{background:#0284c7}.setup-wizard__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.setup-wizard__btn{cursor:pointer;border-radius:8px;padding:.45rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s}.setup-wizard__btn:disabled{opacity:.45;cursor:not-allowed}.setup-wizard__exit-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .65rem;font-size:.875rem;font-weight:500;text-decoration:underline;transition:color .15s,background .15s}.setup-wizard__exit-btn:hover{color:#0f172a;background:#0030870a}.setup-wizard__exit-btn:focus-visible{outline-offset:2px;outline:2px solid #003087}@media (width<=640px){.setup-wizard{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 1rem}.setup-wizard__indicator{justify-content:space-between}.setup-wizard__actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.setup-wizard{animation:none}.setup-wizard__dot,.setup-wizard__btn,.setup-wizard__exit-btn{transition:none}}.calendar-controls{-webkit-backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #0030871f;border-radius:12px;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 4px 16px #0000000d}.calendar-controls:hover{border-color:#00308733;box-shadow:0 6px 20px #00000014}.calendar-controls__primary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.calendar-controls__view-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.calendar-controls__view-toggle .btn-view{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.875rem;font-weight:600;transition:all .15s ease-in-out}.calendar-controls__view-toggle .btn-view:hover:not(.active){color:#0f172a;background:#fff9}.calendar-controls__view-toggle .btn-view.active,.calendar-controls__view-toggle .btn-view[aria-pressed=true]{color:#fff;background:#003087;box-shadow:0 2px 4px #00308733}.calendar-controls__nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calendar-controls__nav .btn-nav{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s ease-in-out}.calendar-controls__nav .btn-nav:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.calendar-controls__nav .btn-nav:active{transform:translateY(1px)}.calendar-controls__date-picker{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.35rem .6rem;font-size:.875rem;transition:border-color .15s}.calendar-controls__date-picker:focus{border-color:#003087;box-shadow:0 0 0 2px #00308726}.calendar-controls__secondary-row{flex-direction:column;gap:.75rem;display:flex}.calendar-controls__activity{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.calendar-controls__activity .btn-pill{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;padding:.35rem .8rem;font-size:.8125rem;font-weight:600;transition:all .15s ease-in-out}.calendar-controls__activity .btn-pill:hover:not(.active){color:#0f172a;background:#f1f5f9}.calendar-controls__activity .btn-pill.active,.calendar-controls__activity .btn-pill[aria-checked=true]{color:#fff;background:#003087;border-color:#003087;box-shadow:0 2px 6px #00308740}.calendar-controls__dropdowns{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.calendar-controls__select{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:.4rem .65rem;font-size:.8125rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.calendar-controls__select:focus{border-color:#003087;box-shadow:0 0 0 2px #00308726}.calendar-controls__draft-toggle,.checkbox-drafts{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.calendar-controls__draft-toggle:hover,.checkbox-drafts:hover{background:#f1f5f9}.calendar-controls__draft-toggle input[type=checkbox],.checkbox-drafts input[type=checkbox]{accent-color:#003087;cursor:pointer}.calendar-conflict-banner{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.875rem;font-weight:600;animation:.25s ease-out calendar-fade-in;display:flex;box-shadow:0 2px 6px #f59e0b26}.calendar-conflict-banner .banner-icon{font-size:1.1rem}@keyframes calendar-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calendar-page-container{box-sizing:border-box;flex-direction:column;gap:1.25rem;width:100%;max-width:1600px;margin:0 auto;padding:1.5rem;display:flex}.calendar-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.calendar-page__header h1{color:#003087;letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700}.calendar-page__subtitle{color:#4b5563;margin:.25rem 0 0;font-size:.9rem}.calendar-page-loading{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#003087;background:#ffffffb3;border:1px solid #0030871a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:400px;font-weight:500;display:flex}.calendar-page-spinner{border:4px solid #00308726;border-top-color:#003087;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite calendar-spin}@keyframes calendar-spin{to{transform:rotate(360deg)}}.calendar-page-error{color:#991b1b;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.calendar-page-error h3{margin:0;font-size:1.25rem}.calendar-page-error p{color:#7f1d1d;margin:0;font-size:.95rem}.btn-retry{color:#fff;cursor:pointer;background:#003087;border:none;border-radius:6px;margin-top:.5rem;padding:.5rem 1.25rem;font-weight:600;transition:background-color .15s}.btn-retry:hover{background:#00205b}.calendar-week-grid{background:#fff;border:1px solid #00308726;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 20px #0030870d}.week-grid-header{color:#fff;background:#003087;border-bottom:2px solid #00205b;grid-template-columns:repeat(7,1fr);display:grid}.week-grid-header__day{cursor:pointer;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff26;flex-direction:column;align-items:center;padding:.75rem .5rem;transition:background-color .15s,color .15s;display:flex}.week-grid-header__day:last-child{border-right:none}.week-grid-header__day:hover,.week-grid-header__day:focus-visible{background:#ffffff26;outline:none}.week-grid-header__day .day-name{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:.8rem;font-weight:600}.week-grid-header__day .day-date{margin-top:.15rem;font-size:.95rem;font-weight:700}.week-grid-body{background:#fafbfc;grid-template-columns:repeat(7,1fr);min-height:600px;display:grid;position:relative}.week-grid-column{background:repeating-linear-gradient(#0000,#0000 59px,#0030870a 59px 60px);border-right:1px solid #e5e7eb;min-height:600px;position:relative}.week-grid-column:last-child{border-right:none}.calendar-day-grid{background:#fff;border:1px solid #00308726;border-radius:12px;flex-direction:column;display:flex;overflow-x:auto;box-shadow:0 4px 20px #0030870d}.day-grid-header{color:#fff;background:#003087;border-bottom:2px solid #00205b;display:flex}.day-grid-header__col{text-align:center;letter-spacing:.02em;border-right:1px solid #ffffff26;flex:1;min-width:200px;padding:.85rem .75rem;font-size:.9rem;font-weight:700}.day-grid-header__col:last-child{border-right:none}.day-grid-body{background:#fafbfc;min-height:650px;display:flex;position:relative}.day-grid-column{background:repeating-linear-gradient(#0000,#0000 59px,#0030870a 59px 60px);border-right:1px solid #e5e7eb;flex:1;min-width:200px;min-height:650px;position:relative}.day-grid-column:last-child{border-right:none}.empty-column-placeholder{color:#9ca3af;text-align:center;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:100%;padding:2rem 1rem;font-size:.85rem;font-style:italic;display:flex}.calendar-event-card{box-sizing:border-box;cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-left:4px solid #003087;border-radius:6px;flex-direction:column;gap:.2rem;padding:.5rem .6rem;transition:transform .15s,box-shadow .15s,filter .15s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px #00000014}.calendar-event-card:hover,.calendar-event-card:focus-visible{z-index:20;outline:2px solid #003087;transform:translateY(-1px);box-shadow:0 4px 14px #00308733}.card--game{background:#f0f6fff2;border-left-color:#003087}.card--training{background:#f0fdf4f2;border-left-color:#059669}.card--conflict{background:#fef2f2f2;border-left-color:#dc2626;box-shadow:0 2px 8px #dc262633}.card--shared{background:#eff6fff2;border-left-color:#2563eb}.card-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;line-height:1.2;overflow:hidden}.card-time{color:#4b5563;font-size:.725rem;font-weight:600;line-height:1.2}.card-venue,.card-team{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;line-height:1.2;overflow:hidden}.card-badges{flex-wrap:wrap;gap:.25rem;margin-top:auto;display:flex}.badge-activity{color:#003087;text-transform:uppercase;background:#0030871a;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.badge-clash{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.badge-jersey{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.badge-shared{color:#1e40af;background:#dbeafe;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.calendar-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.calendar-modal-content{box-sizing:border-box;background:#fff;border:1px solid #0030871f;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;max-width:580px;max-height:90vh;padding:1.75rem;animation:.2s cubic-bezier(.16,1,.3,1) calendar-modal-pop;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 40px #00308733}@keyframes calendar-modal-pop{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.calendar-modal-close{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:700;transition:background-color .15s,color .15s;display:flex;position:absolute;top:1rem;right:1rem}.calendar-modal-close:hover,.calendar-modal-close:focus-visible{color:#111827;background:#e5e7eb;outline:2px solid #003087}.calendar-modal-content h2{color:#003087;margin:0;padding-right:2.5rem;font-size:1.35rem;font-weight:700;line-height:1.3}.modal-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.meta-row{color:#334155;flex-wrap:wrap;gap:.35rem;font-size:.9rem;display:flex}.meta-row strong{color:#0f172a;min-width:90px}.modal-conflict-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:6px;padding:.85rem 1rem}.modal-conflict-alert h4{color:#991b1b;margin:0 0 .25rem;font-size:.95rem;font-weight:700}.modal-conflict-alert p{color:#7f1d1d;margin:0;font-size:.875rem}.conflict-conflicting-title{font-weight:600;margin-top:.35rem!important;font-size:.825rem!important}.modal-jersey-alert{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:6px;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.modal-shared-notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.modal-officials{border-top:1px solid #e5e7eb;flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.modal-officials h3{color:#003087;margin:0;font-size:1.05rem;font-weight:700}.modal-officials ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.modal-officials li{color:#374151;font-size:.9rem}.modal-officials a{color:#003087;margin-left:.25rem;font-weight:600;text-decoration:underline}.modal-officials a:hover{color:#00205b}@media (width<=900px){.calendar-page-container{padding:1rem}.week-grid-body,.week-grid-column{min-height:500px}}.nav__link--relative{position:relative}.nav__pending-dot{background-color:var(--color-danger,#ef4444);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;right:-10px}.firebase-error-container{padding-top:2rem}.firebase-error-pre{white-space:pre-wrap;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-top:1rem;padding:.75rem}
