:root {
    --app-primary: #b71925;
    --app-primary-hover: #9f1515;
    --app-primary-active: #861111;
    --app-primary-soft: rgba(190, 27, 27, 0.12);
    --app-primary-rgb: 183, 25, 37;

    --color-primary: var(--app-primary);
    --link-color: var(--app-primary);
    --link-color-rgb: var(--app-primary-rgb);
    --link-hover-color: var(--app-primary-hover);
    --link-hover-color-rgb: 159, 21, 21;
    --bs-primary: var(--app-primary);
    --bs-link-color-rgb: var(--app-primary-rgb);
    --text-on-primary: var(--white);

    --button-primary-bg: var(--app-primary);
    --button-primary-border-color: var(--app-primary);
    --button-primary-hover-bg: var(--app-primary-hover);
    --button-primary-hover-border-color: var(--app-primary-hover);
    --button-primary-active-bg: var(--app-primary-active);
    --button-primary-active-border-color: var(--app-primary-active);
    --button-primary-icon-color: rgba(255, 255, 255, 0.9);

    --sidebar-menu-active-item-bg: var(--app-primary-soft);
    --sidebar-menu-active-item-color: var(--app-primary);
    --sidebar-menu-badge-active-bg: var(--app-primary);

    --pagination-active-bg: var(--app-primary);
    --badge-boolean-true-bg: var(--app-primary);
    --dropdown-settings-active-item-color: var(--app-primary);
    --user-menu-impersonated-link-color: var(--app-primary);
    --table-thead-sorted-marker-color: var(--app-primary);
}

