:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1d2939;background:#f5f7fa}
*{box-sizing:border-box}
body{margin:0}
header{background:#123c69;color:#fff;padding:1rem max(1rem,calc((100% - 1500px)/2));display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem;align-items:center}
header a{color:#fff;text-decoration:none}
.brand{font-weight:700;flex:0 0 auto;display:flex;align-items:center;gap:.65rem}
.club-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:.4rem;padding:.15rem}
nav,.nav-links,.account-links{display:flex;align-items:center;gap:.9rem}
nav{min-width:0;flex-direction:column-reverse;align-items:flex-end;justify-content:center;gap:.55rem}
.nav-toggle{display:none;background:transparent;border:1px solid #6b87a8;color:#fff;padding:.55rem .7rem;font-weight:700}
.nav-links,.account-links{justify-content:flex-end;flex-wrap:wrap}
.account-links{width:100%;border-bottom:1px solid #6b87a8;padding:0 0 .45rem}
.signed-in{color:#dbe7f5;white-space:nowrap}
main{max-width:1100px;margin:2rem auto;padding:0 1rem;min-height:70vh}
footer{text-align:center;padding:2rem;color:#667085}
.card{background:#fff;border:1px solid #d0d5dd;border-radius:.6rem;padding:1rem;margin:1rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.admin-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.admin-section{margin:1.75rem 0}.admin-section>h2{margin-bottom:.25rem}.admin-section>.muted{margin-top:0}.admin-section .admin-menu-card h3{font-size:1.25rem;margin-top:0}
.admin-menu-card{display:flex;flex-direction:column;margin:0;min-height:240px}
.admin-menu-card h2{margin-top:0}
.admin-menu-card .button{align-self:flex-start;margin-top:auto}
.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end}
.row>label{margin:.5rem 0 0}
.scores-filters>label{flex:1 1 190px;min-width:150px}
.scores-filters>button,.scores-filters>.button{flex:0 0 auto}
label{display:block;font-weight:600;margin:.5rem 0}
input,select,textarea,button{font:inherit;padding:.65rem;border:1px solid #98a2b3;border-radius:.35rem}
input,select,textarea{width:100%}
button,.button{display:inline-block;background:#175cd3;color:#fff;border:0;padding:.7rem 1rem;border-radius:.35rem;text-decoration:none;cursor:pointer}
button.nav-toggle{display:none}
.secondary{background:#475467}
.danger{background:#b42318}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:.65rem;border-bottom:1px solid #e4e7ec;text-align:left}
.alert{padding:.8rem;border-radius:.35rem;margin:1rem 0}
.success{background:#d1fadf}
.error{background:#fee4e2}
.warning{background:#fef0c7}
.muted{color:#667085}
.actions{display:flex;gap:.5rem;flex-wrap:wrap}
.profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:1rem;align-items:start}
.profile-heading,.member-identity{display:flex;align-items:center;gap:.75rem}
.profile-heading h2{margin:0}
.selected-user-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.user-directory summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.user-directory-body{margin-top:1rem}
.profile-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid #d0d5dd;background:#eef2f6}
.profile-photo.small{width:42px;height:42px;border-width:1px;flex:0 0 auto}
.profile-photo.placeholder{display:inline-flex;align-items:center;justify-content:center;color:#475467;font-weight:700}
.team-identity{display:inline-flex;align-items:center;gap:.45rem;vertical-align:middle}
.team-logo{width:38px;height:38px;object-fit:contain;border:1px solid #d0d5dd;border-radius:.4rem;background:#fff;flex:0 0 auto}
.team-logo.small{width:28px;height:28px}
.team-logo.preview{width:96px;height:96px}
.game-matchup{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.team-logo-manager{padding:1rem 0;border-top:1px solid #e4e7ec}
.team-logo-manager:first-of-type{border-top:0}
.team-logo-manager h3{margin-top:0}
.quality-report details{margin-top:1rem}
.quality-report summary{cursor:pointer;margin-bottom:.75rem}
.quality-report ul{margin-bottom:0}
.privacy-option{display:flex;align-items:flex-start;gap:.6rem;font-weight:400}
.privacy-option input{width:auto;margin-top:.25rem}
.help{font-size:.9rem;color:#667085;font-weight:400}
fieldset{border:1px solid #d0d5dd;border-radius:.5rem;margin:1rem 0;padding:.75rem 1rem}
legend{font-weight:700;padding:0 .35rem}
.print-toolbar{margin-bottom:1rem}
.print-branding{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #344054}
.print-branding img{width:72px;height:72px;object-fit:contain}
.print-branding div{display:flex;flex-direction:column;gap:.2rem;font-size:1.1rem}
.print-branding strong{font-size:1.35rem}
.club-logo-preview{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin:1rem 0}
.club-logo-preview img{max-width:240px;max-height:160px;object-fit:contain;border:1px solid #d0d5dd;border-radius:.5rem;padding:.5rem;background:#fff}
.draw-date{margin:0 0 1.25rem;break-inside:avoid;page-break-inside:avoid}
.draw-date-heading{margin:0;padding:.65rem .8rem;background:#344054;color:#fff;border-radius:.35rem .35rem 0 0;font-size:1.15rem}
.print-draw-group{margin:0 0 .65rem}
.draw-group-heading{margin:0;padding:.42rem .65rem;background:#e4e7ec;border:1px solid #98a2b3;border-bottom:0;font-size:1rem}
.late-draw-label{font-weight:800;letter-spacing:.03em}
.draw-table{border:1px solid #98a2b3;table-layout:fixed}
.draw-table .sheet-column{width:11%}
.draw-table .team-column{width:44.5%}
.draw-table th,.draw-table td{overflow-wrap:anywhere}
.draw-table .team-identity{max-width:100%;min-width:0}
.draw-table .team-identity span{overflow-wrap:anywhere}
.draw-table th{background:#d0d5dd;color:#101828;border:1px solid #98a2b3}
.draw-table td{border:1px solid #cfd4dc}
.draw-table tbody tr:nth-child(even){background:#eef2f6}
.draw-table .bye-row{font-style:italic;color:#475467}
.admin-tabs{display:flex;gap:.5rem;overflow-x:auto;margin:0 0 1.25rem;padding:.25rem 0;border-bottom:1px solid #d0d5dd}
.admin-tabs a{display:flex;align-items:center;gap:.45rem;white-space:nowrap;padding:.75rem 1rem;color:#344054;background:#eaecf0;border:1px solid #d0d5dd;border-bottom:0;border-radius:.5rem .5rem 0 0;text-decoration:none;font-weight:700}
.admin-tabs a:hover{background:#d0d5dd}
.admin-tabs a.active{background:#175cd3;color:#fff;border-color:#175cd3}
.admin-tabs span{font-size:.8rem;font-weight:600;padding:.12rem .4rem;border-radius:1rem;background:rgba(255,255,255,.65);color:#344054}
.admin-tabs a.active span{background:rgba(255,255,255,.2);color:#fff}
.exception-guide .card{margin:0}
.exception-guide h3{margin-top:0}
.context-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:-.5rem 0 1rem;color:#667085;font-size:.95rem}
.context-nav a{color:#175cd3;text-decoration:none;font-weight:600}
.context-nav a:hover{text-decoration:underline}
.status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}
.status-badge.pooled{background:#e0e7ff;color:#3730a3}
.status-badge.standard{background:#eaecf0;color:#344054}
.schedule-jump{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.7rem .85rem;margin:1rem 0;background:#fff;border:1px solid #b2c8e6;border-radius:.5rem;box-shadow:0 2px 8px rgba(16,24,40,.08)}
.schedule-jump a{color:#175cd3;background:#eff4ff;padding:.4rem .65rem;border-radius:.35rem;text-decoration:none;font-weight:600}
.schedule-jump a:hover{background:#dbe7ff}
.quality-report,.game-section{scroll-margin-top:5rem}
.game-section{padding:0}
.game-section>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;cursor:pointer;font-size:1.25rem;list-style:none}
.game-section>summary::-webkit-details-marker{display:none}
.game-section>summary::before{content:'▶';font-size:.8rem;color:#667085}
.game-section[open]>summary::before{content:'▼'}
.game-section>summary span{margin-left:auto;color:#667085;font-size:.9rem;font-weight:600}
.game-section[open]>summary{border-bottom:1px solid #e4e7ec}
.game-section-body{padding:0 1rem 1rem}
.import-valid{color:#067647;font-weight:700}
.import-error{color:#b42318;font-weight:600}
.unread-badge{display:inline-block;margin-left:.25rem;padding:.1rem .4rem;border-radius:999px;background:#fff;color:#b42318;font-size:.78rem;font-weight:800}
.nav-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .35rem;border-radius:999px;background:#f04438;color:#fff;font-size:.76rem;font-weight:800;line-height:1}
.conversation-list{display:flex;flex-direction:column;gap:.8rem}
.conversation-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0}
.conversation-card.unread{border-color:#f79009;border-left:5px solid #f79009;background:#fffcf5}
.conversation-card-main{min-width:0}.conversation-card-main h2{margin:.15rem 0 .35rem;font-size:1.15rem;overflow-wrap:anywhere}.conversation-card-main p{margin:.25rem 0}
.conversation-meta{color:#475467;font-weight:700}
.conversation-card-action{display:flex;flex:0 0 auto;align-items:center;gap:.65rem}
.conversation-unread{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#fef0c7;color:#93370d;font-size:.82rem;font-weight:800;white-space:nowrap}
.score-entry{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}
.score-entry label{margin:0;font-size:.82rem;font-weight:600}
.score-entry input{width:4.5rem;margin-top:.2rem}
.score-entry button{white-space:nowrap}
.bulk-lock-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0;padding:.8rem;background:#f9fafb;border:1px solid #d0d5dd;border-radius:.5rem}
.bulk-lock-controls p{margin:.3rem 0 0;max-width:650px}
.game-chat-heading h2{margin:.25rem 0}
.chat-thread{display:flex;flex-direction:column;gap:.8rem}
.chat-message{border:1px solid #d0d5dd;border-radius:.55rem;padding:.8rem;background:#f9fafb}
.chat-message header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:none;color:inherit;padding:0}
.chat-message header span{color:#475467;font-size:.9rem}
.chat-message time{margin-left:auto;color:#667085;font-size:.85rem}
.chat-message p{margin:.65rem 0 0;white-space:normal;overflow-wrap:anywhere}
.chat-message.removed{background:#f2f4f7}
.chat-message details{margin-top:.75rem}
.table-scroll-region{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.mobile-scroll-cue{display:none;margin:.25rem 0 .6rem;color:#667085;font-size:.85rem;font-weight:600}
.resource-jump{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.resource-jump a{display:inline-block;padding:.5rem .7rem;border-radius:.35rem;background:#eaf2ff;color:#175cd3;text-decoration:none;font-weight:700}
.resource-jump a:hover{background:#dbe7ff}
.member-resource-section{scroll-margin-top:1rem}
.member-resource-section>h2{margin-bottom:.25rem}
.member-resource-section>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-size:1.15rem}
.member-resource-section>summary span{color:#667085;font-size:.9rem}
.member-resource-body{padding-top:1rem}
.resource-table a{white-space:nowrap}
@media(max-width:700px){.admin-tabs{display:grid;grid-template-columns:1fr 1fr}.admin-tabs a{white-space:normal;border-bottom:1px solid #d0d5dd;border-radius:.5rem}}
@media(max-width:1700px){.admin-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.8rem 1rem}
.brand{min-width:0;font-size:.98rem;line-height:1.2}.brand span{overflow-wrap:anywhere}.club-logo{width:42px;height:42px}
button.nav-toggle{display:inline-flex;align-items:center;gap:.35rem;justify-self:end}
header nav{display:none;grid-column:1/-1;width:100%;padding-top:.75rem;border-top:1px solid #6b87a8}
header.nav-open nav{display:flex}
nav,.nav-links,.account-links{align-items:stretch;flex-direction:column;width:100%;gap:.25rem}
.nav-links,.account-links{flex-wrap:nowrap}.nav-links a,.account-links a{display:flex;align-items:center;min-height:44px;padding:.55rem .35rem;border-radius:.3rem}.nav-links a:hover,.account-links a:hover{background:rgba(255,255,255,.1)}
.account-links{border:0;border-top:1px solid #6b87a8;padding:.65rem 0 0;margin-top:.4rem}.signed-in{white-space:normal;padding:.25rem .35rem .45rem}
main{margin:1.25rem auto;padding:0 .75rem}main>h1{font-size:2rem;line-height:1.1;margin:0 0 1rem}
.games-card{padding:.65rem;background:transparent;border:0;margin:0}
.responsive-games,.responsive-games tbody,.responsive-games tr,.responsive-games td{display:block;width:100%}
.responsive-games{overflow:visible;background:transparent}.responsive-games thead{display:none}
.responsive-games tr{background:#fff;border:1px solid #d0d5dd;border-radius:.6rem;padding:.45rem .8rem;margin:0 0 .8rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.responsive-games td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.55rem 0;border-bottom:1px solid #e4e7ec;overflow-wrap:anywhere}
.responsive-games td:last-child{border-bottom:0}.responsive-games td::before{content:attr(data-label);font-weight:700;color:#344054}
.responsive-games .game-matchup{min-width:0}.responsive-games .button{width:100%;text-align:center}.responsive-games .unread-badge{width:auto}
.responsive-games .score-entry{width:100%}.responsive-games .score-entry label{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;align-items:center;gap:.5rem;width:100%}.responsive-games .score-entry input{width:100%;margin:0}.responsive-games .score-entry button{width:100%}
.conversation-card{align-items:stretch;flex-direction:column}.conversation-card-action{align-items:stretch;flex-direction:column}.conversation-card-action .button{text-align:center;width:100%}
.resource-jump{align-items:stretch;flex-direction:column}.resource-jump a{text-align:center}
.card{padding:.85rem}.alert{overflow-wrap:anywhere}.button,button{min-height:44px}.link-button{min-height:44px;padding:.55rem .35rem}.admin-tabs a{min-height:44px}
.row{align-items:stretch}.row>label{flex:1 1 100%;min-width:0}.row>button,.row>.button{flex:1 1 100%;text-align:center}
.actions>button,.actions>.button{flex:1 1 8rem;text-align:center}
td,th{overflow-wrap:anywhere}.member-identity,.team-identity{min-width:0}.member-identity span,.team-identity span{overflow-wrap:anywhere}
.mobile-cards,.mobile-cards tbody,.mobile-cards tr,.mobile-cards td{display:block;width:100%}
.mobile-cards{overflow:visible;background:transparent}.mobile-cards thead{display:none}
.mobile-cards tr{background:#fff;border:1px solid #d0d5dd;border-radius:.6rem;padding:.45rem .8rem;margin:0 0 .8rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.mobile-cards td{display:grid;grid-template-columns:minmax(7rem,36%) minmax(0,1fr);gap:.65rem;align-items:start;padding:.6rem 0;border-bottom:1px solid #e4e7ec;overflow-wrap:anywhere}
.mobile-cards td:last-child{border-bottom:0}.mobile-cards td::before{content:attr(data-label);font-weight:700;color:#344054}
.mobile-cards td[data-label=""]{display:block}.mobile-cards td[data-label=""]::before{content:none}
.mobile-cards td>form,.mobile-cards td>details,.mobile-cards td>.row{min-width:0;width:100%}
.mobile-cards td button,.mobile-cards td .button{max-width:100%}
.mobile-cards select,.mobile-cards input,.mobile-cards textarea{min-width:0}
.mobile-scroll-cue{display:block}.mobile-scroll-table{min-width:680px}
.standings-table{min-width:520px}.standings-table th,.standings-table td{padding:.55rem .4rem}.standings-table th:not(:first-child),.standings-table td:not(:first-child){text-align:center}
}
@media(max-width:600px){.admin-menu-grid{grid-template-columns:1fr}.admin-menu-card{min-height:0}}
@media(max-width:750px){.profile-layout{grid-template-columns:1fr}table:not(.responsive-games){display:block;overflow-x:auto}}
@media print{@page{size:letter portrait;margin:.45in}header,footer,.no-print{display:none!important}main{margin:0;max-width:none;padding:0}main>h1{font-size:15pt;margin:0 0 .35rem}body{background:#fff}.print-schedule{font-size:8.5pt}.print-branding{margin-bottom:.45rem;padding-bottom:.35rem}.print-branding img{width:42px;height:42px}.print-branding strong{font-size:11pt}.print-branding div{font-size:9pt}.team-logo{width:16px;height:16px}.draw-date{display:block;margin-bottom:.55rem;break-inside:avoid!important;page-break-inside:avoid!important}.draw-date-heading{padding:.3rem .5rem;font-size:10pt}.print-draw-group{margin-bottom:.28rem}.draw-group-heading{padding:.22rem .42rem;font-size:8.8pt}.draw-date-heading,.draw-group-heading,.draw-table th,.draw-table tbody tr:nth-child(even){-webkit-print-color-adjust:exact;print-color-adjust:exact}.draw-date-heading{background:#344054!important;color:#fff!important}.draw-group-heading{background:#e4e7ec!important}.draw-table th{background:#d0d5dd!important}.draw-table tbody tr:nth-child(even){background:#eef2f6!important}table.draw-table{display:table!important;width:100%!important;table-layout:fixed!important;overflow:visible!important;margin:0}table.draw-table th,table.draw-table td{padding:.2rem .38rem;line-height:1.15}}
.signout-form{display:inline;margin:0}.link-button{background:none;border:0;color:inherit;font:inherit;padding:0;text-decoration:underline;cursor:pointer}.link-button:hover{background:none}
