:root {
  color-scheme: dark;
  --bg: #090c12;
  --panel: #121722;
  --panel-2: #181f2d;
  --line: #2b3445;
  --text: #f5f7fb;
  --muted: #aeb8c8;
  --accent: #ff5a36;
  --accent-2: #ff815f;
  --success: #3ddc97;
  --warning: #ffcc66;
  --danger: #ff6b7a;
  --info: #67b7ff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top right, #191321 0, var(--bg) 36%); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.site-header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.2rem clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--line); background: rgba(9, 12, 18, .88); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 5; }
.brand-wrap { display: flex; align-items: center; gap: .9rem; }
.brand-logo { width: 58px; height: 58px; object-fit: contain; border-radius: 14px; background: rgba(255,255,255,.03); box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .12rem; font-size: clamp(1.1rem, 3vw, 1.55rem); }
.site-header p { margin: 0; color: var(--muted); font-size: .9rem; }
.connection-badge { border: 1px solid var(--line); color: var(--warning); border-radius: 999px; padding: .48rem .75rem; font-size: .78rem; white-space: nowrap; }
.connection-badge.online { color: var(--success); }

.shell { width: min(1100px, calc(100% - 2rem)); margin: 2rem auto 4rem; }
.tabs { display: grid; grid-template-columns: repeat(6, 1fr); gap: .55rem; margin-bottom: 1rem; padding: .4rem; border: 1px solid var(--line); border-radius: 16px; background: #0e131c; }
.tab { border: 0; border-radius: 11px; padding: .85rem .6rem; background: transparent; color: var(--muted); font-weight: 750; }
.tab:hover, .tab.active { background: var(--panel-2); color: var(--text); }
.tab.active { box-shadow: inset 0 -2px 0 var(--accent); }
.view { display: none; }
.view.active { display: block; }

.panel { border: 1px solid var(--line); background: linear-gradient(180deg, rgba(24,31,45,.95), rgba(18,23,34,.95)); border-radius: 18px; padding: clamp(1rem, 3vw, 1.45rem); box-shadow: 0 18px 45px rgba(0,0,0,.16); margin-bottom: 1rem; }
.intro-panel { padding-block: 1.7rem; }
.intro-panel h2, .dashboard-header h2, .admin-login h2 { font-size: clamp(1.45rem, 4vw, 2rem); margin-bottom: .55rem; }
.intro-panel p:last-child { max-width: 720px; color: var(--muted); margin-bottom: 0; line-height: 1.65; }
.eyebrow { color: var(--accent-2); font-size: .76rem; font-weight: 900; letter-spacing: .14em; margin-bottom: .45rem; }
.muted, small, .optional { color: var(--muted); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.compact-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 1rem; }
label { display: flex; flex-direction: column; gap: .48rem; color: #dfe5ee; font-size: .9rem; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: #0c111a; color: var(--text); padding: .8rem .9rem; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,90,54,.12); }
textarea { min-height: 112px; resize: vertical; }
.wide { grid-column: 1 / -1; }
.checkbox-label { flex-direction: row; align-items: flex-start; font-weight: 500; }
.checkbox-label input { width: auto; margin-top: .15rem; }
.action-row { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }

.primary, .secondary, .danger-button { border-radius: 11px; border: 1px solid transparent; padding: .78rem 1rem; font-weight: 850; }
.primary { background: linear-gradient(135deg, var(--accent), #e12f43); color: white; }
.primary:hover { filter: brightness(1.08); }
.secondary { background: var(--panel-2); color: var(--text); border-color: var(--line); }
.danger-button { background: rgba(255,107,122,.1); color: var(--danger); border-color: rgba(255,107,122,.35); }
button:disabled { opacity: .55; cursor: not-allowed; }

.notice { border-radius: 13px; padding: .9rem 1rem; margin-bottom: 1rem; border: 1px solid; }
.notice.warning { color: var(--warning); border-color: rgba(255,204,102,.4); background: rgba(255,204,102,.08); }
.success-panel { border-color: rgba(61,220,151,.35); }
.code-box { display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: #090d14; border: 1px dashed rgba(61,220,151,.55); border-radius: 13px; padding: 1rem; margin: 1rem 0; }
.code-box span { color: var(--muted); }
.code-box strong { color: var(--success); font-size: clamp(1.25rem, 5vw, 1.75rem); letter-spacing: .08em; }

.status-heading, .dashboard-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.status-badge { border-radius: 999px; padding: .55rem .78rem; font-size: .8rem; font-weight: 900; background: var(--panel-2); border: 1px solid var(--line); }
.status-badge.pending { color: var(--warning); }
.status-badge.approved { color: var(--success); }
.status-badge.action { color: var(--info); }
.status-badge.rejected { color: var(--danger); }
.status-badge.waitlisted { color: #c89cff; }
.status-badge.withdrawn { color: var(--muted); }
.detail-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 1.2rem 0 0; }
.detail-list div { border: 1px solid var(--line); border-radius: 12px; padding: .85rem; background: rgba(9,13,20,.45); }
.detail-list dt { color: var(--muted); font-size: .75rem; margin-bottom: .35rem; }
.detail-list dd { margin: 0; overflow-wrap: anywhere; }
.detail-list .wide-detail { grid-column: 1 / -1; }
.status-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; }
.inline-note { margin-top: .8rem; margin-bottom: 0; }

.admin-login { max-width: 720px; margin-inline: auto; }
.filters { display: grid; grid-template-columns: 1fr 1.6fr auto auto; gap: 1rem; align-items: end; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin-bottom: 1rem; }
.summary-card { border: 1px solid var(--line); background: var(--panel); border-radius: 14px; padding: 1rem; }
.summary-card span { display: block; color: var(--muted); font-size: .75rem; }
.summary-card strong { display: block; margin-top: .25rem; font-size: 1.5rem; }
.registration-list { display: grid; gap: .85rem; }
.registration-card { border: 1px solid var(--line); background: var(--panel); border-radius: 17px; overflow: hidden; }
.registration-card summary { list-style: none; cursor: pointer; padding: 1rem 1.1rem; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 1rem; align-items: center; }
.registration-card summary::-webkit-details-marker { display: none; }
.registration-card summary:hover { background: rgba(255,255,255,.025); }
.registration-card h3 { margin: 0 0 .25rem; font-size: 1rem; }
.registration-card summary p { margin: 0; color: var(--muted); font-size: .83rem; overflow-wrap: anywhere; }
.registration-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--muted); }
.admin-card-body { border-top: 1px solid var(--line); padding: 1.1rem; }
.admin-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-bottom: 1rem; }
.admin-details div { border-radius: 10px; background: #0d121b; padding: .75rem; }
.admin-details span { display: block; color: var(--muted); font-size: .72rem; margin-bottom: .25rem; }
.review-form { display: grid; grid-template-columns: 1fr 2fr auto; gap: .8rem; align-items: end; }
.empty-state { text-align: center; color: var(--muted); }

.toast { position: fixed; right: 1rem; bottom: 1rem; max-width: min(390px, calc(100% - 2rem)); border: 1px solid var(--line); background: #151b27; color: var(--text); border-radius: 13px; padding: .9rem 1rem; box-shadow: 0 18px 50px rgba(0,0,0,.35); z-index: 20; }
.toast.error { border-color: rgba(255,107,122,.5); color: #ffd5da; }
.busy-text { color: var(--muted); }
footer { text-align: center; padding: 0 1rem 2rem; color: #7f899a; font-size: .8rem; }

@media (max-width: 780px) {
  .form-grid, .compact-form, .filters, .review-form { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-list, .admin-details { grid-template-columns: 1fr; }
  .registration-card summary { grid-template-columns: 1fr; }
  .status-heading, .dashboard-header { flex-direction: column; }
  .compact-form button, .filters button, .review-form button { width: 100%; }
}

@media (max-width: 520px) {
  .site-header { align-items: flex-start; }
  .site-header p { display: none; }
  .brand-logo { width: 48px; height: 48px; }
  .shell { width: min(100% - 1rem, 1100px); margin-top: 1rem; }
  .tabs { gap: .25rem; }
  .tab { font-size: .82rem; padding-inline: .2rem; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .code-box { flex-direction: column; align-items: flex-start; }
}

.section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.section-heading h2 { margin-bottom: .45rem; }
.event-form { display: grid; grid-template-columns: 1.5fr 1fr 1fr .7fr; gap: .85rem; align-items: end; padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(9,13,20,.4); }
.event-closed-toggle { align-self: center; }
.event-form-actions { display: flex; gap: .65rem; flex-wrap: wrap; grid-column: 1 / -1; }
.event-list { display: grid; gap: .8rem; }
.event-card { border: 1px solid var(--line); border-radius: 15px; padding: 1rem; background: #0d121b; }
.event-card-main { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.event-card h3 { margin: 0 0 .3rem; }
.event-card p { margin: 0; color: var(--muted); font-size: .84rem; }
.event-status { border: 1px solid var(--line); border-radius: 999px; padding: .42rem .68rem; font-size: .75rem; font-weight: 900; white-space: nowrap; }
.event-status.event-open { color: var(--success); }
.event-status.event-waitlist { color: #c89cff; }
.event-status.event-upcoming { color: var(--info); }
.event-status.event-closed { color: var(--muted); }
.event-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: .9rem; }
.event-stats div { border: 1px solid var(--line); border-radius: 10px; padding: .72rem; background: rgba(255,255,255,.018); }
.event-stats span { display: block; color: var(--muted); font-size: .7rem; margin-bottom: .22rem; }
.event-stats strong { font-size: 1.05rem; }
.event-card-actions { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: .85rem; }

@media (max-width: 900px) {
  .event-form { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .event-form, .event-stats { grid-template-columns: 1fr; }
  .event-card-main { flex-direction: column; }
  .event-card-actions button { width: 100%; }
}

.tos-box {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(9, 13, 20, .5);
  overflow: hidden;
}
.tos-box summary {
  cursor: pointer;
  padding: .9rem 1rem;
  font-weight: 850;
  color: var(--text);
}
.tos-box summary:hover { background: rgba(255, 255, 255, .025); }
.tos-content {
  border-top: 1px solid var(--line);
  padding: .95rem 1rem 1rem;
  color: var(--muted);
  line-height: 1.55;
}
.tos-content p:last-child, .tos-content ul:last-child { margin-bottom: 0; }
.tos-content ul { padding-left: 1.2rem; }
.tos-content li + li { margin-top: .4rem; }


.account-notice {
  color: var(--info);
  border-color: rgba(103, 183, 255, .38);
  background: rgba(103, 183, 255, .07);
}
.auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.stack-form {
  display: grid;
  gap: .9rem;
}
.inset-form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.text-button {
  border: 0;
  padding: .25rem 0;
  background: transparent;
  color: var(--info);
  text-align: left;
  font-weight: 750;
}
.text-button:hover { text-decoration: underline; }
.two-column-auth { grid-template-columns: 1fr 1fr auto; }
.account-section-heading { align-items: center; }
.account-registration-list { margin-top: 1rem; }
.account-registration-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1rem;
  background: #0d121b;
}
.account-registration-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.account-registration-head h3 { margin: 0 0 .3rem; }
.account-registration-head p { margin: 0; color: var(--muted); font-size: .84rem; }
.account-registration-meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .65rem;
  margin-top: .85rem;
}
.account-registration-meta div {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .7rem;
  background: rgba(255,255,255,.018);
  overflow-wrap: anywhere;
}
.account-registration-meta span {
  display: block;
  color: var(--muted);
  font-size: .7rem;
  margin-bottom: .22rem;
}
.account-registration-message {
  margin: .85rem 0 0;
  padding: .75rem;
  border-left: 3px solid var(--line);
  color: var(--muted);
  background: rgba(255,255,255,.018);
}
.account-registration-actions {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: .85rem;
}
.account-linked-badge {
  display: inline-flex;
  margin-top: .4rem;
  color: var(--success);
  font-size: .72rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .auth-grid { grid-template-columns: 1fr; }
  .account-registration-meta { grid-template-columns: repeat(2, 1fr); }
  .two-column-auth { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .tabs { grid-template-columns: repeat(2, 1fr); }
  .account-registration-head { flex-direction: column; }
  .account-registration-meta { grid-template-columns: 1fr; }
  .account-registration-actions button { width: 100%; }
  .account-section-heading { flex-direction: column; }
}


.notification-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  padding: .9rem;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(9, 13, 20, .4);
}
.notification-options .checkbox-label {
  padding: .25rem;
}
#discordWebhookStatus.configured { color: var(--success); }
#discordWebhookStatus.disabled { color: var(--warning); }
#discordWebhookStatus.error { color: var(--danger); }
@media (max-width: 780px) {
  .notification-options { grid-template-columns: 1fr; }
}


/* v5.7 multiple Discord webhook destinations */
.discord-global-settings { margin-bottom: 1rem; }
.discord-divider { height: 1px; background: var(--line); margin: 1.35rem 0; }
.compact-heading { margin-bottom: .9rem; }
.compact-heading h3 { margin: 0 0 .35rem; }
.discord-add-form { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.6fr) auto auto; gap: .8rem; align-items: end; margin-bottom: .7rem; }
.discord-webhook-list { display: grid; gap: .9rem; margin-top: 1.2rem; }
.discord-webhook-card { border: 1px solid var(--line); border-radius: 14px; padding: 1rem; background: rgba(9,13,20,.42); }
.discord-webhook-card-header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: .9rem; }
.discord-webhook-card-header strong, .discord-webhook-card-header span { display: block; }
.discord-webhook-card-header .muted { margin-top: .25rem; font-size: .8rem; }
.discord-webhook-fields { display: grid; grid-template-columns: 1fr 1.6fr auto; gap: .8rem; align-items: end; margin-bottom: .85rem; }
.webhook-enabled-toggle { align-self: center; }

@media (max-width: 900px) {
  .discord-add-form, .discord-webhook-fields { grid-template-columns: 1fr; }
}

/* v6.0 — team rosters and event-specific registration fields */
.event-rules-panel,
.roster-panel,
.custom-question-list {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem;
  background: rgba(9, 13, 20, .48);
}

.event-rules-text {
  white-space: pre-wrap;
  line-height: 1.65;
  color: #dfe5ee;
  max-height: 320px;
  overflow: auto;
  padding: .85rem;
  border-radius: 10px;
  background: #0c111a;
  border: 1px solid var(--line);
}

.event-rules-acceptance { margin-top: .85rem; }
.event-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.roster-member-list { display: grid; gap: .8rem; margin-top: .8rem; }
.roster-member-card { border: 1px solid var(--line); border-radius: 13px; padding: .9rem; background: #0c111a; }
.roster-member-heading { display: flex; justify-content: space-between; gap: .8rem; align-items: center; margin-bottom: .75rem; }
.roster-member-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.roster-remove { padding: .5rem .7rem; }
.roster-display, .event-answer-display { display: grid; gap: .55rem; padding-top: .75rem; }
.roster-display-row, .answer-line { display: grid; grid-template-columns: minmax(100px, .35fr) 1fr; gap: .75rem; padding: .65rem .75rem; border-radius: 10px; background: #0d121b; }
.roster-display-row span, .answer-line span { color: var(--muted); overflow-wrap: anywhere; }
.account-detail-box, .admin-detail-box { margin: .8rem 0; border: 1px solid var(--line); border-radius: 12px; padding: .75rem; background: rgba(9,13,20,.35); }
.account-detail-box summary, .admin-detail-box summary { cursor: pointer; font-weight: 800; }
.event-form .wide { grid-column: 1 / -1; }
.event-form textarea[name="rules_text"] { min-height: 180px; }
.event-form textarea[name="custom_questions_text"] { min-height: 145px; }

@media (max-width: 980px) {
  .roster-member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  .event-question-grid, .roster-member-grid { grid-template-columns: 1fr; }
  .roster-display-row, .answer-line { grid-template-columns: 1fr; gap: .25rem; }
}


/* v6.1 — match centre, standings, and audit history */
.match-public-controls,
.audit-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: .85rem;
  align-items: end;
}

.match-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  align-items: end;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(9, 13, 20, .4);
}

.match-form .wide { grid-column: 1 / -1; }
.match-form textarea { min-height: 105px; }
.match-list { display: grid; gap: .85rem; }
.match-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 1rem;
  background: rgba(9, 13, 20, .42);
}
.match-card-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.match-card h3 { margin: 0 0 .3rem; }
.match-card p { margin: 0; }
.match-versus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  margin: .95rem 0;
}
.match-side {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .85rem;
  background: #0c111a;
  text-align: center;
  overflow-wrap: anywhere;
}
.match-side strong { display: block; font-size: 1.05rem; }
.match-score { display: block; font-size: 1.65rem; font-weight: 950; margin-top: .25rem; }
.match-vs-label { color: var(--muted); font-weight: 900; }
.match-meta { display: flex; gap: .65rem 1rem; flex-wrap: wrap; color: var(--muted); font-size: .85rem; }
.match-notes { margin-top: .8rem !important; white-space: pre-wrap; color: #dfe5ee; }
.match-card-actions { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: .9rem; }
.match-status-scheduled { color: var(--warning); }
.match-status-in-progress { color: var(--info); }
.match-status-completed { color: var(--success); }
.match-status-cancelled { color: var(--danger); }

.table-scroll { overflow-x: auto; }
.standings-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.standings-table th,
.standings-table td { padding: .75rem .65rem; border-bottom: 1px solid var(--line); text-align: center; }
.standings-table th { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.standings-table th:nth-child(2),
.standings-table td:nth-child(2) { text-align: left; }
.standings-table tbody tr:hover { background: rgba(255,255,255,.025); }
.standings-position { color: var(--accent-2); font-weight: 950; }
.standings-points { color: var(--success); font-weight: 950; }
.admin-match-summary { margin-bottom: 1rem; }

.audit-filters { grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.4fr) auto; margin-bottom: 1rem; }
.audit-list { display: grid; gap: .7rem; }
.audit-card {
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: .9rem 1rem;
  background: rgba(9,13,20,.42);
}
.audit-card summary { cursor: pointer; list-style: none; }
.audit-card summary::-webkit-details-marker { display: none; }
.audit-card-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; }
.audit-action {
  border-radius: 999px;
  border: 1px solid var(--line);
  padding: .35rem .55rem;
  font-size: .72rem;
  font-weight: 900;
  color: var(--accent-2);
}
.audit-card h3 { margin: 0 0 .2rem; font-size: .95rem; }
.audit-card p { margin: 0; color: var(--muted); font-size: .8rem; }
.audit-time { color: var(--muted); font-size: .78rem; white-space: nowrap; }
.audit-details { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.audit-change-list { display: grid; gap: .45rem; }
.audit-change-row { display: grid; grid-template-columns: minmax(130px, .45fr) 1fr; gap: .65rem; padding: .55rem .65rem; border-radius: 9px; background: #0c111a; }
.audit-change-row span:first-child { color: var(--muted); }
.audit-json { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .75rem; color: var(--muted); max-height: 260px; overflow: auto; }

@media (max-width: 900px) {
  .match-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-filters { grid-template-columns: 1fr 1fr; }
  .audit-filters button { width: 100%; }
}

@media (max-width: 680px) {
  .match-form,
  .match-public-controls,
  .audit-filters { grid-template-columns: 1fr; }
  .match-versus { grid-template-columns: 1fr; }
  .match-vs-label { text-align: center; }
  .audit-card-header { grid-template-columns: 1fr; }
  .audit-time { white-space: normal; }
  .audit-change-row { grid-template-columns: 1fr; gap: .2rem; }
}

/* v6.3 — player event check-in */
.filters { grid-template-columns: 1fr 1fr 1.5fr auto auto; }
.check-in-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .38rem .62rem;
  background: rgba(255,255,255,.025);
  font-size: .75rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.check-in-badge.check-in-pending { color: var(--warning); }
.check-in-badge.check-in-complete { color: var(--success); }
.check-in-badge.check-in-late { color: var(--accent-2); }
.check-in-badge.check-in-replacement { color: var(--danger); }
.check-in-badge.check-in-not-required { color: var(--muted); }
.registration-summary-badges { display: grid; justify-items: end; gap: .45rem; }
.check-in-admin-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: .8rem;
  align-items: end;
  margin: .8rem 0;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(9,13,20,.35);
}

@media (max-width: 900px) {
  .filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 780px) {
  .filters, .check-in-admin-form { grid-template-columns: 1fr; }
  .check-in-admin-form button { width: 100%; }
  .registration-summary-badges { justify-items: start; }
}

/* v6.4 — drafted multi-player match sides and per-match attendee check-in */
.match-attendee-selector {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(9,13,20,.42);
  padding: 1rem;
}
.match-attendee-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  max-height: 360px;
  overflow: auto;
  padding-right: .2rem;
}
.match-attendee-option {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: .7rem;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #0c111a;
  padding: .75rem;
  font-weight: 650;
}
.match-attendee-option:hover { border-color: rgba(255,90,54,.62); }
.match-attendee-option input { width: auto; margin-top: .18rem; }
.match-attendee-option span { display: block; min-width: 0; }
.match-attendee-option small { display: block; margin-top: .18rem; font-weight: 500; overflow-wrap: anywhere; }
.match-attendee-option.unavailable { opacity: .48; }
.selection-count {
  align-self: center;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
}
.match-lineups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-top: .9rem;
}
.match-lineup {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .8rem;
  background: rgba(9,13,20,.38);
}
.match-lineup h4 { margin: 0 0 .5rem; font-size: .86rem; }
.match-lineup ul { margin: 0; padding-left: 1.1rem; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.match-checkin-list { display: grid; gap: .85rem; }
.match-checkin-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #0d121b;
  padding: 1rem;
}
.match-checkin-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .8rem;
  margin-bottom: .75rem;
}
.match-checkin-head h3 { margin: 0 0 .25rem; font-size: 1rem; }
.match-checkin-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.match-checkin-attendees { display: grid; gap: .55rem; }
.match-checkin-attendee {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .7rem;
  border-top: 1px solid var(--line);
  padding-top: .65rem;
}
.match-checkin-attendee:first-child { border-top: 0; padding-top: 0; }
.match-checkin-attendee strong { display: block; }
.match-checkin-attendee small { color: var(--muted); display: block; margin-top: .18rem; }
.match-checkin-window { color: var(--muted); font-size: .8rem; margin-top: .7rem; }
.admin-attendee-checkin-list { display: grid; gap: .55rem; margin-top: .85rem; }
.admin-attendee-checkin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, .7fr) auto;
  gap: .65rem;
  align-items: end;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: .7rem;
  background: #0c111a;
}
.admin-attendee-checkin-row p { margin: .2rem 0 0; color: var(--muted); font-size: .78rem; }

@media (max-width: 780px) {
  .match-attendee-options, .match-lineups { grid-template-columns: 1fr; }
  .match-checkin-attendee, .admin-attendee-checkin-row { grid-template-columns: 1fr; }
  .match-checkin-attendee button, .admin-attendee-checkin-row button { width: 100%; }
}


/* v6.5 Discord match notification controls */
.input-with-suffix { display: flex; align-items: center; gap: .65rem; }
.input-with-suffix input { max-width: 130px; }
.input-with-suffix span { color: var(--muted); font-size: .82rem; white-space: nowrap; }
@media (max-width: 520px) { .input-with-suffix { align-items: stretch; flex-direction: column; } .input-with-suffix input { max-width: none; } }

/* v6.6 Player availability calendar */
.availability-list { display: grid; gap: .8rem; margin-top: 1rem; }
.availability-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #0d121b;
  padding: 1rem;
}
.availability-card-head { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; }
.availability-card h3 { margin: 0 0 .2rem; font-size: 1rem; }
.availability-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.availability-time { margin: .8rem 0 .55rem; font-weight: 750; }
.availability-note { margin-bottom: .75rem !important; }
.availability-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  border: 1px solid var(--line);
  padding: .28rem .55rem;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.availability-chip.availability-available { color: var(--success); border-color: rgba(61,220,151,.35); background: rgba(61,220,151,.08); }
