.register-link { color: var(--muted); }
.register-link a, .hint a, .card a { color: var(--accent); }
.field { margin-bottom: 1rem; border: 0; padding: 0; min-width: 0; }
.field label { margin: 0 0 .35rem; }
fieldset.field legend { padding: 0; margin-bottom: .5rem; }
.field-error { color: var(--danger); min-height: 0; font-size: .95rem; margin-top: .3rem; }
.field-error:empty { display: none; }
.checks .check, label.check { display: flex; align-items: flex-start; gap: .5rem; margin: .35rem 0; cursor: pointer; }
.checks input[type=checkbox], label.check input[type=checkbox] { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: none; accent-color: var(--green-bright); }
#age_other { margin-top: .4rem; }
.hint { color: var(--muted); }
/* the trap for robots: outside the screen, not display:none (robots look for that) */
.hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* admin */
.admin-wrap { max-width: 64rem; }
.reg-grid { display: grid; grid-template-columns: max-content 1fr; gap: .25rem .9rem; margin: .5rem 0 1rem; }
.reg-grid dt { color: var(--muted); }
.reg-grid dd { margin: 0; overflow-wrap: anywhere; }
.row-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
button.danger { background: #7a2b2b; }
button.danger:hover { background: #a03a3a; }
.status-pill { display: inline-block; padding: .1rem .7rem; border-radius: 1rem; font-size: .85rem; background: #38443c; }
.status-pill.active { background: var(--green); }
.status-pill.suspended { background: #6b2b2b; }
.limit-input { width: 5rem !important; text-align: center; letter-spacing: 0; padding: .5rem !important; margin: 0; }
table.coaches { width: 100%; border-collapse: collapse; }
table.coaches th, table.coaches td { text-align: start; padding: .55rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.table-scroll { overflow-x: auto; }
.code-box { direction: ltr; font-family: Consolas, monospace; font-size: 2rem; letter-spacing: .25em; text-align: center; background: #12160f; border: 2px solid var(--accent); border-radius: .5rem; padding: 1rem; margin: 1rem 0; user-select: all; color: var(--accent); }
.quota { color: var(--muted); margin: 0 0 1rem; }
.quota.empty { color: var(--danger); font-weight: 700; }

.warning { background: #4a3a12; border: 1px solid #b8912a; border-radius: .5rem; padding: .7rem .9rem; margin: 1rem 0 0; }
.notice { background: #1f3b26; border: 1px solid var(--green-bright); border-radius: .5rem; padding: .6rem .9rem; margin-bottom: 1rem; }
.notice:empty { display: none; }
.notice.bad { background: #4a1f1f; border-color: var(--danger); }
.notice .row-actions { margin-top: .6rem; }
.pending-note { color: #e0c46a; font-size: .85rem; }
