/* Shared Matchday management UI. Scope both pages and their General Modal. */
.race-admin-page,
body:has(.race-admin-page) #general_modal {
    font-size: 1rem;
    overflow-wrap: anywhere;
}
.race-admin-page .small,
.race-admin-page small,
body:has(.race-admin-page) #general_modal .small,
body:has(.race-admin-page) #general_modal small {
    font-size: .875rem;
}
.race-admin-page .form-control,
.race-admin-page .form-select,
body:has(.race-admin-page) #general_modal .form-control,
body:has(.race-admin-page) #general_modal .form-select {
    font-size: 1rem;
}
.race-admin-page .form-floating > label,
body:has(.race-admin-page) #general_modal .form-floating > label {
    opacity: .85;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.race-admin-page .form-floating > .form-control,
body:has(.race-admin-page) #general_modal .form-floating > .form-control {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.race-admin-page .form-floating > textarea.form-control,
body:has(.race-admin-page) #general_modal .form-floating > textarea.form-control {
    min-height: 120px;
}
.race-admin-menu li + li { margin-top: .5rem; }
.race-admin-menu a { display: inline-block; padding-block: .125rem; }
.race-admin-menu .input-group { width: min(100%, 300px); }
.race-admin-page .textarea-container.form-floating > label { left: 2rem; }
.race-admin-page .textarea-container.form-floating > textarea { min-height: 160px; line-height: 1.5; }
.race-admin-page .modal-footer > .row.w-100,
body:has(.race-admin-page) #general_modal .modal-footer > .row.w-100 { margin-inline: 0; }
.race-admin-page .textarea-container.form-floating .team-numbers-overlay { top: calc(1.625rem + 1px); }