.availability-chip.availability-unavailable { color: var(--danger); border-color: rgba(255,107,122,.35); background: rgba(255,107,122,.08); }
.availability-chip.availability-unknown { color: var(--warning); border-color: rgba(255,204,102,.35); background: rgba(255,204,102,.08); }
.match-attendee-option.availability-unavailable { border-color: rgba(255,107,122,.5); }
.match-attendee-option.availability-available { border-color: rgba(61,220,151,.38); }
.match-attendee-option.availability-unknown { border-color: rgba(255,204,102,.25); }
.match-attendee-option .availability-chip { margin-top: .45rem; }
.availability-picker-note { color: #ffd5da !important; }

@media (max-width: 600px) {
  .availability-card-head { flex-direction: column; }
}


/* v6.7 Public event pages */
.public-event-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.public-event-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.15rem;
  background: linear-gradient(180deg, rgba(24,31,45,.95), rgba(18,23,34,.95));
  box-shadow: 0 18px 45px rgba(0,0,0,.14);
}
.public-event-card-heading,
.public-event-detail-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.public-event-card h3 { margin: 0; font-size: 1.25rem; }
.public-event-card-description,
.public-event-description { color: var(--muted); line-height: 1.6; white-space: pre-line; }
.public-event-card-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1rem 0;
}
.public-event-card-stats span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .4rem .65rem;
  color: var(--muted);
  font-size: .76rem;
}
.public-event-card-stats strong { color: var(--text); }
.public-event-hero { border-color: rgba(255,90,54,.32); }
.public-event-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin: 1.15rem 0;
}
.public-event-stat-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .8rem;
  background: rgba(9,13,20,.42);
}
.public-event-stat-grid span { display: block; color: var(--muted); font-size: .72rem; margin-bottom: .3rem; }
.public-event-stat-grid strong { display: block; overflow-wrap: anywhere; }
.public-event-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.public-event-rules { line-height: 1.7; }
.public-participant-list { display: grid; gap: .6rem; }
.public-participant-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #0d121b;
  padding: .75rem .85rem;
}
.public-participant-row strong { display: block; }
.public-participant-row span { color: var(--muted); font-size: .78rem; }
.event-public-toggle { align-self: end; padding-bottom: .75rem; }

