.auth-card { max-width:620px; margin:0 auto 28px; }
.auth-card > h2, .management-grid > .card > h2 { margin:0; padding:24px 25px 0; }
.auth-card > p, .management-grid > .card > p { padding:12px 25px; color:#d0c0df; }
.entry-card + .management-grid { margin-top:24px; }
.auth-card .form { margin-top:20px; }
.session-user { font-size:.85rem; color:#eed5a2; overflow-wrap:anywhere; }
.connection-status { min-height:1.5em; color:#ddd0ef; margin:0 0 22px; }
.connection-status[data-error="true"], .feedback[data-error="true"] { color:#ffc2cf; }
.connection-status[data-error="true"] { padding:12px 16px; border:1px solid #9b576f; border-radius:12px; background:#321b32; }
.checkbox-field { display:flex; align-items:center; gap:10px; }
.checkbox-field input { width:18px; height:18px; accent-color:#dfbc77; }
select[multiple] { min-height:130px; padding:8px; }
select[multiple] option { padding:8px 10px; border-radius:5px; }
select[multiple] option:checked { background:#72502d linear-gradient(#72502d,#72502d); color:#fff0cc; }
input[readonly] { opacity:.85; cursor:default; }
button:disabled,input:disabled,select:disabled { opacity:.48; cursor:not-allowed; }
.event-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.event-actions .btn { font-size:.8rem; padding:8px 12px; min-height:36px; }
.stage-filter { max-width:450px; margin-bottom:28px; }
.stage-event-title { color:#ebd39a; border-bottom:1px solid #78613e; padding-bottom:12px; }
#reloadScore { margin-bottom:14px; }
.scoring-card > #savedScore { padding:0 25px; }
.scoring-card > #reloadScore { margin-inline:25px; width:calc(100% - 50px); }
.stage-card > .field { display:block; max-width:450px; margin-bottom:24px; }
code { overflow-wrap:anywhere; white-space:normal; }
.hidden { display:none !important; }
@media(max-width:800px) {
  .topbar { height:auto; min-height:90px; flex-wrap:wrap; gap:12px; padding-block:16px; }
  .header-tools { flex-wrap:wrap; gap:12px; }
  .session-user { max-width:180px; }
}

/* Contact fields keep the purple/gold layout; no white surfaces. */
.register-form > .field, .register-form > .field:nth-child(3) { grid-column: auto; }
.register-form > .btn { grid-column: 1 / -1; }
.contact-help { margin: 0; padding: 0 25px 20px; color: #d0c0df; font-size: .85rem; }
.contact-cell { min-width: 190px; overflow-wrap: anywhere; }
.contact-cell div + div { margin-top: 6px; }
.card, .management-grid > *, .header-tools { min-width: 0; }
.header-tools { max-width: 100%; }
@media (max-width: 800px) {
  .topbar > .header-tools { flex: 1 1 100%; }
  .session-user { overflow-wrap: anywhere; }
}
