:root{--navy-900:#0b1f33;--navy-800:#102e4a;--ice-100:#eef4f8;--ice-200:#dce8f0;--steel-500:#60758a;--steel-700:#31465a;--white:#fff;--blue-600:#1e5f8c;--blue-400:#5ea6d7;--green-600:#2f855a;--green-100:#e6f4ed;--maybe-bg:#fff3d6;--maybe-text:#b45309;--maybe-border:#f59e0b;--red-600:#c53030;--red-100:#fdeaea;--sidebar-width:176px;--rail-width:240px;--app-bar-height:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--font-family:"Inter", system-ui, -apple-system, sans-serif;--transition:.15s ease;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-family);font-size:var(--text-base);color:var(--steel-700);background:var(--ice-100);-webkit-font-smoothing:antialiased;line-height:1.4;overflow:hidden}.app-layout{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.sign-out-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #c8dff2;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.5rem .9rem;font-weight:600}.app-bar{background:var(--navy-900);min-height:52px;color:var(--white);border-bottom:2px solid var(--blue-600);flex-shrink:0;align-items:center;gap:20px;padding:8px 16px;display:flex}.app-bar-icon{color:var(--white);opacity:.9;flex-shrink:0}.app-bar-ribbon{border-radius:var(--radius-sm);pointer-events:none;-webkit-user-select:none;user-select:none;background:#d8ecf8;border:1px solid #5ea6d7;flex:1;align-items:center;min-width:0;padding:7px 14px;display:flex;overflow:hidden}.mobile-nav-button,.mobile-drawer-header,.mobile-nav-backdrop{display:none}.ribbon-meta-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--steel-500);flex-shrink:0;font-weight:700}.ribbon-vdivider{background:#5ea6d7a6;flex-shrink:0;width:1px;height:14px;margin:0 10px}.ribbon-matchup{font-size:var(--text-sm);color:#0b1f33;white-space:nowrap;flex-shrink:0;font-weight:700}.ribbon-meta-group{align-items:center;min-width:0;display:flex}.ribbon-meta{font-size:var(--text-sm);color:#0b1f33;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.app-body{flex:1;grid-template-columns:180px minmax(0,1fr) 300px;min-height:0;display:flex;overflow:hidden}.ribbon-meta-group:last-of-type{flex-shrink:1;min-width:0;overflow:hidden}.ribbon-meta-group:last-of-type .ribbon-meta{text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--navy-800);border-right:1px solid var(--navy-900);flex-direction:column;flex-shrink:0;gap:2px;padding:10px 8px;display:flex;overflow-y:auto}.sidebar-link{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ice-200);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:10px 12px;font-weight:500;display:block}.sidebar-link:hover{color:var(--white);background:#0b1f3380}.sidebar-link.is-active{background:var(--navy-900);color:var(--white);box-shadow:inset 3px 0 0 var(--blue-400);font-weight:600}.sidebar-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--steel-500);border-top:1px solid #ffffff14;margin-top:8px;padding:16px 12px 4px;font-weight:600}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--steel-500);border-bottom:1px solid var(--ice-200);padding:8px 10px;font-weight:600}.admin-table td{border-bottom:1px solid var(--ice-100);color:var(--navy-900);vertical-align:middle;padding:10px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--ice-50)}.admin-table-nowrap{white-space:nowrap}.admin-table-empty{text-align:center;color:var(--steel-400);padding:24px!important}.admin-table-actions{white-space:nowrap;gap:6px;display:flex}.admin-badge{font-size:var(--text-xs);color:var(--blue-400,#3b82f6);vertical-align:middle;background:#3b82f61a;border-radius:4px;margin-left:6px;padding:1px 5px;font-weight:600}.action-btn--danger{color:var(--red-600);border-color:var(--red-600)}.action-btn--danger:hover{background:var(--red-100)}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-schedule-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-form-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.modal-details .admin-form-grid{border-bottom:none;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:0;display:grid}.modal-details .admin-form-grid .form-field{border-bottom:none;flex-direction:column;justify-content:flex-start;gap:4px;padding:0;display:flex}.modal-details .admin-form-grid .form-field.form-field--full{grid-column:1/-1}.admin-save-error{font-size:var(--text-sm);color:var(--red-600);margin:12px 0 0}.app-bar-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-bar-title{font-size:var(--text-md);color:var(--white);margin:0;font-weight:700;line-height:1.2}.app-bar-subtitle{font-size:var(--text-xs);color:var(--steel-500);font-weight:500}.main-content{background:var(--ice-100);flex:1;min-width:0;padding:16px 20px 48px;overflow:hidden auto}.page-view{width:100%;min-height:min-content;padding-bottom:24px}.page-header{margin-bottom:16px}.page-header h2{font-size:var(--text-xl);color:var(--navy-900);margin:0 0 2px;font-weight:700}.schedule-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-subtitle{font-size:var(--text-sm);color:var(--steel-500);margin:0}.right-rail{width:var(--rail-width);background:var(--white);border-left:1px solid var(--ice-200);flex-shrink:0;padding:14px 12px 24px;overflow-y:auto}.rail-heading{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--steel-500);margin:0 0 12px;font-weight:700}.rail-empty{font-size:var(--text-sm);color:var(--steel-500);margin:0}.right-rail{width:300px;color:inherit;background:#f4f9fc;border-left:1px solid #c8d9e6;padding:24px 20px;font-family:inherit}.rail-heading{color:#55718b;font:inherit;letter-spacing:.05em;text-transform:uppercase;margin:0 0 20px;font-size:.8rem;font-weight:700}.rail-roster-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.rail-roster-item{background:#fff;border:1px solid #d7e4ed;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:44px;padding:10px 12px;font-family:inherit;font-size:.92rem;line-height:1.3;display:grid}.rail-roster-item--going{border-color:#2e9d58}.rail-roster-item--maybe{border-color:#d9a514}.rail-roster-item--out{border-color:#d9534f}.rail-roster-item--pending{border-color:#d8e0e8}.rail-roster-item--going .text-going{color:#2f9e5b;font-weight:600}.rail-roster-item--maybe .text-maybe{color:#b8860b;font-weight:600}.rail-roster-item--out .text-out{color:#d9534f;font-weight:600}.rail-roster-item--pending .text-pending{color:#6b7f93}.rail-roster-item span:first-child{color:#17324d;overflow-wrap:anywhere;min-width:0;font-weight:600}.rail-roster-item span:last-child{color:#657b8e;white-space:nowrap;font-size:.82rem;font-weight:500}.right-rail .action-btn{justify-content:center;width:100%}.rail-empty{color:#657b8e;font:inherit;margin:0}.roster-group{border-bottom:1px solid var(--ice-200);margin-bottom:14px;padding-bottom:10px}.roster-group:last-of-type{border-bottom:none;margin-bottom:8px}.roster-group-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-weight:700}.roster-group-title--going{color:var(--green-600)}.roster-group-title--maybe{color:var(--maybe-text)}.roster-group-title--out{color:var(--red-600)}.roster-group-title--pending{color:var(--steel-500)}.roster-group-empty{font-size:var(--text-sm);color:var(--steel-500);margin:0;font-style:italic}.roster-group-list{margin:0;padding:0;list-style:none}.roster-group-list li{font-size:var(--text-sm);color:var(--steel-700);flex-wrap:wrap;align-items:baseline;gap:6px;padding:4px 0;display:flex}.roster-player-name{font-weight:500}.goalie-tag{font-size:var(--text-xs);color:var(--blue-600);background:var(--ice-100);border-radius:var(--radius-sm);padding:1px 5px;font-weight:600}.rail-goalie-check{border-top:1px solid var(--ice-200);font-size:var(--text-sm);justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;display:flex}.readiness-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--steel-500);font-weight:600}.readiness-ok-text{color:var(--green-600);font-weight:600}.readiness-warn-text{color:var(--maybe-text);font-weight:600}.announcements-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:16px;display:grid}.announcements-card-title-row{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.announcements-card-title-row h2{margin:0}.announcements-card-title-row .content-card-meta{white-space:nowrap;margin-left:auto}.announcement-create-btn{white-space:nowrap}.notices-page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.notices-page-header .action-btn{flex-shrink:0}.notices-view .content-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.notices-view .content-card-header h2{margin:0}.notices-view .content-card-meta{white-space:nowrap;margin-left:auto}.notice-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:72px 150px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;padding:14px 20px;display:grid}.notice-date{white-space:nowrap}.notice-title{min-width:0}.notice-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notice-toggle svg{justify-self:end}.content-card{background:var(--white);border:1px solid var(--ice-200);border-radius:var(--radius-lg);padding:16px 18px}.content-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.content-card-header h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--steel-500);margin:0;font-weight:700}.content-card-meta{font-size:var(--text-xs);color:var(--steel-500)}.content-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.content-card--hero{border-left:3px solid var(--blue-600)}.empty-state{font-size:var(--text-sm);color:var(--steel-500);margin:0}.login-page{background:#eaf2f7;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-panel{background:#fff;border:1px solid #d5e3ee;border-radius:16px;width:100%;max-width:520px;padding:2.5rem;box-shadow:0 16px 40px #0b1f331f}.login-logo{color:#216b9c;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.75rem;font-size:.9rem;font-weight:800}.login-panel h1{color:#0b1f33;margin:0 0 .75rem;font-size:1.85rem;line-height:1.1}.login-help{color:#4f6b85;max-width:380px;margin:0 0 1.75rem;line-height:1.5}.google-sign-in-button{color:#fff;cursor:pointer;background:#216b9c;border:1px solid #216b9c;border-radius:8px;width:100%;padding:.9rem 1rem;font-weight:800}.google-sign-in-button:hover{background:#18577f}.login-divider{color:#667085;align-items:center;gap:.75rem;width:100%;margin:1.25rem 0;font-size:.875rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#d0d5dd;flex:1;height:1px}.email-login-form{text-align:left;flex-direction:column;gap:.75rem;width:100%;display:flex}.email-login-form label{font-weight:600}.email-login-form input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #d0d5dd;border-radius:.5rem;padding:.75rem}.email-login-form input:focus{outline-offset:1px;border-color:#07c;outline:2px solid #07c}.email-sign-in-button{color:#07c;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #07c;border-radius:.5rem;padding:.75rem 1rem;font-weight:600}.email-sign-in-button:hover:not(:disabled){background:#eef7fd}.email-sign-in-button:disabled,.email-login-form input:disabled{cursor:not-allowed;opacity:.65}.login-message{margin:0;font-size:.875rem;line-height:1.4}.login-message-success{color:#067647}.login-message-error{color:#b42318}.account-help-actions{color:#60738a;justify-content:center;align-items:center;gap:28px;margin-top:16px;display:flex}.account-help-link{color:#07c;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.account-help-link:hover{text-decoration:underline}.account-help-link:disabled{color:#8a98a8;cursor:not-allowed;text-decoration:none}.dashboard-grid{flex-direction:column;gap:18px;display:flex}.next-game-card{padding:18px 20px}.sign-out-button:hover{background:#ffffff1f}.next-game-col--attendance{flex-direction:column;justify-content:center;gap:6px;display:flex}.attendance-detail-line{font-size:var(--text-sm);color:var(--steel-500);margin:0}.attendance-status-line{font-size:var(--text-sm);color:var(--steel-700);margin:0;font-weight:600}.roster-group-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.text-link{font-size:var(--text-xs);color:var(--blue-600);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.text-link:hover{color:var(--navy-900);text-decoration:underline}.team-sponsor-banner{width:100%;margin-bottom:10px}.team-sponsor-section{width:100%;margin-bottom:24px}.team-sponsor-banner,.sponsor-image-preview{background:#fff;width:100%;height:220px;overflow:hidden}.team-sponsor-banner img,.sponsor-image-preview img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.team-roster-player{align-items:center;gap:10px;display:flex}.team-roster-avatar{color:#40566c;background:#edf1f5;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:flex}.sponsor-form-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.form-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.primary-button,.secondary-button,.danger-button{min-height:40px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:9px 16px;font-weight:600;line-height:1;display:inline-flex}.primary-button{color:#fff;background:#07c;border:1px solid #006bb8}.primary-button:hover{background:#006bb8}.secondary-button{color:#005f9e;background:#c8dff2;border:1px solid #8fb4d1}.secondary-button:hover{background:#b8d5ec}.danger-button{color:#bd271e;background:#f2d4d2;border:1px solid #d7aaa7}.danger-button:hover{background:#eac1be}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.6}.sponsor-edit-button{margin-top:14px}.team-card--compact{gap:6px}.team-card-going{font-size:var(--text-sm);color:var(--green-600);margin:0;font-weight:600}.next-game-columns{grid-template-columns:1fr 1.3fr 1fr;align-items:start;gap:24px;display:grid}.next-game-col{flex-direction:column;gap:10px;display:flex}.next-game-col--actions{border-left:1px solid var(--ice-200);gap:12px;padding-left:24px}.col-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--steel-500);font-weight:700}.next-game-matchup{font-size:var(--text-xl);color:var(--navy-900);font-weight:700;line-height:1.3}.next-game-matchup .vs{color:var(--steel-500);font-weight:500;font-size:var(--text-md);margin:0 6px}.next-game-col--info{min-width:0}.next-game-when{font-size:var(--text-sm);color:var(--steel-500);margin:0;font-weight:500;line-height:1.4}.your-status{font-size:var(--text-sm);color:var(--steel-700);margin:0 0 4px}.your-status strong{font-weight:700}.readiness-inline{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.readiness-pill{font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--ice-100);color:var(--steel-700);padding:3px 8px;font-weight:600}.readiness-pill--ok{background:var(--green-100);color:var(--green-600)}.readiness-pill--warn{background:var(--maybe-bg);color:var(--maybe-text);border:1px solid var(--maybe-border)}.your-rsvp{font-size:var(--text-sm);color:var(--steel-500);margin:0}.action-stack{flex-direction:column;gap:8px;margin-top:12px;display:flex}.action-stack .action-btn{text-align:center;width:100%}.readiness-card--ready{border-color:var(--green-600);background:linear-gradient(180deg, var(--white) 0%, var(--green-100) 100%)}.readiness-ready-badge{font-size:var(--text-xs);color:var(--green-600);text-transform:uppercase;font-weight:700}.readiness-ready-text{font-size:var(--text-sm);color:var(--steel-700);margin:0}.readiness-issues{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.readiness-issue{background:var(--maybe-bg);border:1px solid var(--maybe-border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.readiness-facts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.readiness-fact{font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--ice-100);color:var(--steel-700);border:1px solid var(--ice-200);padding:4px 10px;font-weight:600}.readiness-issue-msg{font-size:var(--text-sm);color:var(--maybe-text);font-weight:700}.readiness-issue-actions{flex-wrap:wrap;gap:6px;display:flex}.text-going{color:var(--green-600)}.text-maybe{color:var(--maybe-text)}.text-out{color:var(--red-600)}.text-pending{color:var(--steel-500)}.status-inline{font-size:var(--text-sm);margin:0;font-weight:600}.status-inline--ok{color:var(--green-600)}.status-inline--warn{color:var(--maybe-text)}.attendance-hero{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.attendance-hero-number{color:var(--navy-900);letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1}.attendance-hero-secondary{font-size:var(--text-xs);color:var(--steel-500);font-weight:500}.attendance-pills{flex-wrap:wrap;gap:6px;display:flex}.attendance-summary{flex-direction:column;gap:8px;display:flex}.count{font-size:var(--text-xs);border:1px solid #0000;border-radius:999px;padding:2px 8px;font-weight:500}.count strong{font-weight:700}.count--going{background:var(--green-100);color:var(--green-600);border-color:#2f855a33}.count--maybe{background:var(--maybe-bg);color:var(--maybe-text);border-color:var(--maybe-border)}.count--out{background:var(--red-100);color:var(--red-600);border-color:#c5303033}.count--pending{background:var(--ice-200);color:var(--steel-500);border-color:#60758a40}.count--neutral{background:var(--ice-200);color:var(--steel-700)}.availability-bar{background:var(--ice-200);border-radius:3px;height:5px;display:flex;overflow:hidden}.bar-going{background:var(--green-600)}.bar-maybe{background:var(--maybe-border)}.bar-out{background:var(--red-600)}.attendance-warning{font-size:var(--text-xs);color:var(--red-600);margin:0;font-weight:600}.rsvp-controls{flex-wrap:wrap;gap:4px;display:flex}.rsvp-btn{border:1px solid var(--ice-200);border-radius:var(--radius-sm);background:var(--white);font-size:var(--text-sm);color:var(--steel-700);cursor:pointer;transition:all var(--transition);padding:6px 12px;font-weight:600}.rsvp-btn--going.is-active{background:var(--green-100);border-color:var(--green-600);color:var(--green-600)}.rsvp-btn--maybe.is-active{background:var(--maybe-bg);border-color:var(--maybe-border);color:var(--maybe-text)}.rsvp-btn--out.is-active{background:var(--red-100);border-color:var(--red-600);color:var(--red-600)}.rsvp-controls--large .rsvp-btn{font-size:var(--text-sm);flex:1;min-width:72px;padding:8px 14px}.rsvp-pill{font-size:var(--text-xs);vertical-align:middle;border-radius:999px;padding:2px 8px;font-weight:600;line-height:1.4;display:inline-block}.rsvp-pill--going{background:var(--green-100);color:var(--green-600)}.rsvp-pill--maybe{background:var(--maybe-bg);color:var(--maybe-text);border:1px solid var(--maybe-border)}.rsvp-pill--out{background:var(--red-100);color:var(--red-600)}.rsvp-pill--pending{background:var(--ice-200);color:var(--steel-500)}button{font-family:var(--font-family);cursor:pointer}.action-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;padding:6px 12px;font-weight:600}.action-btn--sm{font-size:var(--text-xs);padding:4px 10px}.action-btn--primary{background:var(--blue-600);color:var(--white);border-color:var(--blue-600)}.action-btn--primary:hover{background:var(--navy-800);border-color:var(--navy-800)}.action-btn--secondary{background:var(--white);color:var(--steel-700);border-color:var(--ice-200)}.action-btn--secondary:hover{background:var(--ice-100);border-color:var(--steel-500)}.action-btn--outline{background:var(--white);color:var(--blue-600);border-color:var(--blue-600)}.action-btn--outline:hover{background:var(--ice-100);border-color:var(--navy-800);color:var(--navy-800)}.action-btn--ghost{color:var(--blue-600);border-color:var(--ice-200);background:0 0}.action-btn--ghost:hover{background:var(--ice-100)}.back-button{font-size:var(--text-sm);color:#1e5f8c;cursor:pointer;background:0 0;border:none;border-radius:0;margin-bottom:10px;padding:0;font-weight:600}.back-button:hover{color:#0b1f33;text-decoration:underline}.feed-card{padding:12px 14px}.feed-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.feed-item{border-left:2px solid var(--ice-200);border-radius:var(--radius-sm);overflow:hidden}.feed-item--going{border-left-color:#2f9e66}.feed-item--maybe{border-left-color:#d99a00}.feed-item--out{border-left-color:#d64545}.feed-item--schedule_change{border-left-color:var(--blue-600)}.feed-item--attendance_update{border-left-color:var(--green-600)}.feed-item--chat_activity{border-left-color:var(--blue-400)}.feed-item--roster_update{border-left-color:var(--steel-500)}.feed-item--goalie_request{border-left-color:var(--maybe-border)}.feed-item--substitute_request{border-left-color:var(--red-600)}.feed-item-toggle{text-align:left;width:100%;font-size:var(--text-sm);cursor:pointer;color:inherit;background:0 0;border:none;grid-template-columns:140px 1fr auto 20px;align-items:center;gap:12px;padding:6px 10px;display:grid}.feed-item-toggle:hover{background:var(--ice-100)}.feed-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--steel-500);font-weight:700}.feed-body{color:var(--steel-700);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.feed-date{font-size:var(--text-xs);color:var(--steel-500);white-space:nowrap;text-align:right}.feed-chevron{color:var(--steel-500);flex-shrink:0}.feed-expanded{font-size:var(--text-sm);color:var(--steel-700);border-top:1px solid var(--ice-200);background:var(--ice-100);padding:6px 10px 10px 162px}.feed-expanded strong{color:var(--navy-900);margin-bottom:4px;display:block}.feed-expanded p{margin:0 0 4px}.feed-expanded-date{font-size:var(--text-xs);color:var(--steel-500)}.feed-item.feed-item--going{border-left:2px solid #2f9e66}.feed-item.feed-item--maybe{border-left:2px solid #d99a00}.feed-item.feed-item--out{border-left:2px solid #d64545}.schedule-preview-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-preview-item{background:var(--ice-100);border-radius:var(--radius-md);border:1px solid var(--ice-200);padding:10px 12px}.schedule-preview-matchup{font-size:var(--text-sm);color:var(--navy-900);margin-bottom:2px;font-weight:700}.schedule-preview-meta{font-size:var(--text-xs);color:var(--steel-500);margin-bottom:4px}.schedule-preview-status{font-size:var(--text-xs);gap:10px;font-weight:600;display:flex}.schedule-preview-status .status-ok{color:var(--green-600)}.schedule-preview-status .status-warn{color:var(--maybe-text)}.schedule-preview-card{padding:12px 14px}.schedule-calendar{overflow:visible}.schedule-calendar-toolbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.schedule-calendar-toolbar h3{margin:0}.schedule-calendar-actions{gap:8px;display:flex}.schedule-calendar-weekdays{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);display:grid}.schedule-calendar-weekdays>div{text-align:center;padding:10px;font-size:.8rem;font-weight:700}.schedule-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-calendar-day{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);min-height:150px;padding:8px}.schedule-calendar-day:nth-child(7n){border-right:none}.schedule-calendar-day.is-outside-month .schedule-calendar-date{opacity:.45}.schedule-calendar-day.is-today .schedule-calendar-date{font-weight:800}.schedule-calendar-date{margin-bottom:8px;font-size:.85rem}.schedule-calendar-games{flex-direction:column;gap:6px;display:flex}.schedule-calendar-game{border:1px solid var(--border-color);border-radius:6px;overflow:visible}.schedule-calendar-game-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;width:100%;padding:8px;display:flex}.schedule-calendar-game-time{font-size:.75rem;font-weight:700}.schedule-calendar-game-teams{font-size:.8rem;font-weight:600}.schedule-calendar-game-rink,.schedule-calendar-rsvp{font-size:.72rem}.schedule-calendar-rsvp-wrap{position:relative}.schedule-calendar-rsvp-button{border:0;border-top:1px solid var(--border-color);cursor:pointer;background:0 0;width:100%;padding:5px 8px;font-weight:600}.schedule-calendar-rsvp-popover{z-index:20;border:1px solid var(--border-color);background:#fff;border-radius:8px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f}.schedule-calendar-rsvp-popover .rsvp-controls{margin-top:8px}.schedule-calendar-attendance{margin-top:8px;font-size:.75rem;display:block}.game-team-comparison{border-top:1px solid var(--border-color);margin-top:8px;padding:24px 30px 20px}.game-team-comparison-header,.game-team-comparison-row{gap:24x;border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr 1fr;align-items:center;padding:14px 0;display:grid}.game-team-comparison-header strong{font-size:.9rem}.game-team-comparison-header{margin-bottom:16px}.game-team-comparison-row{padding:12px 0}.game-team-comparison-row>span{color:var(--text-secondary)}.game-team-comparison-row strong{font-size:1rem}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.teams-grid--page{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.team-card{background:var(--white);border:1px solid var(--ice-200);border-radius:var(--radius-md);transition:box-shadow var(--transition), border-color var(--transition);flex-direction:column;gap:8px;padding:14px;display:flex;box-shadow:0 1px 3px #0b1f3314}.team-card--clickable:hover{border-color:var(--blue-400);box-shadow:0 2px 8px #0b1f331f}.team-card-subs{font-size:var(--text-xs);color:var(--steel-500);margin:0;font-weight:600}.team-card-subs--warn{color:var(--maybe-text)}.team-card-stats{flex-wrap:wrap;gap:6px;display:flex}.team-stat{font-size:var(--text-xs);background:var(--green-100);color:var(--green-600);border-radius:999px;padding:2px 8px;font-weight:600}.team-stat--maybe{background:var(--maybe-bg);color:var(--maybe-text);border:1px solid var(--maybe-border)}.team-stat--out{background:var(--red-100);color:var(--red-600)}.team-stat--pending{background:var(--ice-200);color:var(--steel-500)}.team-card-need{font-size:var(--text-xs);color:var(--maybe-text);margin:0;font-weight:700}.team-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.team-card-name{font-size:var(--text-md);color:var(--navy-900);margin:0;font-weight:700}.team-card-count{font-size:var(--text-xs);color:var(--steel-500)}.team-card-next{font-size:var(--text-sm);color:var(--steel-500);margin:0}.team-card-goalie{font-size:var(--text-xs);color:var(--green-600);margin:0;font-weight:600}.team-card-goalie--warn{color:var(--maybe-text)}.team-card-link{font-size:var(--text-sm);color:var(--blue-600);background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600}.team-card-link:hover{color:var(--navy-900);text-decoration:underline}.teams-overview{margin-bottom:8px}.schedule-table{padding:0;overflow:hidden}.schedule-table-head,.schedule-table-row{grid-template-columns:150px 120px 1.2fr 1fr 130px 150px 200px;align-items:center;gap:18px;display:grid}.schedule-table-head{text-transform:uppercase;padding:0 22px;font-size:.78rem;font-weight:700}.schedule-table-row{border-top:1px solid #d8e3ef;padding:24px 22px}.schedule-actions{justify-content:flex-end;gap:8px;display:flex}.schedule-table-row:last-child{border-bottom:none}.schedule-table-row:hover{background:var(--ice-100)}.schedule-date,.schedule-time,.schedule-teams{color:var(--navy-900);font-weight:600}.schedule-rink{color:var(--steel-500);font-size:var(--text-xs)}.schedule-rsvp{font-size:var(--text-xs);color:var(--steel-500)}.schedule-status{flex-direction:column;gap:2px;display:flex}.status-tag{font-size:var(--text-xs);font-weight:600}.status-tag--ok{color:var(--green-600)}.status-tag--warn{color:var(--maybe-text)}.action-btn--schedule{text-align:center;min-width:68px;padding:6px 12px}.desktop-schedule{display:block}.mobile-schedule{display:none}.roster-card{padding:0;overflow:hidden}.roster-card .content-card-header{border-bottom:1px solid var(--ice-200);margin:0;padding:10px 14px}.roster-table{border-collapse:collapse;width:100%}.roster-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--steel-500);background:var(--ice-100);border-bottom:1px solid var(--ice-200);vertical-align:middle;padding:8px 14px;font-weight:700}.roster-table th:nth-child(2),.roster-table th:nth-child(3),.roster-table th:nth-child(4),.roster-table th:nth-child(5){text-align:center;width:72px}.roster-table td{font-size:var(--text-sm);border-bottom:1px solid var(--ice-200);vertical-align:middle;height:44px;padding:10px 14px}.roster-table td:nth-child(2),.roster-table td:nth-child(3),.roster-table td:nth-child(4),.roster-table td:nth-child(5){text-align:center}.roster-table tbody tr{cursor:pointer;transition:background var(--transition)}.roster-table tbody tr:hover{background:var(--ice-100)}.roster-table tbody tr:last-child td{border-bottom:none}.roster-name{color:var(--navy-900);text-align:left;font-weight:600}.team-detail-stats{background:var(--white);border:1px solid var(--ice-200);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;padding:12px 14px;display:flex}.detail-dl{margin:0}.detail-dl div{border-bottom:1px solid var(--ice-200);font-size:var(--text-sm);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.detail-dl div:last-child{border-bottom:none}.detail-dl dt{color:var(--steel-500);font-weight:500}.detail-dl dd{color:var(--navy-900);text-align:right;margin:0;font-weight:600}.notices-view{flex-direction:column;gap:14px;display:flex}.notice-row{border-bottom:1px solid var(--ice-200);padding:10px 0}.notice-row:last-child{border-bottom:none}.notice-date{font-size:var(--text-xs);color:var(--steel-500);margin-bottom:2px;display:block}.notice-title{font-size:var(--text-sm);color:var(--navy-900);margin-bottom:2px;font-weight:600;display:block}.notice-message{font-size:var(--text-sm);color:var(--steel-500);margin:0;line-height:1.4}.schedule-rsvp-panel{background:var(--ice-100);border-bottom:1px solid var(--ice-200);flex-direction:column;gap:8px;padding:12px 16px 14px;display:flex}.modal-backdrop{z-index:1000;background:#0f1f2f73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:10px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f1f2f4d}.modal-overlay{z-index:100;background:#0b1f3380;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--ice-200);flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;box-shadow:0 8px 32px #0b1f3333}.modal-panel .modal-details{flex:1;overflow-y:auto}.modal-header{border-bottom:1px solid var(--ice-200);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header,.modal-actions{justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h3{font-size:var(--text-md);color:var(--navy-900);margin:0}.modal-close{font-size:var(--text-sm);color:var(--steel-500);cursor:pointer;background:0 0;border:none;padding:4px 8px}.modal-close:hover{color:var(--navy-900)}.modal-details{margin:0;padding:14px 16px}.modal-details div{border-bottom:1px solid var(--ice-200);font-size:var(--text-sm);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.modal-details div:last-child{border-bottom:none}.modal-details dt{color:var(--steel-500);font-weight:500}.game-detail-list{padding:20px}.game-detail-list div{border-bottom:1px solid #d8e3ef;grid-template-columns:120px 1fr;gap:16px;padding:10px 0;display:grid}.game-detail-list span{color:#4d6883}.game-detail-list strong{text-align:left}.game-detail-summary{gap:12px;padding:20px;display:grid}.game-detail-summary div{gap:4px;display:grid}.game-detail-summary span,.game-detail-section h4{color:#4d6883;margin:0;font-size:.85rem}.game-detail-section{padding:0 20px 20px}.game-detail-section p{margin:6px 0 0;font-weight:600}.app-bar-ribbon{align-items:center;gap:10px;min-width:0;display:flex}.ribbon-matchup,.ribbon-meta{white-space:nowrap}.ribbon-meta:last-child{text-overflow:ellipsis;overflow:hidden}.next-game-arrow{pointer-events:auto;z-index:10;color:#0b4f82;cursor:pointer;background:#fff;border:1px solid #8bbce0;border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;font-weight:700;line-height:1;display:inline-flex;position:relative}.next-game-arrow:hover{background:#e8f4fc}.next-game-arrow:disabled{opacity:.35;cursor:default}.modal-details dd{color:var(--navy-900);text-align:right;margin:0;font-weight:600}.modal-actions{border-top:1px solid var(--ice-200);gap:8px;padding:12px 16px 16px;display:flex}.notice-expandable{border-bottom:1px solid var(--ice-200);box-sizing:border-box}.notice-expandable:last-child{border-bottom:none}.notice-toggle{box-sizing:border-box;text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;grid-template-columns:72px 1fr 1fr 24px;align-items:center;gap:12px;margin:0;padding:10px 12px;display:grid}.notice-toggle:hover{background:var(--ice-100)}.notice-toggle .notice-title,.notice-toggle .notice-summary,.notice-toggle .notice-date{min-width:0}.notice-toggle svg{flex-shrink:0;justify-self:end}.notice-summary{font-size:var(--text-sm);color:var(--steel-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notice-expanded{box-sizing:border-box;padding:0 12px 12px 96px}.notice-expanded .notice-message{font-size:var(--text-sm);color:var(--steel-700);margin:0 0 8px;line-height:1.45}.notice-meta{font-size:var(--text-xs);color:var(--steel-500);margin-bottom:8px;display:block}.chat-context-card{background:var(--ice-100);border:1px solid var(--ice-200);border-radius:var(--radius-md);margin-bottom:12px;padding:12px 14px}.chat-context-card h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--steel-500);margin:0 0 6px;font-weight:700}.chat-context-card p{font-size:var(--text-sm);color:var(--steel-700);margin:0 0 4px}.chat-context-card .chat-quick-links{margin-top:10px}.chat-empty-text{font-size:var(--text-sm);color:var(--steel-500);margin:0}.chat-page{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.chat-workspace{min-height:420px;max-height:calc(100vh - var(--app-bar-height) - 80px);background:var(--white);border:1px solid var(--ice-200);border-radius:var(--radius-lg);flex:1;display:flex;overflow:hidden}.chat-channels{background:var(--ice-100);border-right:1px solid var(--ice-200);flex-direction:column;flex-shrink:0;width:180px;display:flex;overflow-y:auto}.chat-channels-header{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--steel-500);border-bottom:1px solid var(--ice-200);padding:10px 12px;font-weight:700}.chat-channel{text-align:left;width:100%;font-size:var(--text-sm);color:var(--steel-700);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-weight:500;display:block}.chat-channel:hover{background:var(--ice-200)}.chat-channel.is-active{background:var(--white);color:var(--navy-900);box-shadow:inset 2px 0 0 var(--blue-600);font-weight:700}.chat-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-main-header{border-bottom:1px solid var(--ice-200);background:var(--ice-100);flex-shrink:0;padding:10px 14px}.chat-main-header h2{font-size:var(--text-md);color:var(--navy-900);margin:0;font-weight:700}.chat-messages{flex-direction:column;flex:1;gap:6px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.chat-empty p{font-size:var(--text-sm);color:var(--steel-500);margin:0 0 8px}.chat-quick-links{flex-wrap:wrap;gap:6px;display:flex}.chat-bubble{border-radius:var(--radius-md);max-width:65%;font-size:var(--text-sm);padding:7px 11px;line-height:1.4}.chat-bubble--incoming{background:var(--ice-100);border:1px solid var(--ice-200);align-self:flex-start}.chat-bubble--outgoing{background:var(--navy-800);color:var(--white);align-self:flex-end}.chat-composer{border-top:1px solid var(--ice-200);background:var(--ice-100);flex-shrink:0;gap:8px;padding:10px 14px;display:flex}.chat-input{font-family:var(--font-family);font-size:var(--text-sm);border:1px solid var(--ice-200);border-radius:var(--radius-sm);background:var(--white);color:var(--steel-700);outline:none;flex:1;padding:7px 11px}.chat-input:focus{border-color:var(--blue-400)}@media (width<=1200px){.next-game-columns{grid-template-columns:1fr 1fr}.next-game-col--actions{border-left:none;border-top:1px solid var(--ice-200);grid-column:1/-1;padding-top:14px;padding-left:0}.schedule-table-head,.schedule-table-row{grid-template-columns:1fr 1fr;gap:6px}.schedule-table-head span:nth-child(n+3),.schedule-table-row>span:nth-child(n+3){grid-column:1/-1}.schedule-actions{justify-content:flex-start}}@media (width<=1024px){.right-rail{display:none}}@media (width<=768px){.desktop-brand-icon{display:none}.mobile-nav-button{width:40px;height:40px;color:var(--white);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 40px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-nav-button:hover,.mobile-nav-button:focus-visible{background:#ffffff1f}.sidebar{z-index:1001;width:min(280px,82vw);padding:0 12px 20px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:12px 0 30px #0b1f3347}.sidebar.is-open{transform:translate(0)}.mobile-drawer-header{min-height:64px;color:var(--white);font-size:var(--text-md);border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;font-weight:700;display:flex}.mobile-nav-close{width:40px;height:40px;color:var(--white);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1.75rem;line-height:1;display:inline-flex}.mobile-schedule-month{border-bottom:1px solid var(--border-color);margin:0;padding:12px 16px 8px;font-size:.9rem;font-weight:700}.mobile-nav-close:hover,.mobile-nav-close:focus-visible{background:#ffffff1f}.sidebar-link{font-size:var(--text-sm);text-align:left;padding:12px 14px}.mobile-nav-backdrop{z-index:1000;background:#0b1f3385;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.main-content{width:100%;padding:12px 12px 28px}.app-bar-ribbon{display:none}.next-game-columns{grid-template-columns:1fr}.feed-item-toggle{grid-template-columns:1fr;gap:4px}.feed-expanded{padding-left:10px}.content-card-header{flex-direction:column;align-items:flex-start}.content-card-heading{justify-content:space-between;width:100%}.content-card-header .action-btn{width:100%}.notice-toggle{grid-template-columns:1fr 24px;padding:10px 12px}.notice-toggle .notice-date,.notice-toggle .notice-summary{grid-column:1/-1}.notice-expanded{padding:0 12px 12px}.chat-channels{width:44px}.chat-channel{text-align:center;padding:10px 6px;font-size:0}.chat-channel:first-letter{font-size:var(--text-sm)}}.profile-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.form-field{color:#18324a;flex-direction:column;gap:6px;font-weight:600;display:flex}.form-field input,.form-field select,.form-field textarea{width:100%;font:inherit;background:#fff;border:1px solid #c8d8e5;border-radius:8px;padding:10px 12px}.form-field textarea{resize:vertical;min-height:90px}.form-field--full{grid-column:1/-1}.player-detail-view{max-width:980px;margin:0 auto}.checkbox-field{align-items:center;gap:12px;min-height:48px;padding-top:28px;font-size:18px;font-weight:500;display:flex}.checkbox-field input[type=checkbox]{cursor:pointer;width:22px;height:22px}.profile-actions{margin-top:16px}.directory-grid{flex-direction:column;gap:10px;display:flex}.directory-card{background:#fff;border:1px solid #d8e3ec;border-radius:14px;padding:12px 20px}.directory-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.directory-card h3{margin:0;font-size:1.25rem;line-height:1.1}.directory-info-grid{grid-template-columns:1fr 1fr;gap:48px;max-width:620px;margin-bottom:10px;display:grid}.directory-field label,.directory-business-header label{color:#18324a;margin-bottom:2px;font-size:.78rem;font-weight:700;display:block}.directory-value{color:#18324a;font-size:.9rem}.directory-business{margin-bottom:10px}.directory-business-header{justify-content:space-between;align-items:center;max-width:620px;margin-bottom:6px;display:flex}.directory-edit-btn{color:#07c;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700}.directory-company{color:#18324a;margin:0;font-size:1.25rem;font-weight:600}.directory-meta{margin:12px 0 6px}.directory-industry{color:#07c;margin:0;font-size:.95rem;font-weight:700}.directory-description{color:#46596b;margin:0;font-size:.9rem;line-height:1.3}.directory-contact{border-top:1px solid #edf2f7;padding-top:8px}.directory-contact-row{color:#18324a;grid-template-columns:1fr 1fr;gap:48px;max-width:620px;font-size:.9rem;display:grid}.available-pill{color:#008539;background:#e6f5ef;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.directory-contact-row span,.directory-contact-row a{color:#18324a;font-size:.95rem}.profile-card{margin-bottom:20px;padding:28px 32px}.directory-search{margin-bottom:16px}.directory-search label{color:#60758a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:700;display:block}.directory-search input{color:#18324a;background:#fff;border:1px solid #c8d8e5;border-radius:10px;width:100%;max-width:720px;padding:12px 14px;font-size:1rem}.player-detail-view{background:#eef4f8;border-radius:16px;max-width:980px;margin:0 auto;padding:20px}.profile-sections-panel{background:#e7f0f7;border:1px solid #d2e1ec;border-radius:18px;margin-bottom:20px;padding:18px}.profile-sections-panel .profile-card:last-child{margin-bottom:0}.directory-link-item{align-items:center;gap:6px;display:inline-flex}.directory-link-item span{text-decoration:none}.directory-link-item a{color:#18324a;text-decoration:underline}.subs-page{flex-direction:column;gap:24px;display:flex}.table-scroll{width:100%;overflow-x:auto}.subs-table{border-collapse:collapse;width:100%}.subs-table th,.subs-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #d9e3ec;padding:16px}.subs-table th{text-transform:uppercase;font-size:.85rem;font-weight:700}.subs-table tbody tr:last-child td{border-bottom:0}.subs-table a{color:inherit}.sub-team-list{flex-wrap:wrap;gap:8px;display:flex}.sub-team-badge{white-space:nowrap;background:#edf5fb;border:1px solid #b9cfe1;border-radius:999px;align-items:center;min-height:30px;padding:4px 10px;display:inline-flex}.sub-team-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;margin-top:20px;display:grid}.sub-team-options .checkbox-field{align-items:center;gap:12px;margin:0;display:flex}@media (width<=900px){.sub-team-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.sub-team-options{grid-template-columns:1fr}}.subs-filter-row{align-items:end;gap:16px;display:flex}.subs-team-filter{width:min(320px,100%)}.sub-type-tabs{gap:8px;margin-bottom:20px;display:flex}.subs-team-filter select{width:100%}.player-detail-view{width:100%;max-width:1100px;margin:0 auto}.player-detail-view .page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.profile-sections-panel{flex-direction:column;gap:24px;display:flex}.profile-details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.profile-detail{flex-direction:column;gap:6px;min-width:0;display:flex}.profile-detail-label{color:#55718b;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.profile-detail>span:last-child{color:#071c32;overflow-wrap:anywhere;font-size:1rem;line-height:1.45}.profile-detail--full{margin-top:24px}.profile-detail--full p{margin:0;line-height:1.6}.profile-list{flex-direction:column;gap:12px;display:flex}.profile-list-item{background:#f8fbfd;border:1px solid #d8e3ec;border-radius:10px;grid-template-columns:minmax(180px,1fr) minmax(130px,auto) minmax(160px,auto);align-items:center;gap:24px;padding:14px 16px;display:grid}.profile-list-item strong{color:#071c32}.profile-list-item span{color:#52677a}.profile-tag-list{flex-wrap:wrap;gap:10px;display:flex}.profile-tag{color:#0b5d93;background:#edf6fc;border:1px solid #b9d1e4;border-radius:999px;align-items:center;min-height:34px;padding:6px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.profile-link-list{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.profile-link-list a{color:#0b67a3;border:1px solid #0b67a3;border-radius:6px;align-items:center;min-height:38px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.profile-link-list a:hover{background:#edf6fc}.profile-notes{color:#253b4f;white-space:pre-wrap;margin:0;line-height:1.65}.action-stack--mobile{grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;gap:6px;width:100%;display:grid}.action-stack .action-btn{min-height:34px;padding:6px 10px;font-size:.9rem}.action-stack--mobile .action-btn{width:100%;margin:0}.game-more-actions{justify-content:flex-end;display:flex;position:relative}.game-more-button{border:1px solid var(--ice-300);width:40px;height:100%;min-height:42px;color:var(--navy-900);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;margin:0;font-size:1.4rem;line-height:1;display:flex}.game-actions-menu{z-index:30;border:1px solid var(--ice-300);background:#fff;border-radius:8px;min-width:190px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 20px #00000024}.game-actions-menu button{width:100%;color:var(--navy-900);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:10px 12px;display:block}.desktop-next-game{display:block}.mobile-next-games{display:none}.game-actions-menu button:hover{background:var(--ice-100)}@media (width<=800px){.player-detail-view .page-header{flex-direction:column}.profile-details-grid{grid-template-columns:1fr;gap:20px}.profile-list-item{grid-template-columns:1fr;gap:6px}}@media (width<=768px){.profile-form-grid{grid-template-columns:1fr;gap:18px}.form-field--full{grid-column:auto}.profile-sections-panel{border-radius:14px;padding:12px}.profile-card{margin-bottom:16px;padding:20px 16px}.checkbox-field{width:100%;padding-top:0;font-size:1rem}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0}.notices-page-header{flex-direction:column}.directory-contact-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.directory-contact-row+.directory-contact-row{margin-top:8px}.directory-contact-email{overflow-wrap:anywhere;min-width:0}.directory-link-item{min-width:0}.directory-link-item a,.directory-link-item span{overflow-wrap:anywhere;min-width:0}.directory-info-grid{gap:20px}.directory-contact-email,.directory-contact-phone{align-items:flex-start;gap:6px;min-width:0;display:inline-flex}.directory-contact-email>span:last-child{overflow-wrap:anywhere;min-width:0}.directory-contact-phone{white-space:nowrap}.directory-card{padding:16px}.schedule-table-head,.desktop-schedule{display:none}.mobile-schedule{display:block}.mobile-schedule-list{padding:0;overflow:visible}.mobile-schedule-games{flex-direction:column;display:flex}.mobile-schedule-month{border-bottom:1px solid var(--border-color);margin:0;padding:18px 18px 10px;font-size:1rem;font-weight:700}.mobile-schedule-game{border-bottom:1px solid var(--border-color);grid-template-columns:52px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:14px 16px;display:grid}.mobile-schedule-game:last-child{border-bottom:0}.mobile-schedule-date{flex-direction:column;justify-content:center;align-items:center;min-height:48px;display:flex}.mobile-schedule-date-number{font-size:1.35rem;font-weight:700;line-height:1}.mobile-schedule-date-day{text-transform:uppercase;opacity:.65;margin-top:4px;font-size:.72rem}.mobile-schedule-game-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:0;display:flex}.mobile-schedule-game-time{opacity:.75;font-size:.78rem;font-weight:600}.mobile-schedule-game-matchup{font-size:.95rem;font-weight:700;line-height:1.25}.mobile-schedule-game-rink{opacity:.7;font-size:.78rem;line-height:1.25}.mobile-schedule-rsvp{justify-content:center;display:flex;position:relative}.mobile-schedule-rsvp-status{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:.95rem;font-weight:800;display:flex}.mobile-schedule-rsvp-status--going{color:#198754;border-color:#198754}.mobile-schedule-rsvp-status--maybe{color:#d98a00;border-color:#d98a00}.mobile-schedule-rsvp-status--out{color:#c0392b;border-color:#c0392b}.mobile-schedule-rsvp-status--pending{color:#64748b;border-color:#64748b}.mobile-schedule-rsvp-popover{z-index:40;border:1px solid var(--border-color);background:#fff;border-radius:8px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.mobile-schedule-rsvp-popover .rsvp-controls{margin-top:8px}.team-sponsor-banner,.sponsor-image-preview{background:#fff;width:100%;height:140px;overflow:hidden}.team-sponsor-banner img,.sponsor-image-preview img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.notices-view{padding-inline:16px}.notices-page-header{margin-bottom:16px}.notices-page-header .action-btn{width:100%}.notices-view .content-card{padding:18px}.notices-view .content-card-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.notice-toggle{grid-template-columns:1fr auto;grid-template-areas:"date date""title title""summary chevron";gap:10px 12px;padding:16px 6px;display:grid;position:relative}.notice-date{grid-area:date;font-size:.9rem}.notice-title{grid-area:title}.notice-summary{white-space:normal;text-overflow:unset;grid-area:summary;line-height:1.45;overflow:visible}.notice-toggle svg{grid-area:chevron;place-self:end}.notice-expanded{padding:0 6px 16px}.announcement-form-card .form-actions{flex-direction:column-reverse}.announcement-form-card .form-actions .action-btn{width:100%}.mobile-game-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;scrollbar-width:none;gap:12px;padding-bottom:8px;padding-right:12px;display:flex;overflow-x:auto}.mobile-game-carousel::-webkit-scrollbar{display:none}.desktop-next-game{display:none}.mobile-next-games{display:block}.mobile-game-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 calc(100% - 14px);min-width:calc(100% - 14px);position:relative}.mobile-game-slide .game-actions-menu{top:auto;bottom:calc(100% + 8px)}.mobile-roster-backdrop{justify-content:center;align-items:center;padding:20px}.mobile-roster-modal{background:#fff;border-radius:18px;width:100%;max-width:520px;max-height:80vh;padding:20px;overflow-y:auto}.mobile-roster-header{border-bottom:1px solid #dce4ec;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.mobile-roster-header h2{margin:4px 0 0}.mobile-roster-game-info{color:#6b7f93;flex-wrap:wrap;gap:6px 12px;padding:14px 0;font-size:13px;display:flex}.mobile-roster-modal .rail-roster-list{margin:0;padding:0;list-style:none}.mobile-roster-item{border-bottom:1px solid #e2e8ef;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.mobile-roster-item:last-child{border-bottom:0}.mobile-roster-player{align-items:center;gap:12px;min-width:0;display:flex}.mobile-roster-modal .roster-player-avatar{color:#40566c;background:#edf1f5;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:flex}.mobile-roster-player-info{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-roster-player-info strong{color:#2d4358;font-size:15px;line-height:1.2}.mobile-roster-player-info span{color:#71869a;font-size:12px;line-height:1.2}.mobile-roster-status{border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:flex}.mobile-roster-status--going{color:#2f9e5b;border:1.5px solid #2f9e5b}.mobile-roster-status--maybe{color:#c89412;border:1.5px solid #c89412}.mobile-roster-status--out{color:#d9534f;border:1.5px solid #d9534f}.mobile-roster-status--pending{color:#8191a1;border:1.5px solid #d5dee7}.mobile-roster-summary{color:#425a70;margin:10px 0 14px;font-size:14px;font-weight:600}.next-game-card{padding:12px 14px}.next-game-card .content-card-header{margin-bottom:6px}.next-game-card .content-card-header h2{font-size:.85rem}.next-game-columns{grid-template-columns:1fr;gap:8px}.next-game-col{gap:3px}.next-game-matchup{margin-bottom:2px;font-size:1.15rem;line-height:1.2}.next-game-when{margin:2px 0;font-size:.9rem;line-height:1.3}.next-game-col--attendance{justify-content:flex-start;gap:2px;padding:6px 0}.attendance-hero-number{font-size:1.65rem;line-height:1}.attendance-detail-line,.attendance-status-line{margin:2px 0;font-size:.9rem}.next-game-col--actions{border-left:0;border-top:1px solid var(--ice-200);gap:6px;padding-top:8px;padding-left:0}.col-label{font-size:.8rem}.your-status{margin:2px 0 4px;font-size:.95rem}.rsvp-controls{gap:5px}.rsvp-controls button{min-height:34px;padding:6px 10px;font-size:.9rem}.action-stack{gap:5px;margin-top:6px}}.league-ticker-bar{background:var(--color-accent,#3b82f6);z-index:200;justify-content:center;align-items:center;gap:8px;width:100%;padding:7px 16px;display:flex}.league-ticker-icon{flex-shrink:0;font-size:.9rem}.league-ticker-text{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:.85rem;font-weight:600;overflow:hidden}.league-notice-banner{background:color-mix(in srgb, var(--color-warning,#f59e0b) 12%, transparent);border:1.5px solid color-mix(in srgb, var(--color-warning,#f59e0b) 50%, transparent);border-radius:var(--radius-md,8px);margin-top:24px;padding:14px 18px}.league-notice-banner-content{align-items:flex-start;gap:12px;display:flex}.league-notice-banner-icon{flex-shrink:0;font-size:1.25rem;line-height:1.4}.league-notice-banner-text{flex:1;min-width:0}.league-notice-banner-title{color:var(--color-text-primary,#111);margin-bottom:4px;font-size:1rem;font-weight:600;display:block}.league-notice-banner-message{color:var(--color-text-secondary,#555);margin:0;font-size:.9rem;line-height:1.5}.notice-active-row{align-items:stretch;gap:12px;display:flex}.notice-active-card--half{flex:1;min-width:0}.notice-active-card--live{border-color:color-mix(in srgb, var(--color-success,#22c55e) 50%, transparent);background:color-mix(in srgb, var(--color-success,#22c55e) 8%, transparent)}.notice-active-empty{color:var(--color-text-tertiary,#999);vertical-align:middle;margin-left:4px;font-size:.875rem}.notice-type-badge{text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;border-radius:4px;margin-right:6px;padding:2px 6px;font-size:.68rem;font-weight:700;display:inline-block}.notice-type-badge--ticker{background:color-mix(in srgb, var(--color-accent,#3b82f6) 15%, transparent);color:var(--color-accent,#3b82f6);border:1px solid color-mix(in srgb, var(--color-accent,#3b82f6) 40%, transparent)}.notice-type-badge--banner{background:color-mix(in srgb, var(--color-warning,#f59e0b) 15%, transparent);color:color-mix(in srgb, var(--color-warning,#f59e0b) 80%, #000);border:1px solid color-mix(in srgb, var(--color-warning,#f59e0b) 40%, transparent)}.notice-type-toggle{gap:10px;display:flex}.notice-type-option{border:1.5px solid var(--color-border,#ddd);border-radius:var(--radius-sm,6px);cursor:pointer;background:var(--color-surface,#fff);flex-direction:column;flex:1;gap:3px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.notice-type-option input[type=radio]{display:none}.notice-type-option span{color:var(--color-text-primary,#111);font-size:.9rem;font-weight:600}.notice-type-option small{color:var(--color-text-secondary,#666);font-size:.78rem;line-height:1.3}.notice-type-option.is-selected{border-color:var(--color-accent,#3b82f6);background:color-mix(in srgb, var(--color-accent,#3b82f6) 6%, transparent)}.notice-active-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.notice-active-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--color-success,#22c55e);color:#fff;vertical-align:middle;border-radius:4px;margin-right:8px;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-block}.notice-active-title{vertical-align:middle;font-size:1rem}.notice-active-message{color:var(--color-text-secondary,#555);margin:10px 0 0;font-size:.9rem;line-height:1.5}.admin-notice-form{flex-direction:column;gap:14px;padding:4px 0;display:flex}.admin-notice-form .form-field{flex-direction:column;gap:6px;display:flex}.admin-notice-form textarea{resize:vertical;border:1px solid var(--color-border,#ddd);border-radius:var(--radius-sm,6px);background:var(--color-surface,#fff);min-height:80px;color:var(--color-text-primary,#111);padding:8px 10px;font-family:inherit;font-size:.95rem}.form-field-optional{color:var(--color-text-tertiary,#999);font-size:.8rem;font-weight:400}.admin-notice-form-footer{justify-content:flex-end;padding-top:4px;display:flex}.notice-history-message{color:var(--color-text-secondary,#555);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:.88rem;overflow:hidden}.page-subtitle{color:var(--color-text-secondary,#666);margin:4px 0 0;font-size:.85rem}@media (width<=600px){.notice-active-row,.notice-type-toggle{flex-direction:column}}@media (width<=420px){.form-actions{align-items:flex-start;gap:8px}}