@media (max-width: 900px) {
  .tabs { grid-template-columns: repeat(3, 1fr); }
  .public-event-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .public-event-grid { grid-template-columns: 1fr; }
  .public-event-card-heading, .public-event-detail-heading { flex-direction: column; }
  .public-event-actions button { width: 100%; }
}
@media (max-width: 520px) {
  .tabs { grid-template-columns: repeat(2, 1fr); }
  .public-event-stat-grid { grid-template-columns: 1fr; }
  .public-participant-row { align-items: flex-start; flex-direction: column; }
}


/* v6.8 admin accordion sections */
.admin-accordion {
  padding: 0;
  overflow: hidden;
}

.admin-accordion-summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.45rem);
  cursor: pointer;
  user-select: none;
}

.admin-accordion-summary::-webkit-details-marker { display: none; }
.admin-accordion-summary::marker { content: ""; }
.admin-accordion-summary:hover { background: rgba(255,255,255,.025); }
.admin-accordion[open] > .admin-accordion-summary { border-bottom: 1px solid var(--line); }

.admin-accordion-copy {
  min-width: 0;
  flex: 1;
}

.admin-accordion-copy .eyebrow {
  display: block;
  margin-bottom: .35rem;
}

.admin-accordion-copy h2 {
  margin: 0 0 .3rem;
  font-size: clamp(1.1rem, 3vw, 1.45rem);
}

.admin-accordion-copy p {
  margin: 0;
  line-height: 1.45;
}

.admin-accordion-chevron {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-2);
  font-size: 1.2rem;
  transition: transform .18s ease;
}

.admin-accordion[open] > .admin-accordion-summary .admin-accordion-chevron {
  transform: rotate(180deg);
}

.admin-accordion-body {
  padding: clamp(1rem, 3vw, 1.45rem);
}

.admin-accordion-body > :last-child { margin-bottom: 0; }
.admin-accordion-body > .filters { margin-bottom: 1rem; }

@media (max-width: 620px) {
  .admin-accordion-summary { align-items: flex-start; }
  .admin-accordion-summary .connection-badge { display: none; }
  .admin-accordion-copy p { font-size: .82rem; }
}


/* v7.0 roster account linking */
.roster-link-caption { margin: .75rem 0 1rem; color: var(--muted); line-height: 1.55; }
.roster-account-link-list { display: grid; gap: .75rem; }
.roster-account-link-form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.4fr) auto; gap: .8rem; align-items: end; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: rgba(9,13,20,.45); }
.roster-link-player { display: flex; flex-direction: column; gap: .22rem; }
.roster-link-player small { color: var(--muted); }
.roster-link-status { width: fit-content; margin-top: .25rem; border: 1px solid var(--line); border-radius: 999px; padding: .24rem .5rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.roster-link-status.linked { color: var(--success); border-color: rgba(61,220,151,.35); background: rgba(61,220,151,.07); }
@media (max-width: 850px) { .roster-account-link-form { grid-template-columns: 1fr; } .roster-account-link-form button { width: 100%; } }


/* v7.5 system health and manual backups */
.health-version-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.health-version-grid .summary-card { margin: 0; }
.health-time { font-size: 1rem !important; overflow-wrap: anywhere; }
.health-actions { margin-bottom: 1rem; }
.system-health-list { display: grid; gap: .7rem; margin-bottom: 1rem; }
.system-health-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: flex-start; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: rgba(9,13,20,.45); }
.system-health-row.ok { border-color: rgba(61,220,151,.3); }
.system-health-row.issue { border-color: rgba(255,107,122,.42); }
.system-health-row strong { display: block; margin-bottom: .2rem; }
.system-health-row p { margin: 0; color: var(--muted); line-height: 1.45; overflow-wrap: anywhere; }
.health-icon { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border: 1px solid currentColor; border-radius: 999px; font-weight: 900; }
.system-health-row.ok .health-icon { color: var(--success); }
.system-health-row.issue .health-icon { color: var(--danger); }
.backup-security-note { margin-top: .8rem; margin-bottom: 0; }
.connection-badge.error { color: var(--danger); border-color: rgba(255,107,122,.4); }
@media (max-width: 720px) { .health-version-grid { grid-template-columns: 1fr; } .health-actions button { width: 100%; } }


/* v7.6 per-webhook notification routing */
.webhook-routing-options {
  grid-column: 1 / -1;
  min-width: 0;
  margin: .2rem 0 .1rem;
  padding: 0;
  border: 0;
}
.webhook-routing-options legend {
  margin-bottom: .55rem;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}
.discord-webhook-fields .webhook-routing-options { align-self: stretch; }
.discord-add-form > .webhook-routing-options { grid-column: 1 / -1; }

/* v7.7 — player notifications and discipline / eligibility */
.tab-count {
  display: inline-grid;
  min-width: 1.35rem;
  height: 1.35rem;
  margin-left: .35rem;
  place-items: center;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: .7rem;
  line-height: 1;
  padding: 0 .3rem;
}

.notification-centre-list,
.discipline-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}

.player-notification-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem;
  background: rgba(9, 13, 20, .5);
}

.player-notification-card.unread {
  border-color: rgba(103, 183, 255, .55);
  box-shadow: inset 4px 0 0 var(--info);
  background: rgba(103, 183, 255, .055);
}

.player-notification-card h3,
.discipline-card h3 {
  margin: 0 0 .3rem;
  font-size: 1rem;
}

.player-notification-card p,
.discipline-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.notification-meta,
.discipline-meta {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
  margin-top: .65rem;
  color: var(--muted);
  font-size: .76rem;
}

.notification-type,
.discipline-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .3rem .55rem;
  background: var(--panel-2);
  font-size: .72rem;
  font-weight: 800;
}

.discipline-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #0d121b;
  padding: 1rem;
}

