:root{--th-navy-950:#041224;--th-navy-900:#071b33;--th-navy-850:#0a2340;--th-navy-800:#0c2b4b;--th-navy-700:#164269;--th-teal-700:#08666d;--th-teal-600:#0a7c83;--th-teal-500:#16979d;--th-teal-100:#dff3f2;--th-gold-500:#f3c847;--th-gold-100:#fff5cc;--th-ice-50:#f8fafb;--th-ice-100:#f4f7f9;--th-ice-200:#e8eef1;--th-white:#fff;--th-ink:#102134;--th-ink-soft:#34475a;--th-muted:#6a7a89;--th-line:#dce4e8;--th-line-strong:#bdcbd3;--th-success:#147a4a;--th-success-bg:#e7f5ed;--th-warning:#8a6200;--th-warning-bg:#fff3c6;--th-danger:#ad2f45;--th-danger-bg:#fcecef;--th-info:#245e91;--th-info-bg:#e8f2fb;--th-radius-sm:8px;--th-radius-md:12px;--th-radius-lg:16px;--th-radius-xl:20px;--th-shadow-xs:0 1px 2px rgba(5,20,38,.05);--th-shadow-sm:0 7px 22px rgba(5,20,38,.065);--th-shadow-md:0 18px 42px rgba(5,20,38,.11);--th-content-max:1280px;--th-sidebar-width:252px;--th-topbar-height:64px;--th-focus:#2d8cff;--th-ease:cubic-bezier(.2,.8,.2,1);--color-primary:var(--th-teal-600);--color-primary-hover:var(--th-teal-700);--color-on-primary:#fff;--ink:var(--th-ink);--muted:var(--th-muted);--line:var(--th-line);--ice:var(--th-ice-100);--white:var(--th-white);--radius-sm:var(--th-radius-sm);--radius:var(--th-radius-md);--radius-lg:var(--th-radius-lg);--shadow-sm:var(--th-shadow-xs);--shadow-md:var(--th-shadow-sm);--shadow-lg:var(--th-shadow-md);--content-max:var(--th-content-max);--status-yes:var(--th-success);--status-no:var(--th-danger);--status-maybe:var(--th-warning);--status-pending:#5d6e77;}
html{color-scheme:light;}body{min-width:0;overflow-x:clip;background:var(--th-ice-100);color:var(--th-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
.app-shell{display:grid!important;grid-template-columns:var(--th-sidebar-width) minmax(0,1fr)!important;min-height:100vh;background:var(--th-ice-100)!important}.sidebar{position:fixed!important;inset:0 auto 0 0;z-index:20;display:flex!important;width:var(--th-sidebar-width)!important;height:100vh!important;min-height:0!important;flex-direction:column;overflow:hidden auto;border:0!important;border-top:4px solid var(--team-accent,var(--th-gold-500))!important;padding:20px 16px 15px!important;background:var(--team-primary,var(--th-navy-900))!important;box-shadow:none!important}.team-brand{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;align-items:center;gap:11px!important;min-height:56px;border:0!important;padding:0 4px 10px!important;}.team-logo:not([src]),.team-logo[src=""]{visibility:hidden;}.brand h1{color:#fff!important;font-size:17px!important;line-height:1.2;letter-spacing:-.02em;}.brand p{margin-top:3px!important;color:rgba(255,255,255,.57)!important;font-size:0!important;letter-spacing:.02em;}.brand p::after{content:"Team Hub";font-size:10px;}.puck-mark{display:none;}.season-chip{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;min-height:36px;margin:7px 1px 13px;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 10px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.68);font-size:10px;}.season-chip strong{color:#fff;font-size:9px;text-transform:uppercase;}.season-signal{width:7px;height:7px;border-radius:50%;background:#4bc58a;box-shadow:0 0 0 3px rgba(75,197,138,.13);}.saas-hub-button{margin:0 1px 6px;border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05)!important;color:#fff!important;}.nav-tabs{display:flex!important;flex:1 0 auto;flex-direction:column;gap:3px!important;}.nav-group-label{margin:12px 11px 5px!important;color:rgba(255,255,255,.38)!important;font-size:9px!important;font-weight:850;line-height:13px;letter-spacing:.13em!important;text-transform:uppercase;}.nav-tab{--nav-icon:none;position:relative;display:grid!important;grid-template-columns:20px 1fr;align-items:center;gap:11px;width:100%;min-height:40px!important;border:1px solid transparent!important;border-radius:9px!important;padding:0 11px!important;background:transparent!important;color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:720!important;text-align:left;transition:background 160ms var(--th-ease),color 160ms var(--th-ease),transform 160ms var(--th-ease);}.nav-tab::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--nav-icon) center / contain no-repeat;mask:var(--nav-icon) center / contain no-repeat;opacity:.9;}.nav-tab[data-view="dashboard"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' d='m3 11 9-8 9 8v9H14v-6h-4v6H3z'/%3E%3C/svg%3E");}.nav-tab[data-view="schedule"],.nav-tab[data-view="attendance"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M5 3v4m14-4v4M4 8h16M4 5h16v16H4z'/%3E%3C/svg%3E");}.nav-tab[data-view="roster"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm9-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM2 21c0-4 2-7 6-7s6 3 6 7m2-6c4-1 6 2 6 6'/%3E%3C/svg%3E");}.nav-tab[data-view="chat"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M4 4h16v13H8l-4 4zm4 5h8m-8 4h5'/%3E%3C/svg%3E");}.nav-tab[data-view="practice"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='14' r='6' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M14 9h7v6h-7M10 14h.01' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");}.nav-tab[data-view="gameday"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M5 22V3m0 1h12l-2 4 2 4H5'/%3E%3C/svg%3E");}.nav-tab[data-view="stats"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M4 20V10h4v10m2 0V4h4v16m2 0v-7h4v7'/%3E%3C/svg%3E");}.nav-tab[data-view="funds"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M4 6h15a2 2 0 0 1 2 2v11H4a2 2 0 0 1-2-2V6a3 3 0 0 1 3-3h13v3m-2 6h5v4h-5a2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");}.nav-tab[data-view="branding"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='m19 13 2 2-2 4-3-1-2 2h-4l-2-2-3 1-2-4 2-2v-2L3 9l2-4 3 1 2-2h4l2 2 3-1 2 4-2 2z'/%3E%3C/svg%3E");}.nav-tab:hover:not(.active){background:rgba(255,255,255,.07)!important;color:#fff!important;transform:translateX(1px);}.nav-tab.active{border-color:rgba(255,255,255,.05)!important;background:#fff!important;color:var(--team-primary,var(--th-navy-900))!important;box-shadow:0 8px 21px rgba(0,0,0,.18)!important;}.nav-tab.active::after{content:"";position:absolute;right:9px;width:5px;height:5px;border-radius:50%;background:var(--team-accent,var(--th-gold-500));}
.identity-panel{position:relative;display:grid!important;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:2px 9px;height:134px;flex:none;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px;padding:10px!important;background:rgba(255,255,255,.055);}.identity-panel::before{content:"";grid-row:1 / span 3;width:34px;height:34px;border-radius:50%;background:var(--th-teal-600);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);}.identity-panel::after{content:"●";position:absolute;left:22px;bottom:10px;color:#64d49d;font-size:9px;text-shadow:0 0 0 2px var(--th-navy-900);}.identity-panel h2{display:none;}.identity-panel select{grid-column:2;min-width:0;min-height:22px!important;border:0!important;padding:0 17px 0 0!important;background-color:transparent!important;color:#fff!important;font-size:11px!important;font-weight:800;}.identity-panel select option{color:var(--th-ink);}.identity-panel>p{grid-column:2;margin:0!important;color:rgba(255,255,255,.54)!important;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.identity-panel>button{display:block!important;background:#183149!important;color:#fff!important;}.identity-runtime{display:none!important;}
.main-content{grid-column:2;min-width:0;padding:0 0 52px!important;background:var(--th-ice-100)!important;}.app-topbar{position:sticky!important;top:0;z-index:18;display:flex!important;width:100%!important;max-width:none!important;min-height:var(--th-topbar-height)!important;align-items:center;gap:10px;margin:0!important;border:0!important;border-bottom:1px solid var(--th-line)!important;border-radius:0!important;padding:0 28px!important;background:rgba(255,255,255,.96)!important;box-shadow:none!important;backdrop-filter:blur(14px);}.app-topbar h2{display:none;}.app-back-button{display:none!important;}.global-search{display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:9px;width:min(390px,40vw);min-height:40px;border:1px solid var(--th-line);border-radius:10px;padding:0 9px 0 12px;background:var(--th-ice-50);color:var(--th-muted);font:inherit;font-size:11px;text-align:left;}.global-search:hover{border-color:var(--th-line-strong);background:#fff;}.global-search-icon{width:14px;height:14px;border:1.8px solid currentColor;border-radius:50%;}.global-search-icon::after{content:"";display:block;width:6px;height:2px;margin:10px 0 0 10px;background:currentColor;transform:rotate(45deg);}.global-search kbd{border:1px solid var(--th-line);border-radius:5px;padding:2px 5px;background:#fff;color:var(--th-muted);font:9px inherit;}.app-topbar-spacer{flex:1;}.app-topbar .icon-button{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;border:1px solid var(--th-line)!important;border-radius:10px!important;background:#fff!important;color:var(--th-navy-900)!important;}#mobileTeamsButton{display:none!important;}.theme-toggle-icon::before{content:"☼";font-size:19px;line-height:1;}.app-bell-icon{position:relative;}.app-bell-icon::before{filter:none!important;}.topbar-profile{display:flex;align-items:center;gap:8px;margin-left:2px;color:var(--th-navy-900);font-size:11px;font-weight:800;}.topbar-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--th-teal-600);color:#fff;font-size:10px;font-weight:850;}.topbar-add-event{display:none!important;}.top-strip{display:none!important;}
.main-content>.view{width:min(var(--th-content-max),calc(100% - 56px))!important;max-width:var(--th-content-max)!important;margin:0 auto!important;padding-top:31px!important;}.section-heading{align-items:flex-end!important;margin:0 0 22px!important;}html body main#mainContent>.view.active>.section-heading{display:flex!important;}html body main#mainContent>.view.active>.section-heading>div:first-child{display:block!important;}.section-heading h2{margin:3px 0 2px!important;color:var(--th-navy-900)!important;font-size:clamp(28px,3vw,36px)!important;line-height:1.05!important;letter-spacing:-.04em!important;}.section-heading .eyebrow,.eyebrow{color:var(--th-teal-700)!important;font-size:9px!important;font-weight:850!important;letter-spacing:.13em!important;text-transform:uppercase;}.page-subtitle,.section-heading .muted,.stats-caption{margin:6px 0 0!important;color:var(--th-muted)!important;font-size:12px!important;}.muted{color:var(--th-muted)!important;}.panel,.member-form,.event-form,.fund-form,.roster-card,.schedule-item,.permission-row{border-color:var(--th-line)!important;border-radius:var(--th-radius-lg)!important;background:var(--th-white)!important;box-shadow:var(--th-shadow-sm)!important;}.panel{padding:18px!important;}.panel h3{color:var(--th-navy-900);font-size:17px;letter-spacing:-.02em;}.primary-button,.success-button{min-height:42px!important;border:1px solid var(--th-teal-600)!important;border-radius:10px!important;padding:0 15px!important;background:var(--th-teal-600)!important;color:#fff!important;font-weight:780!important;box-shadow:none!important;}.primary-button:hover,.success-button:hover{border-color:var(--th-teal-700)!important;background:var(--th-teal-700)!important;}.secondary-button,.compact-button,.map-button{min-height:42px!important;border:1px solid var(--th-line-strong)!important;border-radius:10px!important;padding:0 14px!important;background:var(--th-white)!important;color:var(--th-navy-800)!important;font-weight:760!important;box-shadow:none!important;}.secondary-button:hover,.compact-button:hover,.map-button:hover{border-color:var(--th-navy-700)!important;background:var(--th-ice-50)!important;}.soft-remove-button,.danger-button{border-color:var(--th-danger)!important;background:#fff!important;color:var(--th-danger)!important;}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--th-focus);outline-offset:2px;}input,select,textarea{min-height:42px;border-color:var(--th-line)!important;border-radius:10px!important;background:var(--th-white);color:var(--th-ink);}textarea{min-height:96px;}label{color:var(--th-ink-soft);}
body[data-view="dashboard"] #dashboard{max-width:var(--th-content-max)!important;}@media (width>900px){.main-content>.view>.section-heading,
body[data-view="dashboard"] .main-content .family-overview-heading{display:flex!important;}.main-content>.view>.section-heading>div:first-child{display:block!important;}}.home-heading-actions{display:flex;gap:8px;}body[data-view="dashboard"] .family-overview-grid,body.is-admin[data-view="dashboard"] .family-overview-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:14px!important;max-width:none!important;}@media (min-width:900.02px){body.is-family .global-search{display:grid!important;}}body[data-view="dashboard"] #appActionNotice{display:none!important;}body.is-family[data-view="dashboard"] .dashboard-grid>.family-hero-panel{height:auto!important;min-height:300px!important;}body.is-family[data-view="dashboard"] .dashboard-grid>.attendance-panel{height:100%!important;min-height:300px!important;}body[data-view="dashboard"] .family-hero-panel{position:relative;grid-column:span 8;display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(200px,.7fr)!important;align-items:stretch!important;gap:22px!important;width:100%;height:238px!important;min-height:238px!important;overflow:hidden;border:0!important;border-radius:var(--th-radius-xl)!important;padding:23px 24px!important;background:var(--team-primary,var(--th-navy-900))!important;color:#fff;box-shadow:var(--th-shadow-md)!important;}body[data-view="dashboard"] .dashboard-grid>.family-hero-panel{height:238px!important;min-height:238px!important;align-self:start!important;}.family-hero-copy{position:relative;z-index:1;align-self:center;}.family-hero-panel .eyebrow{color:#a7dddc!important;}.family-hero-panel h3{max-width:560px;margin:11px 0 10px!important;color:#fff!important;font-size:clamp(26px,3.1vw,38px)!important;line-height:1.05;letter-spacing:-.035em;}.family-hero-panel .family-hero-copy>p:last-child{max-width:620px;color:rgba(255,255,255,.66)!important;font-size:12px;}.family-focus-card{position:relative;z-index:1;display:grid!important;min-height:0!important;align-content:center;gap:8px;border:1px solid rgba(255,255,255,.16)!important;border-radius:14px!important;padding:16px!important;background:rgba(255,255,255,.07)!important;box-shadow:none!important;}.family-focus-card strong{color:#fff!important;font-size:15px!important;}.family-focus-card p{margin:0;color:rgba(255,255,255,.67)!important;font-size:11px;}.family-focus-card .quick-rsvp-button,.family-focus-card .map-button{width:max-content;min-height:38px!important;border:0!important;background:#fff!important;color:var(--th-navy-900)!important;}body[data-view="dashboard"] .dashboard-grid>.attendance-panel{display:block!important;grid-column:span 4!important;grid-row:auto!important;align-self:start!important;width:100%;height:238px!important;min-height:238px!important;overflow:auto;}.family-card-title{display:flex;min-height:49px;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--th-line);padding-bottom:12px;}.family-card-title h3{margin-top:2px;}.family-card-title>span{border-radius:99px;padding:4px 8px;background:var(--th-warning-bg);color:var(--th-warning);font-size:9px;font-weight:850;}.home-attendance-list{margin-top:8px;}.home-attendance-item{min-height:54px!important;border-color:var(--th-line)!important;border-radius:10px!important;}.dashboard-metric-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}.metric-card{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:11px;min-height:88px;border:1px solid var(--th-line);border-radius:13px;padding:14px;background:#fff;box-shadow:var(--th-shadow-xs);}.metric-card>div{display:grid;gap:1px;}.metric-card small{color:var(--th-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}.metric-card strong{color:var(--th-navy-900);font-size:17px;}.metric-card span:last-child{color:var(--th-muted);font-size:10px;}.metric-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--th-teal-100);}.metric-icon svg{width:21px;height:21px;fill:none;stroke:var(--th-teal-700);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}body[data-view="dashboard"] .family-overview-primary{display:block!important;grid-column:span 8!important;grid-row:auto!important;width:100%;}.next-up-panel{display:none!important;}.upcoming-panel{min-height:295px;}.family-event-list{margin-top:5px;}body[data-view="dashboard"] .family-event-list li:not(.muted){display:grid!important;grid-template-columns:44px 4px minmax(0,1fr) auto!important;align-items:center;gap:12px;min-height:72px;border-bottom:1px solid var(--th-line)!important;padding:10px 0!important;}.family-event-list li:last-child{border-bottom:0!important;}.dashboard-date-tile{display:grid;width:42px;height:48px;place-items:center;align-content:center;border-radius:10px;background:var(--th-ice-100);}.dashboard-date-tile strong{color:var(--th-ink);font-size:17px;line-height:1;}.dashboard-date-tile span{margin-top:3px;color:var(--th-muted);font-size:8px;font-weight:850;text-transform:uppercase;}
.dashboard-event-rail{width:4px;height:39px;border-radius:99px;background:var(--th-teal-600);}
.dashboard-event-rail.game{background:var(--th-gold-500);}
.dashboard-event-rail.other{background:var(--th-info);}
.dashboard-event-copy{display:grid;min-width:0;gap:2px;}
.dashboard-event-copy>strong{color:var(--th-navy-900);font-size:12px;}
.home-event-meta{color:var(--th-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.home-event-actions{gap:6px!important;}
body[data-view="dashboard"] .family-event-list .home-event-actions{min-width:0!important;}
.home-status-button{min-height:34px!important;border-radius:9px!important;}
body[data-view="dashboard"] .announcement-panel{display:block!important;grid-column:span 4!important;grid-row:auto!important;width:100%;min-height:295px;}
.announcement-form textarea{min-height:72px;}
.announcement-panel .simple-list li{border-color:var(--th-line);}
.phone-alert-panel,.team-contacts-panel{display:none!important;}

.schedule-heading-actions{display:flex;gap:8px;}
.event-form,.csv-import-panel,.calendar-subscribe-panel{margin-bottom:14px;}
#scheduleCsvImportPanel:not([hidden]){display:flex!important;min-height:58px;align-items:center;gap:14px;padding:8px 12px!important;}
#scheduleCsvImportPanel>div:first-child{margin-right:auto;}
#scheduleCsvImportPanel h3{margin:0!important;font-size:13px;}
#scheduleCsvImportPanel .muted{display:none;}
#scheduleCsvImportPanel .csv-file-field{display:flex;align-items:center;gap:8px;margin:0;}
.schedule-filter-bar{min-height:56px;margin:0 0 14px!important;border:1px solid var(--th-line);border-radius:13px;padding:8px 11px;background:#fff;}
.schedule-filter-bar label{flex-direction:column!important;align-items:stretch;gap:9px;font-size:10px;font-weight:850;text-transform:uppercase;}
.schedule-filter-bar select{min-width:190px;background:var(--th-ice-50);}
.schedule-workspace{display:grid!important;grid-template-columns:minmax(330px,.82fr) minmax(420px,1.18fr)!important;align-items:start;gap:16px!important;}
.schedule-list-column{min-width:0;}
.schedule-list{display:grid;gap:9px;}
.schedule-item{position:relative;min-height:92px!important;overflow:hidden;border:1px solid var(--th-line)!important;border-radius:13px!important;padding:13px!important;box-shadow:var(--th-shadow-xs)!important;}
.schedule-item::before{border-radius:13px 0 0 13px!important;}
.schedule-item.selected,.schedule-item:has([aria-current="true"]){border-color:var(--th-teal-600)!important;box-shadow:0 0 0 2px rgba(10,124,131,.08)!important;}
.schedule-date{color:var(--th-ink)!important;}
.schedule-item-main>strong{color:var(--th-ink)!important;font-size:14px!important;}
.schedule-item-main>span{color:var(--th-muted)!important;font-size:10px;}
.schedule-detail-pane{position:sticky!important;top:calc(var(--th-topbar-height) + 18px);overflow:hidden;border:1px solid var(--th-line)!important;border-radius:var(--th-radius-lg)!important;background:var(--th-white)!important;box-shadow:var(--th-shadow-sm)!important;}
.event-detail-topbar{border-radius:var(--th-radius-lg) var(--th-radius-lg) 0 0!important;padding:20px!important;background:var(--team-primary,var(--th-navy-900))!important;}
.event-detail-topbar h3{color:#fff!important;font-size:22px!important;}
.event-detail-tabs{border-color:var(--th-line)!important;background:var(--th-white)!important;}
.event-detail-tabs button{min-height:48px!important;}
.event-detail-tabs button.active{box-shadow:inset 0 -3px 0 var(--team-accent,var(--th-gold-500))!important;}
.event-detail-summary-card,.event-detail-location-card,.lineup-section-card{border-color:var(--th-line)!important;border-radius:var(--th-radius-md)!important;background:var(--th-ice-50)!important;box-shadow:none!important;}

#roster .section-heading{margin-bottom:18px!important}.roster-grid{display:grid;gap:14px!important}.roster-section{overflow:hidden;border:1px solid var(--th-line)!important;border-radius:16px!important;background:#fff!important}.roster-section-title{display:flex!important;min-height:58px!important;align-items:center!important;justify-content:space-between;padding:0 18px!important}.roster-section-title>div{display:flex;gap:8px;align-items:center}.roster-section-title h3{margin:0}.roster-section-title span{border-radius:99px;padding:2px 7px;background:var(--th-ice-200);font-size:10px}.roster-table-head,.roster-row{display:grid!important;grid-template-columns:minmax(220px,1.4fr) .65fr 1fr .7fr 44px!important;align-items:center;gap:14px;padding:0 16px!important}.roster-table-head{min-height:36px;background:var(--th-ice-50);color:var(--th-muted);font-size:9px;text-transform:uppercase}.roster-card.roster-row{min-height:76px!important;border:0!important;border-top:1px solid var(--th-line)!important;border-radius:0!important;box-shadow:none!important}.person-cell{display:flex;align-items:center;gap:11px;min-width:0}.person-cell>div:last-child,.contact-stack,.staff-card>div:nth-child(2){display:grid;min-width:0}.person-cell span,.contact-stack span,.staff-card span{color:var(--th-muted);font-size:10px}.jersey-avatar,.member-avatar{display:grid!important;width:38px!important;height:38px!important;place-items:center;border:3px solid var(--team-accent,var(--th-gold-500))!important;border-radius:50%!important;background:var(--team-primary,var(--th-navy-900))!important;color:#fff!important}.staff-grid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px}.roster-card.staff-card{display:grid!important;grid-template-columns:38px 1fr auto!important;align-items:center;gap:10px;min-height:68px!important;border-radius:12px!important;padding:12px!important;background:var(--th-ice-50)!important}.roster-contact-details{grid-column:1/-1}

#chat{display:none;}
#chat.active{display:grid!important;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);grid-template-rows:auto auto minmax(520px,1fr);column-gap:14px;align-items:start;}
#chat>.section-heading{grid-column:1 / -1;}
.chat-thread-list{display:grid;align-content:start;grid-column:1;grid-row:2 / span 2;align-self:stretch;min-height:570px;border:1px solid var(--th-line);border-radius:var(--th-radius-lg);padding:8px;background:#fff;box-shadow:var(--th-shadow-sm);}
.chat-thread-list:empty::before{content:"Team Chat";display:block;min-height:64px;border-radius:9px;padding:15px 14px 3px 50px;background:var(--th-teal-100);color:var(--th-navy-900);font-size:12px;font-weight:850;}
.chat-thread-list:empty::after{content:"Everyone with messaging access";display:block;margin:-27px 10px 0 50px;color:var(--th-muted);font-size:9px;}
.chat-thread-list:empty{align-content:start;}
.chat-heading-actions{display:flex;align-items:center;gap:8px;}
.chat-heading-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;}
.chat-thread-search{width:100%;margin-bottom:8px}.chat-thread-button{grid-template-columns:36px minmax(0,1fr);min-height:64px!important;border:0!important;border-bottom:1px solid var(--th-line)!important;border-radius:9px!important;box-shadow:none!important}.chat-thread-button>.chat-avatar{display:grid}.chat-thread-button>span:nth-child(2){display:grid;min-width:0}.chat-thread-button small{overflow:hidden;color:var(--th-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.chat-thread-button:last-child{border-bottom:0!important;}
.chat-thread-button.active{border-color:transparent!important;background:var(--th-teal-100)!important;}
.chat-conversation-header{grid-column:2;grid-row:2;min-height:65px!important;border:1px solid var(--th-line)!important;border-bottom:0!important;border-radius:var(--th-radius-lg) var(--th-radius-lg) 0 0;padding-inline:16px!important;background:#fff!important;}
.chat-layout{grid-column:2;grid-row:3;max-width:none!important;}
.chat-window{min-height:505px;overflow:hidden;border:1px solid var(--th-line)!important;border-radius:0 0 var(--th-radius-lg) var(--th-radius-lg)!important;background:#fff!important;box-shadow:var(--th-shadow-sm)!important;}
.chat-messages{min-height:430px;background:var(--th-ice-50)!important;}
.chat-bubble{border-color:var(--th-line)!important;border-radius:4px 14px 14px 14px!important;box-shadow:var(--th-shadow-xs)!important;}
.chat-row.mine .chat-bubble{border-color:var(--th-teal-600)!important;border-radius:14px 4px 14px 14px!important;background:var(--th-teal-600)!important;}
.chat-form{border-color:var(--th-line)!important;background:#fff!important;}
.chat-input-row textarea{border-color:var(--th-line)!important;border-radius:10px!important;background:var(--th-ice-50)!important;}

.practice-subnav{border:1px solid var(--th-line)!important;border-radius:12px!important;padding:5px!important;background:var(--th-white)!important;}
.practice-subtab{border-radius:8px!important;}
.practice-subtab.active{background:var(--th-navy-900)!important;color:#fff!important;}
.practice-workshop-summary,.practice-plan-card,.drill-card,.gameday-game-row,.team-record-hero,.team-tile,.stats-table-wrap,.fund-total,.fund-row,.staff-permission-row,.permission-row{border-color:var(--th-line)!important;border-radius:var(--th-radius-md)!important;}
.practice-workshop-summary,.drill-workshop{overflow:hidden;border:0!important;border-radius:var(--th-radius-xl)!important;background:var(--th-navy-900)!important;color:#fff!important;box-shadow:var(--th-shadow-md)!important;}
.practice-workshop-summary h3,.practice-workshop-summary strong,.drill-workshop h3,.drill-workshop strong{color:#fff!important;}
.drill-workshop{min-height:160px;padding:24px!important;}
.drill-workshop .eyebrow{color:#9be0df!important;}
.drill-workshop p{color:rgba(255,255,255,.65)!important;}
.drill-workshop .secondary-button{border-color:rgba(255,255,255,.28)!important;background:#fff!important;color:var(--th-navy-900)!important;}
.drill-card,.team-tile,.fund-total{background:var(--th-white)!important;}
.drill-card{overflow:hidden;box-shadow:var(--th-shadow-xs)!important;}
.drill-card:hover{transform:translateY(-2px);box-shadow:var(--th-shadow-sm)!important;}

.team-record-hero{border:0!important;border-radius:var(--th-radius-xl)!important;padding:22px 24px!important;background:var(--team-primary,var(--th-navy-900))!important;color:#fff!important;box-shadow:var(--th-shadow-md)!important;}
.team-record-hero strong{color:#fff!important}
.team-record-hero span{color:#fff!important}
.team-tile-value,.stats-player,.stats-points{color:var(--th-ink)!important;}
.team-tile-row{gap:10px!important;}
.team-tile{min-height:88px;box-shadow:var(--th-shadow-xs)!important;}
.stats-table-wrap{overflow:hidden}
.stats-table{overflow:hidden;border:1px solid var(--th-line);border-radius:12px;}
.stats-table thead{background:var(--th-ice-100);}
.stats-table th,.stats-table td{border-color:var(--th-line)!important;}

.funds-layout{display:grid!important;grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr)!important;gap:16px!important;align-items:start;}
.funds-side{gap:14px!important;}
.fund-total{min-height:82px;box-shadow:var(--th-shadow-xs)!important;}
.fund-total.balance{border:0!important;background:var(--team-primary,var(--th-navy-900))!important;color:#fff!important;}
.fund-row{min-height:64px!important;box-shadow:none!important;}
.fund-row.collected .fund-amount{color:var(--th-success)!important;}
.fund-row.expense .fund-amount{color:var(--th-danger)!important;}
.fund-ledger{overflow:hidden;border:1px solid var(--th-line);border-radius:12px;}

body[data-view="branding"] #branding.active{display:flex!important;flex-direction:column;}
body[data-view="branding"] #branding>.section-heading{order:1;}
body[data-view="branding"] #branding>.branding-layout{order:2;}
body[data-view="branding"] #branding>.owner-usage-host{order:3;margin-top:16px;}
.branding-layout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:start}.branding-form{grid-row:auto}
.color-panel{border-color:var(--th-line)!important;border-radius:var(--th-radius-md)!important;}
.color-preset{min-width:48px!important;min-height:48px!important;border-radius:10px!important;}
.permission-row{min-height:62px!important;background:var(--th-ice-50)!important;box-shadow:none!important;}

.status-yes,.status-going{background:var(--th-success-bg)!important;color:var(--th-success)!important;}
.status-no,.status-declined{background:var(--th-danger-bg)!important;color:var(--th-danger)!important;}
.status-maybe{background:var(--th-warning-bg)!important;color:var(--th-warning)!important;}
#dashboard .attendance-panel .parent-rsvp-feedback{color:var(--th-ink-soft);}
.status-pending{background:var(--th-ice-200)!important;color:var(--th-muted)!important;}

.mobile-settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
@media (width>720px){
.mobile-utility-overlay{position:fixed;z-index:10010;inset:0;display:block;background:#030d1994;}
.mobile-utility-panel{position:fixed;z-index:10020;top:86px;left:50%;display:grid;width:min(560px,calc(100vw - 40px));max-height:calc(100vh - 110px);gap:14px;overflow:auto;border-radius:16px;padding:20px;background:var(--th-white);transform:translateX(-50%);}
.mobile-utility-overlay[hidden],.mobile-utility-panel[hidden]{display:none!important;}
.mobile-search-field,.mobile-search-results{display:grid;gap:8px;}
.mobile-search-results{max-height:380px;overflow:auto;}
}

@media (max-width:1050px) and (min-width:900.02px){
:root{--th-sidebar-width:220px;}
.sidebar{padding-inline:12px!important;}
.main-content>.view{width:calc(100% - 36px)!important;}
.family-hero-panel{grid-column:1 / -1;}
.attendance-panel{grid-column:span 5;}
.dashboard-metric-grid{grid-column:span 7;grid-template-columns:1fr;}
.metric-card{min-height:70px;}
.family-overview-primary{grid-column:span 7;}
.announcement-panel{grid-column:span 5;}
.schedule-workspace{grid-template-columns:1fr!important;}
.schedule-detail-pane{position:static!important;}
}


@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto;}
*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

@media print{body{background:#fff;color:#000;}}

.sidebar{background:var(--th-navy-900)!important;}
.sidebar::before,.sidebar::after{display:none!important;}
.brand-logo-wrap{
position:relative;
width:42px!important;
height:42px!important;
flex:0 0 42px;
background:url("teamhub-mark.svg") center / contain no-repeat!important;
}
.brand-logo-wrap::before{display:none!important;}
.team-brand{grid-template-columns:42px minmax(0,1fr)!important;min-height:66px;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:0 5px 17px!important;}
.brand h1{font-size:16px!important;}
.brand p{display:block!important;margin-top:0!important;font-size:0!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.brand p::after{content:"Team Hub";font-size:11px;}
.season-chip{min-height:34px;margin:14px 2px 9px;}
.primary-nav{gap:1px!important;}
.primary-nav>p{margin:15px 11px 5px!important;}
.nav-tab.nav-link{
grid-template-columns:22px minmax(0,1fr) auto!important;
min-height:38px!important;
border-radius:10px!important;
padding:0 11px!important;
font-size:14px!important;
}
.nav-tab.nav-link::before{display:none!important;}
.nav-tab.nav-link svg{display:block;width:18px;height:18px;}
.nav-tab.nav-link svg,.nav-tab.nav-link use{fill:none!important;stroke:currentColor!important;}
.nav-tab.nav-link.active::after{left:-5px;right:auto;width:3px;height:22px;}
.nav-count{min-width:22px;border-radius:99px;padding:2px 6px;background:rgba(255,255,255,.1);font-size:10px;text-align:center;}
.nav-tab.active .nav-count{background:var(--th-ice-200);}
.nav-dot{width:7px;height:7px;border-radius:50%;background:var(--th-gold-500);}
.identity-panel{margin-top:auto!important;}

.app-topbar{min-height:70px!important;padding:0 28px!important;}
.app-topbar svg,.sol-heading-action svg,.family-hero-panel svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.global-search{width:min(430px,45vw);min-height:42px;border-radius:11px;padding:0 13px;}
.global-search svg{display:block;}
.global-search-icon,.theme-toggle-icon::before,.app-bell-icon::before{display:none!important;}
.app-topbar .icon-button{border:0!important;background:transparent!important;}
.app-topbar .app-bell-icon{display:inline-grid!important;}
.app-topbar .icon-button:hover{background:var(--th-ice-200)!important;}
.app-action-count{top:1px!important;right:0!important;border:2px solid #fff!important;background:var(--th-danger)!important;}
.sol-menu-button,.sol-mobile-brand{display:none!important;}
.sol-heading-action{display:inline-flex;align-items:center;gap:8px;}

.main-content>.view{width:min(100%,calc(var(--th-content-max) + 64px))!important;max-width:none!important;padding:32px!important;}
.section-heading{margin-bottom:24px!important;}
.section-heading h2{font-size:clamp(28px,3vw,38px)!important;}

body[data-view="dashboard"] .family-overview-grid,body.is-admin[data-view="dashboard"] .family-overview-grid{
grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr)!important;
gap:18px!important;
}
body[data-view="dashboard"] .family-hero-panel,
body[data-view="dashboard"] .dashboard-grid>.family-hero-panel{
grid-column:1!important;
display:block!important;
height:auto!important;/* v508: auto+min-height; a fixed 282px clipped the RSVP footer */
min-height:282px!important;
border-radius:22px!important;
padding:23px 24px 20px!important;
background:var(--th-navy-900)!important;
}
.family-hero-panel::before,.family-hero-panel::after{display:none!important;}
.next-event-topline,.next-event-actions,.next-event-main{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.next-event-topline{color:rgba(255,255,255,.68);font-size:11px;font-weight:760;}
.next-event-topline .status-chip{min-height:25px;border-radius:99px;padding:3px 9px;background:var(--th-teal-100);color:var(--th-teal-700);font-size:10px;font-weight:850;}
.next-event-main{min-height:158px;}
.family-hero-copy{align-self:auto;}
.family-hero-panel .family-hero-copy>p:last-child{display:flex;flex-wrap:wrap;gap:15px;color:rgba(255,255,255,.7)!important;}
.family-hero-panel h3{max-width:600px;margin:3px 0 15px!important;font-size:clamp(24px,3vw,34px)!important;}
.countdown{flex:0 0 auto;text-align:right;}
.countdown strong{display:block;color:#fff;font-size:27px;font-variant-numeric:tabular-nums;}
.countdown strong span{color:rgba(255,255,255,.6);font-size:14px;}
.countdown small{color:rgba(255,255,255,.52);}
.family-focus-card.next-event-actions{
display:flex!important;
align-content:normal!important;
align-items:center!important;
min-height:72px!important;
margin:0 -24px -20px;
border:0!important;
border-top:1px solid rgba(255,255,255,.12)!important;
border-radius:0!important;
padding:15px 24px!important;
background:rgba(255,255,255,.035)!important;
}
.family-focus-card.next-event-actions>div{display:grid;gap:3px;}
.family-focus-card.next-event-actions>div>span{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;}
.family-focus-card.next-event-actions strong{color:#73d39e!important;font-size:13px!important;}
.family-focus-card.next-event-actions .button{min-height:44px;border:1px solid rgba(255,255,255,.28);border-radius:11px;padding:0 16px;background:#fff;color:var(--th-navy-900);font-weight:780;}

body[data-view="dashboard"] .dashboard-grid>.attendance-panel{
grid-column:2!important;
height:282px!important;
min-height:282px!important;
overflow:hidden;
padding:20px!important;
}
.family-card-title{min-height:auto;border-bottom:0;padding-bottom:0;}
.home-attendance-list{margin-top:0;}
.home-attendance-list>p{margin:24px 0;color:var(--th-ink-soft);font-size:15px;}
.segmented-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.segmented-actions button{min-height:46px;border:1px solid var(--th-line);border-radius:10px;background:var(--th-ice-50);font-size:11px;font-weight:780;}
.segmented-actions button:hover,.segmented-actions button.selected{border-color:var(--th-teal-600);background:var(--th-teal-100);}
.choice-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--th-success);}
.choice-dot.maybe{background:var(--th-warning);}
.choice-dot.no{background:var(--th-danger);}
.sol-rsvp-empty{margin:34px 0 0!important;color:var(--th-muted)!important;}
.dashboard-metric-grid{grid-column:1 / -1!important;gap:14px;}
.metric-card{min-height:88px;padding:15px;}
body[data-view="dashboard"] .family-overview-primary{grid-column:1!important;}
body[data-view="dashboard"] .announcement-panel{grid-column:2!important;}
.upcoming-panel,body[data-view="dashboard"] .announcement-panel{min-height:320px;padding:20px!important;}
.upcoming-panel .text-button{display:inline-flex;min-height:40px;align-items:center;gap:6px;border:0;padding:0 2px;background:transparent;color:var(--th-teal-700);font-size:12px;font-weight:800;}
.upcoming-panel .text-button svg{width:15px;height:15px;}
.announcement-panel .stacked-form{display:none;}
.announcement-panel.is-editing .stacked-form{display:grid;}
.announcement-panel .simple-list{margin-top:12px;}
.announcement-panel .simple-list li{display:block;min-height:74px;border-top:1px solid var(--th-line);border-bottom:0;padding:16px 0;color:var(--th-ink-soft);}

.schedule-heading-actions{align-items:center;}
.schedule-heading-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;}
#scheduleCsvImportPanel:not(.is-open){display:none!important;}
#scheduleCsvImportPanel.is-open{display:flex!important;}
.schedule-filter-bar{display:flex!important;min-height:58px;align-items:center;justify-content:space-between;margin-bottom:16px!important;border-radius:14px;padding:8px!important}
.schedule-month-picker{display:flex!important;align-items:center;gap:8px;}
.schedule-month-picker>span{display:none;}
.schedule-month-picker select{min-width:190px;border:0!important;background:none!important;color:var(--th-ink)!important;font-size:13px;font-weight:800;text-align:center;}
.sol-schedule-filters{display:flex;align-items:center;gap:8px;}
.sol-schedule-filters button{min-height:36px;border:0;border-radius:9px;padding:0 12px;background:transparent;color:var(--th-muted);font-size:11px;font-weight:780;}
.sol-schedule-filters button.active{background:var(--th-navy-900);color:#fff;}
.schedule-workspace{grid-template-columns:minmax(360px,.78fr) minmax(470px,1.22fr)!important;gap:18px!important;}
.schedule-list{gap:8px;}
.schedule-item{position:relative;display:grid!important;grid-template-columns:3px 42px minmax(0,1fr) 22px!important;align-items:center;gap:12px;min-height:92px!important;overflow:hidden;padding:10px 12px 10px 0!important;text-align:left}
.schedule-item::before{content:"";position:static!important;align-self:stretch;width:3px;height:auto;border-radius:99px!important;background:var(--th-teal-500)!important;}
.schedule-item[data-event-kind="game"]::before{background:var(--th-info)!important;}
.schedule-item.selected{border-color:#89acbd!important;background:color-mix(in srgb,var(--th-teal-100) 38%,#fff)!important;}
.schedule-date-tile{display:grid;width:42px;place-items:center;align-content:center;line-height:1;}
.schedule-date-tile strong{color:var(--th-ink);font-size:20px;}
.schedule-date-tile span{margin-top:4px;color:var(--th-muted);font-size:9px;font-weight:800;}
.schedule-item-main{position:relative;display:grid;min-width:0;gap:2px;padding-right:78px;}
.schedule-item-main>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.schedule-item-main>span:not(.schedule-type-badge){overflow:hidden;color:var(--th-muted)!important;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.schedule-item-main .schedule-type-badge{position:absolute;top:0;right:0;min-height:25px;border-radius:99px;padding:4px 9px;font-size:9px;}
.schedule-item-main .arrival-time::before{content:"Arrive ";}
.schedule-lineup-status{display:none!important;}
.schedule-actions{display:block!important;}
.schedule-actions>*{display:none!important;}
.schedule-actions .details-shortcut-button{display:grid!important;width:22px!important;min-width:22px!important;height:40px!important;min-height:40px!important;place-items:center;overflow:hidden;border:0!important;padding:0!important;background:transparent!important;font-size:0!important;}
.schedule-actions .details-shortcut-button::after{content:"›";color:var(--th-muted);font-size:28px;font-weight:400;}
.schedule-detail-pane{top:calc(70px + 18px);}
.event-detail-topbar{min-height:130px;padding:23px!important;}
.event-detail-topbar h3{margin:12px 0 3px!important;font-size:25px!important;}
.event-detail-tabs{display:grid!important;grid-template-columns:repeat(3,1fr);}
.event-detail-tabs button{border-bottom:3px solid transparent!important;}
.event-detail-tabs button.active{border-bottom-color:var(--th-gold-500)!important;box-shadow:none!important;}
.schedule-detail-pane .event-detail-body{padding:21px!important;}
body[data-view="schedule"] #schedule .schedule-workspace #scheduleList .schedule-item{
grid-template-columns:3px 42px minmax(0,1fr) 22px!important;
grid-template-rows:minmax(92px,auto)!important;
min-height:92px!important;
padding:0 12px 0 0!important;
}
body[data-view="schedule"] #schedule #scheduleList .schedule-item::before{grid-column:1!important;grid-row:1!important;position:static!important;display:block!important;align-self:stretch!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-date-tile{grid-column:2!important;grid-row:1!important;width:42px!important;height:auto!important;padding:0!important;background:var(--th-ice-50)!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item-main{grid-column:3!important;grid-row:1!important;display:grid!important;width:auto!important;height:auto!important;align-content:center!important;padding:0 78px 0 0!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-actions{grid-column:4!important;grid-row:1!important;display:block!important;width:22px!important;height:auto!important;align-self:center!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item::after{content:"›";grid-column:4;grid-row:1;color:var(--th-muted);font-size:28px;line-height:1;pointer-events:none;}
body[data-view="schedule"] #schedule #scheduleList .schedule-actions .details-shortcut-button{position:absolute!important;inset:0!important;z-index:1;display:block!important;width:100%!important;height:100%!important;min-height:0!important;opacity:0;}
body[data-view="schedule"] #scheduleList .schedule-card-family-rsvp{position:relative;z-index:2;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item-main .arrival-time{width:auto!important;max-width:none!important;border:0!important;padding:0!important;background:transparent!important;color:var(--th-muted)!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item-main .schedule-lineup-status{display:none!important;}

.sol-roster-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.sol-inline-search{display:flex;min-width:250px;height:42px;align-items:center;gap:8px;border:1px solid var(--th-line);border-radius:11px;padding:0 12px;background:var(--white);color:var(--th-muted);}
.sol-inline-search svg{width:17px;height:17px;fill:none;stroke:currentColor;}
.sol-inline-search input{width:100%;min-width:0;min-height:0;border:0!important;outline:0;background:transparent;}
.sol-roster-filters{display:flex;flex:1;align-items:center;gap:8px;}
.sol-roster-filters button{min-height:36px;border:0;border-radius:9px;padding:0 12px;background:transparent;color:var(--th-muted);font-size:11px;font-weight:780;}
.sol-roster-filters button.active{background:var(--th-navy-900);color:#fff;}
.sol-roster-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;}
.sol-roster-summary article{display:flex;align-items:center;gap:12px;border:1px solid var(--th-line);border-radius:13px;padding:14px;background:var(--th-white);}
.sol-roster-summary article>div{display:grid;}
.sol-roster-summary article>div>span{color:var(--th-muted);font-size:10px;}
.sol-summary-number{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;background:var(--th-ice-200);color:var(--th-navy-900);font-size:18px;font-weight:850;}
.sol-summary-number.good{background:var(--th-success-bg);color:var(--th-success);}
#rosterList .roster-section{margin-bottom:14px;}
#rosterList .roster-card{display:grid!important;grid-template-columns:48px minmax(0,1fr);min-height:76px!important;}
#rosterList .roster-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;}
#rosterList .roster-actions{align-items:center;}
#rosterList .role-pill{display:none;}
#rosterList .roster-player-family{grid-column:2;}

@media (max-width:900px){
:root{--th-topbar-height:62px;}
body .sidebar #saasHubButton{display:none!important;}
.app-shell{display:block!important;max-width:100vw!important;overflow-x:clip!important;}
body::before{content:"";position:fixed;z-index:55;inset:0;background:rgba(3,13,25,.58);opacity:0;pointer-events:none;transition:opacity .2s;}
html:has(body.nav-open),body.nav-open{overflow:hidden!important;}
body.nav-open .mobile-bottom-nav{z-index:54!important;}
body.nav-open::before{opacity:1;pointer-events:auto;}
.sidebar,body[data-view="schedule"] .sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:60;display:flex!important;width:min(86vw,320px)!important;height:100dvh!important;min-height:0!important;transform:translateX(-105%);overflow-y:auto!important;overscroll-behavior:contain;border-top:4px solid var(--th-gold-500)!important;border-bottom:0!important;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(16px + env(safe-area-inset-bottom,0px))!important;box-shadow:24px 0 60px rgba(0,0,0,.32)!important;transition:transform .22s var(--th-ease);}
.sidebar>*{flex-shrink:0;}
.sidebar>.identity-panel{height:auto;}
#closeSidebarButton{position:sticky;top:env(safe-area-inset-top,0px);z-index:2;min-height:44px!important;box-shadow:0 0 0 12px var(--team-primary,var(--th-navy-900))!important;}
body.nav-open .sidebar{transform:translateX(0);}
#teamSidebar nav{display:flex!important;}
.mobile-header-actions{display:none!important;}
body[data-view] .app-topbar{position:sticky!important;inset:0 auto auto 0!important;z-index:40;display:flex!important;width:100%!important;min-height:62px!important;margin:0!important;padding:0 8px!important;background:var(--team-primary,var(--th-navy-900))!important;color:#fff;}
body[data-view="schedule"]:not([data-schedule-mode="detail"]) .app-topbar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;}
.sol-menu-button{display:inline-grid!important;width:44px!important;min-width:44px!important;height:44px!important;color:#fff!important;}
.sol-menu-button svg{display:none;}
.sol-menu-button::before{content:"";width:18px;height:12px;border-block:2px solid #fff;}
.sol-menu-button::after{content:"";position:absolute;width:18px;height:2px;background:#fff;}
.sol-mobile-brand{display:flex!important;align-items:center;gap:7px;min-width:0;}
.sol-mobile-brand img{width:31px;height:31px;}
.sol-mobile-brand strong{overflow:hidden;max-width:156px;font-size:14px!important;text-overflow:ellipsis;white-space:nowrap;}
.app-topbar .global-search,.app-topbar .topbar-profile,.app-topbar .theme-toggle-icon,.app-topbar .topbar-add-event{display:none!important;}
.app-topbar-spacer{display:block!important;flex:1 1 auto!important;}
.app-topbar .app-bell-icon,.app-topbar #mobileTeamsButton:not([hidden]){display:inline-grid!important;width:44px!important;min-width:44px!important;height:44px!important;color:#fff!important;}
body[data-view="schedule"] .app-topbar>.sol-menu-button,body[data-view="schedule"] .app-topbar>.sol-mobile-brand,body[data-view="schedule"] .app-topbar>.app-topbar-spacer,body[data-view="schedule"] .app-topbar>.app-bell-icon{display:flex!important;}
body[data-view="schedule"] .app-topbar>.sol-menu-button{width:44px!important;height:44px!important;}
body[data-view] .main-content{width:100%!important;max-width:100vw!important;min-height:100dvh!important;padding:0!important;overflow-x:clip!important;background:var(--th-ice-100)!important;}
body[data-view] .main-content>.view{width:100%!important;max-width:100%!important;margin:0!important;padding:20px 12px calc(88px + env(safe-area-inset-bottom,0px))!important;overflow-x:clip!important;}
.section-heading{min-width:0!important;margin-bottom:16px!important;}
.section-heading>div:first-child{min-width:0!important;}
.section-heading h2{font-size:28px!important;line-height:1.05!important;}
.page-subtitle,.section-heading .muted{font-size:12px!important;line-height:1.4!important;}
.eyebrow{font-size:10px!important;}
body[data-view="dashboard"] .family-overview-grid{grid-template-columns:1fr!important;}
body[data-view="dashboard"] .family-hero-panel,body[data-view="dashboard"] .attendance-panel,body[data-view="dashboard"] .dashboard-metric-grid,body[data-view="dashboard"] .family-overview-primary,body[data-view="dashboard"] .announcement-panel{grid-column:1!important;height:auto!important;}
html body[data-view="dashboard"] main#mainContent .family-overview-grid{grid-template-columns:minmax(0,1fr)!important;}
html body[data-view="dashboard"] main#mainContent .family-overview-grid>*{grid-column:1!important;width:100%!important;}
body[data-view="dashboard"] .dashboard-metric-grid{grid-template-columns:1fr!important;}
body[data-view="dashboard"] .family-event-list li:not(.muted){grid-template-columns:42px 4px minmax(0,1fr)!important;}
body[data-view="dashboard"] .family-event-list .home-event-actions{grid-column:3!important;justify-content:flex-start!important;}
.countdown{display:none;}
.segmented-actions{grid-template-columns:1fr;}
.mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
.mobile-nav-tab,.mobile-bottom-nav button{min-width:44px!important;min-height:62px!important;}
.mobile-nav-tab>span:last-child{font-size:10px!important;line-height:1.15!important;}
.mobile-bottom-nav .mobile-nav-tab[data-view="practice"],.mobile-bottom-nav .mobile-nav-tab[data-view="gameday"]{display:none!important;}
.funds-layout,.branding-layout{grid-template-columns:1fr!important;}
body[data-view="practice"] #practice .practice-subnav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;}
body[data-view="practice"] #practice .practice-subtab{min-width:0!important;min-height:44px!important;padding-inline:6px!important;font-size:11px!important;white-space:normal!important;}
html body[data-view="schedule"] main#mainContent #downloadScheduleCalendar{display:none!important;}
body[data-view="schedule"] #schedule .section-heading .eyebrow{display:block!important;}
body[data-view="schedule"] #schedule .schedule-heading-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;}
body[data-view="schedule"] #schedule .schedule-heading-actions>button:not([hidden]){display:inline-flex!important;width:100%!important;min-width:0!important;min-height:44px!important;align-items:center!important;justify-content:center!important;padding-inline:8px!important;font-size:12px!important;}
body.is-family[data-view="schedule"] #schedule .schedule-heading-actions{grid-template-columns:minmax(0,144px)!important;}
body[data-view="schedule"] #schedule .schedule-scope-picker,body[data-view="schedule"] #schedule .schedule-month-picker{display:flex!important;width:100%!important;min-width:0!important;}
body[data-view="schedule"] #schedule .schedule-scope-picker[hidden]{display:none!important;}
body:not(.is-family)[data-view="schedule"] #schedule .schedule-month-picker{grid-column:1/-1!important;}
body[data-view="schedule"] #schedule .schedule-filter-bar select{width:100%!important;min-width:0!important;min-height:44px!important;font-size:13px!important;}
body[data-view="schedule"] #schedule .sol-schedule-filters{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
body[data-view="schedule"] #schedule .sol-schedule-filters button{min-width:0!important;min-height:44px!important;padding:0 4px!important;font-size:12px!important;}
body[data-view="schedule"] #schedule .schedule-workspace{grid-template-columns:1fr!important;}
body[data-view="schedule"] #schedule .schedule-list{padding:0 0 18px!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item-main{padding:12px 0!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-item-main .schedule-type-badge{position:static!important;justify-self:start!important;margin-top:4px!important;}
body.is-family[data-view="schedule"] #schedule .schedule-workspace #scheduleList .schedule-item{grid-template-columns:3px 42px minmax(0,1fr) 82px!important;}
body.is-family[data-view="schedule"] #schedule #scheduleList .schedule-actions.family-schedule-actions{display:flex!important;grid-column:4!important;width:82px!important;min-width:82px!important;align-items:center!important;justify-content:center!important;padding:0!important;}
body.is-family[data-view="schedule"] #schedule #scheduleList .schedule-card-rsvp-toggle{display:inline-flex!important;width:82px!important;min-width:82px!important;min-height:44px!important;justify-content:center!important;padding:0 7px!important;font-size:12px!important;}
body.is-family[data-view="schedule"] #schedule #scheduleList .schedule-card-rsvp-toggle{position:relative!important;z-index:2!important;pointer-events:auto!important;}
body.is-family[data-view="schedule"] #schedule #scheduleList .schedule-item::after{display:none!important;}
body[data-view="schedule"] #schedule #scheduleList .schedule-card-family-rsvp{grid-column:2/-1!important;min-width:0!important;margin:0 8px 12px 0!important;}
html body[data-view="roster"] main#mainContent>#roster.view.active>.section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;}
body[data-view="roster"] #roster .section-heading>div:first-child,body[data-view="roster"] #roster .brand-actions{grid-column:1/-1!important;width:100%!important;}
body[data-view="roster"] #roster .sol-roster-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
body[data-view="roster"] #roster .sol-inline-search{grid-column:1/-1!important;width:100%!important;min-width:0!important;height:44px!important;}
body[data-view="roster"] #roster .sol-inline-search .sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;}
body[data-view="roster"] #roster .sol-roster-filters{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
body[data-view="roster"] #roster .sol-roster-filters button{min-width:0!important;min-height:44px!important;padding:0 4px!important;font-size:12px!important;}
body[data-view="roster"] #roster #solRosterInvitesToggle{grid-column:1/-1!important;width:100%!important;min-width:0!important;min-height:44px!important;font-size:12px!important;}
body[data-view="roster"] #roster .sol-roster-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
body[data-view="roster"] #roster .sol-roster-summary article{min-width:0!important;gap:9px!important;padding:12px!important;}
body[data-view="roster"] #roster .sol-roster-summary article:last-child{grid-column:1/-1!important;}
body[data-view=roster] .roster-table-head{display:none!important}body[data-view=roster] .roster-card.roster-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;min-height:0!important;padding:14px!important}body[data-view=roster] .roster-row>.person-cell{grid-column:1;grid-row:1}body[data-view=roster] .roster-row>span:nth-child(2){grid-column:1;grid-row:2}body[data-view=roster] .roster-row>.contact-stack{grid-column:1;grid-row:3}body[data-view=roster] .roster-row>.status-chip{grid-column:2;grid-row:1}body[data-view=roster] .roster-row>.icon-button{grid-column:2;grid-row:2/4}body[data-view=roster] .staff-grid{grid-template-columns:1fr!important}
html body[data-view="attendance"] main#mainContent>#attendance.view.active>.section-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
body[data-view="attendance"] #attendance .event-picker{display:grid!important;width:100%!important;min-width:0!important;gap:6px!important;}
body[data-view="attendance"] #attendance .event-picker::before,body[data-view="attendance"] #attendance .event-picker::after{display:none!important;content:none!important;}
body[data-view="attendance"] #attendance .event-picker select{width:100%!important;min-width:0!important;min-height:44px!important;}
}

.attendance-back-button{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--th-ice-200);color:var(--th-navy-900);font-size:22px;place-items:center;}
@media (min-width:900.02px){
html body[data-view] main#mainContent{padding:0!important;}
html body[data-view] main#mainContent>.view.active{width:100%!important;max-width:calc(var(--th-content-max) + 64px)!important;margin:0 auto!important;padding:32px!important;}
html body[data-view="schedule"] main#mainContent>#schedule.view.active{padding:24px 28px 40px!important;}
html body[data-view="attendance"] main#mainContent>#attendance.view.active>.section-heading{display:grid!important;grid-template-columns:46px minmax(0,1fr) minmax(280px,400px)!important;align-items:end!important;gap:14px!important;}
body.is-family[data-view="attendance"] #attendance>.section-heading{grid-template-columns:46px minmax(0,1fr)!important;}
body[data-view="attendance"] .attendance-back-button{display:grid;}
}
@media (max-width:900px){
html body[data-view] main#mainContent>.view.active>.section-heading{align-items:flex-start!important;text-align:left!important;}
html body[data-view] main#mainContent>.view.active>.section-heading>div:first-child{width:100%!important;}
.app-topbar .sol-menu-button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;}
body.is-admin[data-view="roster"] #mobileAddMember{display:none!important;}
body[data-view="attendance"] #attendance .quick-rsvp-button{min-width:44px!important;min-height:44px!important;}
body[data-view="funds"] #funds .funds-side>article.panel{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;}
body[data-view="funds"] #funds .funds-side>article.panel>h3{display:none!important;}
body[data-view=chat] #chat.active{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:14px!important;}
body[data-view=chat] #chat>.section-heading{display:grid!important;grid-column:1!important;width:100%!important;gap:14px!important;}
body[data-view=chat] #chat>.section-heading .eyebrow,body[data-view=chat] #chat>.section-heading #chat-title{display:block!important;}
body[data-view=chat] #chat .chat-heading-actions{display:grid!important;width:100%!important;}
body[data-view=chat] #chat #chatAccessBadge{display:none!important;}
body[data-view=chat] #chat #solNewMessage{width:100%!important;}
body[data-view=chat].chat-inbox-mode #chat .chat-thread-list{grid-column:1!important;grid-row:2!important;width:100%!important;min-height:0!important;height:auto!important;align-content:start!important;grid-auto-rows:min-content!important;padding:8px!important;}
body[data-view=chat].chat-inbox-mode #chat .chat-thread-button{height:auto!important;min-height:68px!important;align-self:start!important;}
body[data-view=chat] #chat .chat-conversation-header,body[data-view=chat] #chat .chat-layout{grid-column:1!important;width:100%!important;min-width:0!important;}
body[data-view=chat] #chat .chat-conversation-header{grid-row:2!important;}
body[data-view=chat] #chat .chat-layout{grid-row:3!important;}
}

.dark-mode{color-scheme:dark;--th-ice-50:#091824;--th-ice-100:#07141f;--th-ice-200:#142937;--th-white:#102432;--th-ink:#edf5f8;--th-ink-soft:#c7d6dd;--th-muted:#91a5b1;--th-line:#29414e;--th-line-strong:#3b5866;--th-navy-800:#edf5f8;--th-teal-700:#7fdad7;--th-teal-100:#12383c;--th-success:#76dda6;--th-success-bg:#173c2c;--th-warning:#f4d77c;--th-warning-bg:#3c3314;--th-danger:#ff9aae;--th-danger-bg:#40222b;--th-info:#8cc8ff;--th-info-bg:#182f46;--ink:var(--th-ink);--muted:var(--th-muted);--line:var(--th-line);--ice:var(--th-ice-100);--white:var(--th-white)}
.dark-mode .app-topbar{background:rgba(16,36,50,.96)!important}.dark-mode :is(.global-search,.icon-button,.metric-card,.panel,.roster-section,.roster-card,.schedule-item,.schedule-detail-pane,.schedule-type-badge,.chat-thread-list,.chat-window,.chat-form,.chat-bubble,.attendance-count-card,.fund-total,.event-detail-tabs,.schedule-filter-bar){background:var(--th-white)!important;border-color:var(--th-line)!important}.dark-mode :is(.section-heading h2,.panel h3,.schedule-item-main>strong,.team-record-value,.team-winpct-value,.team-tile-value,.stats-player,.stats-points,.metric-card strong,.dashboard-event-copy>strong,.topbar-profile,.chat-bubble-text,.chat-msg-menu,.sol-summary-number,.attendance-back-button){color:var(--th-ink)!important}.dark-mode .nav-tab.active .nav-count{background:#d7e6ec!important;color:#071b33!important}.dark-mode .schedule-type-badge{color:#8cc8ff!important}
