.staff-page,.staff-report-page,.staff-team-page{display:grid;gap:24px}.staff-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 34px;border-radius:14px;background:radial-gradient(circle at 82% 0,rgb(22 138 218/.3),transparent 36%),linear-gradient(135deg,#07182a,#102d48);color:#fff;box-shadow:var(--shadow-md)}.staff-hero .eyebrow{color:#7fc8f4;margin-bottom:8px}.staff-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:8px}.staff-hero p:not(.eyebrow){max-width:620px;color:#bad0e0}.staff-hero .admin-top-actions{flex:none}.staff-hero [data-slot=button]{border-color:#52708a;background:rgb(255 255 255/.08);color:#fff}.staff-hero [data-slot=button]:hover{background:rgb(255 255 255/.16)}.staff-role{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:6px 10px;border:1px solid rgb(255 255 255/.16);border-radius:999px;background:rgb(255 255 255/.08);color:#e6f3fb;font-size:.78rem;font-weight:700}.staff-role svg{width:15px;height:15px;color:#70c5f6}.staff-alert{margin:0}.staff-alert.success{border-left:4px solid #238a55;background:#eff9f3}.staff-alert.error{border-left:4px solid #c3443e;background:#fff2f1}.staff-alert.error p{color:#8d2d29}.staff-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.staff-summary article{display:flex;align-items:center;gap:15px;min-width:0;padding:19px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.staff-summary-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:10px;background:var(--pale);color:var(--blue)}.staff-summary-icon svg{width:21px}.staff-summary article>div{display:grid}.staff-summary strong{font-size:1.65rem;line-height:1.1;font-variant-numeric:tabular-nums}.staff-summary article>div>span{color:var(--muted-ink);font-size:.8rem}.staff-dashboard-section,.staff-tab-panel{display:grid;gap:18px;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.staff-reports-section{border-top:4px solid #e1a524}.staff-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.staff-section-heading .eyebrow{margin-bottom:5px;font-size:.72rem}.staff-section-heading h2{font-size:1.4rem;margin-bottom:4px}.staff-section-heading p:not(.eyebrow){max-width:720px;color:var(--muted-ink);font-size:.875rem}.outstanding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.outstanding-card{display:grid;gap:13px;padding:20px;border:1px solid #d6e1e9;border-radius:11px;background:linear-gradient(180deg,#fff,#fbfdfe)}.outstanding-date{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:.8rem;font-weight:700}.outstanding-date>svg{width:19px}.outstanding-date>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.outstanding-date small{color:var(--muted-ink);font-size:.76rem;font-weight:500}.outstanding-card h3{font-size:1.2rem}.outstanding-card h3 span{margin-inline:4px;color:#8797a4;font-size:.85rem;font-weight:500}.outstanding-meta{display:flex;gap:8px}.outstanding-actions{display:grid;gap:10px;padding-top:2px}.outstanding-actions>a{width:max-content}.reminder-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #e6edf2}.reminder-control>div{display:grid;min-width:0}.reminder-control strong{font-size:.8rem}.reminder-control span{color:var(--muted-ink);font-size:.72rem;overflow-wrap:anywhere}.reminder-control button svg{width:14px}.staff-empty{display:flex;align-items:center;justify-content:center;gap:16px;min-height:130px;padding:24px;border:1px dashed #becdd8;border-radius:10px;background:#fafcfd;color:var(--muted-ink)}.staff-empty.compact{min-height:100px}.staff-empty>svg{width:30px;height:30px;color:#8ea4b4}.staff-empty h3{color:var(--ink);font-size:1.05rem}.staff-empty p{font-size:.85rem}.staff-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.staff-team-tile{display:grid;gap:17px;padding:20px;border:1px solid var(--line);border-radius:11px;background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}.staff-team-tile:hover{border-color:#a9c8dc;box-shadow:var(--shadow-md);transform:translateY(-2px)}.staff-team-school{display:block;margin-bottom:5px;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.staff-team-tile h3{font-size:1.12rem}.staff-team-tile p{color:var(--muted-ink);font-size:.82rem}.staff-team-stats{display:flex;gap:8px}.staff-team-stats span{padding:5px 9px;border-radius:5px;background:#f0f4f7;color:var(--muted-ink);font-size:.74rem}.staff-team-stats strong{color:var(--ink)}.staff-team-tile>a{width:100%}.staff-team-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:11px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.staff-team-filters>div:not(.staff-filter-actions){display:grid;gap:5px}.staff-team-filters label{font-size:.72rem}.staff-team-filters select{min-height:36px;border:1px solid var(--input);border-radius:6px;background:#fff;padding:6px 9px}.staff-filter-actions{display:flex;gap:5px}.director-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.director-grid article{display:flex;gap:12px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:10px}.director-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:9px;background:var(--pale);color:var(--blue)}.director-icon svg{width:19px}.director-grid article>div{display:grid;min-width:0}.director-grid strong{font-size:.9rem}.director-grid a,.director-grid span:not(.director-icon){color:var(--muted-ink);font-size:.77rem;overflow-wrap:anywhere}.director-grid a{color:var(--blue)}.staff-dialog{max-height:90dvh;overflow-y:auto;background:#fff}.staff-dialog-form{display:grid;gap:16px;margin-top:4px}.staff-dialog-form>div:not([data-slot=dialog-footer]),.staff-form-row>div{display:grid;gap:6px}.staff-dialog-form select{min-height:40px;border:1px solid var(--input);border-radius:6px;background:#fff;padding:7px 10px}.staff-form-row{display:grid!important;grid-template-columns:1fr 2fr;gap:12px!important}.staff-password-field{display:grid;gap:6px}.staff-password-control{display:grid;grid-template-columns:minmax(0,1fr) auto 36px 36px;gap:7px}.staff-password-control button svg{width:15px}.staff-password-field>small{color:var(--muted-ink);font-size:.72rem;line-height:1.45}.staff-back-link{display:inline-flex;align-items:center;gap:7px;width:max-content;color:var(--blue);font-size:.86rem;font-weight:700}.staff-back-link svg{width:17px}.staff-team-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.staff-team-hero .eyebrow{margin-bottom:6px}.staff-team-hero h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:5px}.staff-team-hero p:not(.eyebrow){color:var(--muted-ink)}.staff-team-tabs{gap:18px}.staff-team-tabs .tabs-scroll{background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px}.staff-team-tabs .tabs-scroll [data-slot=tabs-list]{border:0}.staff-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#b43b35;color:#fff;font-size:.7rem}.staff-tab-panel{min-height:300px}.team-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.team-overview-grid article{display:flex;align-items:flex-start;gap:13px;padding:19px;border:1px solid var(--line);border-radius:10px}.team-overview-grid article>span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:9px;background:var(--pale);color:var(--blue)}.team-overview-grid article>span svg{width:20px}.team-overview-grid article>div{display:grid}.team-overview-grid strong{font-size:1.5rem;line-height:1.2}.team-overview-grid p{font-size:.83rem;font-weight:700}.team-overview-grid small{color:var(--muted-ink);font-size:.73rem}.team-overview-grid .needs-action{border-color:#e8ce83;background:#fffbef}.team-overview-grid .needs-action>span{background:#fff1c8;color:#825a12}.team-details{padding:18px}.team-details dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.team-details dl>div{padding:5px 18px;border-right:1px solid var(--line)}.team-details dl>div:last-child{border:0}.team-details dt{color:var(--muted-ink);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.team-details dd{margin-top:3px;font-size:.9rem;font-weight:700}.staff-roster-list{display:grid;gap:10px}.roster-editor{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr) auto;align-items:end;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:10px}.roster-editor.inactive{background:#f6f8fa;color:#6b7782}.roster-player-heading{display:flex;align-items:center;gap:12px;align-self:center;min-width:0}.roster-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:9px;background:var(--navy);color:#fff;font-size:.82rem;font-weight:800}.roster-player-heading>div{display:grid;min-width:0}.roster-player-heading strong{overflow-wrap:anywhere}.roster-player-heading span:not(.roster-number){color:var(--muted-ink);font-size:.75rem}.roster-edit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.roster-fields{display:grid;grid-template-columns:70px minmax(130px,1fr) minmax(110px,.8fr);gap:9px}.roster-fields>div{display:grid;gap:4px}.roster-fields label{font-size:.7rem}.roster-actions{display:flex;gap:5px}.team-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-staff-grid article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:10px}.team-staff-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-size:1.1rem;font-weight:800}.team-staff-grid article>div{display:grid;justify-items:start;gap:4px;min-width:0}.team-staff-grid article>.team-staff-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.team-staff-actions svg{width:15px}.team-staff-grid article a{color:var(--blue);font-size:.78rem;overflow-wrap:anywhere}.team-staff-grid .tag{font-size:.7rem}.team-report-list{display:grid;gap:9px}.team-report-list article{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;border:1px solid var(--line);border-radius:9px}.team-report-list article.due{border-left:4px solid #d49b20;background:#fffcf3}.team-report-date{display:flex;align-items:center;gap:9px}.team-report-date svg{width:18px;color:var(--blue)}.team-report-date>span,.team-report-list article>div:nth-child(2){display:grid}.team-report-date span{font-size:.8rem;font-weight:700}.team-report-date small,.team-report-list article>div:nth-child(2)>span{color:var(--muted-ink);font-size:.73rem}.team-report-list article>div:nth-child(2)>strong{font-size:.9rem}.game-report-form,.report-score{display:grid;gap:1rem}.report-score{grid-template-columns:1fr auto 1fr;align-items:center;padding:1.25rem}.report-score>div{display:flex;align-items:center;gap:.75rem}.report-score>div:last-child{justify-content:flex-end}.report-score input{width:6rem;text-align:center;font-size:1.5rem;font-weight:700}.report-team{overflow:hidden}.report-team-title{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.report-team-title h2{font-size:1.25rem;margin:0}.report-team-title span{font-size:.85rem;color:var(--muted-foreground)}.report-team table{margin:0}.stat-input{width:4.5rem;text-align:center}.report-check{gap:.4rem}.report-check,.report-submit{display:flex;align-items:center}.report-submit{justify-content:space-between;gap:1rem;padding:1rem 0}.report-submit p{margin:0;color:var(--muted-foreground)}@media(max-width:1050px){.director-grid,.staff-summary,.staff-team-filters,.staff-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-filter-actions{justify-content:flex-end}.roster-editor{grid-template-columns:1fr}.roster-actions{justify-content:flex-end}.team-details dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.team-details dl>div:nth-child(2){border-right:0}.team-staff-grid{grid-template-columns:1fr}}@media(max-width:760px){.staff-hero,.staff-team-hero{align-items:flex-start;flex-direction:column;padding:24px}.staff-hero .admin-top-actions,.staff-team-hero .admin-top-actions{width:100%}.staff-hero .admin-top-actions>*{flex:1}.director-grid,.outstanding-grid,.staff-team-grid,.team-overview-grid{grid-template-columns:1fr}.staff-dashboard-section,.staff-tab-panel{padding:20px}.staff-section-heading{align-items:flex-start;flex-direction:column}.staff-section-heading>[data-slot=dialog],.staff-section-heading>button{width:100%}.reminder-control{align-items:flex-start;flex-direction:column}.report-score{grid-template-columns:1fr}.report-score>div,.report-score>div:last-child{justify-content:center}.report-score>strong{text-align:center}.team-report-list article{grid-template-columns:1fr auto}.team-report-date{grid-column:1/-1}.team-details dl{grid-template-columns:1fr}.team-details dl>div{border:0;border-bottom:1px solid var(--line);padding:9px}.team-details dl>div:last-child{border:0}.roster-fields{grid-template-columns:70px minmax(0,1fr)}.roster-fields>div:last-child{grid-column:1/-1}.team-staff-grid article{grid-template-columns:48px minmax(0,1fr)}.team-staff-grid article>.team-staff-actions{grid-column:2;justify-content:flex-start}}@media(max-width:520px){.staff-summary{grid-template-columns:1fr 1fr;gap:8px}.staff-summary article{align-items:flex-start;flex-direction:column;gap:9px;padding:14px}.staff-summary-icon{width:36px;height:36px}.staff-summary strong{font-size:1.4rem}.outstanding-card,.staff-dashboard-section,.staff-tab-panel{padding:17px}.outstanding-actions>a,.reminder-control button,.reminder-control form{width:100%}.staff-team-filters{grid-template-columns:1fr}.staff-filter-actions{display:grid;grid-template-columns:1fr 1fr}.staff-password-control{grid-template-columns:minmax(0,1fr) 36px 36px}.staff-password-control button:nth-child(2){grid-column:1/-1;grid-row:2}.staff-password-control button:nth-child(3){grid-column:2;grid-row:1}.staff-password-control button:nth-child(4){grid-column:3;grid-row:1}.roster-edit-form,.roster-fields,.staff-form-row{grid-template-columns:1fr!important}.roster-fields>div:last-child{grid-column:auto}.roster-edit-form>button{width:100%}.roster-actions{display:grid;grid-template-columns:1fr 1fr}.team-report-list article{grid-template-columns:1fr}.team-report-date{grid-column:auto}.team-report-list article>.tag,.team-report-list article>[data-slot=button]{justify-self:start}.report-team{overflow-x:auto}.report-team table{min-width:700px}.report-submit{align-items:stretch;flex-direction:column}.report-submit button{width:100%}}@layer components{.playoff-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}.playoff-toolbar nav{display:flex;gap:12px}.playoff-toolbar nav a{background:var(--navy);color:white;padding:11px 18px;border-radius:6px;font-weight:650}.playoff-season{display:grid;gap:7px;min-width:160px;font-size:.875rem;font-weight:600}.playoff-season select{width:100%;background:white;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font:inherit}.playoff-section{scroll-margin-top:24px;margin:0 0 56px;min-width:0}.playoff-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.playoff-section-heading h2{font-size:1.9rem;margin:5px 0}.playoff-section-heading .text-link{display:flex;align-items:center;gap:8px}.bracket-explainer{background:var(--pale);border-left:3px solid var(--blue);padding:15px 20px;border-radius:4px;font-size:.9rem;line-height:1.6}.bracket-scroll-hint{font-size:.8rem;color:var(--muted-ink);margin:16px 0 12px}.bracket-scroll{overflow-x:auto;padding:2px 2px 20px;overscroll-behavior-x:contain}.bracket-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.bracket-board{display:grid;gap:24px;min-width:1220px}.bracket-round{display:flex;flex-direction:column;min-width:0;position:relative}.bracket-round>h3{font-size:.95rem;display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--line);padding:0 0 13px;min-height:40px}.bracket-round>h3>span{color:var(--blue);font-size:.78rem}.bracket-stage-note{font-size:.75rem;line-height:1.5;color:var(--muted-ink);margin:12px 0 0}.bracket-round-games{display:flex;flex-direction:column;justify-content:space-around;gap:16px;flex:1;padding-top:18px}.bracket-game{display:block;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0e243509;transition:border-color .15s}.bracket-game:focus-visible,.bracket-game:hover{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:2px}.bracket-game-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:var(--pale);font-size:.75rem}.bracket-game-top>strong{color:var(--blue)}.bracket-game-top>span{color:var(--muted-ink)}.bracket-team{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:.875rem;line-height:1.4;min-height:44px}.bracket-team+.bracket-team{border-top:1px solid var(--line)}.bracket-team>span{overflow-wrap:anywhere}.bracket-team>strong{font-variant-numeric:tabular-nums}.bracket-team.is-winner{background:#eff8f2;font-weight:750}.bracket-game-bottom{border-top:1px solid var(--line);display:grid;gap:4px;padding:10px 12px;font-size:.72rem;line-height:1.5;color:var(--muted-ink)}.bracket-advance{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--blue);justify-content:flex-end;padding-top:12px}.bracket-extra{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.bracket-extra>h3{font-size:1.1rem;margin-bottom:6px}.bracket-extra>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,290px));gap:16px;margin-top:12px}@media(max-width:620px){.playoff-toolbar{align-items:stretch;flex-direction:column;gap:18px}.playoff-toolbar nav a{flex:1;text-align:center;padding-inline:12px}.playoff-section-heading{align-items:flex-start;flex-direction:column;gap:8px}.playoff-section-heading h2{font-size:1.55rem}.bracket-board{gap:18px}.bracket-explainer{padding:13px 15px}.playoff-section{margin-bottom:38px}}@media print{.bracket-advance,.bracket-scroll-hint,.playoff-toolbar{display:none}.bracket-scroll{overflow:visible}.bracket-board{min-width:0;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))!important}.bracket-game{box-shadow:none;break-inside:avoid}.bracket-team{font-size:8pt;padding:6px}.bracket-game-bottom,.bracket-game-top{font-size:7pt;padding:6px}.playoff-section{break-before:page}.playoff-section:first-of-type{break-before:auto}.bracket-stage-note{font-size:7pt}}}