.discipline-card.active,
.registration-discipline-alert {
  border-color: rgba(255, 107, 122, .48);
  background: rgba(255, 107, 122, .06);
}

.discipline-card.scheduled { border-color: rgba(103, 183, 255, .45); }
.discipline-card.resolved,
.discipline-card.expired { opacity: .78; }

.discipline-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.discipline-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .8rem;
}

.discipline-details > div {
  border-radius: 10px;
  padding: .7rem;
  background: rgba(9, 13, 20, .55);
  overflow-wrap: anywhere;
}

.discipline-details span {
  display: block;
  margin-bottom: .25rem;
  color: var(--muted);
  font-size: .7rem;
}

.registration-discipline-alert {
  border: 1px solid rgba(255, 107, 122, .48);
  border-radius: 12px;
  padding: .85rem;
  margin-bottom: 1rem;
}

.registration-discipline-alert strong {
  display: block;
  color: #ffd5da;
  margin-bottom: .35rem;
}

.registration-discipline-alert ul {
  margin: .4rem 0 0 1.1rem;
  padding: 0;
  color: #f1c7cd;
}

@media (max-width: 780px) {
  .player-notification-card { grid-template-columns: 1fr; }
  .discipline-details { grid-template-columns: 1fr; }
  .discipline-card-head { flex-direction: column; }
}

/* v7.8 — archives, directory, calendar, and player statistics */
.event-status.event-archived {
  color: #d7c7ff;
  border-color: rgba(200, 156, 255, .45);
  background: rgba(200, 156, 255, .1);
}

.public-archive-section {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.archive-note {
  margin: .8rem 0;
  padding: .75rem .9rem;
  border: 1px solid rgba(200, 156, 255, .25);
  border-radius: 11px;
  background: rgba(200, 156, 255, .07);
  color: #dfd3ff;
  line-height: 1.5;
}

.player-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
}

.directory-search-bar {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(180px, .8fr) auto;
  gap: .8rem;
  align-items: end;
  margin-bottom: 1rem;
}

.directory-result-list {
  display: grid;
  gap: .85rem;
}

.directory-result-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 1rem;
  background: #0d121b;
}

.directory-result-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .85rem;
}

.directory-result-head h3,
.directory-result-head p {
  margin-bottom: .2rem;
}

.directory-stat-grid,
.directory-detail-grid {
  display: grid;
  gap: .65rem;
}

.directory-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: .75rem;
}

.directory-stat-grid div,
.directory-detail-grid div {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .7rem;
  background: rgba(9, 13, 20, .55);
  overflow-wrap: anywhere;
}

.directory-stat-grid span,
.directory-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  margin-bottom: .25rem;
}

.directory-stat-grid strong {
  font-size: 1.15rem;
}

.directory-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compact-actions {
  justify-content: flex-end;
}

.calendar-button {
  white-space: nowrap;
}

@media (max-width: 780px) {
  .player-stat-grid,
  .directory-stat-grid,
  .directory-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory-search-bar {
    grid-template-columns: 1fr;
  }

  .directory-result-head {
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .player-stat-grid,
  .directory-stat-grid,
  .directory-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* v7.8.1 player-facing accordion and email notification polish */
.content-accordion {
  padding: 0;
  overflow: hidden;
}
.content-accordion + .content-accordion { margin-top: 1rem; }
.content-accordion-body > .dashboard-header:first-child,
.content-accordion-body > .section-heading:first-child {
  justify-content: flex-end;
  margin-bottom: 1rem;
}
.content-accordion-body > .dashboard-header:first-child:empty,
.content-accordion-body > .section-heading:first-child:empty { display: none; }
.content-accordion-summary .admin-accordion-copy h3 {
  margin: 0 0 .3rem;
  font-size: clamp(1.05rem, 3vw, 1.35rem);
}
.email-preference-form { display: grid; gap: 1rem; }
.email-preference-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.email-preference-options .checkbox-label { border: 1px solid var(--line); border-radius: 11px; padding: .75rem; background: rgba(9,13,20,.42); }
.email-log-heading { margin-top: 1.2rem; }
.email-delivery-log { display: grid; gap: .65rem; }
.email-delivery-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .8rem; align-items: center; border: 1px solid var(--line); background: rgba(9,13,20,.42); border-radius: 12px; padding: .8rem; }
.email-delivery-row p { margin: .25rem 0 0; color: var(--muted); overflow-wrap: anywhere; }
.email-delivery-row > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; }
.email-delivery-row .wide { grid-column: 1 / -1; }

@media (max-width: 700px) {
  .email-preference-options { grid-template-columns: 1fr; }
  .email-delivery-row { grid-template-columns: 1fr; }
  .email-delivery-row > div:last-child { align-items: flex-start; }
}

/* v7.8.2 — compact wide dashboard refresh */
:root {
  --panel-radius: 14px;
  --compact-gap: .8rem;
}

body {
  background:
    radial-gradient(circle at 88% 10%, rgba(70, 36, 84, .18), transparent 34%),
    linear-gradient(135deg, #080b10 0%, #0a0d14 58%, #100d18 100%);
}

.site-header {
  padding: .85rem clamp(1rem, 3vw, 2.25rem);
  min-height: 72px;
}

.brand-logo {
  width: 48px;
  height: 48px;
  border-radius: 12px;
}

.site-header h1 { font-size: clamp(1.15rem, 2vw, 1.45rem); }
.site-header p { font-size: .82rem; }

.shell {
  width: min(1560px, calc(100% - 3rem));
  margin: 1.25rem auto 3rem;
}

.tabs {
  gap: .35rem;
  margin-bottom: .8rem;
  padding: .3rem;
  border-radius: 14px;
}

.tab {
  min-height: 52px;
  padding: .62rem .55rem;
  border-radius: 9px;
  font-size: .88rem;
}

.panel {
  border-radius: var(--panel-radius);
  padding: 1rem;
  margin-bottom: .8rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
}

.intro-panel { padding-block: 1.2rem; }
.intro-panel h2,
.dashboard-header h2,
.admin-login h2 { font-size: clamp(1.3rem, 2.4vw, 1.75rem); }

.eyebrow {
  font-size: .69rem;
  margin-bottom: .32rem;
}

.primary,
.secondary,
.danger-button {
  padding: .66rem .85rem;
  border-radius: 9px;
  font-size: .87rem;
}

input,
select,
textarea {
  padding: .7rem .78rem;
  border-radius: 9px;
}

textarea { min-height: 96px; }
.form-grid { gap: .78rem; }
.action-row { gap: .55rem; }

.summary-grid,
.player-stat-grid,
.health-version-grid {
  gap: .55rem;
}

.summary-card {
  border-radius: 11px;
  padding: .75rem .82rem;
}

.summary-card strong {
  margin-top: .12rem;
  font-size: 1.3rem;
}

/* My Account uses the available desktop width instead of one long centre stack. */
#accountDashboard {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--compact-gap);
  align-items: start;
}

#accountDashboard:not(.hidden) { display: grid; }

#accountDashboard > .dashboard-header,
#accountDashboard > #accountEditPanel {
  grid-column: 1 / -1;
}

#accountDashboard > .panel,
#accountDashboard > details {
  min-width: 0;
  margin-bottom: 0;
}

/* Collapsed cards sit in two columns; opened cards receive full working space. */
#accountDashboard > details[open] {
  grid-column: 1 / -1;
}

#accountDashboard > .dashboard-header {
  padding: 1rem 1.15rem;
  align-items: center;
}

#accountDashboard > .dashboard-header .action-row {
  justify-content: flex-end;
}

/* Admin sections follow the same compact dashboard behaviour. */
#adminDashboard {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--compact-gap);
  align-items: start;
}

#adminDashboard:not(.hidden) { display: grid; }

#adminDashboard > .dashboard-header {
  grid-column: 1 / -1;
  margin-bottom: 0;
  align-items: center;
}

#adminDashboard > details {
  min-width: 0;
  margin-bottom: 0;
}

#adminDashboard > details[open] {
  grid-column: 1 / -1;
}

/* Keep high-density working sections full width even while collapsed. */
#adminDashboard > details:has(#eventForm),
#adminDashboard > details:has(#matchForm),
#adminDashboard > details:has(#adminList) {
  grid-column: 1 / -1;
}

.admin-accordion-summary {
  gap: .75rem;
  min-height: 76px;
  padding: .82rem .95rem;
}

.admin-accordion-copy .eyebrow { margin-bottom: .22rem; }
.admin-accordion-copy h2 {
  margin-bottom: .18rem;
  font-size: clamp(1rem, 1.7vw, 1.22rem);
}
.admin-accordion-copy p {
  font-size: .82rem;
  line-height: 1.35;
}
.admin-accordion-chevron {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 1rem;
}
.admin-accordion-body { padding: .95rem; }

.content-accordion + .content-accordion { margin-top: 0; }

.registration-list,
.match-list,
.event-list,
.audit-list,
.notification-centre-list,
.discipline-list,
.directory-result-list {
  gap: .62rem;
}

.registration-card,
.player-notification-card,
.discipline-card,
.directory-result-card {
  border-radius: 12px;
}

.registration-card summary { padding: .78rem .9rem; }
.admin-card-body { padding: .9rem; }

.filters {
  gap: .65rem;
  padding: .8rem;
}

/* Public pages also use the wider canvas. */
#eventsView.active,
#matchesView.active {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--compact-gap);
  align-items: start;
}

#eventsView > .intro-panel,
#matchesView > .intro-panel,
#eventsView > section:not(details),
#matchesView > section:not(details),
#eventsView > details[open],
#matchesView > details[open] {
  grid-column: 1 / -1;
}

#eventsView > .panel,
#eventsView > details,
#matchesView > .panel,
#matchesView > details {
  min-width: 0;
  margin-bottom: 0;
}

/* Desktop readability: keep long forms and tables from becoming excessively stretched. */
.admin-accordion-body > .form-grid,
.admin-accordion-body > .event-form,
.admin-accordion-body > .match-form {
  max-width: 1320px;
}

@media (max-width: 1120px) {
  .shell { width: min(100% - 1.5rem, 1560px); }
  #accountDashboard,
  #adminDashboard,
  #eventsView.active,
  #matchesView.active {
    grid-template-columns: 1fr;
  }

  #accountDashboard > details,
  #adminDashboard > details,
  #eventsView > details,
  #matchesView > details {
    grid-column: 1;
  }
}

