.fi-panel-owner,
.fi-panel-federation {
    --owner-primary: var(--primary-600);
    --owner-primary-hover: var(--primary-700);
    --owner-surface: #ffffff;
    --owner-surface-muted: #f8fafc;
    --owner-border: #e2e8f0;
    --owner-text-muted: #64748b;
    --owner-text: #0f172a;
    --owner-muted: #64748b;
    --owner-card: #ffffff;
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(241, 245, 249, 0.92)),
        #f8fafc;
}

.dark .fi-panel-owner,
.dark .fi-panel-federation {
    --owner-primary: var(--primary-500);
    --owner-primary-hover: var(--primary-400);
    --owner-surface: #0f172a;
    --owner-surface-muted: #111827;
    --owner-border: rgba(148, 163, 184, 0.18);
    --owner-text-muted: #94a3b8;
    --owner-text: #f8fafc;
    --owner-muted: #94a3b8;
    --owner-card: #0f172a;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.98)),
        #020617;
}

.fi-panel-owner .fi-logo {
    font-weight: 700;
    letter-spacing: 0;
}

.fi-panel-owner .fi-sidebar {
    border-inline-end: 1px solid var(--owner-border);
    background: var(--owner-surface);
}

.dark .fi-panel-owner .fi-sidebar {
    background: #020617;
}

.fi-panel-owner .fi-topbar {
    border-bottom: 1px solid var(--owner-border);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(14px);
}

.dark .fi-panel-owner .fi-topbar {
    background: rgba(2, 6, 23, 0.88);
}

.fi-panel-owner .fi-sidebar-item-button {
    border-radius: 0.5rem;
}

.fi-panel-owner .fi-sidebar-item-active .fi-sidebar-item-button {
    box-shadow: inset 3px 0 0 var(--owner-primary);
}