/* Shared visual language with the club application. */
:root, .ea-light-scheme {
    --club-bg: #f5f5f3;
    --club-surface: #fff;
    --club-ink: #202124;
    --club-muted: #64666c;
    --club-line: #e4e4e2;
    --club-tint: #fbecee;
    --club-accent: #b71925;
}
.ea-dark-scheme {
    --club-bg: #121315;
    --club-surface: #1d1f22;
    --club-ink: #f6f6f4;
    --club-muted: #b7b8bf;
    --club-line: #34363c;
    --club-tint: #392126;
    --club-accent: #ff7c85;
}
:root, .ea-light-scheme, .ea-dark-scheme {
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --body-bg: var(--club-bg);
    --content-bg: var(--club-bg);
    --sidebar-bg: var(--club-surface);
    --sidebar-border-color: var(--club-line);
    --sidebar-logo-color: var(--club-ink);
    --sidebar-menu-color: var(--club-muted);
    --sidebar-menu-icon-color: var(--club-muted);
    --sidebar-menu-header-color: var(--club-muted);
    --sidebar-menu-active-item-bg: var(--club-tint);
    --sidebar-menu-active-item-color: var(--club-accent);
    --responsive-header-bg: var(--club-surface);
    --responsive-header-border-color: var(--club-line);
    --responsive-header-logo-color: var(--club-ink);
    --text-color: var(--club-ink);
    --text-muted: var(--club-muted);
    --color-primary: var(--club-accent);
    --link-color: var(--club-accent);
    --table-cell-color: var(--club-ink);
    --table-thead-color: var(--club-muted);
    --table-cell-border-color: var(--club-line);
    --table-hover-cell-bg: var(--club-bg);
    --table-selected-cell-bg: var(--club-tint);
    --form-control-bg: var(--club-surface);
    --form-input-border-color: var(--club-line);
    --form-label-color: var(--club-ink);
    --content-section-border-color: var(--club-line);
    --content-top-border-color: var(--club-line);
    --content-search-input-bg: var(--club-surface);
    --border-radius: 10px;
    --sidebar-max-width: 248px;
}
body { -webkit-font-smoothing: antialiased; }
.club-admin-brand { display: block; font-size: 21px; font-weight: 750; letter-spacing: -.04em; line-height: 1.3; }
.club-admin-brand strong { color: var(--club-accent); }
.club-admin-brand small { display: block; color: var(--club-muted); font-size: 9px; letter-spacing: .19em; margin-top: 6px; }
#main-menu .menu .menu-item { border-radius: 12px; margin-bottom: 4px; padding: 3px 12px; }
#main-menu .menu .menu-item a { min-height: 38px; }
#main-menu .menu .menu-item.active .menu-item-label { font-weight: 650; }
#main-menu .menu .menu-header { font-size: 10px; font-weight: 700; letter-spacing: .1em; margin-top: 24px; padding-left: 12px; }
#main-menu .menu .menu-item:not(.active):hover { background: var(--club-bg); }
.content-header-title .title, .content-header .title { color: var(--club-ink); font-size: 24px; font-weight: 750; letter-spacing: -.035em; }
.content-header { margin-bottom: 20px; }
.btn { border-radius: 10px; min-height: 36px; padding: 8px 14px; font-size: 13px; font-weight: 600; box-shadow: none; }
.btn-primary { background: #b71925; border-color: #b71925; color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: #981320; border-color: #981320; color: #fff; }
.form-control, .form-select, .ts-control { border-radius: 10px; min-height: 40px; }
textarea.form-control { padding: 12px 14px; line-height: 1.65; }
.form-group { margin-bottom: 20px; }
.form-widget { min-width: 0; }
.form-widget .form-control, .form-widget .form-select, .form-widget .ts-control { background-color: var(--club-surface); }
.form-widget .form-control:focus, .form-widget .form-select:focus, .form-widget .ts-control:focus { background-color: var(--club-surface); }
.form-label { font-size: 13px; font-weight: 650; margin-bottom: 8px; }
.form-text { color: var(--club-muted); font-size: 12px; line-height: 1.6; }
.content-panel, .card, .form-fieldset { background: var(--club-surface); border: 1px solid var(--club-line); border-radius: 18px; box-shadow: 0 2px 3px #00000002; }
.form-fieldset { background: transparent; border-color: transparent; box-shadow: none; }
.content-panel-header, .card-header { background: transparent; border-bottom: 1px solid var(--club-line); padding: 18px 22px; }
.content-panel-body, .card-body { padding: 22px; }
.datagrid { background: var(--club-surface); border: 1px solid var(--club-line); border-collapse: separate; border-spacing: 0; border-radius: 16px; }
.datagrid thead th { background: var(--club-surface); padding: 15px 12px; font-size: 11px; font-weight: 700; }
.datagrid thead th:first-child { border-top-left-radius: 16px; }
.datagrid thead th:last-child { border-top-right-radius: 16px; }
.datagrid tbody td { padding: 14px 12px; vertical-align: middle; }
.datagrid tbody tr:last-child td { border-bottom: 0; }
.datagrid .ea-lightbox-thumbnail img { border-radius: 8px; }
.dropdown-menu, .modal-content { border: 1px solid var(--club-line); border-radius: 14px; box-shadow: 0 12px 36px #00000014; }
.page-link { border-radius: 9px; }
.nav-tabs { gap: 6px; }
.nav-tabs .nav-link { border-radius: 9px 9px 0 0; font-size: 13px; font-weight: 600; padding: 9px 14px; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--club-accent); outline-offset: 3px; }
.club-dashboard-intro { color: var(--club-muted); margin: -8px 0 24px; font-size: 14px; }
.club-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.club-stat { padding: 22px; background: var(--club-surface); border: 1px solid var(--club-line); border-radius: 18px; }
.club-stat-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--club-tint); color: var(--club-accent); margin-bottom: 20px; }
.club-stat-label { color: var(--club-muted); font-size: 12px; font-weight: 600; }
.club-stat-value { color: var(--club-ink); font-size: 34px; font-weight: 750; letter-spacing: -.045em; line-height: 1.3; font-variant-numeric: tabular-nums; margin: 8px 0 0; }
.club-stat-note { color: var(--club-muted); font-size: 12px; margin: 6px 0 0; }
.club-chart-title { color: var(--club-ink); font-size: 17px; font-weight: 700; margin: 0; letter-spacing: -.025em; }
.club-chart-wrap { position: relative; height: 300px; }
.club-chart-table { margin-top: 20px; }
@media (max-width: 1199px) { .club-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) {
    .club-stats { gap: 10px; }
    .club-stat { padding: 16px; border-radius: 14px; }
    .club-stat-value { font-size: 28px; }
    .content-panel-body, .card-body { padding: 16px; }
    .club-chart-wrap { height: 240px; }
    .form-control, .form-select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

.ea-dark-scheme {
    --color-primary: var(--club-accent);
    --link-color: var(--club-accent);
    --link-color-rgb: 248, 113, 113;
    --link-hover-color: #fca5a5;
    --link-hover-color-rgb: 252, 165, 165;
    --button-primary-bg: var(--app-primary);
    --button-primary-hover-bg: #d21f1f;
    --button-primary-active-bg: var(--app-primary-hover);
    --sidebar-menu-active-item-bg: var(--club-tint);
    --sidebar-menu-active-item-color: var(--club-accent);
}

.form-check-input:checked {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.form-check-input:focus,
.form-control:focus,
.form-select:focus {
    border-color: rgba(var(--app-primary-rgb), 0.5);
    box-shadow: 0 0 0 0.25rem rgba(var(--app-primary-rgb), 0.16);
}

.page-item.active .page-link,
.active > .page-link {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

table.datagrid { border-collapse: separate; }
.page-login { background: var(--club-bg); }
.page-login .login-wrapper { width: min(420px, calc(100% - 32px)); margin: 8vh auto; }
.page-login .content { background: var(--club-surface); border: 1px solid var(--club-line); border-radius: 20px; padding: 32px; box-shadow: 0 8px 32px #00000006; }
.page-login .logo { color: var(--club-ink); font-size: 25px; font-weight: 750; letter-spacing: -.035em; }
.page-login .btn-primary { width: 100%; min-height: 46px; }