@media (max-width: 780px) {
  .site-header { min-height: auto; }
  .shell { width: min(100% - 1rem, 1560px); margin-top: .75rem; }
  .panel { padding: .85rem; }
  .admin-accordion-summary { min-height: 68px; padding: .75rem .8rem; }
  .admin-accordion-body { padding: .8rem; }
  #accountDashboard > .dashboard-header,
  #adminDashboard > .dashboard-header { align-items: flex-start; }
  #accountDashboard > .dashboard-header .action-row { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .shell { width: calc(100% - .7rem); }
  .tabs { border-radius: 11px; }
  .tab { min-height: 46px; font-size: .78rem; }
  .panel { border-radius: 11px; }
  .admin-accordion-copy p { display: none; }
}

/* --------------------------------------------------------------------------
   v7.9 — captain controls, evidence and dispute review
   -------------------------------------------------------------------------- */
.captain-team-list,
.captain-lineup-list,
.dispute-list {
  display: grid;
  gap: .72rem;
}

.captain-control-card,
.dispute-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(9, 13, 20, .58);
  padding: .85rem;
}

.captain-control-head,
.dispute-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .9rem;
}

.captain-control-head h3,
.dispute-card-head h3 {
  margin: 0 0 .2rem;
  font-size: 1rem;
}

.captain-control-head p,
.dispute-card-head p,
.lock-note {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.lock-note {
  margin-top: .55rem;
  padding: .55rem .65rem;
  border-left: 3px solid var(--line);
  background: rgba(255,255,255,.025);
  border-radius: 0 8px 8px 0;
  font-size: .84rem;
}

.captain-roster-form,
.admin-dispute-review-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin-top: .75rem;
}

.captain-roster-form > .captain-player-row,
.captain-roster-form > .captain-roster-members,
.captain-roster-form > .action-row,
.admin-dispute-review-form > .wide,
.admin-dispute-review-form > .action-row {
  grid-column: 1 / -1;
}

.captain-player-row {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  padding: .65rem .72rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(24,31,45,.48);
}

.captain-player-row span {
  color: var(--muted);
  text-align: right;
}

.captain-lineup-form { margin-top: .75rem; }
.captain-lineup-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .55rem;
}

.section-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 1rem 0;
}

.dispute-filters { margin-bottom: .75rem; }
.dispute-card-head .action-row { justify-content: flex-end; }
.dispute-copy {
  margin: .7rem 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.5;
}

.dispute-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .7rem;
}

.dispute-detail-grid > div {
  min-width: 0;
  padding: .58rem .65rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(24,31,45,.42);
  overflow-wrap: anywhere;
}

.dispute-detail-grid span {
  display: block;
  margin-bottom: .22rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.evidence-file-list {
  display: grid;
  gap: .48rem;
  margin-top: .65rem;
}

.evidence-file-button,
.secondary-link {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  text-decoration: none;
}

.evidence-file-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .65rem .72rem;
  text-align: left;
}
.evidence-file-button:hover,
.secondary-link:hover { border-color: var(--accent); }
.evidence-file-button small { white-space: nowrap; }
.secondary-link { display: inline-flex; padding: .5rem .65rem; font-weight: 750; }

.match-card-status-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}

.notice.success {
  color: var(--success);
  border-color: rgba(61,220,151,.4);
  background: rgba(61,220,151,.08);
}

@media (max-width: 850px) {
  .captain-roster-form,
  .admin-dispute-review-form,
  .dispute-detail-grid { grid-template-columns: 1fr; }
  .captain-roster-form > *,
  .admin-dispute-review-form > * { grid-column: 1; }
  .captain-control-head,
  .dispute-card-head,
  .captain-player-row { flex-direction: column; }
  .captain-player-row span { text-align: left; }
  .dispute-card-head .action-row { justify-content: flex-start; }
  .match-card-status-stack { align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   v8.0 — competition ratings and prize management
   -------------------------------------------------------------------------- */

.rating-filter-bar,
.prize-event-selector {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(240px, 1.3fr) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.prize-event-selector {
  grid-template-columns: minmax(260px, 1fr) auto;
}

.rating-table td:nth-child(2) strong {
  display: inline-block;
  margin-right: 8px;
}

.rating-value {
  font-size: 1.08rem;
  font-weight: 900;
}

.rating-provisional {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 7px;
  border: 1px solid rgba(255, 174, 66, .4);
  border-radius: 999px;
  color: #ffbf69;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rating-change {
  display: inline-flex;
  min-width: 42px;
  justify-content: center;
  font-weight: 900;
}

.rating-up { color: #62dfa0; }
.rating-down { color: #ff7f86; }
.rating-even { color: var(--muted); }

.rating-hero {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(300px, 1.3fr);
  gap: 16px;
  align-items: stretch;
}

.rating-score-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
  padding: 20px;
  border: 1px solid rgba(255, 92, 92, .28);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255, 71, 71, .13), rgba(255, 255, 255, .025));
}

.rating-score-card span,
.rating-record-grid span,
.account-prize-meta,
.admin-prize-details span,
.prize-pool-total span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rating-score-card strong {
  margin: 4px 0;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1;
}

.rating-score-card small {
  color: #ffbd69;
  font-weight: 800;
}

.rating-record-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rating-record-grid > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 70px;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255, 255, 255, .025);
}

.rating-record-grid strong {
  margin-top: 3px;
  font-size: 1.25rem;
}

.rating-history-list,
.account-prize-list,
.admin-prize-list,
.public-prize-list {
  display: grid;
  gap: 10px;
}

.rating-history-card,
.account-prize-card,
.admin-prize-card,
.public-prize-card {
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(255, 255, 255, .022);
}

.rating-history-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 13px 15px;
}

.rating-history-card p,
.account-prize-head p,
.admin-prize-head p,
.public-prize-card p {
  margin: 3px 0 0;
  color: var(--muted);
}

.rating-history-result {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  font-weight: 800;
}

.account-prize-card,
.admin-prize-card,
.public-prize-card {
  padding: 16px;
}

.account-prize-head,
.admin-prize-head,
.public-prize-card {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.account-prize-head > strong,
.public-prize-card > strong {
  color: #ffd07b;
  font-size: 1.25rem;
  white-space: nowrap;
}

.account-prize-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
}

.prize-public-summary {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(280px, 1.45fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}

.prize-pool-total {
  padding: 18px;
  border: 1px solid rgba(255, 174, 66, .32);
  border-radius: 13px;
  background: rgba(255, 174, 66, .07);
}

.prize-pool-total strong {
  display: block;
  margin-top: 4px;
  color: #ffd07b;
  font-size: 1.7rem;
}

.public-prize-card {
  display: grid;
  grid-template-columns: 1fr auto;
}

.public-prize-card > p {
  grid-column: 1 / -1;
}

.prize-admin-summary {
  margin: 16px 0;
}

.admin-prize-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.admin-prize-details > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
}

.admin-prize-details .wide {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  .rating-filter-bar,
  .prize-event-selector,
  .rating-hero,
  .prize-public-summary,
  .admin-prize-details {
    grid-template-columns: 1fr;
  }

  .rating-history-card,
  .account-prize-head,
  .admin-prize-head,
  .public-prize-card {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rating-history-result {
    justify-content: space-between;
  }

  .admin-prize-details .wide,
  .public-prize-card > p {
    grid-column: auto;
  }
}


/* --------------------------------------------------------------------------
   v8.0.3 — compact accordion navigation and notification mailbox
   -------------------------------------------------------------------------- */

.header-left {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.notification-mailbox {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(24, 31, 45, .9);
  color: var(--muted);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}

.notification-mailbox:hover,
.notification-mailbox:focus-visible,
.notification-mailbox.has-unread {
  border-color: rgba(103, 183, 255, .62);
  color: var(--info);
  background: rgba(103, 183, 255, .09);
}

.notification-mailbox-icon {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.notification-mailbox-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid #090c12;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: .65rem;
  font-weight: 950;
  line-height: 1;
}

/* Keep the selected main page visible while scrolling long working sections. */
.tabs {
  position: sticky;
  top: 73px;
  z-index: 4;
  background: rgba(14, 19, 28, .96);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .2);
}

/* The section rows are now navigation rows rather than large content cards. */
.admin-accordion-summary {
  min-height: 50px;
  padding: .5rem .7rem;
  gap: .55rem;
}

.admin-accordion-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: .55rem;
  row-gap: .15rem;
}

.admin-accordion-copy .eyebrow {
  grid-column: 1;
  margin: 0;
  white-space: nowrap;
  font-size: .6rem;
}

.admin-accordion-copy h2,
.admin-accordion-copy h3 {
  grid-column: 2;
  margin: 0;
  min-width: 0;
  font-size: .98rem;
  line-height: 1.2;
}

.admin-accordion-copy > p:not(.eyebrow) {
  display: none;
}

.admin-accordion-summary > .connection-badge,
.admin-accordion-summary > .status-badge {
  margin-left: auto;
  padding: .35rem .55rem;
  font-size: .7rem;
}

.admin-accordion-chevron {
  width: 1.55rem;
  height: 1.55rem;
  font-size: .88rem;
}

.admin-accordion[open] {
  border-color: rgba(255, 90, 54, .48);
  box-shadow: 0 15px 38px rgba(0, 0, 0, .2), inset 3px 0 0 var(--accent);
}

.admin-accordion[open] > .admin-accordion-summary {
  position: sticky;
  top: 135px;
  z-index: 3;
  border-bottom-color: rgba(255, 90, 54, .35);
  background: linear-gradient(90deg, rgba(255, 90, 54, .13), rgba(24, 31, 45, .98) 34%);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.admin-accordion[open] > .admin-accordion-summary .admin-accordion-copy h2,
.admin-accordion[open] > .admin-accordion-summary .admin-accordion-copy h3 {
  color: #fff;
}

.admin-accordion-body {
  padding: .78rem;
}

#accountDashboard,
#adminDashboard {
  gap: .55rem;
}

#accountDashboard > .dashboard-header,
#adminDashboard > .dashboard-header {
  margin-bottom: .15rem;
}

@media (max-width: 780px) {
  .header-left { gap: .5rem; }
  .notification-mailbox { width: 39px; height: 39px; border-radius: 10px; }
  .tabs { top: 65px; }
  .admin-accordion[open] > .admin-accordion-summary { position: static; }
  .admin-accordion-summary { min-height: 46px; padding: .48rem .62rem; }
  .admin-accordion-copy { grid-template-columns: minmax(0, 1fr); }
  .admin-accordion-copy .eyebrow { display: none; }
  .admin-accordion-copy h2,
  .admin-accordion-copy h3 { grid-column: 1; font-size: .92rem; }
}

@media (max-width: 520px) {
  .site-header { gap: .55rem; }
  .site-header .connection-badge { font-size: .65rem; padding: .35rem .45rem; }
  .brand-wrap { gap: .5rem; }
  .brand-logo { width: 42px; height: 42px; }
  .notification-mailbox { width: 38px; height: 38px; }
  .tabs { top: 59px; }
}