.fi-panel-owner .fi-section,
.fi-panel-owner .fi-ta-ctn,
.fi-panel-owner .fi-simple-main {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.dark .fi-panel-owner .fi-section,
.dark .fi-panel-owner .fi-ta-ctn,
.dark .fi-panel-owner .fi-simple-main {
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.fi-panel-owner .fi-header-heading {
    color: #0f172a;
    font-weight: 700;
    letter-spacing: 0;
}

.dark .fi-panel-owner .fi-header-heading {
    color: #f8fafc;
}

.fi-panel-owner .fi-section-header-heading,
.fi-panel-owner .fi-wi-stats-overview-stat-label {
    letter-spacing: 0;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section {
    overflow: hidden;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section-header {
    padding: 1.25rem 1.5rem 0.75rem;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section-header-text-ctn {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section-header-heading {
    font-size: 1.05rem;
    line-height: 1.35;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section-header-description {
    color: var(--owner-text-muted);
    line-height: 1.5;
}

.fi-panel-owner .fi-wi-stats-overview .fi-section-content-ctn {
    padding: 0 1.5rem 1.5rem;
}

.fi-panel-owner .fi-wi-stats-overview-stat {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    min-height: 10.5rem;
    padding: 1.125rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.92)),
        var(--owner-surface);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.fi-panel-owner .fi-wi-stats-overview-stat-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.625rem;
}

.fi-panel-owner .fi-wi-stats-overview-stat-label-ctn {
    align-items: center;
    gap: 0.5rem;
}

.fi-panel-owner .fi-wi-stats-overview-stat:hover {
    border-color: rgba(99, 102, 241, 0.34);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
    transform: translateY(-1px);
}

.fi-panel-owner .fi-wi-stats-overview-stat-label {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.fi-panel-owner .fi-wi-stats-overview-stat-value {
    font-size: 2rem;
    font-weight: 750;
    letter-spacing: 0;
}

.fi-panel-owner .fi-wi-stats-overview-stat-description {
    margin-top: 0.125rem;
    line-height: 1.45;
}

.fi-panel-owner .fi-wi-stats-overview-stat-chart {
    margin-top: 0.5rem;
}

.dark .fi-panel-owner .fi-wi-stats-overview-stat {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.86)),
        var(--owner-surface);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.dark .fi-panel-owner .fi-wi-stats-overview-stat:hover {
    border-color: rgba(129, 140, 248, 0.38);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.3);
}

.fi-panel-owner .fi-badge {
    border-radius: 0.375rem;
}

.fi-panel-owner .fi-btn {
    border-radius: 0.5rem;
    font-weight: 600;
}

.fi-panel-owner .fi-input-wrp,
.fi-panel-owner .fi-select-input,
.fi-panel-owner .fi-ta-search-field {
    border-radius: 0.5rem;
}

.fi-panel-federation .fi-page-sub-navigation-tabs {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
}

.fi-panel-federation .fi-page-sub-navigation-tabs > * {
    flex-wrap: nowrap;
}

.fi-panel-federation .fh-event-bracket-section > .fi-section-content-ctn > .fi-section-content {
    display: grid;
    gap: 0.875rem;
}

.fi-panel-federation .fh-event-bracket-section {
    grid-column: 1 / -1;
    width: 100%;
}

.fi-panel-federation .fh-event-description-section {
    grid-column: 1 / -1;
    width: 100%;
}

.fi-panel-federation .fh-event-description-editor.fi-fo-rich-editor-main {
    min-height: 20rem;
}

.fi-panel-federation .fh-event-description-editor .fi-fo-rich-editor-content,
.fi-panel-federation .fh-event-description-editor.fi-fo-rich-editor-main .fi-fo-rich-editor-content {
    min-height: 18rem;
}

.fi-panel-federation .fh-event-gender-section {
    border-color: rgba(99, 102, 241, 0.22);
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.88), rgba(255, 255, 255, 0.94)),
        var(--owner-surface);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.fi-panel-federation .fh-event-gender-section .fi-section-header {
    border-bottom: 1px solid var(--owner-border);
    padding-block: 0.625rem;
    position: relative;
}

.fi-panel-federation .fh-event-gender-section .fi-section-header .fi-section-header-text-ctn {
    padding-inline-start: 1.75rem;
}

.fi-panel-federation .fh-event-gender-section .fi-section-header .fi-section-header-after-ctn {
    position: absolute;
    inset-inline-start: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    margin: 0;
}

.fi-panel-federation .fh-event-gender-section .fi-section-collapse-btn {
    margin-inline-start: auto;
}

.fi-panel-federation .fh-event-gender-section .fi-section-content-ctn > .fi-section-content {
    gap: 0.75rem;
    padding-block: 0.75rem;
}

.fi-panel-federation .fh-event-gender-section .fi-checkbox-input {
    border-radius: 0.25rem;
}

.fi-panel-federation .fh-event-gender-toggle {
    margin: 0;
}

.fi-panel-federation .fh-event-age-repeater .fi-fo-repeater-items {
    gap: 0.625rem;
}

.fi-panel-federation .fh-event-age-repeater .fi-fo-repeater-item {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.7);
}

.fi-panel-federation .fh-event-age-row {
    align-items: start;
    gap: 0.5rem;
}

.fi-panel-federation .fh-event-age-checkbox label,
.fi-panel-federation .fh-event-age-checkbox .fi-fo-field-wrp-label {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
}

.fi-panel-federation .fh-event-duration-input {
    width: min(100%, 8.5rem);
}

.fi-panel-federation .fh-event-duration-input .fi-input-wrp {
    min-height: 2rem;
}

.fi-panel-federation .fh-event-duration-input input {
    min-width: 3.75rem;
    padding-inline: 0.625rem;
}

.fi-panel-federation .fh-event-duration-input .fi-input-wrp-suffix {
    color: var(--owner-text-muted);
    font-size: 0.875rem;
    white-space: nowrap;
}

.fi-panel-federation .fh-event-age-number-input {
    width: min(100%, 7rem);
}

.fi-panel-federation .fh-event-age-number-input input {
    min-width: 3.5rem;
}

.fi-panel-federation .fh-event-age-name-input {
    width: min(100%, 24rem);
}

.fi-panel-federation .fh-event-weight-repeater {
    margin-top: 0;
}

.fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-items {
    gap: 0.5rem;
    justify-content: start;
}

.dark .fi-panel-federation .fh-event-gender-section {
    border-color: rgba(129, 140, 248, 0.25);
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.92)),
        var(--owner-surface);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.dark .fi-panel-federation .fh-event-age-repeater .fi-fo-repeater-item {
    border-color: rgba(148, 163, 184, 0.2);
    background: rgba(15, 23, 42, 0.72);
}

.dark .fi-panel-federation .fh-event-age-checkbox label,
.dark .fi-panel-federation .fh-event-age-checkbox .fi-fo-field-wrp-label {
    color: #f8fafc;
}

.fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-item {
    min-width: 0;
    width: 12.5rem;
    border-radius: 0.5rem;
    background: rgba(248, 250, 252, 0.72);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.75rem;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem;
}

.fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-item-header {
    grid-column: 2;
    grid-row: 1;
    min-height: auto;
    padding: 0;
    border: 0;
}

.fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-item-content {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
}

.fi-panel-federation .fh-event-weight-repeater .fi-input-wrp {
    min-height: 2rem;
}

.fi-panel-federation .fh-event-weight-repeater input {
    min-width: 0;
    padding-inline: 0.5rem;
}

.fi-panel-federation .fh-event-weight-repeater .fi-icon-btn {
    width: 1.75rem;
    height: 1.75rem;
}

.fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-add-action {
    aspect-ratio: 1 / 1;
    min-width: 2rem;
    min-height: 2rem;
    padding-inline: 0;
    font-size: 1rem;
    font-weight: 700;
}

.dark .fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-item {
    background: rgba(2, 6, 23, 0.52);
}

.fi-panel-federation tr.fh-event-application-not-qualified {
    background: color-mix(in srgb, #fef2f2 70%, transparent);
}

.dark .fi-panel-federation tr.fh-event-application-not-qualified {
    background: rgba(127, 29, 29, 0.18);
}

.fi-panel-federation .fi-ta-content-grouped .fi-ta-group-header {
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem 0.625rem 0 0;
    background: var(--owner-surface);
    margin-top: 1rem;
    padding: 0.875rem 1rem;
}

.fi-panel-federation .fi-ta-content-grouped .fi-ta-group-heading {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 750;
}

.fi-panel-federation .fi-ta-content-grouped .fi-ta-group-description {
    color: var(--owner-text-muted);
    font-size: 0.825rem;
    font-weight: 650;
    margin-top: 0.2rem;
}

.fi-panel-federation .fi-ta-content-grouped .fi-ta-group-header + .fi-ta-record {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.fh-event-application-cards {
    display: grid;
    gap: 1.25rem;
}

.fh-event-checkin-page {
    display: grid;
    gap: 1rem;
}

.fh-card-only-action {
    display: none !important;
}

.fh-event-application-filters {
    align-items: end;
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    display: grid;
    grid-template-columns: minmax(13rem, 1.25fr) minmax(9rem, 0.75fr) minmax(8rem, 0.6fr) minmax(16rem, 1.4fr) minmax(9rem, 0.75fr) auto;
    gap: 0.625rem;
    padding: 0.75rem;
}

.fh-event-application-filters label,
.fh-event-filter-field {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.fh-event-application-filters span {
    color: var(--owner-text-muted);
    font-size: 0.75rem;
    font-weight: 750;
}

.fh-event-application-filters input,
.fh-event-application-filters select {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    box-sizing: border-box;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.875rem;
    max-width: 100%;
    min-height: 2.25rem;
    min-width: 0;
    padding: 0.4rem 0.6rem;
    width: 100%;
}

.fh-event-application-filters button,
.fh-event-collapse-action {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.825rem;
    font-weight: 750;
    min-height: 2.25rem;
    padding: 0.4rem 0.7rem;
}

.fh-event-filter-combobox {
    min-width: 0;
    position: relative;
}

.fh-event-filter-combobox-button {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    text-align: left;
    width: 100%;
}

.fh-event-filter-combobox-button span {
    color: var(--owner-text);
    font-size: 0.875rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-filter-combobox-button::after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--owner-text-muted);
    content: '';
    flex: 0 0 auto;
}

.fh-event-filter-combobox-panel {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16);
    display: grid;
    gap: 0.35rem;
    left: 0;
    max-height: 18rem;
    overflow-y: auto;
    padding: 0.45rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 50;
}

.fh-event-filter-combobox-panel input {
    width: 100%;
}

.fh-event-filter-combobox-option {
    border: 0 !important;
    border-radius: 0.4rem !important;
    justify-content: flex-start;
    min-height: auto !important;
    padding: 0.45rem 0.55rem !important;
    text-align: left;
    width: 100%;
}

.fh-event-filter-combobox-option span {
    color: var(--owner-text);
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.25;
    white-space: normal;
}

.fh-event-filter-combobox-option:hover,
.fh-event-filter-combobox-option.is-selected {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent) !important;
    color: var(--owner-primary) !important;
}

.fh-event-filter-empty {
    color: var(--owner-text-muted);
    font-size: 0.8rem;
    padding: 0.5rem;
}

.fh-event-application-filters [x-cloak] {
    display: none !important;
}

.fh-event-checkin-filters {
    grid-template-columns: minmax(12rem, 1.1fr) minmax(8rem, 0.7fr) minmax(8rem, 0.7fr) minmax(15rem, 1.35fr) minmax(10rem, 0.85fr) minmax(10rem, 0.85fr) minmax(9rem, 0.75fr) auto;
}

.fh-event-checkin-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.fh-event-application-card {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.fh-event-application-card-header {
    align-items: center;
    background: color-mix(in srgb, var(--owner-surface) 86%, #f8fafc);
    border-bottom: 1px solid var(--owner-border);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1rem;
}

.fh-event-application-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    min-width: 0;
}

.fh-event-title-with-gender {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    min-width: 0;
}

.fh-event-title-with-gender > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fh-gender-icon-badge {
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.25rem;
    height: 1.35rem;
    justify-content: center;
    line-height: 1;
    min-width: 1.35rem;
    padding: 0 0.32rem;
}

.fh-gender-icon-badge svg {
    fill: none;
    height: 0.9rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.15;
    width: 0.9rem;
}

.fh-gender-icon-badge > span {
    color: currentColor !important;
    display: inline !important;
    font-size: 0.72rem !important;
    font-weight: 800;
    margin: 0 !important;
}

.fh-gender-icon-badge.is-male {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    color: var(--owner-primary);
}

.fh-gender-icon-badge.is-female {
    background: rgba(109, 76, 103, 0.1);
    color: #6d4c67;
}

.dark .fh-gender-icon-badge.is-male {
    background: color-mix(in srgb, var(--owner-primary) 12%, transparent);
    color: var(--owner-primary);
}

.dark .fh-gender-icon-badge.is-female {
    background: rgba(216, 180, 254, 0.12);
    color: #d8b4fe;
}

.fh-event-application-card-header h2 {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 760;
    line-height: 1.3;
    margin: 0;
    min-width: 12rem;
}

.fh-event-application-card-header p {
    color: var(--owner-text-muted);
    font-size: 0.825rem;
    font-weight: 650;
    margin: 0.2rem 0 0;
}

.fh-event-bracket-action,
.fh-event-row-actions button {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.8rem;
    font-weight: 700;
    min-height: 2rem;
    padding: 0.35rem 0.625rem;
}

.fh-event-bracket-action {
    align-items: center;
    background: var(--owner-primary, #256f6f) !important;
    border-color: var(--owner-primary, #256f6f) !important;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-width: 8.75rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
    text-align: center;
    white-space: nowrap;
}

.fh-event-bracket-action,
.fh-event-bracket-action *,
.fh-event-bracket-print-orientation,
.fh-event-bracket-print-orientation * {
    -webkit-text-fill-color: currentColor;
}

.fh-event-bracket-action:hover {
    background: var(--owner-primary-hover, #1f5f5f) !important;
    border-color: var(--owner-primary-hover, #1f5f5f) !important;
}

.fh-event-bracket-action.is-secondary {
    background: var(--owner-surface) !important;
    border-color: var(--owner-border) !important;
    color: var(--owner-text) !important;
}

.fh-event-bracket-action.is-secondary:hover {
    background: color-mix(in srgb, var(--owner-primary) 8%, var(--owner-surface)) !important;
    border-color: color-mix(in srgb, var(--owner-primary) 28%, var(--owner-border)) !important;
    color: var(--owner-primary-hover, #1f5f5f) !important;
}

.fh-event-bracket-action:disabled,
.fh-event-bracket-action[disabled] {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--owner-border) !important;
    color: var(--owner-text-muted) !important;
    cursor: not-allowed;
    opacity: 1 !important;
}

.fh-event-page-breadcrumb {
    align-items: center;
    color: var(--owner-text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.875rem;
    font-weight: 500;
    gap: 0.5rem;
    line-height: 1.428;
    margin: 0;
}

.fh-event-page-breadcrumb a {
    color: var(--owner-text-muted);
    text-decoration: none;
}

.fh-event-page-breadcrumb a:hover {
    color: var(--owner-primary);
}

.fh-event-page-breadcrumb span:last-child {
    color: var(--owner-text);
}

.fh-event-bracket-page-wrap {
    display: grid;
    gap: 0.5rem;
    padding-top: 2rem;
}

.fh-event-bracket-page-head {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.fh-event-bracket-page-head h1 {
    color: var(--owner-text);
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.15;
    margin: 0;
}

.fh-event-bracket-page-head p {
    color: var(--owner-text-muted);
    font-size: 0.875rem;
    font-weight: 700;
    margin: 0.25rem 0 0;
    max-width: 68rem;
}

.fh-event-bracket-page-head a {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    color: var(--owner-text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 800;
    min-height: 2.2rem;
    padding: 0.45rem 0.75rem;
    text-decoration: none;
}

.fh-event-collapse-action {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 2.35rem;
    padding-inline: 0;
}

.fh-event-row-actions button.is-danger {
    border-color: rgba(244, 63, 94, 0.35);
    color: #e11d48;
}

.fh-event-application-table-wrap {
    overflow-x: auto;
}

.fh-event-application-table {
    border-collapse: collapse;
    min-width: 62rem;
    width: 100%;
}

.fh-event-application-table th,
.fh-event-application-table td {
    border-bottom: 1px solid var(--owner-border);
    padding: 0.75rem 0.875rem;
    text-align: left;
    vertical-align: top;
}

.fh-event-application-table th {
    background: rgba(248, 250, 252, 0.78);
    color: var(--owner-text-muted);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-event-application-table td {
    color: var(--owner-text);
    font-size: 0.875rem;
}

.fh-event-application-table td strong {
    display: block;
    font-weight: 750;
}

.fh-event-application-table td span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.78rem;
    margin-top: 0.15rem;
}

.fh-event-application-table tr.is-not-qualified {
    background: color-mix(in srgb, #fff1f2 64%, transparent);
}

.fh-event-checkin-card {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.fh-event-checkin-card-head {
    align-items: center;
    background: color-mix(in srgb, var(--owner-surface) 86%, #f8fafc);
    border-bottom: 1px solid var(--owner-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.875rem 1rem;
}

.fh-event-checkin-card-head h2 {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.fh-event-checkin-card-head p {
    color: var(--owner-text-muted);
    font-size: 0.8rem;
    font-weight: 650;
    margin: 0.2rem 0 0;
}

.fh-event-checkin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.fh-event-checkin-actions .fh-event-bracket-action {
    min-height: 2.2rem;
    padding: 0.45rem 0.7rem;
}

.fh-event-checkin-actions .fh-event-bracket-action.is-secondary {
    background: var(--owner-surface);
    border-color: var(--owner-border);
    color: var(--owner-text);
    -webkit-text-fill-color: currentColor;
}

.fh-event-checkin-actions .fh-event-bracket-action.is-secondary:hover {
    border-color: rgba(79, 70, 229, 0.34);
    color: var(--owner-primary);
}

.fh-event-checkin-table-wrap {
    overflow-x: auto;
}

.fh-event-checkin-table {
    border-collapse: collapse;
    min-width: 94rem;
    width: 100%;
}

.fh-event-checkin-table th,
.fh-event-checkin-table td {
    border-bottom: 1px solid var(--owner-border);
    padding: 0.5rem 4px;
    text-align: left;
    vertical-align: middle;
}

.fh-event-checkin-table th {
    background: rgba(248, 250, 252, 0.78);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-event-checkin-table td {
    color: var(--owner-text);
    font-size: 0.84rem;
}

.fh-event-checkin-table th:first-child,
.fh-event-checkin-table td:first-child {
    padding-left: 10px;
}

.fh-event-checkin-table td strong {
    display: block;
    font-weight: 800;
    line-height: 1.2;
}

.fh-event-checkin-table td:nth-child(3) strong {
    white-space: nowrap;
}

.fh-event-checkin-table td.is-centered,
.fh-event-checkin-table th.is-centered {
    text-align: center;
}

.fh-event-checkin-registration {
    font-size: 0.78rem !important;
    font-weight: 750;
    white-space: nowrap;
}

.fh-event-checkin-bracket {
    color: var(--owner-text);
    font-size: 0.78rem !important;
    font-weight: 700;
    line-height: 1.25;
    max-width: 9rem;
    overflow-wrap: anywhere;
    width: 9rem;
}

.fh-event-checkin-table input[type='number'] {
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.84rem;
    min-height: 2rem;
    padding: 0.3rem 0.45rem;
    width: 5.8rem;
}

.fh-event-checkin-table input[type='checkbox'] {
    accent-color: var(--owner-primary);
    height: 1rem;
    width: 1rem;
}

.fh-event-checkin-table .fh-event-status-radios {
    gap: 0.2rem;
}

.fh-event-checkin-table .fh-event-status-radio span {
    font-size: 0.68rem;
    padding: 0.32rem 0.36rem;
}

.fh-event-checkin-table .fh-event-bulk-row-save {
    padding-left: 0.55rem;
    padding-right: 0.55rem;
}

.fh-event-status-radio input:disabled + span {
    cursor: not-allowed;
    opacity: 0.6;
}

.fh-event-checkin-table tr.is-qualified {
    background: color-mix(in srgb, #ecfdf5 46%, transparent);
}

.fh-event-checkin-table tr.is-pending {
    background: color-mix(in srgb, #fffbeb 36%, transparent);
}

.fh-event-checkin-table tr.is-disqualified {
    background: color-mix(in srgb, #fff1f2 64%, transparent);
}

.fh-event-pill,
.fh-event-readiness {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 750;
    line-height: 1.2;
    padding: 0.25rem 0.5rem;
}

.fh-event-pill {
    background: rgba(99, 102, 241, 0.1);
    color: #4f46e5;
}

.fh-event-readiness.is-qualified {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.fh-event-readiness.is-not-qualified {
    background: rgba(244, 63, 94, 0.1);
    color: #be123c;
    white-space: normal;
}

.fh-event-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.fh-event-bulk-checkin {
    display: grid;
    gap: 0.875rem;
}

.fh-event-bulk-checkin-summary {
    align-items: stretch;
    display: grid;
    gap: 0.625rem;
    grid-template-columns: minmax(0, 1fr) 8rem;
}

.fh-event-bulk-checkin-summary > div {
    background: rgba(248, 250, 252, 0.82);
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    padding: 0.625rem 0.75rem;
}

.fh-event-bulk-checkin-summary span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 0.175rem;
    text-transform: uppercase;
}

.fh-event-bulk-checkin-summary strong {
    color: var(--owner-text);
    display: block;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.25;
}

.fh-event-bulk-checkin-table-wrap {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    max-height: min(68vh, 46rem);
    overflow: auto;
}

.fh-event-bulk-checkin-table {
    border-collapse: collapse;
    min-width: 92rem;
    width: 100%;
}

.fh-event-bulk-checkin-table th,
.fh-event-bulk-checkin-table td {
    border-bottom: 1px solid var(--owner-border);
    padding: 0.55rem 0.625rem;
    text-align: left;
    vertical-align: middle;
}

.fh-event-bulk-checkin-table th {
    background: rgba(248, 250, 252, 0.9);
    color: var(--owner-text-muted);
    font-size: 0.7rem;
    font-weight: 850;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.fh-event-bulk-checkin-table td {
    color: var(--owner-text);
    font-size: 0.82rem;
}

.fh-event-bulk-checkin-table tr:last-child td {
    border-bottom: 0;
}

.fh-event-bulk-registration {
    color: var(--owner-text-muted);
    font-weight: 700;
    white-space: nowrap;
}

.fh-event-bulk-athlete strong,
.fh-event-bulk-checkin-table td > strong {
    display: block;
    font-weight: 800;
    line-height: 1.25;
}

.fh-event-bulk-athlete span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.72rem;
    margin-top: 0.1rem;
}

.fh-event-status-radios {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
    white-space: nowrap;
}

.fh-event-status-radio {
    cursor: pointer;
    display: inline-flex;
    position: relative;
}

.fh-event-status-radio input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.fh-event-status-radio span {
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    color: var(--owner-text-muted);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.38rem 0.48rem;
    transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.fh-event-status-radio:hover span {
    background: rgba(79, 70, 229, 0.07);
    border-color: rgba(79, 70, 229, 0.28);
    color: #4338ca;
}

.fh-event-status-radio:has(input:checked).is-ok span {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.38);
    color: #047857;
}

.fh-event-status-radio:has(input:checked).is-unknown span {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.42);
    color: #92400e;
}

.fh-event-status-radio:has(input:checked).is-disqualify span {
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(244, 63, 94, 0.42);
    color: #be123c;
}

.fh-event-bulk-weight {
    min-width: 10rem;
}

.fh-event-bulk-weight input,
.fh-event-bulk-checkin-table textarea {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    color: var(--owner-text);
    font-size: 0.8rem;
    min-height: 2rem;
    padding: 0.35rem 0.5rem;
    width: 100%;
}

.fh-event-bulk-weight input {
    max-width: 5.75rem;
}

.fh-event-bulk-weight small {
    color: #be123c;
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    margin-top: 0.2rem;
    max-width: 13rem;
}

.fh-event-bulk-checkin-table textarea {
    min-width: 12rem;
    resize: vertical;
}

.fh-event-bulk-row-save {
    background: var(--owner-primary);
    border: 1px solid var(--owner-primary);
    border-radius: 0.5rem;
    color: #ffffff;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 800;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    -webkit-text-fill-color: #ffffff;
}

.fh-event-bulk-row-save:hover {
    background: var(--owner-primary-hover);
    border-color: var(--owner-primary-hover);
}

.fh-event-bulk-row-save:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface));
    border-color: var(--owner-border);
    color: var(--owner-text-muted);
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: currentColor;
}

.fh-event-brackets-screen {
    display: grid;
    gap: 1rem;
}

.fh-event-brackets-summary {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fh-event-brackets-summary > div {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    padding: 0.875rem 1rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.fh-event-brackets-summary span,
.fh-event-brackets-counts span,
.fh-event-brackets-meta dt {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.75rem;
    font-weight: 750;
    text-transform: uppercase;
}

.fh-event-brackets-summary strong {
    color: var(--owner-text);
    display: block;
    font-size: 1.7rem;
    font-weight: 780;
    line-height: 1.1;
    margin-top: 0.3rem;
}

.fh-event-brackets-grid {
    display: grid;
    gap: 0.875rem;
}

.fh-event-brackets-card {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    padding: 1rem;
}

.fh-event-brackets-card > header {
    align-items: flex-start;
    display: flex;
    gap: 0.875rem;
    justify-content: space-between;
}

.fh-event-brackets-card h2 {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 780;
    line-height: 1.3;
    margin: 0.35rem 0 0;
}

.fh-event-brackets-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.35rem 0.55rem;
}

.fh-event-brackets-status.is-published {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.fh-event-brackets-status.is-started {
    background: rgba(14, 116, 144, 0.14);
    color: #0e7490;
}

.fh-event-brackets-status.is-draft,
.fh-event-brackets-status.is-ready {
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
}

.fh-event-brackets-status.is-needs_review {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.fh-event-brackets-status.is-not_created {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.fh-event-brackets-counts {
    display: grid;
    gap: 0.625rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.fh-event-brackets-counts > div {
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    padding: 0.75rem;
}

.fh-event-brackets-counts strong {
    color: var(--owner-text);
    display: block;
    font-size: 1.35rem;
    font-weight: 780;
    line-height: 1;
    margin-top: 0.35rem;
}

.fh-event-brackets-meta {
    border-top: 1px solid var(--owner-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem 0 0;
    padding-top: 0.875rem;
}

.fh-event-brackets-meta dd {
    color: var(--owner-text);
    font-size: 0.875rem;
    font-weight: 680;
    margin: 0.25rem 0 0;
}

.fh-event-brackets-preview {
    border-top: 1px solid var(--owner-border);
    display: grid;
    gap: 0.875rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.875rem;
    padding-top: 0.875rem;
}

.fh-event-brackets-preview h3 {
    color: var(--owner-text);
    font-size: 0.8rem;
    font-weight: 800;
    margin: 0 0 0.4rem;
    text-transform: uppercase;
}

.fh-event-brackets-preview p {
    margin: 0.45rem 0 0;
}

.fh-event-brackets-preview strong {
    color: var(--owner-text);
    display: block;
    font-size: 0.84rem;
    font-weight: 740;
}

.fh-event-brackets-preview span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.78rem;
    margin-top: 0.1rem;
}

.fh-event-brackets-filters {
    grid-template-columns:
        minmax(13rem, 1.1fr)
        minmax(8rem, 0.65fr)
        minmax(12rem, 0.95fr)
        minmax(10rem, 0.75fr)
        minmax(13rem, 1fr)
        auto;
}

.fh-event-brackets-filters label {
    overflow: hidden;
}

.fh-event-brackets-filters .fh-event-bracket-filter {
    overflow: visible;
}

.fh-event-brackets-game-weight-filter {
    align-items: start;
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(11rem, 13rem) minmax(11rem, 13rem) minmax(0, 1fr);
    padding: 0.75rem 0.875rem;
}

.fh-event-brackets-game-picker,
.fh-event-brackets-age-picker {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.fh-event-brackets-game-picker span,
.fh-event-brackets-age-picker span {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.fh-event-brackets-game-picker select,
.fh-event-brackets-age-picker select {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    box-sizing: border-box;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.875rem;
    max-width: 100%;
    min-height: 2.25rem;
    min-width: 0;
    padding: 0.4rem 0.6rem;
    width: 100%;
}

.fh-event-brackets-game-picker select:focus,
.fh-event-brackets-age-picker select:focus {
    border-color: var(--owner-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--owner-primary) 10%, transparent);
    outline: none;
}

.fh-event-brackets-weight-filter {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.fh-event-brackets-weight-filter > span {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.fh-event-brackets-weight-picker {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
    padding-block: 0.1rem;
}

.fh-event-brackets-weight-picker button {
    border: 1px solid rgba(100, 116, 139, 0.38);
    border-radius: 999px;
    background: transparent;
    color: var(--owner-text-muted);
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 720;
    line-height: 1;
    min-height: 2rem;
    padding: 0.38rem 0.72rem;
}

.fh-event-brackets-weight-picker button:hover {
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    border-color: color-mix(in srgb, var(--owner-primary) 34%, transparent);
    color: var(--owner-primary);
}

.fh-event-brackets-weight-picker button.is-active {
    background: #172026;
    border-color: #172026;
    color: #fff;
}

.fh-event-brackets-bulkbar {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.625rem 0.75rem;
}

.fh-event-brackets-bulkbar > div:first-child {
    align-items: baseline;
    display: flex;
    gap: 0.35rem;
}

.fh-event-brackets-bulkbar strong {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 800;
}

.fh-event-brackets-bulkbar span {
    color: var(--owner-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.fh-event-brackets-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.fh-event-brackets-bulk-actions button {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.8rem;
    font-weight: 750;
    min-height: 2rem;
    padding: 0.35rem 0.65rem;
}

.fh-event-brackets-bulk-actions button.is-primary {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
}

.fh-event-brackets-bulk-actions button:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface));
    border-color: var(--owner-border);
    color: var(--owner-text-muted);
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: currentColor;
}

.fh-event-brackets-list,
.fh-event-brackets-table {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
    display: grid;
    overflow: hidden;
}

.fh-event-brackets-table-head,
.fh-event-brackets-row {
    align-items: center;
    border-bottom: 1px solid var(--owner-border);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 2rem minmax(6rem, 0.7fr) minmax(6.5rem, 0.75fr) minmax(13rem, 1.45fr) minmax(4.5rem, 0.45fr) minmax(7rem, 0.65fr) repeat(4, minmax(5.5rem, 0.55fr)) minmax(8rem, 0.75fr);
}

.fh-event-brackets-table-head {
    background: rgba(148, 163, 184, 0.08);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    padding: 0.55rem 0.75rem;
    text-transform: uppercase;
}

.fh-event-brackets-row {
    min-height: 4rem;
    padding: 0.55rem 0.75rem;
}

.fh-event-brackets-row:last-child {
    border-bottom: 0;
}

.fh-event-brackets-row.is-empty {
    grid-template-columns: 1fr;
}

.fh-event-brackets-row-select {
    align-items: center;
    display: flex;
    justify-content: center;
}

.fh-event-brackets-row-select input {
    height: 1rem;
    width: 1rem;
}

.fh-event-brackets-status-cell,
.fh-event-brackets-main-cell,
.fh-event-brackets-game-cell,
.fh-event-brackets-weight-cell,
.fh-event-brackets-count-cell {
    min-width: 0;
}

.fh-event-brackets-status-cell {
    display: grid;
    gap: 0.18rem;
}

.fh-event-brackets-status-cell small,
.fh-event-brackets-main-cell small {
    color: var(--owner-text-muted);
    font-size: 0.7rem;
    font-weight: 650;
    line-height: 1.2;
}

.fh-event-brackets-gender-cell {
    align-items: center;
    display: flex;
    min-width: 0;
}

.fh-event-brackets-main-cell {
    display: grid;
    gap: 0.16rem;
}

.fh-event-brackets-main-cell strong {
    color: var(--owner-text);
    font-size: 0.86rem;
    font-weight: 780;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-brackets-game-cell span {
    align-items: center;
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    color: var(--owner-primary);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.28rem 0.45rem;
}

.fh-event-brackets-weight-cell {
    color: var(--owner-text);
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.2;
}

.fh-event-brackets-count-cell {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    display: grid;
    gap: 0.14rem;
    min-height: 2.75rem;
    padding: 0.35rem 0.45rem;
}

.fh-event-brackets-count-cell span {
    align-items: center;
    color: var(--owner-text-muted);
    display: flex;
    font-size: 0.65rem;
    font-weight: 850;
    gap: 0.25rem;
    line-height: 1;
    text-transform: uppercase;
}

.fh-event-brackets-count-cell span i {
    border-radius: 999px;
    display: inline-block;
    height: 0.42rem;
    width: 0.42rem;
}

.fh-event-brackets-count-cell strong {
    color: var(--owner-text);
    font-size: 0.95rem;
    font-weight: 820;
    line-height: 1;
}

.fh-event-brackets-count-cell.is-qualified {
    background: rgba(6, 95, 70, 0.12);
    border-color: rgba(6, 95, 70, 0.28);
}

.fh-event-brackets-count-cell.is-qualified span,
.fh-event-brackets-count-cell.is-qualified strong {
    color: #065f46;
}

.fh-event-brackets-count-cell.is-qualified i {
    background: #065f46;
}

.fh-event-brackets-count-cell.is-disqualified {
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(220, 38, 38, 0.28);
}

.fh-event-brackets-count-cell.is-disqualified span,
.fh-event-brackets-count-cell.is-disqualified strong {
    color: #b91c1c;
}

.fh-event-brackets-count-cell.is-disqualified i {
    background: #dc2626;
}

.fh-event-brackets-count-cell.is-pending {
    background: rgba(217, 137, 50, 0.14);
    border-color: rgba(217, 137, 50, 0.3);
}

.fh-event-brackets-count-cell.is-pending span,
.fh-event-brackets-count-cell.is-pending strong {
    color: #92400e;
}

.fh-event-brackets-count-cell.is-pending i {
    background: #d98932;
}

.fh-event-brackets-row .fh-event-brackets-open-action {
    align-items: center;
    background: var(--owner-primary) !important;
    background-color: var(--owner-primary) !important;
    background-image: none !important;
    border: 1px solid var(--owner-primary) !important;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 850;
    justify-content: center;
    line-height: 1;
    min-height: 2.25rem;
    min-width: 0;
    padding: 0.45rem 0.7rem;
    text-align: center;
    text-decoration: none;
    text-shadow: none !important;
    white-space: nowrap;
    width: 100%;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-brackets-row .fh-event-brackets-open-action:hover,
.fh-event-brackets-row .fh-event-brackets-open-action:focus-visible {
    background: var(--owner-primary-hover) !important;
    background-color: var(--owner-primary-hover) !important;
    border-color: var(--owner-primary-hover) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-brackets-row .fh-event-brackets-open-action *,
.fh-event-brackets-bulk-actions button *,
.fh-event-brackets-row button *,
.fh-event-brackets-row a * {
    -webkit-text-fill-color: currentColor;
}

.fh-event-brackets-row-title {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    min-width: 0;
}

.fh-event-brackets-row-title h2 {
    color: var(--owner-text);
    font-size: 0.92rem;
    font-weight: 780;
    line-height: 1.25;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-brackets-row-main p {
    color: var(--owner-text-muted);
    font-size: 0.76rem;
    font-weight: 650;
    margin: 0.18rem 0 0;
}

.fh-event-brackets-row-counts {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fh-event-count-pill {
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-height: 3.15rem;
    padding: 0.45rem 0.55rem;
}

.fh-event-count-pill span {
    align-items: center;
    color: var(--owner-text-muted);
    display: flex;
    font-size: 0.68rem;
    font-weight: 850;
    gap: 0.3rem;
    letter-spacing: 0;
    line-height: 1.1;
    text-transform: uppercase;
}

.fh-event-count-pill span i {
    border-radius: 999px;
    display: inline-block;
    height: 0.48rem;
    width: 0.48rem;
}

.fh-event-count-pill strong {
    color: var(--owner-text);
    font-size: 1.05rem;
    font-weight: 820;
    line-height: 1;
}

.fh-event-count-pill.is-qualified {
    background: rgba(6, 95, 70, 0.12);
    border-color: rgba(6, 95, 70, 0.28);
}

.fh-event-count-pill.is-qualified span,
.fh-event-count-pill.is-qualified strong {
    color: #065f46;
}

.fh-event-count-pill.is-qualified i {
    background: #065f46;
}

.fh-event-results-screen {
    display: grid;
    gap: 1rem;
}

.fh-event-results-filters {
    grid-template-columns: minmax(13rem, 1.1fr) minmax(8rem, 0.65fr) minmax(16rem, 1.35fr) minmax(10rem, 0.75fr) auto;
}

.fh-event-results-filters label {
    overflow: hidden;
}

.fh-event-results-filters .fh-event-bracket-filter {
    overflow: visible;
}

.fh-event-results-game-weight-filter {
    margin-top: 0;
}

.fh-event-results-table-wrap {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
    overflow-x: auto;
}

.fh-event-results-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 84rem;
    width: 100%;
}

.fh-event-results-table th,
.fh-event-results-table td {
    border-bottom: 1px solid var(--owner-border);
    padding: 0.68rem 0.75rem;
    text-align: left;
    vertical-align: middle;
}

.fh-event-results-table th {
    background: rgba(148, 163, 184, 0.09);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-event-results-table td {
    color: var(--owner-text);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.3;
}

.fh-event-results-table tbody tr:hover td {
    background: color-mix(in srgb, var(--owner-primary) 6%, transparent);
}

.fh-event-results-table tbody tr:last-child td {
    border-bottom: 0;
}

.fh-event-results-registration,
.fh-event-results-match-number,
.fh-event-results-position {
    font-weight: 820;
    white-space: nowrap;
}

.fh-event-results-cell-link {
    background: transparent;
    border: 0;
    color: var(--owner-primary);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 850;
    padding: 0;
    text-align: left;
    text-decoration: none;
}

.fh-event-results-cell-link:hover,
.fh-event-results-cell-link:focus-visible {
    color: color-mix(in srgb, var(--owner-primary) 82%, var(--owner-text));
    outline: none;
    text-decoration: underline;
}

.fh-event-results-athlete {
    font-weight: 820;
    min-width: 10rem;
}

.fh-event-results-medal {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 820;
    line-height: 1;
    min-height: 1.5rem;
    padding: 0.28rem 0.6rem;
    white-space: nowrap;
}

.fh-event-results-medal.is-gold {
    background: rgba(217, 137, 50, 0.12);
    border-color: rgba(217, 137, 50, 0.34);
    color: #9a5a12;
}

.fh-event-results-medal.is-silver {
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(100, 116, 139, 0.34);
    color: #475569;
}

.fh-event-results-medal.is-bronze {
    background: rgba(180, 83, 9, 0.12);
    border-color: rgba(180, 83, 9, 0.32);
    color: #92400e;
}

.fh-event-results-empty {
    color: var(--owner-text-muted);
    font-size: 0.86rem;
    font-weight: 650;
    padding: 1.25rem;
    text-align: center;
}

.fh-event-results-modal-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, 0.52);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1.5rem;
    position: fixed;
    z-index: 80;
}

.fh-event-results-modal {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 1rem;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
    color: var(--owner-text);
    display: grid;
    gap: 0.85rem;
    max-width: 44rem;
    padding: 1.25rem;
    position: relative;
    width: min(44rem, 100%);
}

.fh-event-results-modal-close {
    align-items: center;
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    color: var(--owner-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.4rem;
    font-weight: 700;
    height: 2.35rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 2.35rem;
}

.fh-event-results-modal-close:hover {
    border-color: var(--owner-primary);
    color: var(--owner-primary);
}

.fh-event-results-modal-eyebrow {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    margin: 0;
    text-transform: uppercase;
}

.fh-event-results-modal-heading {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    padding-right: 2.5rem;
}

.fh-event-results-modal-heading h2 {
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
    margin: 0;
}

.fh-event-results-modal-heading span {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    color: var(--owner-primary);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.28rem 0.55rem;
}

.fh-event-results-modal-subtitle {
    color: var(--owner-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    padding-right: 2.5rem;
}

.fh-event-results-preview-list {
    display: grid;
    gap: 0.55rem;
}

.fh-event-results-preview-row {
    align-items: center;
    background: color-mix(in srgb, var(--owner-background) 55%, var(--owner-surface));
    border: 1px solid var(--owner-border);
    border-radius: 0.65rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 0.7rem 0.85rem;
}

.fh-event-results-preview-row div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.fh-event-results-preview-row strong {
    color: var(--owner-text);
    font-size: 0.9rem;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-results-preview-row div > span {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 750;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-results-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
    padding-top: 0.25rem;
}

.fh-event-results-modal-actions a,
.fh-event-results-modal-actions button {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 850;
    justify-content: center;
    min-height: 2.35rem;
    min-width: 7rem;
    padding: 0.45rem 0.85rem;
    text-decoration: none;
}

.fh-event-results-modal-actions a {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: var(--owner-primary-foreground, #fff);
}

.fh-event-results-modal-actions button {
    background: var(--owner-surface);
    color: var(--owner-text);
}

.fh-event-count-pill.is-disqualified {
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(220, 38, 38, 0.28);
}

.fh-event-count-pill.is-disqualified span,
.fh-event-count-pill.is-disqualified strong {
    color: #b91c1c;
}

.fh-event-count-pill.is-disqualified i {
    background: #dc2626;
}

.fh-event-count-pill.is-pending {
    background: rgba(217, 119, 6, 0.14);
    border-color: rgba(217, 119, 6, 0.28);
}

.fh-event-count-pill.is-pending span,
.fh-event-count-pill.is-pending strong {
    color: #92400e;
}

.fh-event-count-pill.is-pending i {
    background: #d97706;
}

.fh-event-bracket-match-card {
    position: relative;
}

.fh-event-bracket-match-hit {
    background: transparent;
    border: 0;
    border-radius: inherit;
    bottom: 0;
    cursor: pointer;
    left: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
}

.fh-event-bracket-match-card:has(.fh-event-bracket-match-hit):hover {
    border-color: var(--owner-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--owner-primary) 18%, transparent);
}

.fh-event-bracket-slot.is-winner {
    background: rgba(16, 185, 129, 0.12);
}

.fh-event-bracket-slot.is-winner:hover {
    background: rgba(16, 185, 129, 0.18);
}

.fh-event-bracket-slot.is-disqualified {
    background: rgba(239, 68, 68, 0.09);
}

.fh-event-bracket-slot.is-disqualified:hover {
    background: rgba(239, 68, 68, 0.13);
}

.fh-event-bracket-slot.is-winner .fh-event-bracket-avatar {
    border-color: #22c55e !important;
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.42) !important;
    position: relative;
}

.fh-event-bracket-slot.is-disqualified .fh-event-bracket-avatar {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.42) !important;
    position: relative;
}

.fh-event-bracket-winner-badge {
    bottom: -0.36rem;
    display: block;
    height: 1.28rem;
    position: absolute;
    right: -0.36rem;
    width: 1.28rem;
    z-index: 4;
}

.fh-event-bracket-winner-badge svg {
    display: block;
    height: 100%;
    overflow: visible;
    width: 100%;
}

.fh-event-bracket-winner-badge-shape {
    fill: #22c55e;
    stroke: #020617;
    stroke-width: 1;
}

.fh-event-bracket-winner-badge-check {
    fill: none;
    stroke: #020617;
    stroke-linecap: square;
    stroke-linejoin: miter;
    stroke-width: 3.1;
}

.fh-event-blocked-badge {
    display: block;
    height: 1.34rem;
    width: 1.34rem;
    z-index: 4;
}

.fh-event-blocked-badge svg {
    display: block;
    height: 100%;
    overflow: visible;
    width: 100%;
}

.fh-event-blocked-badge-ring,
.fh-event-blocked-badge-slash {
    fill: none;
    stroke: #dc2626;
    stroke-linecap: round;
    stroke-width: 3.35;
}

.fh-event-bracket-blocked-badge {
    bottom: -0.4rem;
    left: -0.4rem;
    position: absolute;
}

.fh-event-bracket-print-status-badge {
    display: none;
}

.fh-event-match-modal-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, 0.42);
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 1rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 80;
}

.fh-event-match-modal {
    --fh-match-red: #dc2626;
    --fh-match-blue: #2563eb;
    --fh-match-action: var(--owner-primary);
    --fh-match-card: #f8fafc;
    --fh-match-card-soft: #ffffff;
    --fh-match-border: var(--owner-border);
    border: 1px solid var(--fh-match-border);
    border-radius: 0.95rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--owner-surface) 96%, #e2e8f0), var(--owner-surface));
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    color: var(--owner-text);
    display: grid;
    gap: 0.95rem;
    max-height: min(94vh, 54rem);
    max-width: 72rem;
    overflow-y: auto;
    padding: 1rem;
    position: relative;
    width: min(96vw, 72rem);
}

.fh-event-match-modal [x-cloak],
.fh-event-bracket-board [x-cloak] {
    display: none !important;
}

.fh-event-start-warning {
    background: color-mix(in srgb, var(--owner-primary) 7%, var(--owner-surface));
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, var(--owner-border));
    border-radius: 0.75rem;
    color: var(--owner-text-muted);
    display: grid;
    gap: 0.3rem;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    padding: 0.85rem 0.95rem;
}

.fh-event-start-warning strong {
    color: var(--owner-text);
    font-size: 0.92rem;
    font-weight: 900;
}

.fh-event-start-warning p {
    margin: 0;
}

.fh-event-start-modal {
    max-width: 34rem;
    padding: 1.15rem;
    width: min(92vw, 34rem);
}

.fh-event-start-modal-head {
    align-items: flex-start;
    border-bottom: 1px solid var(--owner-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-bottom: 0.85rem;
}

.fh-event-start-modal-title {
    min-width: 0;
    text-align: center;
}

.fh-event-start-modal-title span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.76rem;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-event-start-modal-title h3 {
    font-size: 1.25rem;
    margin-top: 0.2rem;
}

.fh-event-match-modal footer.fh-event-start-modal-actions {
    border-top: 1px solid var(--owner-border);
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    padding-top: 0.9rem;
}

.fh-event-match-modal footer.fh-event-start-modal-actions button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 6.5rem;
}

.fh-event-match-modal footer.fh-event-start-modal-actions button.fh-event-start-submit {
    background: var(--owner-primary, #256f6f) !important;
    background-color: var(--owner-primary, #256f6f) !important;
    background-image: none !important;
    border-color: var(--owner-primary, #256f6f) !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--owner-primary) 24%, transparent);
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    visibility: visible !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-match-modal-head,
.fh-event-match-modal footer {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.fh-event-match-modal-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.fh-event-match-title-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.45rem;
    color: #020617;
    display: flex;
    flex: 0 0 auto;
    font-size: 1.85rem;
    font-weight: 950;
    letter-spacing: -0.02em;
    min-height: 3.9rem;
    padding-inline: 1rem;
    text-transform: uppercase;
}

.fh-event-match-heading {
    flex: 1 1 auto;
    min-width: 0;
}

.fh-event-match-heading span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.78rem;
    font-weight: 820;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-event-match-modal h3 {
    color: var(--owner-text);
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: -0.015em;
    margin: 0;
    text-align: center;
}

.fh-event-match-modal-title {
    align-items: center;
    display: flex;
    gap: 0.55rem;
    justify-content: center;
}

.fh-event-match-status {
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    background: #f1f5f9;
    color: var(--owner-text-muted);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.28rem 0.55rem;
    text-transform: uppercase;
}

.fh-event-match-status.is-progress {
    background: #fef3c7;
    border-color: #f59e0b;
    color: #92400e;
}

.fh-event-match-status.is-completed {
    background: #dcfce7;
    border-color: #22c55e;
    color: #166534;
}

.fh-event-match-heading p {
    color: #d98932;
    font-size: 0.86rem;
    font-weight: 900;
    margin: 0;
    text-transform: uppercase;
}

.fh-event-match-modal header button,
.fh-event-match-modal footer button {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.86rem;
    font-weight: 760;
    min-height: 2.25rem;
    padding: 0.45rem 0.75rem;
}

.fh-event-match-modal header button {
    border-radius: 999px;
    font-size: 1.25rem;
    min-width: 2.25rem;
    padding: 0;
}

.fh-event-match-modal footer button.is-primary {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.fh-event-match-modal footer button.is-play {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.fh-event-match-modal footer button:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--owner-border) !important;
    color: var(--owner-text-muted) !important;
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: currentColor !important;
}

.fh-event-match-modal footer p {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0;
}

.fh-event-match-actions {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    width: 100%;
}

.fh-event-match-actions-secondary,
.fh-event-match-actions-primary {
    align-items: center;
    display: flex;
    gap: 0.55rem;
}

.fh-event-match-actions-primary {
    justify-content: flex-end;
    margin-left: auto;
}

.fh-event-match-actions button {
    min-width: 6.25rem;
    white-space: nowrap;
}

.fh-event-match-confirm-result-button {
    align-items: center !important;
    background: var(--fh-match-action) !important;
    border: 1px solid var(--fh-match-action) !important;
    box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--fh-match-action) 22%, transparent) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    font-weight: 850 !important;
    justify-content: center !important;
    min-width: 8.6rem !important;
    opacity: 1 !important;
    text-shadow: none !important;
    visibility: visible !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-match-confirm-result-button:hover {
    background: var(--owner-primary-hover) !important;
    border-color: var(--owner-primary-hover) !important;
}

.fh-event-match-confirm-result-button:disabled,
.fh-event-match-confirm-result-button[disabled] {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--owner-border) !important;
    box-shadow: none !important;
    color: var(--owner-text-muted) !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    -webkit-text-fill-color: currentColor !important;
}

.fh-event-match-confirm-result-button:disabled:hover,
.fh-event-match-confirm-result-button[disabled]:hover {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--owner-border) !important;
}

.fh-event-match-players {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fh-event-match-player-shell {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}

.fh-event-match-player-card {
    border: 1px solid var(--fh-match-border);
    border-left: 0.45rem solid var(--fh-match-red);
    border-radius: 0.85rem;
    background: var(--fh-match-card);
    color: var(--owner-text);
    cursor: pointer;
    display: grid;
    gap: 0.2rem 0.65rem;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    padding: 0.75rem;
    position: relative;
    text-align: start;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    width: 100%;
}

.fh-event-match-player-card.is-blue {
    border-left-color: var(--fh-match-blue);
}

.fh-event-match-player-card.is-selected {
    border-color: var(--fh-match-red);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--fh-match-red) 24%, transparent);
}

.fh-event-match-player-card.is-blue.is-selected {
    border-color: var(--fh-match-blue);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--fh-match-blue) 24%, transparent);
}

.fh-event-match-player-card:not(.is-disabled):hover {
    transform: translateY(-1px);
}

.fh-event-match-player-card.is-disabled {
    opacity: 0.58;
}

.fh-event-match-player-card.is-disqualified {
    background: color-mix(in srgb, #ef4444 7%, var(--fh-match-card));
    border-color: color-mix(in srgb, #ef4444 55%, var(--fh-match-border));
    cursor: not-allowed;
    opacity: 0.78;
}

.fh-event-match-player-card.is-locked {
    cursor: not-allowed;
}

.fh-event-match-player-card.is-locked:not(.is-selected) {
    opacity: 0.72;
}

.fh-event-match-player-card.is-locked:not(.is-disabled):hover {
    transform: none;
}

.fh-event-match-player-card input,
.fh-event-match-player-card button {
    cursor: auto;
}

.fh-event-match-player-card input:disabled {
    cursor: not-allowed;
}

.fh-event-match-player-card > input[type="checkbox"] {
    align-self: center;
    appearance: none;
    border: 1.5px solid #94a3b8;
    border-radius: 999px;
    background: var(--owner-surface);
    display: grid;
    height: 1.05rem;
    justify-content: center;
    margin: 0;
    place-items: center;
    width: 1.05rem;
}

.fh-event-match-player-card > input[type="checkbox"]:checked {
    background: var(--fh-match-red);
    border-color: var(--fh-match-red);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fh-match-red) 16%, transparent);
}

.fh-event-match-player-card.is-blue > input[type="checkbox"]:checked {
    background: var(--fh-match-blue);
    border-color: var(--fh-match-blue);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fh-match-blue) 16%, transparent);
}

.fh-event-match-player-card > input[type="checkbox"]:checked::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 0.48rem;
    transform: rotate(45deg) translate(-0.04rem, -0.04rem);
    width: 0.25rem;
}

.fh-event-match-player-dot {
    align-items: center;
    background:
        radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.72), transparent 34%),
        color-mix(in srgb, var(--fh-match-red) 12%, transparent);
    border: 2px solid var(--fh-match-red);
    border-radius: 999px;
    display: inline-flex;
    grid-row: span 3;
    height: 5rem;
    justify-content: center;
    overflow: visible;
    position: relative;
    width: 5rem;
}

.fh-event-match-player-dot img {
    border-radius: inherit;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fh-event-match-player-blocked-badge {
    bottom: -0.18rem;
    left: -0.18rem;
    position: absolute;
}

.fh-event-match-player-card.is-blue .fh-event-match-player-dot {
    background:
        radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.72), transparent 34%),
        color-mix(in srgb, var(--fh-match-blue) 12%, transparent);
    border-color: var(--fh-match-blue);
}

.fh-event-match-player-side {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-event-match-player-card strong {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 900;
    grid-column: 3;
    line-height: 1.15;
}

.fh-event-match-player-card em {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 650;
    grid-column: 3;
}

.fh-event-match-player-flag {
    grid-column: 3;
    justify-self: start;
}

.fh-event-match-player-flag {
    background: color-mix(in srgb, #ef4444 10%, var(--owner-surface));
    border: 1px solid color-mix(in srgb, #ef4444 32%, var(--owner-border));
    border-radius: 999px;
    color: #b91c1c;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.24rem 0.5rem;
}

.fh-event-match-player-corner-action {
    align-self: flex-end;
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    box-shadow: none;
    cursor: pointer;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1;
    min-height: 1.9rem;
    padding: 0 0.82rem;
    position: static;
}

.fh-event-match-player-corner-action.is-danger {
    background: color-mix(in srgb, #dc2626 8%, var(--owner-surface));
    border-color: color-mix(in srgb, #dc2626 36%, var(--owner-border));
    color: #b91c1c;
}

.fh-event-match-player-corner-action.is-revert {
    background: color-mix(in srgb, #16a34a 9%, var(--owner-surface));
    border-color: color-mix(in srgb, #16a34a 34%, var(--owner-border));
    color: #15803d;
}

.fh-event-match-player-corner-action.is-danger:hover {
    background: color-mix(in srgb, #dc2626 13%, var(--owner-surface));
    border-color: color-mix(in srgb, #dc2626 48%, var(--owner-border));
}

.fh-event-match-player-corner-action.is-revert:hover {
    background: color-mix(in srgb, #16a34a 14%, var(--owner-surface));
    border-color: color-mix(in srgb, #16a34a 46%, var(--owner-border));
}

.fh-event-match-player-score {
    align-self: center;
    display: grid;
    gap: 0.25rem;
    grid-column: 4;
    grid-row: 1 / span 3;
    justify-items: center;
}

.fh-event-match-player-score span {
    color: var(--owner-text-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.fh-event-match-player-score input {
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    background: var(--fh-match-card-soft);
    color: var(--owner-text);
    font-size: 1.45rem;
    font-weight: 950;
    min-height: 2.85rem;
    text-align: center;
    width: 5.25rem;
}

.fh-event-match-result {
    border: 1px solid var(--owner-border);
    border-radius: 0.85rem;
    background: color-mix(in srgb, var(--owner-surface) 88%, #f8fafc);
    overflow: visible;
    transition: opacity 160ms ease, filter 160ms ease;
}

.fh-event-match-result[aria-disabled="true"] {
    filter: grayscale(0.3);
    opacity: 0.58;
}

.fh-event-match-result[aria-disabled="true"] .fh-event-match-victory-grid {
    pointer-events: none;
}

.fh-event-match-result.is-red {
    --fh-match-active: var(--fh-match-red);
}

.fh-event-match-result.is-blue {
    --fh-match-active: var(--fh-match-blue);
}

.fh-event-match-result-head {
    align-items: center;
    background: color-mix(in srgb, var(--fh-match-active, #111827) 88%, #111827);
    border-bottom: 1px solid color-mix(in srgb, var(--fh-match-active, #111827) 76%, #111827);
    display: flex;
    justify-content: center;
    padding: 0.5rem 0.85rem;
}

.fh-event-match-result h4 {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.fh-event-match-result-head label {
    align-items: center;
    display: flex;
    gap: 0.45rem;
}

.fh-event-match-result-head span {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.fh-event-match-result-head select {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    min-height: 2rem;
    padding: 0.3rem 0.55rem;
}

.fh-event-match-victory-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.fh-event-match-victory-grid label {
    border-inline-end: 1px solid var(--owner-border);
    cursor: pointer;
    display: grid;
    min-height: 5.3rem;
    position: relative;
    z-index: 1;
}

.fh-event-match-result[aria-disabled="true"] .fh-event-match-victory-grid label {
    cursor: not-allowed;
}

.fh-event-match-victory-grid label:last-child {
    border-inline-end: 0;
}

.fh-event-match-victory-grid input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fh-event-match-victory-grid label > span {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    justify-content: center;
    padding: 0.88rem 0.45rem 0.65rem;
    position: relative;
    text-align: center;
}

.fh-event-match-victory-grid strong {
    color: var(--owner-text-muted);
    font-size: 0.76rem;
    font-weight: 950;
    letter-spacing: 0.02em;
}

.fh-event-match-victory-grid em {
    color: var(--owner-text);
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.fh-event-match-victory-info {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    background: var(--owner-surface);
    color: var(--owner-text-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.66rem;
    font-weight: 900;
    height: 1.05rem;
    justify-content: center;
    position: absolute;
    right: 0.45rem;
    top: 0.38rem;
    width: 1.05rem;
    z-index: 4;
}

.fh-event-match-victory-info small {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16);
    color: var(--owner-text-muted);
    display: none;
    font-size: 0.7rem;
    font-weight: 650;
    line-height: 1.25;
    min-width: 11rem;
    padding: 0.55rem;
    position: absolute;
    right: -0.25rem;
    text-align: start;
    top: calc(100% + 0.45rem);
    z-index: 10;
}

.fh-event-match-victory-info:hover small,
.fh-event-match-victory-info:focus small {
    display: block;
}

.fh-event-match-victory-grid label:hover > span,
.fh-event-match-victory-grid label.is-selected > span,
.fh-event-match-victory-grid input:checked + span {
    background: color-mix(in srgb, var(--fh-match-active, var(--owner-primary)) 12%, transparent);
}

.fh-event-match-victory-grid label.is-selected > span,
.fh-event-match-victory-grid input:checked + span {
    box-shadow: inset 0 0 0 2px var(--fh-match-active, var(--owner-primary));
}

.fh-event-match-victory-grid label.is-selected {
    z-index: 3;
}

.fh-event-match-confirm-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, 0.54);
    border-radius: 0.95rem;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 1rem;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
}

.fh-event-match-confirm {
    border: 1px solid var(--owner-border);
    border-radius: 1rem;
    background: var(--owner-surface);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
    color: var(--owner-text);
    display: grid;
    gap: 1.15rem;
    max-width: 36rem;
    padding: 1.55rem;
    text-align: center;
    width: min(100%, 36rem);
}

.fh-event-match-confirm h4 {
    color: var(--owner-text);
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: -0.01em;
    margin: 0;
}

.fh-event-match-confirm p {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--owner-surface) 86%, #f8fafc);
    color: var(--owner-text);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.55;
    margin: 0;
    padding: 0.95rem 1rem;
}

.fh-event-match-confirm-actions {
    display: flex;
    gap: 0.65rem;
    justify-content: flex-end;
}

.fh-event-match-confirm button {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    font-size: 0.86rem;
    font-weight: 760;
    min-height: 2.25rem;
    padding: 0.5rem 0.95rem;
}

.fh-event-match-confirm button.is-primary,
.fh-event-match-modal footer button.is-primary {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
}

.dark .fh-event-application-card,
.dark .fh-event-checkin-card,
.dark .fh-event-brackets-card,
.dark .fh-event-brackets-summary > div,
.dark .fh-event-brackets-counts > div,
.dark .fh-event-brackets-bulkbar,
.dark .fh-event-brackets-list,
.dark .fh-event-brackets-table,
.dark .fh-event-results-table-wrap,
.dark .fh-event-results-table,
.dark .fh-event-brackets-bulk-actions button,
.dark .fh-event-match-modal,
.dark .fh-event-match-modal header button,
.dark .fh-event-match-modal footer button,
.dark .fh-event-match-confirm,
.dark .fh-event-match-confirm button,
.dark .fh-event-match-player-score input,
.dark .fh-event-match-result,
.dark .fh-event-match-result-head select,
.dark .fh-event-match-victory-info,
.dark .fh-event-match-victory-info small,
.dark .fh-event-row-actions button,
.dark .fh-event-application-filters,
.dark .fh-event-application-filters input,
.dark .fh-event-application-filters select,
.dark .fh-event-application-filters button,
.dark .fh-event-filter-combobox-panel,
.dark .fh-event-collapse-action,
.dark .fh-event-bulk-checkin-summary > div,
.dark .fh-event-bulk-checkin-table-wrap,
.dark .fh-event-bulk-weight input,
.dark .fh-event-bulk-checkin-table textarea,
.dark .fh-event-checkin-table,
.dark .fh-event-checkin-table input[type='number'] {
    background: var(--owner-surface);
}

.dark .fh-event-match-modal {
    --fh-match-card: #27272a;
    --fh-match-card-soft: #18181b;
    --fh-match-border: rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, #18181b, #111113);
}

.dark .fh-event-match-title-card {
    background: #f8fafc;
    border-color: #f8fafc;
    color: #020617;
}

.dark .fh-event-match-modal footer button.is-primary,
.dark .fh-event-match-confirm button.is-primary {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.dark .fh-event-match-modal footer button.is-play {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
    -webkit-text-fill-color: #fff;
}

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

    .fh-event-bracket-placement-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-event-match-victory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-event-match-victory-grid label {
        border-bottom: 1px solid var(--owner-border);
    }
}

@media (max-width: 640px) {
    .fh-event-bracket-placement-grid {
        grid-template-columns: 1fr;
    }

    .fh-event-bracket-placement-head {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-match-modal-head,
    .fh-event-match-modal footer {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-match-actions,
    .fh-event-match-actions-secondary,
    .fh-event-match-actions-primary {
        align-items: stretch;
        flex-direction: column;
        margin-left: 0;
        width: 100%;
    }

    .fh-event-match-actions button {
        width: 100%;
    }

    .fh-event-match-title-card {
        justify-content: center;
    }

    .fh-event-match-player-card {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .fh-event-match-player-score {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-items: stretch;
    }

    .fh-event-match-player-score input {
        width: 100%;
    }
}

.dark .fh-event-bracket-action {
    background: #6366f1 !important;
    border-color: #6366f1 !important;
    color: #fff !important;
}

.dark .fh-event-brackets-table-head {
    background: rgba(148, 163, 184, 0.08);
}

.dark .fh-event-results-table th {
    background: rgba(148, 163, 184, 0.08);
}

.dark .fh-event-results-medal.is-gold {
    color: #fbbf24;
}

.dark .fh-event-results-medal.is-silver {
    color: #cbd5e1;
}

.dark .fh-event-results-medal.is-bronze {
    color: #f59e0b;
}

.dark .fh-event-brackets-game-cell span {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--owner-primary) 24%, transparent);
    color: var(--owner-primary);
}

.dark .fh-event-brackets-game-weight-filter {
    background: var(--owner-surface);
}

.dark .fh-event-brackets-game-picker select,
.dark .fh-event-brackets-age-picker select {
    border-color: var(--owner-border);
}

.dark .fh-event-brackets-weight-picker button:hover {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--owner-primary) 28%, transparent);
    color: var(--owner-primary);
}

.dark .fh-event-brackets-weight-picker button.is-active {
    background: #f8fafc;
    border-color: #f8fafc;
    color: #0f172a;
}

.dark .fh-event-application-card-header,
.dark .fh-event-checkin-card-head,
.dark .fh-event-application-table th,
.dark .fh-event-checkin-table th,
.dark .fh-event-bulk-checkin-table th {
    background: rgba(15, 23, 42, 0.62);
}

.dark .fh-event-application-table tr.is-not-qualified {
    background: rgba(127, 29, 29, 0.18);
}

.dark .fh-event-checkin-table tr.is-qualified {
    background: rgba(6, 78, 59, 0.16);
}

.dark .fh-event-checkin-table tr.is-pending {
    background: rgba(120, 53, 15, 0.16);
}

.dark .fh-event-checkin-table tr.is-disqualified {
    background: rgba(127, 29, 29, 0.18);
}

.dark .fh-event-match-players label {
    background: rgba(15, 23, 42, 0.62);
}

.fh-event-bracket-modal {
    display: grid;
    gap: 1rem;
    max-height: min(76vh, 50rem);
    overflow-y: auto;
    padding-inline-end: 0.25rem;
}

.fh-event-bracket-page {
    max-height: none;
    overflow: visible;
    padding-inline-end: 0;
}

.fh-event-bracket-board {
    --fh-bracket-bg: #ffffff;
    --fh-bracket-graph-bg: #ffffff;
    --fh-bracket-card-bg: #ffffff;
    --fh-bracket-card-border: #d1d5db;
    --fh-bracket-card-muted-bg: #f8fafc;
    --fh-bracket-connector: #9ca3af;
    --fh-bracket-text: #111827;
    --fh-bracket-muted: #64748b;
    --fh-bracket-metrics-bg: #f3f4f6;
    --fh-bracket-metric-pill-bg: #e5e7eb;
    --fh-bracket-avatar-bg: #f1f5f9;
    --fh-bracket-avatar-border: #cbd5e1;
    --fh-bracket-avatar-text: #475569;
    --fh-bracket-placeholder-bg: #f8fafc;
    --fh-bracket-action-bg: #ffffff;
    --fh-bracket-action-text: #111827;
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--fh-bracket-bg);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    color: var(--fh-bracket-text);
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    overflow: visible;
    padding: 0;
}

.dark .fh-event-bracket-board {
    --fh-bracket-bg: #18181b;
    --fh-bracket-graph-bg: #18181b;
    --fh-bracket-card-bg: #323238;
    --fh-bracket-card-border: #52525b;
    --fh-bracket-card-muted-bg: #27272a;
    --fh-bracket-connector: #3f3f46;
    --fh-bracket-text: #f8fafc;
    --fh-bracket-muted: #a1a1aa;
    --fh-bracket-metrics-bg: #303033;
    --fh-bracket-metric-pill-bg: #71717a;
    --fh-bracket-avatar-bg: #52525b;
    --fh-bracket-avatar-border: #52525b;
    --fh-bracket-avatar-text: #d4d4d8;
    --fh-bracket-placeholder-bg: rgba(39, 39, 42, 0.72);
    --fh-bracket-action-bg: #323238;
    --fh-bracket-action-text: #ffffff;
}

.fh-event-bracket-board-header {
    align-items: start;
    background: color-mix(in srgb, var(--owner-surface) 86%, #f8fafc);
    border-bottom: 1px solid var(--owner-border);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    padding: 0.875rem 1rem;
}

.fh-event-bracket-page .fh-event-bracket-board-header {
    border-bottom: 1px solid var(--owner-border);
}

.fh-event-repechage-print-header {
    display: none;
}

.fh-event-bracket-page .fh-event-bracket-board.is-small-bracket {
    max-width: none;
    width: 100%;
}

.fh-event-bracket-page .fh-event-bracket-board.is-small-bracket .fh-event-bracket-actions {
    justify-content: flex-start;
    max-width: none;
}

.fh-event-bracket-page .fh-event-bracket-board.is-small-bracket .fh-event-bracket-metrics {
    width: auto;
}

.fh-event-bracket-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-start;
    max-width: none;
    width: 100%;
}

.fh-event-print-timestamp {
    display: none;
}

.fh-event-print-page-number {
    display: none;
}

.fh-event-bracket-actions button {
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: 0.45rem;
    background: var(--fh-bracket-action-bg);
    color: var(--fh-bracket-action-text);
    font-size: 0.78rem;
    font-weight: 850;
    min-height: 2rem;
    padding: 0.38rem 0.7rem;
}

.fh-event-bracket-actions button,
.fh-event-bracket-actions button *,
.fh-event-bracket-actions label,
.fh-event-bracket-actions label * {
    -webkit-text-fill-color: currentColor;
}

.fh-event-bracket-actions .fh-event-bracket-action {
    background: var(--fh-bracket-action-bg) !important;
    border-color: var(--fh-bracket-card-border) !important;
    color: var(--fh-bracket-action-text) !important;
    min-width: 7rem;
}

.fh-event-bracket-actions .fh-event-bracket-action.is-primary {
    background: var(--owner-primary, #256f6f) !important;
    border-color: var(--owner-primary, #256f6f) !important;
    color: #ffffff !important;
}

.fh-event-bracket-actions .fh-event-bracket-action.is-danger {
    background: #fff1f2 !important;
    border-color: #fecdd3 !important;
    color: #be123c !important;
}

.fh-event-bracket-actions .fh-event-bracket-action.is-force-unpublish {
    margin-left: auto;
}

@media (max-width: 760px) {
    .fh-event-bracket-actions .fh-event-bracket-action.is-force-unpublish {
        margin-left: 0;
    }
}

.fh-event-bracket-print-orientation {
    align-items: center;
    color: var(--fh-bracket-action-text);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.35rem;
    min-height: 2rem;
    padding-inline: 0.2rem;
}

.fh-event-bracket-print-orientation input {
    accent-color: var(--owner-primary);
    height: 0.95rem;
    width: 0.95rem;
}

.fh-event-bracket-actions button:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--fh-bracket-card-border) !important;
    color: var(--owner-text-muted) !important;
    cursor: not-allowed;
    opacity: 1;
}

.fh-event-bracket-actions button.fh-event-bracket-action:disabled,
.fh-event-bracket-actions button.fh-event-bracket-action[disabled],
.fh-event-bracket-actions button.fh-event-bracket-action.is-primary:disabled,
.fh-event-bracket-actions button.fh-event-bracket-action.is-primary[disabled] {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface)) !important;
    border-color: var(--fh-bracket-card-border) !important;
    box-shadow: none !important;
    color: var(--owner-text-muted) !important;
    opacity: 1 !important;
    text-shadow: none !important;
    -webkit-text-fill-color: currentColor !important;
}

.fh-event-bracket-board-header p {
    color: var(--fh-bracket-muted);
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    text-transform: uppercase;
}

.fh-event-bracket-board-header h2 {
    color: var(--fh-bracket-text);
    font-size: 1.05rem;
    font-weight: 850;
    line-height: 1.25;
    margin: 0;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.fh-event-bracket-metrics {
    align-items: center;
    background: var(--fh-bracket-metrics-bg);
    border-radius: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1.2rem;
    margin: 0 1rem;
    padding: 0.6rem 0.7rem;
}

.fh-event-bracket-metrics div {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
}

.fh-event-bracket-metrics span {
    color: var(--fh-bracket-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.fh-event-bracket-metrics strong {
    background: var(--fh-bracket-metric-pill-bg);
    border-radius: 999px;
    color: var(--fh-bracket-text);
    font-size: 0.75rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.25rem 0.55rem;
}

.fh-event-bracket-generated {
    color: var(--fh-bracket-muted);
    font-size: 0.78rem;
    font-weight: 650;
    margin: 0 1rem;
}

.fh-event-bracket-placement-panel {
    background: color-mix(in srgb, var(--owner-surface) 92%, var(--fh-match-blue));
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    margin: 0.85rem 1rem 1rem;
    padding: 0.9rem;
    position: relative;
    z-index: 20;
}

.fh-event-bracket-placement-head {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.fh-event-bracket-placement-head h3 {
    color: var(--fh-bracket-text);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.15;
    margin: 0;
}

.fh-event-bracket-placement-head p {
    color: var(--fh-bracket-muted);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0.2rem 0 0;
}

.fh-event-bracket-placement-clear {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    color: var(--fh-bracket-muted);
    cursor: pointer;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 900;
    min-height: 2.2rem;
    padding: 0 0.75rem;
}

.fh-event-bracket-placement-clear:hover {
    border-color: color-mix(in srgb, var(--owner-primary) 32%, var(--owner-border));
    color: var(--owner-primary);
}

.fh-event-bracket-placement-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fh-searchable-select-field,
.fh-event-bracket-placement-grid label {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
    position: relative;
}

.fh-searchable-select-label,
.fh-event-bracket-placement-grid label > span,
.fh-event-disqualification-reason span {
    color: var(--fh-bracket-muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.fh-searchable-select {
    position: relative;
}

.fh-searchable-select input,
.fh-event-bracket-placement-grid select,
.fh-event-disqualification-reason textarea {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    color: var(--owner-text);
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 2.45rem;
    padding: 0.55rem 0.65rem;
    width: 100%;
}

.fh-searchable-select input {
    padding-right: 2.1rem;
}

.fh-searchable-select input:focus {
    border-color: color-mix(in srgb, var(--owner-primary) 42%, var(--owner-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--owner-primary) 12%, transparent);
    outline: none;
}

.fh-searchable-select-clear {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--fh-bracket-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 900;
    height: 1.6rem;
    justify-content: center;
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
}

.fh-searchable-select-clear:hover {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, transparent);
    color: var(--owner-text);
}

.fh-searchable-select-options {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
    left: 0;
    max-height: 15rem;
    overflow-y: auto;
    padding: 0.25rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.25rem);
    z-index: 60;
}

.fh-searchable-select-options button {
    background: transparent;
    border: 0;
    border-radius: 0.4rem;
    color: var(--owner-text);
    cursor: pointer;
    display: block;
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.25;
    min-height: 2rem;
    padding: 0.45rem 0.5rem;
    text-align: left;
    width: 100%;
}

.fh-searchable-select-options button:hover,
.fh-searchable-select-options button.is-highlighted,
.fh-searchable-select-options button.is-selected {
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    color: var(--owner-primary);
}

.fh-searchable-select-options button.is-highlighted {
    outline: 2px solid color-mix(in srgb, var(--owner-primary) 24%, transparent);
    outline-offset: -2px;
}

.fh-searchable-select-options p {
    color: var(--fh-bracket-muted);
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0;
    padding: 0.55rem 0.5rem;
}

.fh-event-bracket-placement-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.fh-event-bracket-placement-actions button {
    background: #4f46e5;
    border: 1px solid #4f46e5;
    border-radius: 0.55rem;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 900;
    min-height: 2.35rem;
    padding: 0 0.9rem;
}

.fh-event-disqualification-reason {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.8rem;
}

.fh-event-disqualification-reason textarea {
    min-height: 5rem;
    resize: vertical;
}

.fh-event-bracket-medalists {
    border-top: 1px solid var(--owner-border);
    margin: 0.75rem 1rem 1rem;
    padding-top: 1rem;
}

.fh-event-bracket-medalists-head {
    align-items: flex-end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.fh-event-bracket-medalists-head h3 {
    color: var(--fh-bracket-text);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
}

.fh-event-bracket-medalists-head p {
    color: var(--fh-bracket-muted);
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0.18rem 0 0;
}

.fh-event-bracket-medalists-head > span {
    background: var(--fh-bracket-metric-pill-bg);
    border-radius: 999px;
    color: var(--fh-bracket-text);
    font-size: 0.72rem;
    font-weight: 850;
    padding: 0.22rem 0.55rem;
    white-space: nowrap;
}

.fh-event-bracket-medalists-table {
    background: var(--fh-bracket-card-bg);
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: 0.625rem;
    overflow: hidden;
}

.fh-event-bracket-medalists-row {
    align-items: center;
    border-top: 1px solid var(--fh-bracket-card-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(3rem, 0.22fr) minmax(12rem, 1fr) minmax(15rem, 1.45fr) minmax(5rem, 0.35fr) minmax(7rem, 0.45fr) minmax(7rem, 0.5fr);
    min-height: 3rem;
    padding: 0.65rem 0.8rem;
}

.fh-event-bracket-medalists-row:first-child {
    border-top: 0;
}

.fh-event-bracket-medalists-row.is-head {
    background: var(--fh-bracket-metrics-bg);
    color: var(--fh-bracket-muted);
    font-size: 0.72rem;
    font-weight: 900;
    min-height: 2.35rem;
    text-transform: uppercase;
}

.fh-event-bracket-medalists-hash {
    align-items: center;
    display: flex;
}

.fh-event-bracket-medalists-id {
    color: var(--fh-bracket-text);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.fh-event-bracket-medalists-name {
    min-width: 0;
}

.fh-event-bracket-medalists-row strong {
    color: var(--fh-bracket-text);
    display: block;
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.15;
}

.fh-event-bracket-medalists-row small {
    color: var(--fh-bracket-muted);
    display: block;
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1.2;
    margin-top: 0.18rem;
}

.fh-event-bracket-medalists-number {
    color: var(--fh-bracket-text);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1;
}

.fh-event-bracket-medalists-medal {
    align-items: center;
    display: flex;
}

.fh-event-bracket-medalists-certificate {
    color: var(--fh-bracket-text);
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.2;
    min-height: 1rem;
}

.fh-event-bracket-medal-pill {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-width: 4.4rem;
    padding: 0.35rem 0.6rem;
}

.fh-event-bracket-medal-pill.is-gold {
    background: #fef3c7;
    border-color: #f59e0b;
    color: #92400e;
}

.fh-event-bracket-medal-pill.is-silver {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #334155;
}

.fh-event-bracket-medal-pill.is-bronze {
    background: #ffedd5;
    border-color: #fb923c;
    color: #9a3412;
}

.fh-event-bracket-print-results {
    display: none;
}

.fh-event-bracket-print-meta {
    display: none;
}

.fh-event-print-only {
    display: none !important;
}

.fh-event-bracket-summary,
.fh-event-bracket-lists {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.fh-event-bracket-summary > div,
.fh-event-bracket-section {
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    background: var(--owner-surface);
    padding: 0.875rem;
}

.fh-event-bracket-eyebrow {
    color: var(--owner-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-event-bracket-title {
    color: var(--owner-text);
    font-size: 0.95rem;
    font-weight: 700;
    margin-top: 0.2rem;
    overflow-wrap: anywhere;
}

.fh-event-bracket-section-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.fh-event-bracket-section-head h3,
.fh-event-bracket-round h4 {
    color: var(--owner-text);
    font-size: 0.95rem;
    font-weight: 750;
    margin: 0;
}

.fh-event-bracket-section-head span {
    color: var(--owner-text-muted);
    font-size: 0.825rem;
}

.fh-event-bracket-graph {
    align-content: start;
    background: var(--fh-bracket-graph-bg);
    border-radius: 0.625rem;
    display: grid;
    grid-template-columns: repeat(var(--round-count), 225px);
    grid-template-rows: auto repeat(var(--bracket-size), minmax(3.25rem, auto));
    column-gap: 48px;
    row-gap: 0.75rem;
    overflow-x: auto;
    overflow-y: visible;
    margin: 0 1rem 1rem;
    padding: 1rem 1.25rem 1.25rem 1.75rem;
    max-width: 100%;
    min-height: 0;
}

.fh-event-bracket-board.is-small-bracket .fh-event-bracket-graph {
    grid-template-columns: 225px;
    grid-template-rows: auto repeat(var(--bracket-size), minmax(2.8rem, auto));
    padding: 0.55rem 1rem 0.75rem 1.75rem;
    row-gap: 0.4rem;
    width: max-content;
}

.fh-event-bracket-board.is-small-bracket .fh-event-bracket-round-heading {
    padding-bottom: 0.25rem;
}

.fh-event-bracket-board.is-small-bracket .fh-event-bracket-match,
.fh-event-bracket-board.is-small-bracket .fh-event-bracket-match-card {
    min-height: 5.2rem;
}

.fh-event-bracket-board.is-small-bracket .fh-event-bracket-slot {
    min-height: 2.6rem;
    padding-block: 0.32rem;
}

.fh-event-bracket-consolation {
    border: 1px solid #3f3f46;
    border-radius: 0.625rem;
    background: #202024;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
}

.fh-event-bracket-consolation-heading {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.8rem;
    justify-content: space-between;
}

.fh-event-bracket-consolation-heading h3 {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 900;
    margin: 0;
    text-transform: uppercase;
}

.fh-event-bracket-consolation-heading span {
    color: #a1a1aa;
    font-size: 0.76rem;
    font-weight: 700;
}

.fh-event-bracket-consolation-match {
    display: grid;
    gap: 0.22rem;
    max-width: 22rem;
}

.fh-event-bracket-round-heading {
    align-self: end;
    color: var(--fh-bracket-text);
    font-size: 0.92rem;
    font-weight: 950;
    letter-spacing: 0;
    padding-bottom: 0.65rem;
    text-align: center;
    text-transform: uppercase;
}

.fh-event-bracket-athlete {
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: rgba(248, 250, 252, 0.72);
    padding: 0.65rem;
}

.fh-event-bracket-match {
    align-items: center;
    align-self: stretch;
    background: transparent;
    border: 0;
    display: flex;
    min-height: 6rem;
    overflow: visible;
    padding: 0;
    position: relative;
}

.fh-event-bracket-match-card {
    background: var(--fh-bracket-card-bg);
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: 0.45rem;
    display: grid;
    gap: 0;
    min-height: 6rem;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 2;
}

.fh-event-bracket-match-card::after {
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: inherit;
    content: "";
    inset: -1px;
    pointer-events: none;
    position: absolute;
    z-index: 3;
}

.fh-event-bracket-match-card.is-running {
    animation: fh-event-running-card-ripple 1.8s ease-out infinite;
    border-color: rgba(180, 83, 9, 0.72);
    box-shadow: 0 0 0 2px rgba(180, 83, 9, 0.18);
}

.fh-event-bracket-match-card.is-running::before {
    animation: fh-event-running-pulse 1.45s ease-out infinite;
    background: #b45309;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 0 rgba(180, 83, 9, 0.46);
    content: "";
    height: 0.62rem;
    pointer-events: none;
    position: absolute;
    right: -0.31rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.62rem;
    z-index: 5;
}

@keyframes fh-event-running-card-ripple {
    0% {
        box-shadow:
            0 0 0 2px rgba(180, 83, 9, 0.18),
            0 0 0 0 rgba(180, 83, 9, 0.24);
    }

    70% {
        box-shadow:
            0 0 0 2px rgba(180, 83, 9, 0.18),
            0 0 0 0.85rem rgba(180, 83, 9, 0);
    }

    100% {
        box-shadow:
            0 0 0 2px rgba(180, 83, 9, 0.18),
            0 0 0 0 rgba(180, 83, 9, 0);
    }
}

@keyframes fh-event-running-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(180, 83, 9, 0.46);
    }

    70% {
        box-shadow: 0 0 0 0.42rem rgba(180, 83, 9, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(180, 83, 9, 0);
    }
}

.fh-event-bracket-link-in,
.fh-event-bracket-link-out,
.fh-event-bracket-link-join {
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.fh-event-bracket-link-in {
    border-top: 2px solid var(--fh-bracket-connector);
    left: -24px;
    top: 50%;
    width: 24px;
}

.fh-event-bracket-link-out {
    border-top: 2px solid var(--fh-bracket-connector);
    right: -24px;
    top: 50%;
    width: 24px;
}

.fh-event-bracket-link-join {
    border-right: 2px solid var(--fh-bracket-connector);
    height: calc(100% + 0.75rem);
    right: -24px;
    top: 50%;
}

.fh-event-bracket-match.is-pair-bottom .fh-event-bracket-link-join,
.fh-event-bracket-match.is-final-round .fh-event-bracket-link-out,
.fh-event-bracket-match.is-final-round .fh-event-bracket-link-join {
    display: none;
}

.fh-event-bracket-match-title {
    align-items: center;
    background: var(--fh-bracket-card-muted-bg);
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: 999px;
    color: var(--fh-bracket-text);
    display: inline-flex;
    font-size: 0.66rem;
    font-weight: 850;
    height: 1.45rem;
    justify-content: center;
    left: -1.45rem;
    margin: 0;
    min-width: 1.45rem;
    padding-inline: 0.35rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-transform: uppercase;
    z-index: 4;
}

.fh-event-bracket-slot {
    align-items: center;
    background: var(--fh-bracket-placeholder-bg);
    border: 0;
    border-radius: 0;
    color: var(--fh-bracket-text);
    display: flex;
    gap: 0.6rem;
    min-height: 3rem;
    padding: 0.42rem 0.52rem;
    position: relative;
    transition:
        border-color 140ms ease,
        background-color 140ms ease,
        transform 140ms ease;
}

.fh-event-bracket-slot:hover {
    background: rgba(79, 70, 229, 0.08);
}

.fh-event-bracket-slot + .fh-event-bracket-slot {
    border-top: 1px solid var(--fh-bracket-card-border);
}

.fh-event-bracket-slot-content {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    min-width: 0;
    width: 100%;
}

.fh-event-bracket-slot.is-draggable {
    cursor: grab;
}

.fh-event-bracket-slot.is-draggable:active {
    cursor: grabbing;
    transform: scale(0.99);
}

.fh-event-bracket-slot.is-draggable:hover {
    background: rgba(79, 70, 229, 0.1);
}

.fh-event-bracket-slot.is-placeholder {
    background: var(--fh-bracket-placeholder-bg);
    color: var(--fh-bracket-muted);
}

.fh-event-bracket-slot.is-placeholder:hover {
    background: rgba(79, 70, 229, 0.07);
}

.fh-event-bracket-slot.is-athlete-highlighted,
.fh-event-bracket-slot.is-athlete-highlighted:hover {
    background: rgba(79, 70, 229, 0.14);
    box-shadow: inset 3px 0 0 rgba(79, 70, 229, 0.75);
}

.fh-event-bracket-slot.is-winner.is-athlete-highlighted,
.fh-event-bracket-slot.is-winner.is-athlete-highlighted:hover {
    background: linear-gradient(90deg, rgba(79, 70, 229, 0.16), rgba(16, 185, 129, 0.14));
    box-shadow: inset 3px 0 0 rgba(79, 70, 229, 0.75);
}

.fh-event-bracket-avatar {
    align-items: center;
    background: var(--fh-bracket-avatar-bg);
    border: 1px solid var(--fh-bracket-avatar-border);
    border-radius: 999px;
    color: var(--fh-bracket-avatar-text);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 850;
    height: 2.25rem;
    justify-content: center;
    text-transform: uppercase;
    width: 2.25rem;
}

.fh-event-bracket-avatar img {
    border-radius: inherit;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fh-event-bracket-avatar:not(.is-placeholder) {
    border-color: #cbd5e1;
    box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.28);
}

.fh-event-bracket-avatar.is-placeholder {
    background: var(--fh-bracket-card-muted-bg);
    color: var(--fh-bracket-muted);
    font-size: 0.58rem;
}

.fh-event-bracket-person {
    display: grid;
    flex: 1 1 auto;
    gap: 0.1rem;
    min-width: 0;
}

@media print {
    body.fh-event-printing > :not(.fh-event-print-root) {
        display: none !important;
    }

    .fh-event-page-breadcrumb {
        display: none !important;
    }

    .fh-event-bracket-page-head {
        display: none !important;
    }

    .fh-event-print-root .fh-event-bracket-placement-panel {
        display: none !important;
    }

    .fh-event-print-root {
        background: #fff !important;
        color: #111827 !important;
        display: block !important;
        overflow: visible !important;
        padding: 0 0 0 25px !important;
        width: 100% !important;
    }

    .fh-event-print-root .fh-event-bracket-board {
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #111827 !important;
        gap: 4px !important;
        padding: 0 !important;
        position: relative !important;
    }

    .fh-event-print-root .fh-event-bracket-board-header {
        display: block !important;
        min-height: 48px !important;
        padding: 0 0 6px !important;
        position: relative !important;
    }

    .fh-event-print-root .fh-event-bracket-board-header > div:first-child {
        min-height: 44px !important;
        position: relative !important;
    }

    .fh-event-print-timestamp {
        color: #111827 !important;
        display: block !important;
        font-size: 7px !important;
        font-weight: 800 !important;
        bottom: 10px !important;
        position: fixed !important;
        right: 0 !important;
        text-align: right !important;
        top: auto !important;
        z-index: 5 !important;
    }

    .fh-event-print-page-number {
        color: #111827 !important;
        display: block !important;
        font-size: 7px !important;
        font-weight: 800 !important;
        bottom: 0 !important;
        position: fixed !important;
        right: 0 !important;
        text-align: right !important;
        top: auto !important;
        z-index: 5 !important;
    }

    .fh-event-print-root .fh-event-bracket-board-header.is-print-repeat-header .fh-event-print-timestamp,
    .fh-event-print-root .fh-event-bracket-board-header.is-print-repeat-header .fh-event-print-page-number {
        display: none !important;
    }

    .fh-event-bracket-actions,
    .fh-event-bracket-type-control,
    .fh-event-bracket-print-orientation,
    .fh-event-bracket-generated,
    .fh-event-bracket-lists,
    .fh-event-bracket-consolation-heading span,
    .fh-event-bracket-slot.is-empty-placeholder .fh-event-bracket-person,
    .fh-event-bracket-slot.is-empty-placeholder .fh-event-bracket-avatar span {
        display: none !important;
    }

    .fh-event-bracket-print-meta {
        display: none !important;
    }

    .fh-event-bracket-board-header p,
    .fh-event-bracket-board-header h2,
    .fh-event-bracket-consolation-heading h3,
    .fh-event-bracket-round-heading {
        color: #111827 !important;
    }

    .fh-event-bracket-board-header h2 {
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1.15 !important;
    }

    .fh-event-print-root .fh-event-bracket-board-header h2 {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: flex-end !important;
        max-width: 42% !important;
        position: absolute !important;
        right: 0 !important;
        text-align: right !important;
        top: 30px !important;
    }

    .fh-event-print-root .fh-gender-icon-badge {
        background: #fff !important;
        color: #111827 !important;
        height: 0.85rem !important;
        min-width: 0.85rem !important;
        padding: 0 !important;
    }

    .fh-event-print-root .fh-gender-icon-badge svg {
        height: 0.62rem !important;
        width: 0.62rem !important;
    }

    .fh-event-bracket-board-header p {
        font-size: 12px !important;
        font-weight: 900 !important;
        margin: 0 0 1px !important;
    }

    .fh-event-bracket-print-heading {
        display: block !important;
        min-height: 41px !important;
        position: relative !important;
    }

    .fh-event-bracket-print-federation-name {
        display: block !important;
        font-size: 16px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        max-width: 42% !important;
        overflow-wrap: anywhere !important;
        position: absolute !important;
        right: 0 !important;
        text-align: right !important;
        top: 0 !important;
    }

    .fh-event-bracket-print-event-name {
        color: #6b7280 !important;
        display: block !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        max-width: none !important;
        position: absolute !important;
        right: 0 !important;
        text-align: right !important;
        top: 16px !important;
        white-space: nowrap !important;
    }

    .fh-event-bracket-metrics {
        background: #f3f4f6 !important;
        border: 0 !important;
        border-radius: 0.5rem !important;
        color: #111827 !important;
        gap: 0.75rem 1.5rem !important;
        margin-bottom: 0 !important;
        padding: 0.7rem 0.8rem !important;
    }

    .fh-event-bracket-metrics div {
        gap: 0.45rem !important;
    }

    .fh-event-bracket-metrics span {
        color: #64748b !important;
        font-size: 0.82rem !important;
        font-weight: 800 !important;
    }

    .fh-event-bracket-metrics strong {
        color: #111827 !important;
    }

    .fh-event-bracket-metrics strong {
        background: #e5e7eb !important;
        border-radius: 999px !important;
        font-size: 0.75rem !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        padding: 0.25rem 0.55rem !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists {
        border-top: 1px solid #d1d5db !important;
        break-inside: avoid !important;
        margin: 8px 0 0 15px !important;
        page-break-inside: avoid !important;
        padding-top: 8px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-head {
        align-items: center !important;
        margin-bottom: 4px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-head h3 {
        color: #111827 !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-head p {
        display: none !important;
    }

    .fh-event-print-root .fh-event-bracket-manual-results-label,
    .fh-event-print-root .fh-event-bracket-manual-source {
        display: none !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-head > span {
        background: #e5e7eb !important;
        color: #111827 !important;
        font-size: 9px !important;
        padding: 2px 5px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-table {
        background: #fff !important;
        border-color: #9ca3af !important;
        border-radius: 4px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-row {
        border-color: #d1d5db !important;
        gap: 4px !important;
        grid-template-columns: 0.22fr 1.02fr 1.35fr 0.34fr 0.4fr 0.48fr !important;
        min-height: 18px !important;
        padding: 3px 5px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-row.is-head {
        background: #f3f4f6 !important;
        color: #111827 !important;
        font-size: 8.5px !important;
        min-height: 15px !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-id {
        color: #111827 !important;
        font-size: 9.5px !important;
        font-weight: 750 !important;
        line-height: 1.15 !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-row strong {
        color: #111827 !important;
        font-size: 9.6px !important;
        font-weight: 900 !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-row small {
        color: #4b5563 !important;
        font-size: 8px !important;
        margin-top: 0 !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-number {
        color: #111827 !important;
        font-size: 10px !important;
        font-weight: 850 !important;
    }

    .fh-event-print-root .fh-event-bracket-medalists-certificate {
        color: #111827 !important;
        font-size: 9.5px !important;
        font-weight: 750 !important;
        line-height: 1.15 !important;
    }

    .fh-event-print-root .fh-event-bracket-medal-pill {
        background: #fff !important;
        border-color: #6b7280 !important;
        color: #111827 !important;
        font-size: 8.5px !important;
        min-width: 30px !important;
        padding: 2px 4px !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results {
        break-inside: avoid !important;
        color: #111827 !important;
        display: block !important;
        margin: 12px 0 0 15px !important;
        page-break-inside: avoid !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results header {
        align-items: baseline !important;
        border-top: 1px solid #d1d5db !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: space-between !important;
        padding-top: 7px !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results h3 {
        color: #111827 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        margin: 0 0 4px !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results p {
        color: #4b5563 !important;
        font-size: 8.5px !important;
        font-weight: 700 !important;
        margin: 0 0 4px !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results table {
        border-collapse: collapse !important;
        font-size: 9px !important;
        table-layout: fixed !important;
        width: 100% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th,
    .fh-event-print-root .fh-event-bracket-print-results td {
        border: 1px solid #9ca3af !important;
        color: #111827 !important;
        line-height: 1.1 !important;
        padding: 4px 5px !important;
        text-align: left !important;
        vertical-align: middle !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th {
        background: #f3f4f6 !important;
        font-size: 8.5px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(1),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(1) {
        width: 10% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(2),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(2) {
        width: 20% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(3),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(3) {
        width: 30% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(4),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(4) {
        width: 16% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(5),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(5) {
        width: 12% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results th:nth-child(6),
    .fh-event-print-root .fh-event-bracket-print-results td:nth-child(6) {
        width: 12% !important;
    }

    .fh-event-print-root .fh-event-bracket-print-results td {
        height: 20px !important;
    }

    .fh-event-print-only {
        display: inline-flex !important;
    }

    .fh-event-bracket-graph {
        background: #fff !important;
        column-gap: var(--fh-print-round-gap, 24px) !important;
        grid-template-columns: repeat(var(--fh-print-round-count, 5), var(--fh-print-match-width, 118px)) !important;
        grid-template-rows: auto repeat(var(--bracket-size), minmax(var(--fh-print-slot-height, 21px), auto)) !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: var(--fh-print-graph-padding-top, 6px) 0 0 var(--fh-print-graph-padding-left, 20px) !important;
        row-gap: 0 !important;
    }

    .fh-event-print-graph-slices {
        display: grid !important;
        gap: 0 !important;
    }

    .fh-event-bracket-graph.is-print-slice {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .fh-event-bracket-graph.is-print-slice + .fh-event-bracket-graph.is-print-slice {
        break-before: page !important;
        page-break-before: always !important;
    }

    .fh-event-bracket-board-header.is-print-repeat-header {
        break-before: page !important;
        border-bottom: 1px solid #d1d5db !important;
        display: grid !important;
        page-break-before: always !important;
    }

    .fh-event-bracket-board-header.is-print-repeat-header + .fh-event-bracket-graph.is-print-slice {
        break-before: auto !important;
        page-break-before: auto !important;
    }

    .fh-event-bracket-match-card {
        background: #fff !important;
        border-color: #9ca3af !important;
        min-height: calc(var(--fh-print-slot-height, 21px) * 2) !important;
    }

    .fh-event-bracket-match-card::after {
        border-color: #9ca3af !important;
    }

    .fh-event-bracket-link-in,
    .fh-event-bracket-link-out {
        border-color: #4b5563 !important;
        border-top-width: 2px !important;
        width: calc(var(--fh-print-round-gap, 24px) / 2) !important;
    }

    .fh-event-bracket-link-in {
        left: calc(var(--fh-print-round-gap, 24px) / -2) !important;
    }

    .fh-event-bracket-link-out,
    .fh-event-bracket-link-join {
        right: calc(var(--fh-print-round-gap, 24px) / -2) !important;
    }

    .fh-event-bracket-link-join {
        border-color: #4b5563 !important;
        border-right-width: 2px !important;
        height: 100% !important;
    }

    .fh-event-bracket-match.is-print-final-continuation .fh-event-bracket-link-out {
        display: block !important;
    }

    .fh-event-bracket-match.is-print-final-continuation::before {
        border-right: 2px solid #4b5563 !important;
        content: "" !important;
        height: 50% !important;
        pointer-events: none !important;
        position: absolute !important;
        right: calc(var(--fh-print-round-gap, 24px) / -2) !important;
        top: 0 !important;
        width: 0 !important;
        z-index: 1 !important;
    }

    .fh-event-bracket-match-title {
        background: #fff !important;
        border-color: #9ca3af !important;
        color: #111827 !important;
        display: inline-flex !important;
        font-size: 8.5px !important;
        height: 17px !important;
        left: -1.35rem !important;
        min-width: 17px !important;
        padding-inline: 0.28rem !important;
    }

    .fh-event-bracket-slot {
        background: #fff !important;
        border-color: #9ca3af !important;
        border-style: solid !important;
        color: #111827 !important;
        min-height: var(--fh-print-slot-height, 21px) !important;
        padding: 3px 5px !important;
        position: relative !important;
    }

    .fh-event-bracket-slot + .fh-event-bracket-slot {
        border-top: 1px solid #9ca3af !important;
    }

    .fh-event-bracket-slot.is-placeholder {
        background: #fff !important;
        border-color: #d1d5db !important;
        border-style: solid !important;
    }

    .fh-event-bracket-slot.is-bye-placeholder .fh-event-bracket-person {
        display: grid !important;
    }

    .fh-event-bracket-slot.is-bye-placeholder .fh-event-bracket-person strong,
    .fh-event-bracket-slot.is-bye-placeholder .fh-event-bracket-person span,
    .fh-event-bracket-slot.is-bye-placeholder .fh-event-bracket-avatar span {
        display: inline !important;
    }

    .fh-event-bracket-avatar {
        background: #e5e7eb !important;
        border-color: #9ca3af !important;
        box-shadow: none !important;
        color: #111827 !important;
        font-size: 7px !important;
        height: var(--fh-print-avatar-size, 20px) !important;
        width: var(--fh-print-avatar-size, 20px) !important;
    }

    .fh-event-bracket-avatar {
        display: none !important;
    }

    .fh-event-bracket-person strong,
    .fh-event-bracket-person span {
        color: #111827 !important;
    }

    .fh-event-bracket-inline-hash {
        background: #eef2f7 !important;
        border-color: #9ca3af !important;
        color: #111827 !important;
    }

    .fh-event-bracket-person strong {
        font-size: var(--fh-print-person-name-size, 9.2px) !important;
        line-height: 1.05 !important;
        text-overflow: clip !important;
    }

    .fh-event-bracket-person span {
        font-size: var(--fh-print-person-meta-size, 8.3px) !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .fh-event-bracket-score {
        display: none !important;
        position: absolute !important;
        right: 5px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 2 !important;
    }

    .fh-event-bracket-print-status-badge {
        bottom: auto !important;
        display: inline-flex !important;
        height: 13px !important;
        left: auto !important;
        position: absolute !important;
        right: -9px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 13px !important;
        z-index: 5 !important;
    }

    .fh-event-bracket-print-status-badge svg {
        height: 100% !important;
        width: 100% !important;
    }

    .fh-event-bracket-print-status-badge .fh-event-bracket-winner-badge-shape {
        fill: #ffffff !important;
        stroke: #111827 !important;
        stroke-width: 1.8 !important;
    }

    .fh-event-bracket-print-status-badge .fh-event-bracket-winner-badge-check {
        stroke: #111827 !important;
        stroke-width: 3 !important;
    }

    .fh-event-bracket-print-status-badge .fh-event-blocked-badge-ring,
    .fh-event-bracket-print-status-badge .fh-event-blocked-badge-slash {
        stroke: #dc2626 !important;
        stroke-width: 3.2 !important;
    }

    .fh-event-bracket-placement {
        display: inline-flex !important;
        right: calc((var(--fh-print-seed-size, 14px) + 18px) * -1) !important;
        width: calc(var(--fh-print-seed-size, 14px) + 2px) !important;
    }

    .fh-event-bracket-placement svg {
        width: 100% !important;
    }

    .fh-event-bracket-placement .fh-medal-ribbon,
    .fh-event-bracket-placement .fh-medal-outer,
    .fh-event-bracket-placement .fh-medal-inner {
        fill: #ffffff !important;
        stroke: #111827 !important;
        stroke-width: 2 !important;
    }

    .fh-event-bracket-placement .fh-medal-cut,
    .fh-event-bracket-placement .fh-medal-shine,
    .fh-event-bracket-placement .fh-medal-shadow {
        fill: transparent !important;
    }

    .fh-event-bracket-placement text {
        fill: #111827 !important;
        font-size: 30px !important;
        font-weight: 950 !important;
    }

    .fh-event-repechage-section {
        border-top: 0 !important;
        margin-top: 0 !important;
        padding: 0 !important;
    }

    .fh-event-repechage-print-header {
        display: none !important;
    }

    .fh-event-print-root .fh-event-repechage-print-header {
        display: none !important;
    }

    .fh-event-repechage-section > header:not(.fh-event-repechage-print-header) {
        border-bottom: 0 !important;
        display: flex !important;
        margin-bottom: 7px !important;
        min-height: 0 !important;
        padding-bottom: 5px !important;
    }

    .fh-event-repechage-section > header:not(.fh-event-repechage-print-header) h3 {
        color: #111827 !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
        line-height: 1.15 !important;
    }

    .fh-event-repechage-board {
        display: grid !important;
        gap: 4rem !important;
    }

    .fh-event-repechage-path {
        background: #fff !important;
        break-inside: avoid !important;
        gap: 3px !important;
        overflow: visible !important;
        page-break-inside: avoid !important;
        padding: 0 0 0 0 !important;
    }

    .fh-event-repechage-path-label {
        color: #64748b !important;
        font-size: 7px !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        margin-left: var(--fh-print-graph-padding-left, 20px) !important;
    }

    .fh-event-repechage-matches {
        column-gap: var(--fh-print-round-gap, 24px) !important;
        display: grid !important;
        grid-template-columns: repeat(var(--repechage-round-count), var(--fh-print-match-width, 118px)) !important;
        padding-left: var(--fh-print-graph-padding-left, 20px) !important;
        width: max-content !important;
    }

    .fh-event-repechage-match {
        gap: 3px !important;
        width: var(--fh-print-match-width, 118px) !important;
    }

    .fh-event-repechage-match:not(.is-final-repechage-match)::after {
        border-color: #4b5563 !important;
        border-top-width: 2px !important;
        right: calc(var(--fh-print-round-gap, 24px) * -1) !important;
        top: calc(50% + 6px) !important;
        width: var(--fh-print-round-gap, 24px) !important;
    }

    .fh-event-repechage-round-heading {
        color: #111827 !important;
        font-size: 7px !important;
        font-weight: 950 !important;
        line-height: 1.1 !important;
        min-height: 8px !important;
    }

    .fh-event-repechage-match .fh-event-bracket-match-card {
        background: #fff !important;
        border-color: #9ca3af !important;
        min-height: calc(var(--fh-print-slot-height, 21px) * 2) !important;
    }

    .fh-event-repechage-match .fh-event-bracket-person strong {
        color: #111827 !important;
        font-size: var(--fh-print-person-name-size, 9.2px) !important;
        line-height: 1.05 !important;
    }

    .fh-event-repechage-match .fh-event-bracket-slot.is-placeholder .fh-event-bracket-person strong {
        color: #111827 !important;
        font-size: var(--fh-print-person-name-size, 9.2px) !important;
    }
}

.fh-event-bracket-person strong {
    color: var(--fh-bracket-text, #111827);
    font-size: 0.82rem;
    font-weight: 850;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-bracket-inline-hash {
    align-items: center;
    background: var(--fh-bracket-card-muted-bg);
    border: 1px solid var(--fh-bracket-card-border);
    border-radius: 999px;
    color: var(--fh-bracket-text, #111827);
    display: inline-flex;
    font-size: 0.68em;
    font-weight: 900;
    height: 1.15em;
    justify-content: center;
    line-height: 1;
    margin-right: 0.24rem;
    min-width: 1.45em;
    padding-block: 0.6em;
    padding-inline: 0.4em;
    vertical-align: 0.08em;
}

.fh-event-bracket-person span {
    color: var(--fh-bracket-muted, #64748b);
    font-size: 0.68rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-bracket-score {
    align-items: center;
    background: #f59e0b;
    border-radius: 0.25rem;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 900;
    height: 1.55rem;
    justify-content: center;
    min-width: 1.55rem;
    padding-inline: 0.3rem;
}

.fh-event-bracket-placement {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: -2.15rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.85rem;
    z-index: 6;
}

.fh-medal-icon svg {
    display: block;
    height: auto;
    overflow: visible;
    width: 100%;
}

.fh-medal-icon text {
    fill: #ffffff;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 28px;
    font-weight: 950;
}

.fh-medal-icon .fh-medal-ribbon {
    fill: currentColor;
    opacity: 0.36;
}

.fh-medal-icon .fh-medal-shadow {
    fill: rgba(15, 23, 42, 0.2);
}

.fh-medal-icon .fh-medal-cut {
    fill: #ffffff;
}

.fh-medal-icon .fh-medal-shine {
    fill: rgba(255, 255, 255, 0.42);
}

.fh-medal-icon.is-gold {
    color: #facc15;
}

.fh-medal-icon.is-gold .fh-medal-outer {
    fill: #f59e0b;
}

.fh-medal-icon.is-gold .fh-medal-inner {
    fill: #fbbf24;
}

.fh-medal-icon.is-silver {
    color: #cbd5e1;
}

.fh-medal-icon.is-silver .fh-medal-outer {
    fill: #9ca3af;
}

.fh-medal-icon.is-silver .fh-medal-inner {
    fill: #cbd5e1;
}

.fh-medal-icon.is-bronze {
    color: #d97706;
}

.fh-medal-icon.is-bronze .fh-medal-outer {
    fill: #b45309;
}

.fh-medal-icon.is-bronze .fh-medal-inner {
    fill: #d97706;
}

.fh-event-bracket-slot span {
    color: var(--owner-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.fh-event-bracket-slot strong,
.fh-event-bracket-athlete strong {
    color: var(--owner-text);
    font-size: 0.875rem;
    overflow-wrap: anywhere;
}

.fh-event-bracket-board .fh-event-bracket-person strong {
    color: var(--fh-bracket-text);
    font-size: 0.82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-bracket-board .fh-event-bracket-person span {
    color: var(--fh-bracket-muted);
    font-size: 0.72rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-event-bracket-lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fh-event-bracket-athlete {
    display: grid;
    gap: 0.15rem;
    margin-top: 0.5rem;
}

.fh-event-bracket-athlete span,
.fh-event-bracket-athlete em {
    color: var(--owner-text-muted);
    font-size: 0.8rem;
}

.fh-event-bracket-athlete.is-unqualified {
    border-color: rgba(244, 63, 94, 0.35);
}

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

    .fh-event-bracket-page-head {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-bracket-summary,
    .fh-event-bracket-lists {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1024px) {
    .fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-items {
        grid-template-columns: repeat(4, 12.5rem);
    }
}

@media (max-width: 767px) {
    .fi-panel-federation .fh-event-age-repeater .fi-fo-repeater-item {
        padding: 0.625rem;
    }

    .fi-panel-federation .fh-event-weight-repeater .fi-fo-repeater-item {
        width: 100%;
    }
}

.fi-panel-owner .fh-readonly-registration-number .fi-input-wrp,
.fi-panel-federation .fh-readonly-registration-number .fi-input-wrp {
    border-color: #cbd5e1;
    background: #f8fafc;
    box-shadow: none;
}

.fi-panel-owner .fh-readonly-registration-number input[readonly],
.fi-panel-federation .fh-readonly-registration-number input[readonly] {
    color: #475569;
    cursor: default;
    font-weight: 600;
}

.fi-panel-owner .fh-readonly-registration-number .fi-input-wrp:focus-within,
.fi-panel-federation .fh-readonly-registration-number .fi-input-wrp:focus-within {
    border-color: #cbd5e1;
    box-shadow: none;
}

.dark .fi-panel-owner .fh-readonly-registration-number .fi-input-wrp,
.dark .fi-panel-federation .fh-readonly-registration-number .fi-input-wrp {
    border-color: rgba(148, 163, 184, 0.3);
    background: #0f172a;
}

.dark .fi-panel-owner .fh-readonly-registration-number input[readonly],
.dark .fi-panel-federation .fh-readonly-registration-number input[readonly] {
    color: #cbd5e1;
}

.fi-panel-owner .fi-ta-header,
.fi-panel-owner .fi-ta-content,
.fi-panel-owner .fi-ta-footer {
    background: transparent;
}

.fi-panel-owner .fi-ta-row:hover {
    background: var(--owner-surface-muted);
}

.fi-panel-owner .fi-sidebar.fi-sidebar-collapsed .fi-logo,
.fi-panel-owner .fi-sidebar.fi-sidebar-collapsed .fi-sidebar-group-label,
.fi-panel-owner .fi-sidebar.fi-sidebar-collapsed .fi-sidebar-item-label {
    letter-spacing: 0;
}

.fi-panel-owner .fh-import,
.fi-panel-federation .fh-import {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.fi-panel-owner .fh-import-card,
.fi-panel-federation .fh-import-card,
.fi-panel-owner .fh-import-table-card,
.fi-panel-federation .fh-import-table-card {
    overflow: hidden;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.dark .fi-panel-owner .fh-import-card,
.dark .fi-panel-federation .fh-import-card,
.dark .fi-panel-owner .fh-import-table-card,
.dark .fi-panel-federation .fh-import-table-card {
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.fi-panel-owner .fh-import-upload-card,
.fi-panel-federation .fh-import-upload-card {
    padding: 1.5rem;
}

.fi-panel-owner .fh-import-upload-grid,
.fi-panel-federation .fh-import-upload-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18rem;
    gap: 1.5rem;
    align-items: start;
}

.fi-panel-owner .fh-import-card-title,
.fi-panel-federation .fh-import-card-title {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.dark .fi-panel-owner .fh-import-card-title,
.dark .fi-panel-federation .fh-import-card-title {
    color: #f8fafc;
}

.fi-panel-owner .fh-import-card-description,
.fi-panel-federation .fh-import-card-description,
.fi-panel-owner .fh-import-help,
.fi-panel-federation .fh-import-help {
    margin: 0.375rem 0 0;
    color: var(--owner-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

.fi-panel-owner .fh-import-field,
.fi-panel-federation .fh-import-field {
    margin-top: 1.25rem;
}

.fi-panel-owner .fh-import-upload-side .fh-import-field,
.fi-panel-federation .fh-import-upload-side .fh-import-field {
    margin-top: 0;
}

.fi-panel-owner .fh-import-label,
.fi-panel-federation .fh-import-label {
    display: block;
    margin-bottom: 0.5rem;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 650;
}

.dark .fi-panel-owner .fh-import-label,
.dark .fi-panel-federation .fh-import-label {
    color: #f8fafc;
}

.fi-panel-owner .fh-import-file,
.fi-panel-federation .fh-import-file,
.fi-panel-owner .fh-import-control,
.fi-panel-federation .fh-import-control,
.fi-panel-owner .fh-import-cell-control,
.fi-panel-federation .fh-import-cell-control {
    display: block;
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.875rem;
    line-height: 1.4;
    outline: none;
    transition:
        border-color 140ms ease,
        box-shadow 140ms ease,
        background 140ms ease;
}

.fi-panel-owner .fh-import-file,
.fi-panel-federation .fh-import-file,
.fi-panel-owner .fh-import-control,
.fi-panel-federation .fh-import-control {
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
}

.fi-panel-owner .fh-import-cell-control,
.fi-panel-federation .fh-import-cell-control {
    min-width: 11rem;
    min-height: 2.25rem;
    padding: 0.375rem 0.5rem;
}

.fi-panel-owner .fh-import-cell-control[readonly],
.fi-panel-federation .fh-import-cell-control[readonly] {
    background: #f8fafc;
    color: #64748b;
    cursor: not-allowed;
}

.fi-panel-owner .fh-import-file::file-selector-button,
.fi-panel-federation .fh-import-file::file-selector-button {
    margin-inline-end: 0.75rem;
    border: 0;
    border-radius: 0.375rem;
    background: #f1f5f9;
    color: #334155;
    cursor: pointer;
    font-weight: 650;
    padding: 0.375rem 0.75rem;
}

.fi-panel-owner .fh-import-file:focus,
.fi-panel-federation .fh-import-file:focus,
.fi-panel-owner .fh-import-control:focus,
.fi-panel-federation .fh-import-control:focus,
.fi-panel-owner .fh-import-cell-control:focus,
.fi-panel-federation .fh-import-cell-control:focus {
    border-color: var(--owner-primary);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--owner-primary) 16%, transparent);
}

.dark .fi-panel-owner .fh-import-file,
.dark .fi-panel-federation .fh-import-file,
.dark .fi-panel-owner .fh-import-control,
.dark .fi-panel-federation .fh-import-control,
.dark .fi-panel-owner .fh-import-cell-control,
.dark .fi-panel-federation .fh-import-cell-control {
    border-color: rgba(148, 163, 184, 0.3);
    background: #020617;
    color: #f8fafc;
}

.dark .fi-panel-owner .fh-import-file::file-selector-button,
.dark .fi-panel-federation .fh-import-file::file-selector-button {
    background: #1e293b;
    color: #e2e8f0;
}

.dark .fi-panel-owner .fh-import-cell-control[readonly],
.dark .fi-panel-federation .fh-import-cell-control[readonly] {
    background: #0f172a;
    color: #94a3b8;
}

.fi-panel-owner .fh-import-actions,
.fi-panel-federation .fh-import-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1.25rem;
}

.fi-panel-owner .fh-import-error,
.fi-panel-federation .fh-import-error,
.fi-panel-owner .fh-import-field-errors,
.fi-panel-federation .fh-import-field-errors {
    margin: 0.375rem 0 0;
    color: #e11d48;
    font-size: 0.75rem;
    line-height: 1.35;
}

.fi-panel-owner .fh-import-field-errors,
.fi-panel-federation .fh-import-field-errors {
    padding: 0;
    list-style: none;
}

.fi-panel-owner .fh-import-alert,
.fi-panel-federation .fh-import-alert {
    border-radius: 0.5rem;
    padding: 1rem;
    font-size: 0.875rem;
    line-height: 1.45;
}

.fi-panel-owner .fh-import-alert-danger,
.fi-panel-federation .fh-import-alert-danger {
    border: 1px solid #fecdd3;
    background: #fff1f2;
    color: #be123c;
}

.dark .fi-panel-owner .fh-import-alert-danger,
.dark .fi-panel-federation .fh-import-alert-danger {
    border-color: rgba(244, 63, 94, 0.32);
    background: rgba(76, 5, 25, 0.36);
    color: #fda4af;
}

.fi-panel-owner .fh-import-alert-title,
.fi-panel-federation .fh-import-alert-title {
    margin-bottom: 0.25rem;
    font-weight: 700;
}

.fi-panel-owner .fh-import-review-header,
.fi-panel-federation .fh-import-review-header {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem;
}

.fi-panel-owner .fh-import-summary,
.fi-panel-federation .fh-import-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fi-panel-owner .fh-import-pill,
.fi-panel-federation .fh-import-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.375rem 0.5rem;
}

.fi-panel-owner .fh-import-pill-success,
.fi-panel-federation .fh-import-pill-success {
    background: #ecfdf5;
    color: #047857;
}

.fi-panel-owner .fh-import-pill-danger,
.fi-panel-federation .fh-import-pill-danger {
    background: #fff1f2;
    color: #be123c;
}

.dark .fi-panel-owner .fh-import-pill-success,
.dark .fi-panel-federation .fh-import-pill-success {
    background: rgba(6, 78, 59, 0.42);
    color: #6ee7b7;
}

.dark .fi-panel-owner .fh-import-pill-danger,
.dark .fi-panel-federation .fh-import-pill-danger {
    background: rgba(76, 5, 25, 0.42);
    color: #fda4af;
}

.fi-panel-owner .fh-import-review-form,
.fi-panel-federation .fh-import-review-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fi-panel-owner .fh-import-table-scroll,
.fi-panel-federation .fh-import-table-scroll {
    max-height: 65vh;
    overflow: auto;
}

.fi-panel-owner .fh-import-table,
.fi-panel-federation .fh-import-table {
    width: 100%;
    min-width: 72rem;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
}

.fi-panel-owner .fh-import-table th,
.fi-panel-federation .fh-import-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    border-bottom: 1px solid var(--owner-border);
    background: #f8fafc;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.02em;
    padding: 0.75rem;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.dark .fi-panel-owner .fh-import-table th,
.dark .fi-panel-federation .fh-import-table th {
    background: #020617;
    color: #94a3b8;
}

.fi-panel-owner .fh-import-table td,
.fi-panel-federation .fh-import-table td {
    border-bottom: 1px solid var(--owner-border);
    padding: 0.75rem;
    vertical-align: top;
}

.fi-panel-owner .fh-import-row-heading,
.fi-panel-federation .fh-import-row-heading,
.fi-panel-owner .fh-import-row-number,
.fi-panel-federation .fh-import-row-number,
.fi-panel-owner .fh-import-row-error-label,
.fi-panel-federation .fh-import-row-error-label {
    position: sticky;
    left: 0;
    z-index: 3;
    min-width: 5rem;
    border-inline-end: 1px solid var(--owner-border);
}

.fi-panel-owner .fh-import-row-number,
.fi-panel-federation .fh-import-row-number {
    background: var(--owner-surface);
    color: #0f172a;
    font-weight: 700;
}

.dark .fi-panel-owner .fh-import-row-number,
.dark .fi-panel-federation .fh-import-row-number {
    color: #f8fafc;
}

.fi-panel-owner .fh-import-row-number .fh-import-pill,
.fi-panel-federation .fh-import-row-number .fh-import-pill {
    margin-top: 0.375rem;
}

.fi-panel-owner .fh-import-table tr.is-invalid-row td,
.fi-panel-federation .fh-import-table tr.is-invalid-row td {
    background: #fff7f8;
}

.dark .fi-panel-owner .fh-import-table tr.is-invalid-row td,
.dark .fi-panel-federation .fh-import-table tr.is-invalid-row td {
    background: rgba(76, 5, 25, 0.16);
}

.fi-panel-owner .fh-import-cell-control.is-invalid,
.fi-panel-federation .fh-import-cell-control.is-invalid {
    border-color: #f43f5e;
    background: #fff1f2;
    color: #881337;
}

.dark .fi-panel-owner .fh-import-cell-control.is-invalid,
.dark .fi-panel-federation .fh-import-cell-control.is-invalid {
    background: rgba(76, 5, 25, 0.42);
    color: #ffe4e6;
}

.fi-panel-owner .fh-import-row-errors td,
.fi-panel-federation .fh-import-row-errors td {
    background: #fff1f2;
    color: #be123c;
    font-size: 0.75rem;
    padding-block: 0.625rem;
}

.dark .fi-panel-owner .fh-import-row-errors td,
.dark .fi-panel-federation .fh-import-row-errors td {
    background: rgba(76, 5, 25, 0.3);
    color: #fda4af;
}

.fi-panel-owner .fh-import-row-errors ul,
.fi-panel-federation .fh-import-row-errors ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fi-panel-owner .fh-import-required,
.fi-panel-federation .fh-import-required {
    color: #e11d48;
}

@media (max-width: 960px) {
    .fi-panel-owner .fh-import-upload-grid,
    .fi-panel-federation .fh-import-upload-grid,
    .fi-panel-owner .fh-import-review-header,
    .fi-panel-federation .fh-import-review-header {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
}

.fi-panel-federation .fh-event-participants-modal {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.fi-panel-federation .fi-modal-window:has(.fh-event-participants-modal) {
    height: calc(100dvh - 1rem);
    max-height: calc(100dvh - 1rem);
    overflow: hidden;
}

.fi-panel-federation .fi-modal-window:has(.fh-event-participants-modal) .fi-modal-header,
.fi-panel-federation .fi-modal-window:has(.fh-event-participants-modal) .fi-modal-footer {
    flex: 0 0 auto;
}

.fi-panel-federation .fi-modal-window:has(.fh-event-participants-modal) .fi-modal-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
}

.fi-panel-federation .fh-event-participants-grid {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.9fr);
    gap: 1rem;
    height: 100%;
    min-height: 0;
}

.fi-panel-federation .fh-event-participants-pane {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: visible;
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-surface);
}

.fi-panel-federation .fh-event-participants-toolbar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
    align-items: end;
    gap: 0.55rem;
    padding: 0.75rem;
    border-bottom: 1px solid var(--owner-border);
    flex: 0 0 auto;
    position: relative;
    z-index: 5;
}

.fi-panel-federation .fh-event-participants-filter {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.25rem;
}

.fi-panel-federation .fh-event-participants-search-filter {
    grid-column: span 2;
}

.fi-panel-federation .fh-event-participants-filter > span {
    color: var(--owner-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.fi-panel-federation .fh-bulk-membership-toolbar {
    grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
    gap: 0.55rem;
    align-items: end;
    overflow: visible;
}

.fi-panel-federation .fh-bulk-membership-filter {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.25rem;
    grid-column: span 1;
}

.fi-panel-federation .fh-bulk-membership-search {
    grid-column: span 2;
}

.fi-panel-federation .fh-bulk-membership-filter > span {
    color: var(--owner-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.fi-panel-federation .fh-event-participants-search,
.fi-panel-federation .fh-event-participants-select,
.fi-panel-federation .fh-event-participants-textarea,
.fi-panel-federation .fh-event-participants-filter .fh-event-filter-combobox-button,
.fi-panel-federation .fh-event-participants-filter .fh-event-filter-combobox-panel input,
.fi-panel-federation .fh-event-field input {
    width: 100%;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    padding: 0.55rem 0.7rem;
    font-size: 0.875rem;
}

.fi-panel-federation .fh-event-participants-filter .fh-event-filter-combobox-button {
    min-height: 2.45rem;
    justify-content: space-between;
    text-align: left;
}

.fi-panel-federation .fh-event-participants-textarea {
    min-height: 3.7rem;
    resize: vertical;
    line-height: 1.35;
}

.fi-panel-federation .fh-event-athlete-list,
.fi-panel-federation .fh-event-whitelist-list {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.45rem;
    max-height: none;
    min-height: 0;
    overflow: auto;
    padding: 0.5rem;
}

.fi-panel-federation .fh-event-athlete-row,
.fi-panel-federation .fh-event-whitelist-card {
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    background: var(--owner-card);
}

.fi-panel-federation .fh-event-athlete-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.5rem 0.6rem;
}

.fi-panel-federation .fh-event-avatar {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--owner-primary);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
}

.fi-panel-federation .fh-event-avatar-lg {
    width: 2.75rem;
    height: 2.75rem;
}

.fi-panel-federation .fh-event-athlete-main {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.fi-panel-federation .fh-event-athlete-name {
    color: var(--owner-text);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
}

.fi-panel-federation .fh-event-athlete-primary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
    min-width: 0;
}

.fi-panel-federation .fh-event-athlete-registration {
    color: var(--owner-muted);
    font-size: 0.78rem;
    font-weight: 650;
    line-height: 1.15;
}

.fi-panel-federation .fh-event-athlete-meta,
.fi-panel-federation .fh-event-athlete-location,
.fi-panel-federation .fh-event-athlete-games,
.fi-panel-federation .fh-event-whitelist-header p,
.fi-panel-federation .fh-event-category-empty {
    color: var(--owner-muted);
    font-size: 0.78rem;
}

.fi-panel-federation .fh-event-athlete-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.fi-panel-federation .fh-event-athlete-location {
    line-height: 1.2;
}

.fi-panel-federation .fh-event-athlete-game-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0;
}

.fi-panel-federation .fh-event-athlete-game-chips span {
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    color: var(--owner-primary);
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.25rem 0.45rem;
}

.dark .fi-panel-federation .fh-event-athlete-game-chips span {
    border-color: color-mix(in srgb, var(--owner-primary) 24%, transparent);
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    color: var(--owner-primary);
}

.fi-panel-federation .fh-event-athlete-game-chips .fh-event-athlete-age-chip {
    border: 1px solid color-mix(in srgb, var(--success-600) 22%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--success-600) 9%, transparent);
    color: var(--success-700);
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1;
    padding: 0.25rem 0.45rem;
}

.dark .fi-panel-federation .fh-event-athlete-game-chips .fh-event-athlete-age-chip {
    border-color: color-mix(in srgb, var(--success-500) 28%, transparent);
    background: color-mix(in srgb, var(--success-500) 12%, transparent);
    color: var(--success-400);
}

.fi-panel-federation .fh-event-athlete-add,
.fi-panel-federation .fh-event-remove-btn {
    border-radius: 0.5rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 700;
}

.fi-panel-federation .fh-event-athlete-add {
    background: var(--owner-primary);
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
}

.fi-panel-federation .fh-event-athlete-add:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 10%, var(--owner-surface));
    color: var(--owner-text-muted);
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: currentColor;
}

.dark .fi-panel-federation .fh-event-athlete-add:disabled {
    background: color-mix(in srgb, var(--owner-text-muted) 16%, var(--owner-surface));
    color: var(--owner-text-muted);
    -webkit-text-fill-color: currentColor;
}

.fi-panel-federation .fh-event-remove-btn {
    margin-left: auto;
    color: #e11d48;
}

.fi-panel-federation .fh-event-whitelist-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem;
    border-bottom: 1px solid var(--owner-border);
}

.fi-panel-federation .fh-event-whitelist-header h3 {
    margin: 0;
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 800;
}

.fi-panel-federation .fh-event-whitelist-card {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    padding: 0.875rem;
}

.fi-panel-federation .fh-event-whitelist-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.fi-panel-federation .fh-event-field {
    display: grid;
    gap: 0.35rem;
}

.fi-panel-federation .fh-event-card-label,
.fi-panel-federation .fh-event-field span {
    color: var(--owner-text);
    font-size: 0.78rem;
    font-weight: 800;
}

.fi-panel-federation .fh-event-warning-list {
    display: grid;
    gap: 0.35rem;
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 0.625rem;
    background: rgba(245, 158, 11, 0.1);
    color: #92400e;
    padding: 0.625rem 0.75rem;
    font-size: 0.78rem;
    line-height: 1.4;
}

.dark .fi-panel-federation .fh-event-warning-list {
    color: #fbbf24;
    background: rgba(245, 158, 11, 0.12);
}

.fi-panel-federation .fh-event-game-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fi-panel-federation .fh-event-game-checks .fh-event-card-label,
.fi-panel-federation .fh-event-category-list .fh-event-card-label {
    width: 100%;
}

.fi-panel-federation .fh-event-game-checks label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--owner-border);
    border-radius: 999px;
    padding: 0.35rem 0.6rem;
    color: var(--owner-text);
    font-size: 0.8rem;
}

.fi-panel-federation .fh-event-category-list {
    display: grid;
    gap: 0.45rem;
}

.fi-panel-federation .fh-event-game-category-block {
    display: grid;
    gap: 0.55rem;
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    padding: 0.55rem;
}

.fi-panel-federation .fh-event-game-category-title {
    color: var(--owner-text);
    font-size: 0.82rem;
    font-weight: 800;
}

.fi-panel-federation .fh-event-category-group {
    display: grid;
    gap: 0.4rem;
}

.fi-panel-federation .fh-event-category-group + .fh-event-category-group {
    border-top: 1px solid var(--owner-border);
    padding-top: 0.55rem;
}

.fi-panel-federation .fh-event-category-group-title {
    color: var(--owner-text);
    font-size: 0.78rem;
    font-weight: 800;
}

.fi-panel-federation .fh-event-weight-option-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7.75rem, 1fr));
    gap: 0.35rem;
}

.fi-panel-federation .fh-event-category-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: rgba(248, 250, 252, 0.72);
    color: var(--owner-text);
    padding: 0.5rem 0.6rem;
    font-size: 0.8rem;
    cursor: pointer;
}

.fi-panel-federation .fh-event-weight-option {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    background: rgba(248, 250, 252, 0.72);
    color: var(--owner-text);
    padding: 0.42rem 0.5rem;
    font-size: 0.78rem;
    cursor: pointer;
}

.fi-panel-federation .fh-event-category-option.is-selected {
    border-color: rgba(79, 70, 229, 0.55);
    background: rgba(79, 70, 229, 0.1);
}

.fi-panel-federation .fh-event-weight-option.is-selected {
    border-color: rgba(79, 70, 229, 0.55);
    background: rgba(79, 70, 229, 0.1);
}

.fi-panel-federation .fh-event-category-option span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-panel-federation .fh-event-category-option strong {
    font-weight: 800;
}

.dark .fi-panel-federation .fh-event-category-option {
    background: rgba(15, 23, 42, 0.7);
}

.dark .fi-panel-federation .fh-event-weight-option {
    background: rgba(15, 23, 42, 0.7);
}

.fi-panel-federation .fh-event-empty-state {
    border: 1px dashed var(--owner-border);
    border-radius: 0.75rem;
    color: var(--owner-muted);
    padding: 1rem;
    text-align: center;
}

.fi-panel-federation .fh-event-bracket-type-control {
    align-items: start;
    display: grid;
    gap: 0.25rem;
    min-width: 15rem;
}

.fi-panel-federation .fh-event-bracket-type-control span {
    color: var(--owner-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.fi-panel-federation .fh-event-bracket-type-control select {
    background: #fff;
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    color: var(--owner-text);
    font-weight: 700;
    min-height: 2.35rem;
    padding: 0.35rem 0.65rem;
}

.fi-panel-federation .fh-event-round-robin-board {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 18rem));
    margin: 1rem;
}

.fi-panel-federation .fh-event-round-robin-round {
    background: var(--fh-bracket-graph-bg);
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    display: grid;
    gap: 0.75rem;
    justify-items: start;
    padding: 0.75rem 1rem 0.85rem 1.75rem;
}

.fi-panel-federation .fh-event-round-robin-round h3 {
    color: var(--fh-bracket-text);
    font-size: 0.82rem;
    font-weight: 950;
    margin: 0;
    padding-right: 1.75rem;
    text-align: center;
    width: 100%;
}

.fi-panel-federation .fh-event-round-robin-match {
    display: grid;
    min-height: 6rem;
    width: 225px;
}

.fi-panel-federation .fh-event-round-robin-match .fh-event-bracket-slot {
    min-height: 3rem;
}

.fi-panel-federation .fh-event-round-robin-match .fh-event-bracket-person strong {
    font-size: 0.82rem;
}

.fi-panel-federation .fh-event-repechage-section {
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    display: grid;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.85rem 1rem 2rem;
}

.fi-panel-federation .fh-event-repechage-section > header {
    align-items: center;
    display: flex;
    min-height: 1.5rem;
}

.fi-panel-federation .fh-event-repechage-section > .fh-event-repechage-print-header {
    display: none;
}

.fi-panel-federation .fh-event-repechage-section > header h3 {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 900;
    margin: 0;
}

.fi-panel-federation .fh-event-repechage-board {
    display: grid;
    gap: 4rem;
}

.fi-panel-federation .fh-event-repechage-path {
    display: grid;
    gap: 0.4rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.fi-panel-federation .fh-event-repechage-path-label {
    color: var(--owner-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.fi-panel-federation .fh-event-repechage-matches {
    display: grid;
    gap: 2.25rem;
    grid-template-columns: repeat(var(--repechage-round-count), 225px);
    padding-left: 1.65rem;
    width: max-content;
}

.fi-panel-federation .fh-event-repechage-match {
    display: grid;
    gap: 0.45rem;
    position: relative;
    width: 225px;
}

.fi-panel-federation .fh-event-repechage-match:not(.is-final-repechage-match)::after {
    border-top: 2px solid var(--fh-bracket-connector);
    content: "";
    pointer-events: none;
    position: absolute;
    right: -2.25rem;
    top: calc(50% + 0.72rem);
    width: 2.25rem;
}

.fi-panel-federation .fh-event-repechage-round-heading {
    color: var(--fh-bracket-text);
    font-size: 0.82rem;
    font-weight: 950;
    line-height: 1.2;
    min-height: 1rem;
    text-align: center;
    text-transform: uppercase;
}

.fi-panel-federation .fh-event-repechage-match .fh-event-bracket-match-card {
    background: var(--fh-bracket-card-bg);
    border-color: var(--fh-bracket-card-border);
    min-height: 5.35rem;
}

.fi-panel-federation .fh-event-repechage-match .fh-event-bracket-person strong {
    color: var(--fh-bracket-text);
    font-size: 0.82rem;
}

.fi-panel-federation .fh-event-repechage-match .fh-event-bracket-slot.is-placeholder .fh-event-bracket-person strong {
    color: var(--fh-bracket-muted);
    font-size: 0.78rem;
}

@media (max-width: 1080px) {
    .fh-event-brackets-summary,
    .fh-event-brackets-counts,
    .fh-event-brackets-meta,
    .fh-event-brackets-preview,
    .fi-panel-federation .fh-event-participants-grid,
    .fi-panel-federation .fh-event-participants-toolbar {
        grid-template-columns: 1fr;
    }

    .fi-panel-federation .fi-modal-window:has(.fh-event-participants-modal) .fi-modal-content {
        overflow-y: auto;
    }

    .fi-panel-federation .fh-event-participants-modal,
    .fi-panel-federation .fh-event-participants-grid {
        height: auto;
    }

    .fi-panel-federation .fh-event-participants-pane {
        min-height: min(42dvh, 26rem);
    }

    .fi-panel-federation .fh-bulk-membership-filter,
    .fi-panel-federation .fh-bulk-membership-search,
    .fi-panel-federation .fh-event-participants-search-filter {
        grid-column: auto;
    }

    .fh-event-brackets-card > header {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-brackets-card .fh-event-bracket-action {
        width: 100%;
    }

    .fh-event-brackets-table-head {
        display: none;
    }

    .fh-event-results-table-head {
        display: none;
    }

    .fh-event-brackets-filters,
    .fh-event-brackets-game-weight-filter,
    .fh-event-brackets-row,
    .fh-event-brackets-row-counts,
    .fh-event-results-filters,
    .fh-event-results-row {
        grid-template-columns: 1fr;
    }

    .fh-event-brackets-row,
    .fh-event-results-row {
        align-items: stretch;
    }

    .fh-event-brackets-row-select {
        justify-content: flex-start;
    }

    .fh-event-brackets-main-cell strong {
        white-space: normal;
    }

    .fh-event-results-title strong,
    .fh-event-result-athlete strong {
        white-space: normal;
    }

    .fh-event-brackets-bulkbar {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-brackets-bulk-actions {
        justify-content: stretch;
    }

    .fh-event-brackets-bulk-actions button,
    .fh-event-brackets-row .fh-event-bracket-action,
    .fh-event-results-actions a,
    .fh-event-results-actions button {
        width: 100%;
    }
}

/*
   Filament density scale
   The panel looks right at 90% browser zoom because most Filament spacing and
   type is rem-based. Scale the root rem size only on Filament panel pages so
   users get the same dense layout at normal 100% browser zoom.
*/
html:has(body.fi-panel-owner),
html:has(body.fi-panel-federation) {
    font-size: 90%;
}

body.fi-panel-owner,
body.fi-panel-federation {
    line-height: 1.45;
}

body.fi-panel-owner .fi-header-heading,
body.fi-panel-federation .fi-header-heading {
    line-height: 1.15;
}

body.fi-panel-owner .fi-sidebar {
    --sidebar-width: 16rem;
    --sidebar-item-spacing: 0.375rem;
}

body.fi-panel-federation .fi-sidebar {
    --sidebar-width: 13rem;
    --sidebar-item-spacing: 0.375rem;
}

body.fi-panel-owner .fi-main.fi-width-7xl,
body.fi-panel-federation .fi-main.fi-width-7xl {
    width: calc(100% - 2rem);
    max-width: calc(100% - 2rem);
    margin-inline: 1rem;
}

body.fi-panel-owner .fi-sidebar-nav,
body.fi-panel-federation .fi-sidebar-nav {
    padding-inline: 0.625rem;
    padding-left: 1.5rem;
}

body.fi-panel-owner .fi-sidebar-nav-groups,
body.fi-panel-federation .fi-sidebar-nav-groups {
    gap: 0.875rem;
}

body.fi-panel-owner .fi-sidebar-group-items,
body.fi-panel-federation .fi-sidebar-group-items {
    gap: 0.125rem;
}

body.fi-panel-owner .fi-sidebar-group-label,
body.fi-panel-federation .fi-sidebar-group-label {
    padding-inline: 0.5rem;
}

body.fi-panel-owner .fi-sidebar-item-button,
body.fi-panel-federation .fi-sidebar-item-button {
    gap: 0.625rem;
    padding-inline: 0.625rem;
}

body.fi-panel-owner .fi-sidebar-item-label,
body.fi-panel-federation .fi-sidebar-item-label {
    min-width: 0;
}

body.fi-panel-owner .fi-sidebar.fi-sidebar-collapsed .fi-sidebar-item-button,
body.fi-panel-federation .fi-sidebar.fi-sidebar-collapsed .fi-sidebar-item-button {
    justify-content: center;
    padding-inline: 0;
}

body.fi-panel-federation .fh-active-license-list {
    display: grid;
    gap: 0.875rem;
}

body.fi-panel-federation .fh-active-license-card {
    border: 1px solid var(--owner-border);
    border-radius: 0.625rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.9)),
        var(--owner-card);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
    padding: 1rem;
}

body.fi-panel-federation .fh-active-license-card-head {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

body.fi-panel-federation .fh-active-license-title-block {
    min-width: 0;
}

body.fi-panel-federation .fh-active-license-title {
    color: var(--owner-text);
    font-size: 0.95rem;
    font-weight: 750;
    line-height: 1.2;
}

body.fi-panel-federation .fh-active-license-games {
    color: var(--owner-text-muted);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.35;
    list-style: none;
    margin-top: 0.25rem;
    padding: 0;
}

body.fi-panel-federation .fh-active-license-games li {
    align-items: center;
    display: flex;
    gap: 0.45rem;
    margin-top: 0.4rem;
    min-width: 0;
}

body.fi-panel-federation .fh-active-license-game-number {
    color: var(--owner-text-muted);
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 750;
    min-width: 1.15rem;
}

body.fi-panel-federation .fh-active-license-game-abbr {
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    color: var(--owner-primary);
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    padding: 0.25rem 0.45rem;
}

body.fi-panel-federation .fh-active-license-game-name {
    color: var(--owner-text);
    font-size: 0.82rem;
    font-weight: 650;
    min-width: 0;
}

body.fi-panel-federation .fh-active-license-games-empty {
    list-style: none;
}

body.fi-panel-federation .fh-active-license-status {
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--owner-primary) 10%, transparent);
    color: var(--owner-primary);
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1;
    padding: 0.35rem 0.6rem;
}

body.fi-panel-federation .fh-active-license-meta {
    display: grid;
    gap: 0.7rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.95rem;
}

body.fi-panel-federation .fh-active-license-meta dt {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.fi-panel-federation .fh-active-license-meta dd {
    color: var(--owner-text);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.3;
    margin-top: 0.2rem;
}

body.fi-panel-federation .fh-active-license-actions {
    border-top: 1px solid var(--owner-border);
    margin-top: 0.95rem;
    padding-top: 0.85rem;
}

body.fi-panel-federation .fh-active-license-link {
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--owner-primary) 22%, transparent);
    border-radius: 0.5rem;
    color: var(--owner-primary);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 750;
    gap: 0.35rem;
    line-height: 1;
    padding: 0.55rem 0.75rem;
    text-decoration: none;
}

body.fi-panel-federation .fh-active-license-link:hover {
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    color: var(--owner-primary-hover);
}

.dark body.fi-panel-federation .fh-active-license-card {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.95), rgba(2, 6, 23, 0.9)),
        var(--owner-card);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.dark body.fi-panel-federation .fh-active-license-status,
.dark body.fi-panel-federation .fh-active-license-link,
.dark body.fi-panel-federation .fh-active-license-game-abbr {
    border-color: color-mix(in srgb, var(--owner-primary) 22%, transparent);
    color: var(--owner-primary);
}

.dark body.fi-panel-federation .fh-active-license-link:hover {
    background: color-mix(in srgb, var(--owner-primary) 8%, transparent);
    color: var(--owner-primary-hover);
}

.fh-event-match-modal footer.fh-event-start-modal-actions .fh-event-start-submit {
    -webkit-appearance: none !important;
    appearance: none !important;
    align-items: center !important;
    background: var(--owner-primary, #256f6f) !important;
    border: 1px solid var(--owner-primary, #256f6f) !important;
    border-radius: 0.55rem !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--owner-primary) 24%, transparent) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    font-size: 0.86rem !important;
    font-weight: 850 !important;
    justify-content: center !important;
    min-height: 2.5rem !important;
    min-width: 8rem !important;
    opacity: 1 !important;
    padding: 0.55rem 1rem !important;
    text-decoration: none !important;
    visibility: visible !important;
    white-space: nowrap !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-match-modal footer.fh-event-start-modal-actions .fh-event-start-submit:hover,
.fh-event-match-modal footer.fh-event-start-modal-actions .fh-event-start-submit:focus {
    background: var(--owner-primary-hover, #1f5f5f) !important;
    border-color: var(--owner-primary-hover, #1f5f5f) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-match-modal footer.fh-event-start-modal-actions button.fh-event-start-submit {
    background: var(--owner-primary, #256f6f) !important;
    background-color: var(--owner-primary, #256f6f) !important;
    background-image: none !important;
    border-color: var(--owner-primary, #256f6f) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

.fh-event-start-warning.is-danger {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #9f1239;
}

.fh-event-match-modal footer.fh-event-start-modal-actions button.fh-event-start-submit.is-danger {
    background: #e11d48 !important;
    background-color: #e11d48 !important;
    border-color: #e11d48 !important;
    box-shadow: 0 8px 18px rgb(225 29 72 / 22%);
}

body.fi-panel-federation .fh-event-trophy-screen {
    display: grid;
    gap: 1rem;
}

body.fi-panel-federation .fh-event-trophy-header,
body.fi-panel-federation .fh-event-trophy-empty,
body.fi-panel-federation .fh-event-trophy-table-wrap,
body.fi-panel-federation .fh-event-trophy-podium-card {
    background: var(--owner-card, #ffffff);
    border: 1px solid var(--owner-border, #dbe3ec);
    border-radius: 0.7rem;
    box-shadow: 0 10px 28px rgba(23, 32, 38, 0.05);
}

body.fi-panel-federation .fh-event-trophy-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

body.fi-panel-federation .fh-event-trophy-header h2,
body.fi-panel-federation .fh-event-trophy-empty h2 {
    color: var(--owner-foreground, #172026);
    font-size: 1.15rem;
    font-weight: 850;
    letter-spacing: 0;
    margin: 0.15rem 0 0.25rem;
}

body.fi-panel-federation .fh-event-trophy-header p,
body.fi-panel-federation .fh-event-trophy-empty p,
body.fi-panel-federation .fh-event-trophy-podium-card p {
    color: var(--owner-muted-foreground, #64748b);
    font-size: 0.86rem;
    margin: 0;
}

body.fi-panel-federation .fh-event-trophy-kicker {
    color: var(--owner-primary, #256f6f);
    font-size: 0.72rem !important;
    font-weight: 850;
    letter-spacing: 0.02em;
    margin: 0 !important;
    text-transform: uppercase;
}

body.fi-panel-federation .fh-event-trophy-action {
    align-items: center;
    background: var(--owner-primary, #256f6f);
    border: 1px solid var(--owner-primary, #256f6f);
    border-radius: 0.55rem;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 800;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.55rem 0.9rem;
    white-space: nowrap;
}

body.fi-panel-federation .fh-event-trophy-action:hover {
    background: var(--owner-primary-hover, #1f5f5f);
    border-color: var(--owner-primary-hover, #1f5f5f);
}

body.fi-panel-federation .fh-event-trophy-podium {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.fi-panel-federation .fh-event-trophy-podium-card {
    padding: 0.95rem;
}

body.fi-panel-federation .fh-event-trophy-podium-card span {
    color: var(--owner-primary, #256f6f);
    display: block;
    font-size: 0.75rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.fi-panel-federation .fh-event-trophy-podium-card h3 {
    color: var(--owner-foreground, #172026);
    font-size: 1rem;
    font-weight: 850;
    margin: 0.2rem 0;
}

body.fi-panel-federation .fh-event-trophy-podium-card strong {
    color: var(--owner-primary, #256f6f);
    display: block;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 0.35rem;
}

body.fi-panel-federation .fh-event-trophy-empty {
    padding: 1rem;
}

body.fi-panel-federation .fh-event-trophy-empty-inline {
    grid-column: 1 / -1;
}

body.fi-panel-federation .fh-event-trophy-table-wrap {
    overflow: hidden;
}

body.fi-panel-federation .fh-event-trophy-section-title {
    align-items: center;
    border-bottom: 1px solid var(--owner-border, #dbe3ec);
    display: flex;
    justify-content: space-between;
    padding: 0.8rem 0.95rem;
}

body.fi-panel-federation .fh-event-trophy-section-title h3 {
    color: var(--owner-foreground, #172026);
    font-size: 0.98rem;
    font-weight: 850;
    margin: 0;
}

body.fi-panel-federation .fh-event-trophy-section-title span {
    color: var(--owner-muted-foreground, #64748b);
    font-size: 0.8rem;
    font-weight: 750;
}

body.fi-panel-federation .fh-event-trophy-table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

body.fi-panel-federation .fh-event-trophy-table th,
body.fi-panel-federation .fh-event-trophy-table td {
    border-bottom: 1px solid var(--owner-border, #dbe3ec);
    color: var(--owner-foreground, #172026);
    font-size: 0.84rem;
    padding: 0.72rem 0.8rem;
    text-align: left;
    vertical-align: middle;
}

body.fi-panel-federation .fh-event-trophy-table th {
    background: color-mix(in srgb, var(--owner-muted, #eef2f6) 70%, #ffffff);
    color: var(--owner-muted-foreground, #64748b);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

body.fi-panel-federation .fh-event-trophy-table tr:last-child td {
    border-bottom: 0;
}

body.fi-panel-federation .fh-event-trophy-table-compact th,
body.fi-panel-federation .fh-event-trophy-table-compact td {
    font-size: 0.78rem;
    padding: 0.62rem 0.7rem;
}

body.fi-panel-federation .fh-event-trophy-badge {
    background: color-mix(in srgb, var(--owner-primary, #256f6f) 12%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--owner-primary, #256f6f) 32%, transparent);
    border-radius: 999px;
    color: var(--owner-primary, #256f6f);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.35rem 0.55rem;
}

.dark body.fi-panel-federation .fh-event-trophy-header,
.dark body.fi-panel-federation .fh-event-trophy-empty,
.dark body.fi-panel-federation .fh-event-trophy-table-wrap,
.dark body.fi-panel-federation .fh-event-trophy-podium-card {
    background: var(--owner-card, #172026);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.dark body.fi-panel-federation .fh-event-trophy-table th {
    background: color-mix(in srgb, var(--owner-muted, #1f2937) 82%, #000000);
}

@media (max-width: 900px) {
    body.fi-panel-federation .fh-event-trophy-header {
        flex-direction: column;
    }

    body.fi-panel-federation .fh-event-trophy-podium {
        grid-template-columns: 1fr;
    }

    body.fi-panel-federation .fh-event-trophy-table-wrap {
        overflow-x: auto;
    }
}

body.fi-panel-federation .fh-legacy-modal {
    display: grid;
    gap: 1rem;
    max-height: min(74vh, 52rem);
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

body.fi-panel-federation .fh-legacy-modal [x-cloak] {
    display: none !important;
}

body.fi-panel-federation .fh-legacy-complete {
    border: 1px solid rgba(16, 185, 129, 0.28);
    border-radius: 0.625rem;
    background: rgba(16, 185, 129, 0.08);
    color: #047857;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

body.fi-panel-federation .fh-legacy-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(19rem, 0.85fr) minmax(0, 1.55fr);
    min-height: 0;
}

body.fi-panel-federation .fh-legacy-panel {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.75rem;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    min-width: 0;
    overflow: hidden;
}

body.fi-panel-federation .fh-legacy-control-panel {
    padding: 1rem;
}

body.fi-panel-federation .fh-legacy-log-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

body.fi-panel-federation .fh-legacy-panel-head,
body.fi-panel-federation .fh-legacy-log-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

body.fi-panel-federation .fh-legacy-log-head {
    border-bottom: 1px solid var(--owner-border);
    padding: 1rem;
}

body.fi-panel-federation .fh-legacy-panel h3 {
    color: var(--owner-text);
    font-size: 1rem;
    font-weight: 780;
    line-height: 1.35;
    margin: 0;
}

body.fi-panel-federation .fh-legacy-panel p {
    color: var(--owner-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

body.fi-panel-federation .fh-legacy-live-badge,
body.fi-panel-federation .fh-legacy-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 760;
    line-height: 1;
    padding: 0.35rem 0.55rem;
    white-space: nowrap;
}

body.fi-panel-federation .fh-legacy-live-badge,
body.fi-panel-federation .fh-legacy-status.is-processing {
    background: color-mix(in srgb, var(--owner-primary) 12%, transparent);
    color: var(--owner-primary);
}

body.fi-panel-federation .fh-legacy-form {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.1rem;
}

body.fi-panel-federation .fh-legacy-field {
    display: grid;
    gap: 0.4rem;
}

body.fi-panel-federation .fh-legacy-field span {
    color: var(--owner-text);
    font-size: 0.84rem;
    font-weight: 720;
}

body.fi-panel-federation .fh-legacy-field small {
    color: var(--owner-text-muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

body.fi-panel-federation .fh-legacy-field select,
body.fi-panel-federation .fh-legacy-field textarea {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    box-sizing: border-box;
    color: var(--owner-text);
    font-size: 0.9rem;
    line-height: 1.45;
    max-width: 100%;
    min-height: 2.35rem;
    outline: none;
    padding: 0.55rem 0.7rem;
    width: 100%;
}

body.fi-panel-federation .fh-legacy-field textarea {
    min-height: 10rem;
    resize: vertical;
}

body.fi-panel-federation .fh-legacy-field select:focus,
body.fi-panel-federation .fh-legacy-field textarea:focus {
    border-color: color-mix(in srgb, var(--owner-primary) 72%, var(--owner-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--owner-primary) 16%, transparent);
}

body.fi-panel-federation .fh-legacy-note,
body.fi-panel-federation .fh-legacy-direct-message {
    border-radius: 0.55rem;
    font-size: 0.84rem;
    line-height: 1.45;
    padding: 0.75rem 0.85rem;
}

body.fi-panel-federation .fh-legacy-note {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.25);
    color: #92400e;
}

body.fi-panel-federation .fh-legacy-direct-message.is-success {
    background: rgba(16, 185, 129, 0.08);
    color: #047857;
}

body.fi-panel-federation .fh-legacy-direct-message.is-danger {
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
}

body.fi-panel-federation .fh-legacy-actions {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr 1fr;
}

body.fi-panel-federation .fh-legacy-btn,
body.fi-panel-federation .fh-legacy-tools button {
    align-items: center;
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    background: var(--owner-surface);
    color: var(--owner-text);
    cursor: pointer;
    display: inline-flex;
    font-weight: 740;
    justify-content: center;
    min-height: 2.25rem;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.fi-panel-federation .fh-legacy-btn {
    font-size: 0.88rem;
    padding: 0.55rem 0.8rem;
}

body.fi-panel-federation .fh-legacy-btn.is-primary {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #ffffff;
}

body.fi-panel-federation .fh-legacy-btn.is-primary:hover {
    background: var(--owner-primary-hover);
    border-color: var(--owner-primary-hover);
}

body.fi-panel-federation .fh-legacy-btn:disabled,
body.fi-panel-federation .fh-legacy-tools button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

body.fi-panel-federation .fh-legacy-stats {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

body.fi-panel-federation .fh-legacy-stat {
    background: var(--owner-surface-muted);
    border: 1px solid color-mix(in srgb, var(--owner-border) 75%, transparent);
    border-radius: 0.55rem;
    padding: 0.8rem;
}

body.fi-panel-federation .fh-legacy-stat span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 820;
    text-transform: uppercase;
}

body.fi-panel-federation .fh-legacy-stat strong {
    color: var(--owner-text);
    display: block;
    font-size: 1.35rem;
    font-weight: 820;
    margin-top: 0.15rem;
}

body.fi-panel-federation .fh-legacy-stat.is-success strong {
    color: #047857;
}

body.fi-panel-federation .fh-legacy-stat.is-danger strong {
    color: #be123c;
}

body.fi-panel-federation .fh-legacy-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

body.fi-panel-federation .fh-legacy-tools button {
    font-size: 0.76rem;
    min-height: 2rem;
    padding: 0.35rem 0.6rem;
}

body.fi-panel-federation .fh-legacy-tools button:hover {
    background: color-mix(in srgb, var(--owner-primary) 8%, var(--owner-surface));
}

body.fi-panel-federation .fh-legacy-tools button.is-danger {
    border-color: rgba(244, 63, 94, 0.28);
    color: #be123c;
}

body.fi-panel-federation .fh-legacy-table-wrap {
    flex: 1 1 auto;
    max-height: 60vh;
    min-height: 14rem;
    overflow: auto;
}

body.fi-panel-federation .fh-legacy-table {
    border-collapse: collapse;
    min-width: 760px;
    table-layout: fixed;
    width: 100%;
}

body.fi-panel-federation .fh-legacy-table th,
body.fi-panel-federation .fh-legacy-table td {
    border-bottom: 1px solid var(--owner-border);
    color: var(--owner-text);
    font-size: 0.84rem;
    padding: 0.75rem 0.9rem;
    text-align: left;
    vertical-align: middle;
}

body.fi-panel-federation .fh-legacy-table th {
    background: var(--owner-surface-muted);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 820;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

body.fi-panel-federation .fh-legacy-table th:nth-child(1),
body.fi-panel-federation .fh-legacy-table td:nth-child(1) {
    width: 9rem;
}

body.fi-panel-federation .fh-legacy-table th:nth-child(2),
body.fi-panel-federation .fh-legacy-table td:nth-child(2) {
    width: 8.5rem;
}

body.fi-panel-federation .fh-legacy-table th:nth-child(4),
body.fi-panel-federation .fh-legacy-table td:nth-child(4) {
    width: 8rem;
}

body.fi-panel-federation .fh-legacy-id {
    font-weight: 760;
}

body.fi-panel-federation .fh-legacy-message span {
    color: var(--owner-text-muted);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.fi-panel-federation .fh-legacy-time,
body.fi-panel-federation .fh-legacy-empty {
    color: var(--owner-text-muted) !important;
}

body.fi-panel-federation .fh-legacy-empty {
    padding: 3rem 1rem !important;
    text-align: center !important;
}

body.fi-panel-federation .fh-legacy-status.is-pending {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

body.fi-panel-federation .fh-legacy-status.is-success,
body.fi-panel-federation .fh-legacy-status.is-updated {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

body.fi-panel-federation .fh-legacy-status.is-skipped {
    background: rgba(245, 158, 11, 0.12);
    color: #92400e;
}

body.fi-panel-federation .fh-legacy-status.is-failed {
    background: rgba(244, 63, 94, 0.1);
    color: #be123c;
}

.dark body.fi-panel-federation .fh-legacy-panel,
.dark body.fi-panel-federation .fh-legacy-field select,
.dark body.fi-panel-federation .fh-legacy-field textarea,
.dark body.fi-panel-federation .fh-legacy-btn,
.dark body.fi-panel-federation .fh-legacy-tools button {
    background: var(--owner-surface);
}

.dark body.fi-panel-federation .fh-legacy-complete,
.dark body.fi-panel-federation .fh-legacy-direct-message.is-success {
    color: #6ee7b7;
}

.dark body.fi-panel-federation .fh-legacy-direct-message.is-danger {
    color: #fda4af;
}

.dark body.fi-panel-federation .fh-legacy-note {
    color: #fcd34d;
}

.dark body.fi-panel-federation .fh-legacy-status.is-pending {
    color: #cbd5e1;
}

.dark body.fi-panel-federation .fh-legacy-status.is-success,
.dark body.fi-panel-federation .fh-legacy-status.is-updated {
    color: #6ee7b7;
}

.dark body.fi-panel-federation .fh-legacy-status.is-skipped {
    color: #fcd34d;
}

.dark body.fi-panel-federation .fh-legacy-status.is-failed {
    color: #fda4af;
}

@media (max-width: 1100px) {
    body.fi-panel-federation .fh-legacy-grid {
        grid-template-columns: 1fr;
    }

    body.fi-panel-federation .fh-legacy-log-head {
        flex-direction: column;
    }

    body.fi-panel-federation .fh-legacy-tools {
        justify-content: flex-start;
    }

    body.fi-panel-federation .fh-legacy-modal {
        max-height: 72vh;
    }

    body.fi-panel-federation .fh-legacy-table-wrap {
        max-height: 28rem;
    }
}

@media (max-width: 640px) {
    body.fi-panel-federation .fh-legacy-actions,
    body.fi-panel-federation .fh-legacy-stats {
        grid-template-columns: 1fr;
    }
}

.fh-event-audit {
    display: grid;
    gap: 1rem;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
}

.fh-event-audit-head {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-width: 0;
}

.fh-event-audit-head.is-actions-only {
    justify-content: flex-end;
}

.fh-event-audit-head > div {
    min-width: 0;
}

.fh-event-audit-head p {
    color: var(--owner-text-muted);
    font-size: 0.82rem;
    font-weight: 800;
    margin: 0;
    overflow-wrap: anywhere;
}

.fh-event-audit-head h2 {
    color: var(--owner-text);
    font-size: 1.35rem;
    font-weight: 900;
    margin: 0.15rem 0 0;
    overflow-wrap: anywhere;
}

.fh-event-audit-export,
.fh-event-audit-filters button {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    color: var(--owner-text);
    font-size: 0.82rem;
    font-weight: 850;
    min-height: 2.35rem;
    padding: 0.45rem 0.8rem;
}

.fh-event-audit-export {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
    flex: 0 0 auto;
    white-space: nowrap;
}

.fh-event-audit-filters {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    max-width: 100%;
    min-width: 0;
}

.fh-event-audit-filters label,
.fh-event-audit-date-range {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.fh-event-audit-date-range {
    grid-column: 1 / span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.fh-event-audit-filters span,
.fh-event-audit-date-range span {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.1;
    text-transform: uppercase;
}

.fh-event-audit-filters input,
.fh-event-audit-filters select,
.fh-event-audit-date-range input {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    color: var(--owner-text);
    font-size: 0.84rem;
    min-height: 2.35rem;
    min-width: 0;
    padding: 0.45rem 0.65rem;
    width: 100%;
}

.fh-event-audit-filters button {
    width: 100%;
}

.fh-event-audit-table {
    border: 1px solid var(--owner-border);
    border-radius: 0.65rem;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.fh-event-audit-row {
    align-items: start;
    background: var(--owner-surface);
    border-top: 1px solid var(--owner-border);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(7.75rem, 0.8fr) minmax(7rem, 0.8fr) minmax(5.75rem, 0.55fr) minmax(5.5rem, 0.55fr) minmax(13rem, 1.15fr) minmax(18rem, 1.7fr);
    min-width: 62rem;
    padding: 0.75rem 0.9rem;
}

.fh-event-audit-row > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.fh-event-audit-row:first-child {
    border-top: 0;
}

.fh-event-audit-row.is-head {
    background: var(--owner-bg-soft);
    color: var(--owner-text-muted);
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.fh-event-audit-row:not(.is-head) {
    color: var(--owner-text);
    font-size: 0.86rem;
}

.fh-event-audit-row small {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.76rem;
    margin-top: 0.18rem;
}

.fh-event-audit-row mark {
    background: color-mix(in srgb, var(--owner-primary) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--owner-primary) 18%, transparent);
    border-radius: 999px;
    color: var(--owner-primary);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    padding: 0.12rem 0.45rem;
}

.fh-event-audit-details {
    grid-column: 1 / -1;
    min-width: 0;
}

.fh-event-audit-details summary {
    color: var(--owner-primary);
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 850;
}

.fh-event-audit-context-card {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    margin-top: 0.65rem;
    min-width: 0;
    overflow: hidden;
}

.fh-event-audit-context-card h4 {
    background: var(--owner-bg-soft);
    border-bottom: 1px solid var(--owner-border);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    margin: 0;
    padding: 0.55rem 0.7rem;
    text-transform: uppercase;
}

.fh-event-audit-context-card > div {
    display: grid;
    gap: 0.65rem 0.9rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0.7rem;
}

.fh-event-audit-context-card section {
    min-width: 0;
}

.fh-event-audit-context-card span {
    color: var(--owner-text-muted);
    display: block;
    font-size: 0.7rem;
    font-weight: 850;
    line-height: 1.15;
    text-transform: uppercase;
}

.fh-event-audit-context-card strong {
    color: var(--owner-text);
    display: block;
    font-size: 0.83rem;
    margin-top: 0.18rem;
    overflow-wrap: anywhere;
}

.fh-event-audit-change-list {
    background: var(--owner-bg-soft);
    border: 1px solid var(--owner-border);
    border-radius: 0.55rem;
    display: grid;
    margin-top: 0.65rem;
    min-width: 0;
    overflow: hidden;
}

.fh-event-audit-change-list h4 {
    background: var(--owner-surface);
    border-bottom: 1px solid var(--owner-border);
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    margin: 0;
    padding: 0.55rem 0.7rem;
    text-transform: uppercase;
}

.fh-event-audit-change-list > div {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(9rem, 0.75fr) repeat(2, minmax(0, 1fr));
    padding: 0.55rem 0.7rem;
}

.fh-event-audit-change-list > div:first-of-type {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.fh-event-audit-change-list > div + div {
    border-top: 1px solid var(--owner-border);
}

.fh-event-audit-change-list strong,
.fh-event-audit-change-list span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.fh-event-audit-raw-data {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0.65rem;
    min-width: 0;
}

.fh-event-audit-raw-data h4 {
    color: var(--owner-text-muted);
    font-size: 0.72rem;
    font-weight: 900;
    margin: 0 0 0.35rem;
    text-transform: uppercase;
}

.fh-event-audit-raw-data pre {
    background: var(--owner-bg-soft);
    border: 1px solid var(--owner-border);
    border-radius: 0.5rem;
    color: var(--owner-text);
    font-size: 0.74rem;
    line-height: 1.45;
    margin: 0;
    max-height: 18rem;
    overflow: auto;
    padding: 0.65rem;
    white-space: pre;
}

.fh-event-audit-empty {
    background: var(--owner-surface);
    color: var(--owner-text-muted);
    font-size: 0.9rem;
    padding: 1.5rem;
    text-align: center;
}

.fh-event-audit-pagination {
    align-items: center;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    max-width: 100%;
    min-width: 0;
}

.fh-event-audit-pagination p {
    color: var(--owner-text-muted);
    font-size: 0.84rem;
    font-weight: 750;
    margin: 0;
}

.fh-event-audit-pagination-controls {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.fh-event-audit-pagination-controls label {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
}

.fh-event-audit-pagination-controls label span {
    color: var(--owner-text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.fh-event-audit-pagination-controls select {
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    color: var(--owner-text);
    font-size: 0.82rem;
    min-height: 2.1rem;
    padding: 0.35rem 0.55rem;
    width: 5.5rem;
}

.fh-event-audit-pagination-controls nav {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    justify-content: flex-end;
}

.fh-event-audit-pagination-controls button {
    align-items: center;
    background: var(--owner-surface);
    border: 1px solid var(--owner-border);
    border-radius: 0.45rem;
    color: var(--owner-text);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    justify-content: center;
    min-height: 2.1rem;
    min-width: 2.1rem;
    padding: 0.35rem 0.65rem;
}

.fh-event-audit-pagination-controls button.is-current {
    background: var(--owner-primary);
    border-color: var(--owner-primary);
    color: #fff;
}

.fh-event-audit-pagination-controls button:disabled {
    cursor: default;
    opacity: 0.55;
}

@media (max-width: 1280px) {
    .fh-event-audit-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fh-event-audit-date-range {
        grid-column: 1 / span 2;
    }

    .fh-event-audit-row,
    .fh-event-audit-row.is-head {
        grid-template-columns: 7.5rem 8rem 5.75rem 6rem minmax(12rem, 1fr);
        min-width: 46rem;
    }

    .fh-event-audit-row > span:nth-child(6),
    .fh-event-audit-row.is-head > span:nth-child(6) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .fh-event-audit-head {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-audit-head.is-actions-only {
        align-items: flex-end;
    }

    .fh-event-audit-filters {
        grid-template-columns: 1fr;
    }

    .fh-event-audit-date-range {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .fh-event-audit-row,
    .fh-event-audit-row.is-head {
        grid-template-columns: 1fr;
    }

    .fh-event-audit-row.is-head {
        display: none;
    }

    .fh-event-audit-context-card > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-event-audit-change-list > div {
        grid-template-columns: 1fr;
    }

    .fh-event-audit-raw-data {
        grid-template-columns: 1fr;
    }

    .fh-event-audit-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-event-audit-pagination-controls {
        justify-content: flex-start;
    }

    .fh-event-audit-pagination-controls nav {
        justify-content: flex-start;
    }
}
