/* Global admin theme layer, loaded after the base stylesheet. */
:root { color-scheme:var(--color-scheme,dark); }
body { background:var(--bg-primary); color:var(--text-primary); }
#login-container { background:var(--bg-primary); }
.glass, .modal-content, .card { background:var(--bg-card); color:var(--text-primary); }
.content-header, .sidebar, .modal-header { background:var(--bg-secondary); color:var(--text-primary); }
.header-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.header-actions select { width:auto; min-width:76px; min-height:38px; padding:6px 12px; }
#select-theme { min-width:112px; }
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), select, textarea { background-color:var(--bg-secondary); color:var(--text-primary); border-color:var(--border-glass); }
input::placeholder, textarea::placeholder { color:var(--text-muted); opacity:1; }
input:focus, select:focus, textarea:focus { background-color:var(--bg-secondary); border-color:var(--primary); }
select, #pane-edit-tournament select { color-scheme:var(--color-scheme, dark); background-color:var(--bg-secondary); color:var(--text-primary); }
select option, select optgroup, #pane-edit-tournament select option, #pane-edit-tournament select optgroup { background-color:var(--bg-secondary); color:var(--text-primary); font-size:14px; }
.btn-primary, #club-profile-tabs button[aria-selected=true] { background:var(--primary); color:var(--on-primary); }
.btn-primary:hover { background:var(--primary-hover); color:var(--on-primary); }
.btn-secondary, .btn-table-action { color:var(--text-primary); background:var(--bg-secondary); }
.btn-secondary:hover, .btn-table-action:hover { background:var(--row-hover); }
.btn-danger, .btn-purple { color:#fff; }
#toast { background:var(--bg-card); color:var(--text-primary); border:1px solid var(--border-glass); }
a { color:var(--primary); }
/* Stripe and hover remain distinguishable under every palette. */
table tbody tr:nth-child(even):not(.selected):not(.active):not(.highlighted) { background:var(--row-stripe); }
table tbody tr:hover:not(.selected):not(.active),
table tbody tr:focus-within:not(.selected):not(.active),
table tbody tr:nth-child(even):hover:not(.selected):not(.active),
table tbody tr:nth-child(even):focus-within:not(.selected):not(.active),
#table-club-members tbody tr:hover, #table-club-members tbody tr:focus-within,
#table-club-managers tbody tr:hover, .club-profile-recent tbody tr:hover,
#table-club-members tbody tr:nth-child(even):hover, #table-club-managers tbody tr:nth-child(even):hover,
.club-profile-recent tbody tr:nth-child(even):hover {
    background: var(--row-hover) !important;
}
table tbody tr:hover:not(.selected):not(.active) td,
table tbody tr:focus-within:not(.selected):not(.active) td,
table tbody tr:nth-child(even):hover:not(.selected):not(.active) td,
table tbody tr:nth-child(even):focus-within:not(.selected):not(.active) td {
    background: transparent !important;
}
.member-registration-row:nth-child(even) { background:var(--row-stripe); }
.member-registration-row:hover, .member-registration-row:focus-within,
.member-registration-row:nth-child(even):hover, .member-registration-row:nth-child(even):focus-within { background:var(--row-hover) !important; }
.autocomplete-suggestion-item:nth-child(even):not(.active) { background:var(--row-stripe); }
.autocomplete-suggestion-item:hover, .autocomplete-suggestion-item.active,
.autocomplete-suggestion-item:nth-child(even):hover { background:var(--row-hover) !important; color:var(--text-primary); }
#create-tournament-species { margin-top:16px; }
#create-tournament-species h4 { margin-bottom:10px; }
.series-species-scroll { overflow-x:auto; border:1px solid var(--border-glass); border-radius:8px; }
.series-species-table { width:100%; }
.series-species-table td, .series-species-table th { white-space:nowrap; }
.series-species-table tbody tr:nth-child(even) { background:var(--row-stripe); }
.series-species-table tbody tr:hover, .series-species-table tbody tr:nth-child(even):hover { background:var(--row-hover) !important; }
@media(max-width:640px) { .content-header { gap:12px; flex-wrap:wrap; } .header-actions { margin-left:auto; } }

.login-theme-control { position:absolute; right:24px; top:24px; display:flex; align-items:center; gap:10px; }
.login-theme-control select { width:125px; }
.sidebar .nav-item:nth-child(even):not(.active) { background:color-mix(in srgb, var(--text-primary) 3%, var(--bg-secondary)); }
/* Navigation uses quiet stripes; stronger fills are reserved for interaction. */
.sidebar .nav-item:hover:not(.active), .sidebar .nav-item:focus-visible:not(.active) { background:color-mix(in srgb, var(--primary) 13%, var(--bg-secondary)); color:var(--text-primary); }
.sidebar .nav-item.active { border:0; border-radius:var(--radius-sm); background:color-mix(in srgb, var(--primary) 18%, var(--bg-secondary)); box-shadow:inset 3px 0 var(--primary); color:var(--primary); }
.sidebar .nav-item.active:hover, .sidebar .nav-item.active:focus-visible { background:color-mix(in srgb, var(--primary) 26%, var(--bg-secondary)); }
.sidebar .nav-item:focus-visible { outline:2px solid var(--primary); outline-offset:-2px; }
.sidebar .nav-item { transition:background-color var(--transition-fast),color var(--transition-fast); }
.sidebar .nav-item:disabled { cursor:default; opacity:.5; }
.sidebar .nav-item:disabled:hover { background:transparent; color:var(--text-secondary); }
.sidebar .nav-item:nth-child(even):disabled:hover { background:color-mix(in srgb, var(--text-primary) 3%, var(--bg-secondary)); }
.club-season-board tbody tr:nth-child(even) td { background:var(--row-stripe); }
.club-season-board tbody tr:hover td, .club-season-board tbody tr:nth-child(even):hover td { background:var(--row-hover) !important; }

#table-clubs .btn-visibility-action { flex-shrink:0; }
#table-clubs .btn-visibility-action[aria-pressed=false] { color:var(--text-muted); }
#table-clubs .btn-visibility-action:disabled { opacity:.4; cursor:not-allowed; }
#table-clubs .btn-visibility-action:disabled:hover { background:var(--bg-secondary); }

.admin-row-icon, #table-club-members .admin-row-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; min-width:34px; height:34px; padding:0; font-size:17px; }
.admin-row-icon:disabled { opacity:.4; cursor:not-allowed; }
.admin-form-row { padding:12px; margin:8px 0; border-radius:8px; }
.admin-form-row:nth-child(even) { background:var(--row-stripe); }
.admin-form-row:hover, .admin-form-row:focus-within,
.admin-form-row:nth-child(even):hover, .admin-form-row:nth-child(even):focus-within { background:var(--row-hover) !important; }
.admin-form-row textarea { margin:8px 0; }
.form-help { margin:8px 0 16px; color:var(--text-secondary); font-size:13px; line-height:1.5; }

#admin-join-preview:not(.active) { visibility:hidden; }
#admin-membership-questions:empty::before {
  content: 'No additional membership questions saved. Use Add question to configure them.';
  display: block;
  padding: 12px 0;
  color: var(--text-secondary);
}
#admin-membership-questions .admin-form-row > label { display:block; margin-bottom:12px; }
#admin-membership-questions .admin-form-row > label[hidden] { display:none; }
#admin-membership-questions input:not([type="checkbox"]),
#admin-membership-questions select,
#admin-membership-questions textarea { width:100%; min-height:44px; margin-top:6px; box-sizing:border-box; }
.admin-form-row fieldset, .member-registration-row fieldset { border:1px solid var(--border-glass); border-radius:8px; padding:8px; }
.admin-form-row fieldset > label.admin-form-row,
.member-registration-row fieldset > label.admin-form-row { display:flex; align-items:center; gap:8px; }
.admin-form-row input[type="time"], .member-registration-row input[type="time"] { min-height:44px; padding:10px; border-radius:8px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#admin-membership-questions { overflow-x:auto; }
#admin-membership-questions .admin-question-row { display:grid; grid-template-columns:minmax(240px,1fr) 150px 120px 95px 36px; align-items:center; gap:10px; min-width:760px; padding:8px; margin:0; border-radius:0; border-bottom:1px solid var(--border-glass); }
#admin-membership-questions .admin-question-row > label { margin:0; }
#admin-membership-questions .admin-question-row input:not([type=checkbox]), #admin-membership-questions .admin-question-row select { min-height:36px; height:36px; margin:0; padding:6px 10px; }
#admin-membership-questions .admin-question-row [hidden] { display:none; }
#admin-membership-questions .admin-question-row > [data-length-label], #admin-membership-questions .admin-question-row > [data-options-label] { grid-column:3; grid-row:1; }
.admin-question-options-modal { width:min(560px,90vw); padding:24px; border:1px solid var(--border-glass); border-radius:12px; background:var(--bg-card); color:var(--text-primary); }
.admin-question-options-modal::backdrop { background:rgba(0,0,0,.65); }
.admin-question-options-modal label { display:block; }
.admin-question-options-modal textarea { display:block; width:100%; margin-top:10px; }
.admin-question-options-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:16px; }
.admin-join-preview-content { width:min(960px,95vw); max-width:960px; height:90vh; display:flex; flex-direction:column; }
#admin-join-preview-fields { flex:1; min-height:0; }
.admin-join-preview-frame { width:100%; height:100%; display:block; border:0; background:var(--bg-card); }
#admin-system-membership-questions tbody tr:nth-child(even) { background:var(--row-stripe); }
#admin-system-membership-questions tbody tr:hover { background:var(--row-hover); }