/* v8.0.4 — manual registration account linking */
.registration-account-link-box { border-color: rgba(245, 158, 11, .38); }
.registration-account-link-status { display: flex; justify-content: space-between; gap: .75rem; align-items: center; margin: .7rem 0; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 10px; background: rgba(9,13,20,.45); }
.registration-account-link-status strong { color: var(--muted); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.registration-account-link-status span { text-align: right; font-weight: 700; }
.registration-account-link-status.linked { border-color: rgba(34,197,94,.42); background: rgba(34,197,94,.07); }
.registration-account-link-form { display: grid; grid-template-columns: minmax(180px,.9fr) minmax(280px,1.5fr) auto; gap: .8rem; align-items: end; margin-top: .75rem; }
.registration-account-link-form button { min-height: 42px; }
@media (max-width: 850px) {
  .registration-account-link-form { grid-template-columns: 1fr; }
  .registration-account-link-form button { width: 100%; }
  .registration-account-link-status { align-items: flex-start; flex-direction: column; }
  .registration-account-link-status span { text-align: left; }
}


/* --------------------------------------------------------------------------
   v8.0.5 — non-overlapping section headers and compact system health
   -------------------------------------------------------------------------- */

/* Open accordion headers remain in normal document flow. This prevents the
   active Event Management header from covering date, roster, and form fields. */
.admin-accordion[open] > .admin-accordion-summary {
  position: relative;
  top: auto;
  z-index: 1;
  box-shadow: none;
}

.admin-accordion[open] {
  scroll-margin-top: 142px;
}

.health-accordion[open] {
  grid-column: 1 / -1;
}

.health-dashboard {
  display: grid;
  gap: .8rem;
}

.health-overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem;
  border: 1px solid rgba(61, 220, 151, .22);
  border-radius: 12px;
  background: linear-gradient(120deg, rgba(61, 220, 151, .07), rgba(9, 13, 20, .42) 45%);
}

.health-overview-copy {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}

.health-overview-copy h3,
.health-overview-copy p {
  margin-bottom: 0;
}

.health-overview-copy .eyebrow {
  margin-bottom: .15rem;
}

.health-overview-copy .muted {
  margin-top: .2rem;
  line-height: 1.4;
}

.health-overview-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(61, 220, 151, .45);
  border-radius: 999px;
  background: rgba(61, 220, 151, .09);
  color: var(--success);
  font-size: 1.05rem;
  font-weight: 950;
}

.health-overview-icon.issue {
  border-color: rgba(255, 107, 122, .48);
  background: rgba(255, 107, 122, .09);
  color: var(--danger);
}

.health-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  margin: 0;
}

.health-version-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 0;
}

.health-version-grid .summary-card {
  min-width: 0;
  padding: .68rem .75rem;
  background: rgba(9, 13, 20, .38);
}

.health-version-grid .summary-card strong {
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.health-version-grid .summary-card small {
  display: block;
  margin-top: .2rem;
  font-size: .68rem;
}

.health-time {
  font-size: .9rem !important;
}

.health-check-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: .75rem;
  padding-top: .15rem;
}

.health-check-heading h3,
.health-check-heading p {
  margin-bottom: 0;
}

.health-counts {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .4rem;
  flex-wrap: wrap;
}

.health-count,
.health-total {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .28rem .5rem;
  color: var(--muted);
  font-size: .7rem;
  white-space: nowrap;
}

.health-count.ok {
  color: var(--success);
  border-color: rgba(61, 220, 151, .3);
  background: rgba(61, 220, 151, .06);
}

.health-count.issue {
  color: var(--danger);
  border-color: rgba(255, 107, 122, .34);
  background: rgba(255, 107, 122, .06);
}

.system-health-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin-bottom: 0;
}

.system-health-row {
  display: block;
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
}

.system-health-row.issue {
  grid-column: 1 / -1;
}

.system-health-row > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .55rem;
  min-height: 44px;
  padding: .48rem .6rem;
  cursor: pointer;
  list-style: none;
}

.system-health-row > summary::-webkit-details-marker {
  display: none;
}

.system-health-row > summary:hover {
  background: rgba(255, 255, 255, .025);
}

.system-health-row .health-icon {
  width: 1.45rem;
  height: 1.45rem;
  font-size: .76rem;
}

.system-health-row strong {
  margin: 0;
  min-width: 0;
  font-size: .82rem;
  line-height: 1.25;
}

.health-result {
  border-radius: 999px;
  padding: .2rem .42rem;
  font-size: .64rem;
  font-weight: 900;
}

.system-health-row.ok .health-result {
  color: var(--success);
  background: rgba(61, 220, 151, .08);
}

.system-health-row.issue .health-result {
  color: var(--danger);
  background: rgba(255, 107, 122, .09);
}

.health-row-chevron {
  color: var(--muted);
  transition: transform .18s ease;
}

.system-health-row[open] .health-row-chevron {
  transform: rotate(180deg);
}

.system-health-row > p {
  margin: 0;
  padding: .05rem .65rem .65rem 2.65rem;
  font-size: .76rem;
  line-height: 1.4;
}

@media (max-width: 960px) {
  .health-version-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .health-overview,
  .health-check-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .health-actions,
  .health-counts {
    justify-content: flex-start;
  }

  .health-actions button {
    width: auto;
  }

  .system-health-list {
    grid-template-columns: 1fr;
  }

  .system-health-row.issue {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .health-version-grid {
    grid-template-columns: 1fr;
  }

  .health-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .health-actions button {
    width: 100%;
  }

  .health-total {
    display: none;
  }
}

/* v8.1 competition structure, brackets, map vetoes, and match rooms */
.competition-admin-grid,
.competition-public-overview,
.match-room-lineups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.admin-subpanel,
.public-competition-card,
.season-structure-card,
.league-structure-card,
.admin-bracket-card,
.public-bracket-card,
.match-room-preview-card,
.match-room-list-card,
.match-room-action-panel {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(22, 30, 44, .86), rgba(10, 15, 24, .78));
}

.admin-subpanel {
  padding: .85rem;
}

.competition-structure-list,
.bracket-admin-list,
.bracket-public-list,
.match-room-list {
  display: grid;
  gap: .75rem;
  margin-top: .85rem;
}

.season-structure-card,
.admin-bracket-card,
.public-bracket-card,
.match-room-list-card,
.match-room-preview-card {
  padding: .9rem;
}

.competition-card-head,
.match-room-hero,
.public-room-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
}

.competition-card-head h3,
.competition-card-head h4,
.match-room-hero h3,
.public-room-dialog-head h2 {
  margin: 0;
}

.competition-card-head p,
.match-room-hero p {
  margin: .22rem 0 0;
}

.competition-mini-meta,
.match-room-card-flags,
.selected-map-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .38rem;
  margin-top: .65rem;
}

.competition-mini-meta span,
.match-room-card-flags span,
.competition-event-chip,
.competition-empty-chip,
.selected-map-row strong {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .25rem .48rem;
  background: rgba(255, 255, 255, .025);
  color: var(--muted);
  font-size: .7rem;
}

.competition-event-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .6rem;
}

.competition-event-chip {
  color: var(--text);
  border-color: rgba(255, 84, 66, .22);
  background: rgba(255, 84, 66, .05);
}

.league-structure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .7rem;
}

.league-structure-card {
  padding: .72rem;
  background: rgba(8, 13, 21, .48);
}

.league-structure-card h4 {
  font-size: .95rem;
}

.competition-empty-inline {
  color: var(--muted);
  font-size: .78rem;
  padding: .55rem;
}

.compact-action-row,
.bracket-status-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .42rem;
  margin-top: .65rem;
}

.compact-action-row button,
.bracket-status-form button,
.bracket-status-form select {
  min-height: 34px;
  padding: .42rem .65rem;
  font-size: .73rem;
}

.bracket-status-form .checkbox-label {
  min-height: 34px;
  padding: .3rem .55rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.02);
}

.bracket-board {
  display: grid;
  gap: .85rem;
  margin-top: .8rem;
}

.bracket-side-section {
  min-width: 0;
}

.bracket-side-label {
  margin-bottom: .45rem;
  color: var(--accent);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bracket-round-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 1fr);
  gap: .55rem;
  overflow-x: auto;
  padding: .1rem .05rem .55rem;
  scrollbar-width: thin;
}

.bracket-round-column {
  display: grid;
  align-content: start;
  gap: .48rem;
  min-width: 0;
}

.bracket-round-column > h4 {
  margin: 0;
  padding: .38rem .45rem;
  border-bottom: 1px solid rgba(255, 84, 66, .28);
  color: var(--muted);
  font-size: .72rem;
  text-align: center;
  text-transform: uppercase;
}

.bracket-slot-card {
  position: relative;
  padding: .58rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(5, 10, 17, .66);
}

.bracket-slot-card.complete {
  border-color: rgba(61, 220, 151, .25);
}

.bracket-slot-top,
.bracket-participant {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}

.bracket-slot-top {
  margin-bottom: .42rem;
  color: var(--muted);
  font-size: .65rem;
}

.bracket-slot-top .status-badge {
  padding: .16rem .35rem;
  font-size: .58rem;
}

.bracket-participant {
  min-height: 28px;
  padding: .3rem .4rem;
  border-radius: 7px;
  background: rgba(255, 255, 255, .028);
  font-size: .76rem;
}

.bracket-participant + .bracket-participant {
  margin-top: .28rem;
}

.bracket-participant strong {
  color: var(--accent-soft);
}

.bracket-winner,
.bracket-time {
  margin: .4rem 0 0;
  color: var(--muted);
  font-size: .66rem;
}

.bracket-winner {
  color: var(--success);
}

.bracket-score {
  display: block;
  margin-top: .35rem;
  color: var(--text);
  font-size: .78rem;
}

.bracket-schedule-form {
  display: grid;
  gap: .32rem;
  margin-top: .48rem;
}

.bracket-schedule-form input,
.bracket-schedule-form button {
  min-height: 34px;
  padding: .38rem .5rem;
  font-size: .7rem;
}

.match-operations-selector {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) auto;
  align-items: end;
  gap: .6rem;
  margin-bottom: .8rem;
}

.veto-summary,
.match-room-data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .48rem;
  margin-top: .65rem;
}

.veto-summary > div,
.match-room-data-grid > div {
  min-width: 0;
  padding: .55rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(4, 9, 16, .5);
}

.veto-summary span,
.match-room-data-grid span {
  display: block;
  margin-bottom: .18rem;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.veto-summary strong,
.match-room-data-grid strong,
.match-room-data-grid a {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: .78rem;
}

.server-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .04em;
}

.selected-map-row > span {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 850;
}

.selected-map-row strong {
  color: var(--success);
  border-color: rgba(61, 220, 151, .28);
  background: rgba(61, 220, 151, .06);
}

.veto-action-history {
  display: grid;
  gap: .32rem;
  margin-top: .55rem;
}

.veto-action-history > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto minmax(90px, .7fr);
  align-items: center;
  gap: .45rem;
  padding: .42rem .5rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.02);
  font-size: .7rem;
}

.veto-order {
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(255, 84, 66, .12);
  color: var(--accent-soft);
  font-weight: 900;
}

.match-room-list-card {
  display: grid;
  gap: .65rem;
}

.match-room-list-card > button {
  justify-self: start;
}

.match-room-detail {
  margin-top: .75rem;
  padding: .85rem;
  border: 1px solid rgba(255, 84, 66, .25);
  border-radius: 13px;
  background: rgba(5, 10, 17, .68);
}

.match-room-status-stack {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: .35rem;
}

.match-room-note {
  margin: .65rem 0 0;
  padding: .65rem;
  border-left: 3px solid var(--accent);
  background: rgba(255, 84, 66, .055);
  color: var(--text);
  line-height: 1.55;
}

.match-room-lineups {
  margin-top: .7rem;
}

.match-room-lineup {
  padding: .65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(5, 10, 17, .48);
}

.match-room-lineup h4 {
  margin: 0 0 .4rem;
  color: var(--accent-soft);
}

.match-room-lineup > div {
  display: grid;
  gap: .12rem;
  padding: .35rem 0;
  border-top: 1px solid rgba(255,255,255,.045);
}

.match-room-lineup small {
  color: var(--muted);
}

.match-room-action-panel {
  margin-top: .7rem;
  padding: .7rem;
}

.account-veto-form {
  display: flex;
  align-items: end;
  gap: .55rem;
  margin-top: .6rem;
}

.account-veto-form label {
  flex: 1;
}

.public-match-room-dialog {
  width: min(900px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(255, 84, 66, .3);
  border-radius: 16px;
  background: #0b111b;
  color: var(--text);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
}

.public-match-room-dialog::backdrop {
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(4px);
}

.public-room-dialog-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: .85rem;
  border-bottom: 1px solid var(--line);
  background: rgba(11, 17, 27, .96);
}

#publicMatchRoomDialogContent {
  padding: .9rem;
}

@media (max-width: 980px) {
  .competition-admin-grid,
  .competition-public-overview,
  .league-structure-grid,
  .match-room-lineups {
    grid-template-columns: 1fr;
  }

  .match-operations-selector {
    grid-template-columns: 1fr 1fr;
  }

  .match-operations-selector button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .veto-summary,
  .match-room-data-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .competition-card-head,
  .match-room-hero,
  .public-room-dialog-head {
    align-items: stretch;
    flex-direction: column;
  }

  .match-room-status-stack {
    align-items: flex-start;
    flex-direction: row;
  }

  .match-operations-selector,
  .veto-summary,
  .match-room-data-grid {
    grid-template-columns: 1fr;
  }

  .account-veto-form {
    align-items: stretch;
    flex-direction: column;
  }

  .account-veto-form button,
  .match-room-list-card > button {
    width: 100%;
  }

  .veto-action-history > div {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .veto-action-history > div span:nth-child(3),
  .veto-action-history > div b {
    grid-column: 2;
  }
}


/* v8.1.1 — balanced team drafting */
.team-draft-overview { display: grid; gap: 14px; margin-top: 16px; }
.team-draft-summary-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.team-draft-summary-grid > div { min-width: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: linear-gradient(145deg, rgba(25,34,49,.92), rgba(14,20,31,.92)); }
.team-draft-summary-grid span { display: block; color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.team-draft-summary-grid strong { display: block; margin-top: 4px; font-size: 1.15rem; }
.rank-weight-box { margin-top: 0; }
.rank-weight-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 12px 0; }
.rank-weight-grid span { display: flex; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 9px; background: rgba(255,255,255,.025); font-size: .82rem; }
.team-draft-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.team-draft-card { min-width: 0; border: 1px solid rgba(255,166,76,.28); border-radius: 14px; padding: 14px; background: radial-gradient(circle at top right, rgba(255,129,63,.09), transparent 42%), rgba(14,20,31,.82); }
.team-draft-card.premade { border-color: rgba(87,190,255,.24); background: radial-gradient(circle at top right, rgba(87,190,255,.08), transparent 42%), rgba(14,20,31,.82); }
.team-draft-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.team-draft-card-head h3 { margin: 2px 0 0; }
.draft-score-badge { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; border: 1px solid rgba(255,166,76,.35); background: rgba(255,128,59,.12); font-size: .78rem; font-weight: 800; }
.team-draft-metrics { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--muted); font-size: .78rem; margin: 9px 0 11px; }
.team-draft-members { display: grid; gap: 7px; }
.team-draft-member { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 10px; background: rgba(255,255,255,.025); }
.team-draft-member.captain { border-color: rgba(255,166,76,.38); box-shadow: inset 3px 0 0 rgba(255,128,59,.7); }
.team-draft-member div { min-width: 0; }
.team-draft-member strong, .team-draft-member small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-draft-member small { margin-top: 2px; color: var(--muted); font-size: .73rem; }
.draft-rank-chip { flex: 0 0 auto; color: #ffd3bd; font-size: .75rem; font-weight: 700; }
.team-draft-unassigned-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0; }
.team-draft-unassigned-list span { padding: 5px 8px; border: 1px solid rgba(255,199,92,.26); border-radius: 999px; background: rgba(255,199,92,.08); font-size: .77rem; }
@media (max-width: 1100px) { .team-draft-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .team-draft-grid { grid-template-columns: 1fr; } .rank-weight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .team-draft-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .team-draft-member { align-items: flex-start; flex-direction: column; } }


/* --------------------------------------------------------------------------
   v8.1.2 — Siege community navigation and visual system
   -------------------------------------------------------------------------- */
:root {
  --siege-orange: #ff6a2a;
  --siege-orange-soft: #ffad7a;
  --siege-blue: #55b9ff;
  --siege-teal: #42d4c8;
  --siege-purple: #aa83ff;
  --siege-gold: #ffc862;
  --siege-green: #55db91;
  --siege-red: #ff6878;
  --sidebar-width: 248px;
}

html { scroll-behavior: smooth; }
body {
  background:
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px),
    radial-gradient(circle at 90% 5%, rgba(255, 77, 35, .12), transparent 28%),
    radial-gradient(circle at 8% 45%, rgba(73, 132, 190, .08), transparent 28%),
    #070a0f;
  background-size: 38px 38px, 38px 38px, auto, auto, auto;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 64%, rgba(255,106,42,.025) 64% 66%, transparent 66% 100%);
}

.site-header {
  min-height: 66px;
  padding: .62rem clamp(.8rem, 2vw, 1.7rem);
  border-bottom-color: rgba(255,255,255,.08);
  background: rgba(6, 9, 14, .94);
}
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--siege-orange), transparent 36%);
  opacity: .72;
}
.brand-logo { width: 43px; height: 43px; border-radius: 9px; }
.site-header h1 { margin: 0; font-size: 1.1rem; letter-spacing: .015em; }
.site-header p { color: #7f8b9c; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.connection-badge { background: rgba(255,255,255,.025); }

.shell {
  width: min(1780px, calc(100% - 2rem));
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  align-items: start;
  gap: .85rem;
  margin: .9rem auto 3rem;
}
.workspace-content { min-width: 0; }

.tabs {
  position: sticky;
  top: 78px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: .28rem;
  margin: 0;
  padding: .55rem;
  border-color: rgba(255,255,255,.08);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(14,20,29,.96), rgba(8,12,18,.97));
  box-shadow: 0 18px 46px rgba(0,0,0,.25);
  backdrop-filter: blur(14px);
}
.nav-brand-label {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  min-height: 38px;
  padding: .45rem .52rem .55rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: .1rem;
  text-transform: uppercase;
}
.nav-brand-label span { color: var(--siege-orange); font-size: .62rem; font-weight: 950; letter-spacing: .15em; }
.nav-brand-label strong { color: #d7dce5; font-size: .74rem; letter-spacing: .08em; }
.tab {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: .62rem;
  min-height: 55px;
  padding: .48rem .58rem;
  border: 1px solid transparent;
  border-radius: 9px;
  text-align: left;
  color: #8d98a9;
  transition: border-color .15s ease, background .15s ease, transform .15s ease, color .15s ease;
}
.tab:hover { transform: translateX(2px); border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.035); }
.tab.active,
.tab[aria-current="page"] {
  color: #fff;
  border-color: rgba(255,106,42,.36);
  background: linear-gradient(90deg, rgba(255,106,42,.18), rgba(255,255,255,.028));
  box-shadow: inset 3px 0 0 var(--siege-orange), 0 8px 22px rgba(0,0,0,.18);
}
.tab-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.025);
}
.tab.active .tab-icon { border-color: rgba(255,106,42,.34); color: var(--siege-orange-soft); background: rgba(255,106,42,.09); }
.tab-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.tab-copy { min-width: 0; }
.tab-copy strong, .tab-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tab-copy strong { color: inherit; font-size: .84rem; }
.tab-copy small { margin-top: .14rem; color: #6f7a8b; font-size: .64rem; font-weight: 650; }
.tab.active .tab-copy small { color: #aab3c1; }
.nav-footer-note { display: flex; align-items: center; gap: .48rem; margin-top: .2rem; padding: .55rem .6rem .25rem; color: #677283; font-size: .64rem; text-transform: uppercase; letter-spacing: .07em; }
.nav-status-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--success); box-shadow: 0 0 10px rgba(61,220,151,.7); }

.page-context {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 5px;
  align-items: center;
  gap: .75rem;
  min-height: 72px;
  margin-bottom: .65rem;
  padding: .66rem .8rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: linear-gradient(100deg, rgba(20,28,40,.94), rgba(10,15,23,.92));
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}
.page-context::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255,106,42,.075), transparent 34%); }
.page-context-mark { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,106,42,.35); border-radius: 9px; background: rgba(255,106,42,.09); color: var(--siege-orange-soft); font-family: ui-monospace, monospace; font-size: .76rem; font-weight: 950; }
.page-context-copy { position: relative; min-width: 0; }
.page-context-copy .eyebrow { margin: 0 0 .08rem; font-size: .55rem; }
.page-context-copy h2 { margin: 0; font-size: 1.08rem; }
.page-context-copy > p:last-child { margin: .12rem 0 0; color: #8792a2; font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.page-context-stripe { align-self: stretch; border-radius: 999px; background: linear-gradient(var(--siege-orange), #c53131); }

.panel {
  border-color: rgba(255,255,255,.075);
  background: linear-gradient(145deg, rgba(20,27,39,.91), rgba(10,15,23,.9));
  box-shadow: 0 13px 34px rgba(0,0,0,.14);
}
.intro-panel { position: relative; overflow: hidden; }
.intro-panel::after { content: "CTS"; position: absolute; right: 1rem; bottom: -.52rem; color: rgba(255,255,255,.025); font-size: clamp(3rem, 7vw, 7rem); font-weight: 1000; letter-spacing: -.08em; pointer-events: none; }
.primary { background: linear-gradient(135deg, #ff6a2a, #d93643); box-shadow: 0 7px 18px rgba(255,72,42,.15); }
.secondary { background: rgba(255,255,255,.035); }
input, select, textarea { border-color: rgba(255,255,255,.09); background: rgba(4,8,13,.72); }

.section-jumpbar {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 390px);
  align-items: center;
  gap: .8rem;
  min-height: 58px;
  padding: .55rem .65rem;
  border: 1px solid rgba(85,185,255,.16);
  border-radius: 11px;
  background: linear-gradient(90deg, rgba(85,185,255,.065), rgba(9,14,22,.88));
}
.section-jump-copy { display: grid; grid-template-columns: auto auto minmax(0,1fr); align-items: baseline; gap: .45rem; min-width: 0; }
.section-jump-kicker { color: var(--siege-blue); font-size: .55rem; font-weight: 950; letter-spacing: .12em; }
.section-jump-copy strong { font-size: .76rem; }
.section-jump-copy small { color: #778394; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.section-jumpbar.has-active-section { border-color: rgba(255,106,42,.26); background: linear-gradient(90deg, rgba(255,106,42,.07), rgba(9,14,22,.88)); }
.section-jumpbar select { min-height: 38px; padding: .48rem .65rem; font-size: .78rem; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.admin-accordion {
  --section-tone: var(--siege-orange);
  --section-tone-rgb: 255,106,42;
  overflow: hidden;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.admin-accordion.tone-blue { --section-tone: var(--siege-blue); --section-tone-rgb: 85,185,255; }
.admin-accordion.tone-teal { --section-tone: var(--siege-teal); --section-tone-rgb: 66,212,200; }
.admin-accordion.tone-purple { --section-tone: var(--siege-purple); --section-tone-rgb: 170,131,255; }
.admin-accordion.tone-gold { --section-tone: var(--siege-gold); --section-tone-rgb: 255,200,98; }
.admin-accordion.tone-green { --section-tone: var(--siege-green); --section-tone-rgb: 85,219,145; }
.admin-accordion.tone-red { --section-tone: var(--siege-red); --section-tone-rgb: 255,104,120; }
.admin-accordion:not([open]):hover { transform: translateY(-1px); border-color: rgba(var(--section-tone-rgb), .28); }
.admin-accordion-summary {
  position: relative;
  min-height: 43px;
  padding: .38rem .52rem .38rem .72rem;
  border-left: 3px solid rgba(var(--section-tone-rgb), .48);
  background: rgba(255,255,255,.008);
}
.admin-accordion-summary::after { content: attr(data-section-index); position: absolute; right: 3.3rem; color: rgba(255,255,255,.055); font-family: ui-monospace, monospace; font-size: 1.2rem; font-weight: 950; pointer-events: none; }
.admin-accordion-copy { column-gap: .45rem; }
.admin-accordion-copy .eyebrow { padding: .16rem .34rem; border: 1px solid rgba(var(--section-tone-rgb), .18); border-radius: 999px; color: var(--section-tone); background: rgba(var(--section-tone-rgb), .055); font-size: .51rem; letter-spacing: .08em; }
.admin-accordion-copy h2, .admin-accordion-copy h3 { font-size: .88rem; font-weight: 780; }
.admin-accordion-chevron { width: 1.38rem; height: 1.38rem; border-color: rgba(var(--section-tone-rgb), .22); color: var(--section-tone); }
.admin-accordion[open] { border-color: rgba(var(--section-tone-rgb), .38); box-shadow: 0 16px 38px rgba(0,0,0,.22), inset 3px 0 0 var(--section-tone); }
.admin-accordion[open] > .admin-accordion-summary { position: static; min-height: 48px; border-left-color: var(--section-tone); background: linear-gradient(90deg, rgba(var(--section-tone-rgb), .14), rgba(16,22,32,.98) 38%); box-shadow: none; }
.admin-accordion[open] > .admin-accordion-summary::after { opacity: .5; }
.admin-accordion-body { padding: .72rem; background: rgba(4,8,13,.22); }

#accountDashboard, #adminDashboard { gap: .48rem; }
#accountDashboard > .section-jumpbar, #adminDashboard > .section-jumpbar { margin-bottom: .05rem; }
#eventsView.active, #matchesView.active { gap: .48rem; }
#eventsView > .section-jumpbar, #matchesView > .section-jumpbar { grid-column: 1 / -1; }

.notification-mailbox { border-color: rgba(85,185,255,.2); background: rgba(85,185,255,.055); }
.notification-link { display: inline-flex; margin-top: .55rem; color: var(--siege-blue); font-size: .78rem; font-weight: 800; text-decoration: none; }
.notification-link:hover { text-decoration: underline; }

.patch-notes-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: .75rem; align-items: start; }
.patch-notes-form { margin: 0; }
.patch-delivery-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
.patch-delivery-options .checkbox-label { padding: .58rem; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(255,255,255,.02); }
.patch-publish-warning { display: flex; align-items: center; gap: .55rem; padding: .55rem .65rem; border-left: 3px solid var(--warning); background: rgba(255,204,102,.055); color: var(--muted); font-size: .76rem; }
.patch-publish-warning strong { color: var(--warning); white-space: nowrap; }
.patch-history-panel { padding: .72rem; border: 1px solid rgba(255,255,255,.07); border-radius: 11px; background: rgba(5,9,15,.45); }
.patch-history-list { display: grid; gap: .5rem; }
.patch-history-card { padding: .65rem; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; background: rgba(255,255,255,.018); }
.patch-history-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.patch-history-head h4 { margin: .18rem 0 0; font-size: .82rem; }
.patch-version { color: var(--siege-orange-soft); font-size: .62rem; font-weight: 950; }
.patch-recipient-count { flex: 0 0 auto; color: var(--siege-blue); font-size: .65rem; }
.patch-history-card > p { margin: .45rem 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.patch-history-meta { display: flex; flex-wrap: wrap; gap: .3rem .55rem; color: #687485; font-size: .61rem; }

@media (max-width: 1180px) {
  :root { --sidebar-width: 220px; }
  .tab-copy small { display: none; }
  .tab { min-height: 48px; }
  .patch-notes-layout { grid-template-columns: 1fr; }
}

@media (max-width: 940px) {
  .shell { display: block; width: min(100% - 1rem, 1560px); margin-top: .65rem; }
  .tabs {
    top: 65px;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: .3rem;
    margin-bottom: .55rem;
    padding: .35rem;
    border-radius: 11px;
    scrollbar-width: thin;
  }
  .nav-brand-label, .nav-footer-note { display: none; }
  .tab { flex: 0 0 auto; grid-template-columns: 28px auto; min-height: 43px; min-width: auto; padding: .36rem .52rem; }
  .tab:hover { transform: none; }
  .tab-icon { width: 27px; height: 27px; border: 0; background: transparent; }
  .tab-icon svg { width: 16px; height: 16px; }
  .tab-copy strong { font-size: .75rem; }
  .tab-copy small { display: none; }
  .tab.active, .tab[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--siege-orange); }
  .page-context { min-height: 61px; grid-template-columns: 38px minmax(0,1fr) 4px; }
  .page-context-mark { width: 34px; height: 34px; }
}

@media (max-width: 700px) {
  .page-context-copy > p:last-child { display: none; }
  .page-context { min-height: 54px; padding: .5rem .58rem; }
  .section-jumpbar { grid-template-columns: 1fr; gap: .4rem; }
  .section-jump-copy { grid-template-columns: auto minmax(0,1fr); }
  .section-jump-copy small { grid-column: 1 / -1; }
  .patch-delivery-options { grid-template-columns: 1fr; }
  .patch-publish-warning { align-items: flex-start; flex-direction: column; }
  .admin-accordion-summary::after { display: none; }
}

@media (max-width: 520px) {
  .site-header h1 { font-size: .92rem; }
  .site-header p { display: none; }
  .tabs { top: 57px; }
  .tab { grid-template-columns: 25px auto; padding-inline: .38rem; }
  .tab-icon { width: 24px; height: 24px; }
  .page-context-mark { display: none; }
  .page-context { grid-template-columns: minmax(0,1fr) 4px; }
  .admin-accordion-copy { grid-template-columns: minmax(0,1fr); }
  .admin-accordion-copy .eyebrow { display: none; }
  .admin-accordion-copy h2, .admin-accordion-copy h3 { font-size: .84rem; }
  .admin-accordion-summary { padding-left: .56rem; }
}


/* v8.1.3 tournament cleanup */
.compact-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.team-draft-adjustments{margin:1rem 0 1.25rem;padding:1rem;border:1px solid rgba(245,131,31,.25);border-radius:14px;background:linear-gradient(145deg,rgba(245,131,31,.06),rgba(26,34,47,.5))}.team-draft-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.compact-tool{display:flex;flex-direction:column;gap:.6rem;padding:.85rem}.compact-tool h4{margin:0;color:#f8fafc}.compact-tool label{font-size:.78rem}.compact-tool select,.compact-tool input{min-height:38px}.draft-team-badges{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.drafted-team-label,.drafted-inline-tag{display:inline-flex;align-items:center;border:1px solid rgba(245,131,31,.45);background:rgba(245,131,31,.12);color:#ffb067;border-radius:999px;padding:.16rem .45rem;font-size:.62rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bracket-status-form{flex-wrap:wrap}.bracket-participant span{display:flex;align-items:center;gap:.35rem;min-width:0}.webhook-routing-options .notification-options{grid-template-columns:repeat(3,minmax(0,1fr));max-height:360px;overflow:auto;padding-right:.3rem}.audit-filters{flex-wrap:wrap}.email-log-heading .compact-actions{justify-content:flex-end}
@media(max-width:1100px){.team-draft-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.webhook-routing-options .notification-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.team-draft-adjustments{padding:.75rem}.team-draft-tool-grid{grid-template-columns:1fr}.webhook-routing-options .notification-options{grid-template-columns:1fr;max-height:none}.bracket-board{padding-bottom:.5rem}.bracket-round-track{gap:.65rem}.bracket-round-column{min-width:240px}.bracket-slot-card{padding:.65rem}.match-room-data-grid{grid-template-columns:1fr}.match-room-hero,.competition-card-head{align-items:flex-start}.draft-team-badges{justify-content:flex-start}.email-log-heading{align-items:flex-start}.email-log-heading .compact-actions{width:100%;justify-content:flex-start}}
