* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f4f6f8;
    color: #222;
}

a {
    text-decoration: none;
}

/* Account registration */
.entry-main.account-form-main { counter-reset: account-section; }
.entry-main.account-form-main > .form-section { counter-increment: account-section; }
.account-form-main .form-section-header::before,
.account-form-main .optional-section > summary::before { content: counter(account-section); }
.account-registration-header {
    position: relative;
    margin-bottom: 18px;
    padding: 22px 24px 22px 28px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}
.account-registration-header::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #1f75bd;
}
.account-registration-header h1 { margin: 5px 0 8px; font-size: 25px; }
.account-registration-header p { max-width: 760px; color: #626b73; font-size: 13px; line-height: 1.55; }
.account-login-notice { margin-bottom: 18px; }
.password-input { position: relative; }
.password-input input { width: 100%; padding-right: 82px; }
.password-toggle {
    position: absolute; top: 50%; right: 5px; min-height: 30px; padding: 0 8px;
    border: 0; background: transparent; color: #1f75bd; cursor: pointer;
    font-size: 11px; font-weight: bold; transform: translateY(-50%);
}
.account-benefits { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.account-benefits li { position: relative; padding-left: 20px; color: #505961; font-size: 12px; line-height: 1.45; }
.account-benefits li::before { content: "✓"; position: absolute; left: 0; color: #278255; font-weight: bold; }

.support-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.support-summary-card,
.support-panel {
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}

.support-summary-card {
    padding: 14px 16px;
    display: grid;
    gap: 4px;
}

.support-summary-card span {
    color: #6a737c;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.support-summary-card strong {
    color: #26313a;
    font-size: 15px;
}

.support-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(290px, .9fr);
    gap: 18px;
    align-items: start;
}

.support-sidebar {
    display: grid;
    gap: 14px;
}

.support-panel {
    padding: 18px;
}

.support-form {
    display: grid;
    gap: 18px;
}

.support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.support-links {
    display: grid;
    gap: 10px;
}

.support-links a {
    display: grid;
    gap: 4px;
    padding: 12px 13px;
    border: 1px solid #e1e6eb;
    border-radius: 8px;
    background: #fdfefe;
    color: #26313a;
}

.support-links a:hover {
    border-color: #b6d0e6;
    background: #f4f9fd;
}

.support-links a strong {
    font-size: 14px;
}

.support-links a span,
.support-notes span,
.support-contact span {
    color: #68717a;
    font-size: 12px;
    line-height: 1.45;
}

.support-notes {
    display: grid;
    gap: 12px;
}

.support-notes article {
    display: grid;
    gap: 3px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf0f2;
}

.support-notes article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.support-notes strong {
    color: #26313a;
    font-size: 13px;
}

.support-contact {
    display: grid;
    gap: 12px;
}

.support-contact div {
    display: grid;
    gap: 3px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf0f2;
}

.support-contact div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.support-panel .form-section-header::before,
.support-panel .optional-section > summary::before {
    display: none;
    content: none;
}

.support-panel .form-section-header {
    align-items: flex-start;
    gap: 0;
    padding: 0 0 12px;
    border-bottom: 1px solid #edf0f2;
}

.support-panel .form-section-header > div {
    margin-left: 0;
}

.support-panel .form-section-header h2,
.support-panel .form-section-header p {
    margin-left: 0;
}

.support-panel .form-section-header + * {
    margin-top: 14px;
}

:where(a:visited) {
    color: #1f75bd;
}

#spinner {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(244,246,248,.72);
}

#spinner.is-visible {
    display: block;
}

#spinner img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
}

body.dark-mode #spinner {
    background: rgba(8, 12, 18, 0.72);
}

.top-header {
    background: #ffffff;
    border-bottom: 1px solid #dcdcdc;
}

.top-header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 12px 20px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-items: end;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.header-apps {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 360px;
    margin-right: 6px;
}

.header-apps > span {
    color: #66717b;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.header-apps-list {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-apps-item,
.mobile-apps-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #d6dce2;
    border-radius: 999px;
    background: #ffffff;
    color: #26313a;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, background .15s ease;
}

.header-apps-item:hover,
.mobile-apps-item:hover {
    border-color: #aacce7;
    box-shadow: 0 3px 10px rgba(0,0,0,.06);
    transform: translateY(-1px);
    background: #f7fbfe;
}

.header-apps-badge,
.mobile-apps-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.header-action-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex-wrap: wrap;
}

.logo-area img {
    height: 60px;
}

.logo-box {
    display: grid;
    align-items: center;
}

.logo-box .logo-dark {
    display: none;
}

body.dark-mode .logo-box .logo-light {
    display: none;
}

body.dark-mode .logo-box .logo-dark {
    display: block;
}

.portal-title {
    font-size: 12px;
    color: #888;
    margin-top: 4px;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 13px;
}

.user-menu a {
    color: #666;
}

.user-menu a:hover {
    color: #1f75bd;
}

.language-select {
    height: 34px;
    min-width: 150px;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
    background: #ffffff;
    color: #333;
    padding: 0 10px;
    font-size: 13px;
}

.language-menu {
    position: relative;
    z-index: 100;
}

.language-current {
    height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #444;
    font-size: 13px;
    cursor: pointer;
}

.language-current::after {
    content: none;
}

.language-current img,
.language-options img {
    width: 20px;
    height: 13px;
    flex: 0 0 20px;
    object-fit: contain;
}

.language-options {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: 190px;
    max-height: min(420px, calc(100vh - 90px));
    overflow-y: auto;
    padding: 5px;
    background: #ffffff;
    border: 1px solid #d9dfe4;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
}

.language-menu:hover .language-options,
.language-menu:focus-within .language-options,
.language-menu.open .language-options {
    display: block;
}

.language-menu:hover .language-current,
.language-menu:focus-within .language-current,
.language-menu.open .language-current {
    color: #1f75bd;
}

.language-options a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 36px;
    padding: 7px 9px;
    border-radius: 5px;
    color: #3f484f;
    font-size: 12px;
}

.language-options a:hover,
.language-options a:focus {
    background: #edf4fa;
    color: #1f75bd;
    outline: none;
}

.language-overlay-trigger {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #444;
    font-size: 13px;
    cursor: pointer;
}

.language-overlay-trigger:hover,
.language-overlay-trigger:focus {
    color: #1f75bd;
    outline: none;
}

.global-search-trigger {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #444;
    cursor: pointer;
}

.global-search-trigger:hover,
.global-search-trigger:focus {
    background: #eef1f4;
    color: #1f75bd;
    outline: none;
}

.theme-toggle-trigger {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid #cfd7dd;
    border-radius: 6px;
    background: #ffffff;
    color: #444;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
}

.theme-toggle-trigger:hover,
.theme-toggle-trigger:focus {
    background: #eef1f4;
    border-color: #9fb8ce;
    color: #1f75bd;
    outline: none;
}

.theme-toggle-trigger svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

.theme-toggle-trigger .theme-toggle-core,
.theme-toggle-trigger .theme-toggle-sun,
.theme-toggle-trigger .theme-toggle-moon {
    stroke: currentColor;
    fill: currentColor;
}

.theme-toggle-trigger.is-dark .theme-toggle-sun {
    opacity: 0;
}

.theme-toggle-trigger:not(.is-dark) .theme-toggle-moon {
    opacity: 0;
}

.global-search-trigger svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.language-overlay-trigger img,
.language-overlay-options img {
    width: 20px;
    height: 13px;
    flex: 0 0 20px;
    object-fit: contain;
}

.language-overlay {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(31,38,44,.58);
}

.language-overlay[hidden] {
    display: none;
}

.language-overlay-open {
    overflow: hidden;
}

.language-overlay-panel {
    width: min(560px, 100%);
    max-height: min(680px, calc(100vh - 40px));
    overflow: hidden;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 22px 60px rgba(0,0,0,.28);
}

.language-overlay-header {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #e3e7ea;
}

.language-overlay-header h2 {
    font-size: 18px;
}

.language-overlay-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #59636c;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.language-overlay-close:hover,
.language-overlay-close:focus {
    background: #eef1f4;
    color: #222;
    outline: none;
}

.language-overlay-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    padding: 14px;
}

.language-overlay-options a {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 12px;
    border: 1px solid #e0e5e9;
    border-radius: 6px;
    color: #374047;
    font-size: 13px;
    font-weight: bold;
}

.language-overlay-options a:hover,
.language-overlay-options a:focus {
    background: #edf4fa;
    border-color: #b9d2e7;
    color: #1f75bd;
    outline: none;
}

.language-overlay-options a[aria-current="true"] {
    background: #e7f6ed;
    border-color: #b8dfc7;
    color: #218548;
}

.global-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 2210;
    display: grid;
    place-items: start center;
    padding: 7vh 20px 20px;
    background: rgba(31,38,44,.58);
}

.global-search-overlay[hidden] {
    display: none;
}

.global-search-open {
    overflow: hidden;
}

.global-search-panel {
    width: min(760px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    overflow: hidden;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 22px 60px rgba(0,0,0,.28);
}

.global-search-header {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #e3e7ea;
}

.global-search-header h2 {
    font-size: 18px;
}

.global-search-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #59636c;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.global-search-close:hover,
.global-search-close:focus {
    background: #eef1f4;
    color: #222;
    outline: none;
}

.global-search-field {
    padding: 14px 18px 10px;
}

.global-search-field input {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid #cfd7dd;
    border-radius: 7px;
    background: #ffffff;
    color: #26313a;
    font-size: 15px;
}

.global-search-field input:focus {
    border-color: #1f75bd;
    box-shadow: 0 0 0 3px rgba(31,117,189,.14);
    outline: none;
}

.global-search-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 18px 12px;
}

.global-search-tabs button {
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid #d6dde3;
    border-radius: 6px;
    background: #f7f9fb;
    color: #33404a;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
}

.global-search-tabs button.is-active,
.global-search-tabs button:hover,
.global-search-tabs button:focus {
    border-color: #1f75bd;
    background: #eaf3fc;
    color: #155d99;
    outline: none;
}

.global-search-results {
    display: grid;
    gap: 8px;
    overflow-y: auto;
    padding: 0 18px 18px;
}

.global-search-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e0e5e9;
    border-radius: 7px;
    background: #ffffff;
    color: #26313a;
}

.global-search-result:hover,
.global-search-result:focus {
    border-color: #aacce7;
    background: #f7fbff;
    outline: none;
}

.global-search-result strong {
    display: block;
    color: #16212b;
    font-size: 14px;
}

.global-search-result small {
    display: block;
    margin-top: 3px;
    color: #68727a;
    font-size: 12px;
    line-height: 1.35;
}

.global-search-result span {
    align-self: start;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf4fa;
    color: #155d99;
    font-size: 10px;
    font-weight: bold;
    white-space: nowrap;
}

.global-search-state {
    padding: 28px 12px;
    color: #68727a;
    font-size: 13px;
    text-align: center;
}

@media (max-width: 520px) {
    .language-overlay-options {
        grid-template-columns: 1fr;
    }

    .global-search-overlay {
        place-items: stretch;
        padding: 12px;
    }

    .global-search-panel {
        max-height: calc(100vh - 24px);
    }

    .global-search-result {
        grid-template-columns: 1fr;
    }

    .global-search-result span {
        justify-self: start;
    }
}

.user-session {
    width: 100%;
}

.logged-in-user {
    color: #666;
    font-size: 12px;
    line-height: 1.2;
    text-align: right;
}

.logged-in-user strong {
    color: #333;
}

.auth-links {
    display: flex;
    align-items: center;
    align-self: flex-start;
    gap: 18px;
    min-height: 34px;
}

.auth-links a {
    color: #666;
    font-size: 13px;
}

.auth-links a:hover {
    color: #1f75bd;
}

.main-nav {
    background: #2f363d;
    border-bottom: 4px solid #1f75bd;
    position: relative;
}

.main-nav-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    overflow: visible;
}

.nav-item {
    position: relative;
    flex-shrink: 0;
    display: flex;
}

.main-nav-inner > a,
.nav-item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 47px;
    color: #ffffff;
    padding: 0 26px;
    font-size: 13px;
    line-height: 1;
    font-weight: 750;
    white-space: nowrap;
}

.has-submenu > a::after {
    content: "▾";
    display: inline-block;
    margin-left: 6px;
    font-size: 10px;
    line-height: 1;
    transform: translateY(-1px);
}

.main-nav a {
    color: #ffffff;
}

.main-nav a.active,
.main-nav a:hover {
    background: #1f75bd;
}

.has-submenu:hover .submenu {
    display: block;
}

.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 210px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    z-index: 50;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.submenu a {
    display: block;
    padding: 12px 18px;
    color: #333333;
    font-size: 13px;
    font-weight: 750;
    border-bottom: 1px solid #eeeeee;
}

.submenu a:hover {
    background: #f3f5f7;
    color: #1f75bd;
}

.content {
    max-width: 1280px;
    margin: 0 auto;
    padding: 25px 20px 40px;
}

.toolbar {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.toolbar h1 {
    font-size: 28px;
}

.toolbar p {
    margin-top: 4px;
    color: #777;
}

.filters {
    display: flex;
    gap: 10px;
}

.filters input,
.filters select {
    height: 40px;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
    padding: 0 12px;
    background: #ffffff;
}

.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.stat-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    border-left: 5px solid #1f75bd;
}

.stat-card .value {
    font-size: 30px;
    font-weight: bold;
    color: #1f75bd;
}

.stat-card .label {
    color: #666;
    font-size: 13px;
}

.event-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 14px;
}

.event-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 18px;
    display: grid;
    grid-template-columns: 220px 1fr auto;
    gap: 20px;
    align-items: center;
    border-left: 5px solid #1f75bd;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: .15s;
}

.championship-card {
    grid-template-columns: minmax(0, 1fr) auto;
}

.championship-card .event-info {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.championship-card .event-info > div:first-child {
    display: grid;
    gap: 4px;
}

.championship-card .event-meta {
    margin-top: 2px;
    gap: 8px 12px;
}

.championship-card .event-badges {
    margin-top: 2px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.10);
}

/* Datum */

.event-dates {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.date-box {
    width: 78px;
    background: #f0f3f6;
    border: 1px solid #dde3e8;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    flex-shrink: 0;
}

.date-box.from {
    border-left: 4px solid #1f75bd;
}

.date-box.to {
    border-left: 4px solid #e67e22;
}

.date-day {
    display: block;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    padding-top: 8px;
}

.date-month {
    display: block;
    margin-top: 6px;
    background: #303840;
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    padding: 5px 0;
}

.date-year {
    display: block;
    color: #666;
    font-size: 11px;
    padding: 6px 0;
}

.date-separator {
    font-size: 11px;
    font-weight: bold;
    color: #777;
    min-width: 32px;
    text-align: center;
}

/* Event-Info */

.event-title {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 6px;
}

.event-title a {
    color: #222;
}

.event-title a:hover {
    color: #1f75bd;
}

.event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    color: #666;
    font-size: 14px;
}

.event-meta strong {
    color: #333;
    font-weight: bold;
}

.event-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.badge {
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: bold;
}

.badge.country {
    background: #eef2ff;
    color: #3730a3;
}

.badge.report {
    background: #e6eef7;
    color: #31516f;
}

.badge.live {
    background: #d9edff;
    color: #005ea8;
}

.badge.live-pending {
    background: #eef1f4;
    color: #5f6871;
}

.badge.live-now {
    background: #fee2e2;
    color: #b91c1c;
}

.badge.open {
    background: #dcfce7;
    color: #15803d;
}

.badge.login {
    background: #e0f2fe;
    color: #0369a1;
}

.badge.contract {
    background: #ede9fe;
    color: #6d28d9;
}

.badge.notopen {
    background: #f1f5f9;
    color: #475569;
}

.badge.closed {
    background: #fee2e2;
    color: #b91c1c;
}

.badge.standby {
    background: #fff0d6;
    color: #b26a00;
}

/* Buttons */

.event-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.btn {
    border: 1px solid #d4dae0;
    background: #ffffff;
    color: #333;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: bold;
    display: inline-block;
    text-align: center;
}

.btn:hover {
    background: #f3f5f7;
}

.btn-primary {
    background: #1f75bd;
    color: #ffffff;
    border-color: #1f75bd;
}

.btn-primary:hover {
    background: #1762a0;
}

.btn-unavailable,
.btn-unavailable:hover {
    background: #e5e9ed;
    border-color: #d5dbe1;
    color: #6b737b;
    cursor: default;
}

.footer {
    display: grid;
    gap: 16px;
    padding: 22px 20px 25px;
    color: #888;
    font-size: 12px;
    text-align: center;
}

.footer-apps {
    display: grid;
    gap: 10px;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

.footer-apps > span {
    color: #66717b;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-apps-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-apps-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    padding: 10px 14px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
    color: #26313a;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.footer-apps-item:hover {
    border-color: #aacce7;
    box-shadow: 0 4px 12px rgba(0,0,0,.07);
    transform: translateY(-1px);
}

.footer-apps-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: #1f75bd;
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
}

.footer-sponsors {
    display: grid;
    gap: 10px;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

.footer-sponsors > span {
    color: #66717b;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-sponsor-list {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
    padding: 2px 0;
    animation: sponsor-marquee 28s linear infinite;
}

.footer-sponsor-list:hover,
.footer-sponsor-list:focus-within {
    animation-play-state: paused;
}

.footer-sponsor-track {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.footer-sponsor-track .footer-sponsor-list {
    justify-content: flex-start;
}

.footer-sponsor-group {
    display: flex;
    flex: 0 0 auto;
    justify-content: space-around;
    gap: 10px;
    min-width: 100%;
    padding-right: 10px;
}

@keyframes sponsor-marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.footer-sponsor-list a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 54px;
    padding: 8px 12px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
    opacity: 0;
    visibility: hidden;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, opacity .15s ease;
}

.footer-sponsor-list a.is-loaded {
    opacity: 1;
    visibility: visible;
}

.footer-sponsor-list a:hover {
    border-color: #aacce7;
    box-shadow: 0 4px 12px rgba(0,0,0,.07);
    transform: translateY(-1px);
}

.footer-sponsor-list img {
    display: block;
    max-width: 100%;
    max-height: 34px;
    object-fit: contain;
}

.footer-runtime {
    color: #6d7780;
    font-size: 11px;
}

.footer-copyright {
    display: block;
}

@media (max-width: 768px) {
    .footer-apps-item {
        min-width: 0;
        width: 100%;
        max-width: 260px;
    }
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.page-btn,
.page-dots {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #d4dae0;
    background: #ffffff;
    color: #333;
    font-size: 13px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.page-btn:hover {
    background: #f3f5f7;
}

.page-btn.active {
    background: #1f75bd;
    border-color: #1f75bd;
    color: #ffffff;
}

.page-btn.disabled {
    opacity: .45;
    pointer-events: none;
}

.page-dots {
    border: none;
    background: transparent;
    color: #777;
}

/* Detailansicht */

.breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 14px;
    color: #777;
    font-size: 13px;
}

.breadcrumb a {
    color: #1f75bd;
    font-weight: bold;
}

.detail-header {
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    border-left: 5px solid #1f75bd;
    padding: 22px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 22px;
    align-items: center;
    margin-bottom: 18px;
}

.detail-header .event-dates {
    justify-content: flex-start;
}

.detail-header .date-box {
    border-radius: 8px;
}

.detail-header .date-separator {
    min-width: 0;
}

.detail-header .event-title {
    font-size: 26px;
    line-height: 1.2;
    margin-bottom: 8px;
}

.badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 13px;
}

.action-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 160px;
}

.action-stack .btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
}

.detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 18px;
    width: 100%;
}

.detail-layout > *,
.detail-layout > div,
.side-column,
.section,
.side-panel,
.section-body,
.side-panel-body {
    min-width: 0;
}

.detail-header,
.section,
.side-panel {
    width: 100%;
    max-width: 100%;
}

.section,
.side-panel {
    background: #ffffff;
    border: 1px solid #e2e6ea;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.section {
    margin-bottom: 18px;
}

.section-header,
.side-panel-header {
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.section-header h2,
.side-panel-header h2 {
    font-size: 17px;
}
#heats .section-header h2 {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
#heats .section-header h2 small {
    color: #68727a;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
}

.section-body,
.side-panel-body {
    padding: 18px;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.info-item {
    background: #f7f9fb;
    border: 1px solid #edf0f2;
    border-radius: 8px;
    padding: 12px;
}

.info-label {
    display: block;
    color: #777;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
}

.info-value {
    color: #222;
    font-size: 14px;
}

.info-item-wide {
    grid-column: 1 / -1;
}

.class-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.class-list span {
    padding: 6px 9px;
    background: #e6eef7;
    border-radius: 6px;
    color: #31516f;
    font-size: 12px;
    font-weight: bold;
}

.section-subsection {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #edf0f2;
}

.section-subsection-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.section-subsection-header h3 {
    font-size: 16px;
}

.report-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.report-link-list a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid #cfd8df;
    border-radius: 5px;
    background: #ffffff;
    color: #1f75bd;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.report-link-list a:hover {
    border-color: #1f75bd;
    background: #eef6fc;
    color: #155a93;
}

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.table th,
.table td {
    padding: 11px 10px;
    text-align: left;
    border-bottom: 1px solid #edf0f2;
}

.table th {
    color: #666;
    font-size: 12px;
    text-transform: uppercase;
    background: #f7f9fb;
}

.admin-sort-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    text-transform: inherit;
    white-space: nowrap;
    cursor: pointer;
}

.admin-sort-toggle::after {
    content: "⇅";
    font-size: 10px;
    line-height: 1;
    color: #9aa5af;
}

.admin-sort-toggle:hover {
    color: #1f75bd;
}

.admin-sort-toggle.is-asc::after {
    content: "▲";
    color: #1f75bd;
}

.admin-sort-toggle.is-desc::after {
    content: "▼";
    color: #1f75bd;
}

.table tr:last-child td {
    border-bottom: 0;
}

.table tfoot th,
.table tfoot td {
    padding-top: 12px;
    padding-bottom: 12px;
    background: #eef3f7;
    border-top: 2px solid #d5dfe7;
    border-bottom: 0;
    color: #222;
    font-weight: bold;
}

.table-date-range {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.table-date-range small {
    color: #888;
    font-size: 9px;
    font-weight: bold;
    text-transform: uppercase;
}

.status-line {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #edf0f2;
    font-size: 14px;
}

.status-line:last-child {
    border-bottom: 0;
}

.status-line strong {
    color: #333;
}

.timeline {
    display: grid;
    gap: 12px;
}

.timeline-item {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 14px;
    align-items: start;
}

.timeline-time {
    color: #1f75bd;
    font-weight: bold;
    font-size: 13px;
}

.timeline-content {
    padding-bottom: 12px;
    border-bottom: 1px solid #edf0f2;
    font-size: 14px;
}

.timeline-item:last-child .timeline-content {
    border-bottom: 0;
    padding-bottom: 0;
}

.side-column {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.quick-list {
    display: grid;
    gap: 12px;
}

.quick-list a {
    color: #1f75bd;
    font-size: 14px;
    font-weight: bold;
}

.map-placeholder {
    height: 170px;
    border-radius: 8px;
    border: 1px solid #d5dbe1;
    background:
            linear-gradient(90deg, rgba(255,255,255,.55) 49%, transparent 49%),
            linear-gradient(0deg, rgba(255,255,255,.55) 49%, transparent 49%),
            #dce6ec;
    background-size: 42px 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4c6475;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 12px;
}

.map-embed {
    display: block;
    width: 100%;
    height: 220px;
    margin-bottom: 12px;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
}

.map-link {
    display: inline-flex;
    margin-top: 12px;
    color: #1f75bd;
    font-size: 13px;
    font-weight: bold;
}

/* Nennformular */

.entry-event-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin-bottom: 14px;
    padding: 18px;
    background: #ffffff;
    border-left: 5px solid #1f75bd;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.entry-event-header h1 {
    margin: 3px 0 7px;
    font-size: 25px;
}

.entry-event-header .event-dates {
    justify-content: flex-start;
}

.entry-eyebrow {
    color: #66717b;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.entry-resources {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 14px;
    margin-bottom: 14px;
}

.organizer-message,
.entry-documents {
    min-width: 0;
    padding: 17px 18px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
}

.organizer-message {
    border-left: 5px solid #1f75bd;
}

.organizer-message:only-child {
    grid-column: 1 / -1;
}

.organizer-message h2,
.entry-documents h2 {
    margin-top: 4px;
    font-size: 16px;
}

.organizer-message-content {
    display: grid;
    gap: 7px;
    margin-top: 9px;
    color: #515a62;
    font-size: 13px;
    line-height: 1.5;
}

.entry-documents {
    display: grid;
    align-content: start;
    gap: 0;
}

.document-list {
    display: grid;
    align-content: start;
}

.entry-documents h2 {
    margin: 0 0 8px;
}

.entry-documents a,
.document-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #edf0f2;
    color: #1f75bd;
    font-size: 13px;
    font-weight: bold;
}

.entry-documents a:last-child,
.document-list a:last-child {
    border-bottom: 0;
}

.entry-documents small,
.document-list small {
    padding: 3px 5px;
    background: #eef1f4;
    border-radius: 4px;
    color: #68717a;
    font-size: 9px;
}

.entry-documents:only-child {
    grid-column: 1 / -1;
    grid-template-columns: 140px repeat(auto-fit, minmax(150px, 1fr));
    align-items: center;
    column-gap: 18px;
}

.entry-documents:only-child h2 {
    margin: 0;
}

.entry-documents:only-child a {
    padding: 5px 0 5px 16px;
    border-bottom: 0;
    border-left: 1px solid #edf0f2;
}

.entry-account-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 13px 16px;
    background: #eef5fb;
    border: 1px solid #cddfee;
    border-radius: 8px;
}

.entry-account-notice div {
    display: grid;
    gap: 3px;
}

.entry-account-notice strong {
    font-size: 14px;
}

.entry-account-notice span {
    color: #5f6871;
    font-size: 12px;
}

.entry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 18px;
}

.entry-main,
.entry-summary {
    min-width: 0;
}

.entry-main {
    counter-reset: entry-section;
}

.entry-main > .form-section,
.class-configuration > .form-section {
    counter-increment: entry-section;
}

.class-selection-prompt {
    display: grid;
    gap: 5px;
    padding: 24px 18px;
    background: #ffffff;
    border: 1px dashed #c9d1d8;
    border-radius: 8px;
    color: #343c43;
    text-align: center;
}

.class-selection-prompt span {
    color: #707981;
    font-size: 12px;
}

.class-selection-prompt[hidden],
.class-configuration[hidden] {
    display: none;
}

.form-validation-message {
    margin-bottom: 16px;
    padding: 15px 17px;
    background: #fff1f1;
    border: 1px solid #efb8b8;
    border-left: 5px solid #c62828;
    border-radius: 8px;
    color: #702020;
}

.form-validation-message[hidden] {
    display: none;
}

.form-validation-message strong {
    font-size: 14px;
}

.form-validation-message p {
    margin-top: 4px;
    font-size: 12px;
}

.form-validation-message ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 18px;
    margin: 9px 0 0 18px;
    font-size: 12px;
}

.form-field.has-error input,
.form-field.has-error select,
.form-field.has-error textarea {
    border-color: #c62828;
    outline: 3px solid rgba(198,40,40,.10);
}

.check-field.has-error {
    background: #fff1f1;
    border-color: #c62828;
}

.form-section {
    display: block;
    width: 100%;
    margin-bottom: 16px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}

.form-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 18px;
    border-bottom: 1px solid #edf0f2;
}

.form-section-header h2 {
    font-size: 17px;
}

.form-section-header p {
    margin-top: 3px;
    color: #707981;
    font-size: 12px;
}

.form-step,
.form-section-header::before,
.optional-section > summary::before {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1f75bd;
    border-radius: 50%;
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
}

.form-section-header::before,
.optional-section > summary::before {
    content: counter(entry-section);
}

.form-section-body {
    padding: 18px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.form-field {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 6px;
}

.form-field-wide {
    grid-column: 1 / -1;
}

.form-field-small {
    max-width: 180px;
}

.form-field label {
    color: #424b53;
    font-size: 12px;
    font-weight: bold;
}

.form-hint {
    color: #737c84;
    font-size: 11px;
    line-height: 1.4;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #cfd6dc;
    border-radius: 6px;
    background: #ffffff;
    color: #222;
    font: inherit;
    font-size: 14px;
}

.form-field input,
.form-field select {
    height: 42px;
    padding: 0 11px;
}

.form-section-body input[type="checkbox"],
.form-section-body input[type="radio"] {
    width: 17px;
    min-width: 17px;
    height: 17px;
    padding: 0;
    accent-color: #1f75bd;
}

.form-field textarea {
    min-height: 96px;
    padding: 10px 11px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: #1f75bd;
    outline: 3px solid rgba(31,117,189,.13);
}

.form-field input:disabled {
    background: #f1f3f5;
    color: #5f6871;
}

.check-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    background: #f7f9fb;
    border: 1px solid #e6eaed;
    border-radius: 6px;
    color: #333;
    font-size: 13px;
}

.check-field input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin-top: 1px;
    accent-color: #1f75bd;
}

.check-field span {
    display: grid;
    gap: 3px;
}

.check-field.privacy-field span {
    display: inline;
    white-space: nowrap;
}

.check-field small {
    color: #707981;
    font-size: 11px;
}

.check-field a {
    color: #1f75bd;
    font-weight: bold;
}

.required-marker {
    margin-left: 3px;
}

.optional-section summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 13px 18px;
    cursor: pointer;
    list-style: none;
}

.optional-section summary::-webkit-details-marker {
    display: none;
}

.optional-section summary::after {
    content: "+";
    color: #1f75bd;
    font-size: 22px;
    font-weight: bold;
}

.optional-section[open] summary {
    border-bottom: 1px solid #edf0f2;
}

.optional-section[open] summary::after {
    content: "−";
}

.optional-section summary span {
    display: grid;
    flex: 1;
    gap: 3px;
}

.optional-section summary strong {
    font-size: 15px;
}

.optional-section summary small {
    color: #707981;
    font-size: 11px;
}

.configured-section-header {
    padding-left: 18px;
}

.article-list {
    display: grid;
}

.article-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px 90px;
    align-items: center;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid #edf0f2;
}

.article-item:first-child {
    padding-top: 0;
}

.article-item:last-child {
    border-bottom: 0;
}

.article-details,
.article-price {
    display: grid;
    gap: 4px;
}

.article-details strong {
    font-size: 14px;
}

.article-details small,
.article-price span {
    color: #737c84;
    font-size: 10px;
    line-height: 1.4;
}

.article-price strong {
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.article-quantity input {
    text-align: right;
}

.article-total {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    margin-top: 8px;
    padding: 13px 0 0;
    border-top: 2px solid #dfe4e8;
}

.article-total span {
    color: #626b73;
    font-size: 12px;
    font-weight: bold;
}

.article-total strong {
    min-width: 120px;
    color: #1f75bd;
    font-size: 17px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.transponder-list {
    display: grid;
    gap: 12px;
    margin-bottom: 12px;
}

.account-transponder-list {
    margin-top: 15px;
}

.transponder-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 100px;
    gap: 12px;
}

.add-transponder {
    width: auto;
}

.entry-summary {
    position: sticky;
    top: 18px;
}

.entry-summary-inner {
    padding: 18px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-top: 4px solid #1f75bd;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.entry-summary h2 {
    margin-bottom: 15px;
    font-size: 17px;
}

.entry-summary dl {
    display: grid;
    gap: 0;
}

.entry-summary dl div {
    display: grid;
    gap: 4px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f2;
}

.entry-summary dt {
    color: #777;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.entry-summary dd {
    font-size: 12px;
    font-weight: bold;
}

.entry-summary p {
    margin: 13px 0;
    color: #777;
    font-size: 11px;
}

.entry-submit {
    width: 100%;
    min-height: 44px;
}

.entry-submit:disabled,
.entry-submit:disabled:hover {
    background: #aeb7bf;
    border-color: #aeb7bf;
    color: #ffffff;
    cursor: default;
}

.entry-cancel {
    display: block;
    margin-top: 12px;
    color: #66717b;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.entry-access-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 18px;
}

.login-required-panel,
.login-required-summary {
    min-width: 0;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.login-required-panel {
    border-left: 5px solid #1f75bd;
}

.login-required-panel h2 {
    margin-top: 13px;
    font-size: 23px;
}

.login-required-panel > p {
    max-width: 680px;
    margin-top: 9px;
    color: #515a62;
    font-size: 14px;
    line-height: 1.55;
}

.login-required-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}

.login-required-panel .entry-cancel {
    display: inline-block;
    margin-top: 17px;
}

.login-required-summary h2 {
    margin-bottom: 10px;
    font-size: 17px;
}

.login-required-summary dl {
    display: grid;
}

.login-required-summary dl div {
    display: grid;
    gap: 4px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f2;
}

.login-required-summary dl div:last-child {
    border-bottom: 0;
}

.login-required-summary dt {
    color: #777;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.login-required-summary dd {
    font-size: 14px;
    font-weight: bold;
}

@media (max-width: 980px) {
    .entry-resources {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .entry-layout {
        grid-template-columns: 1fr;
    }

    .entry-access-layout {
        grid-template-columns: 1fr;
    }

    .entry-summary {
        position: static;
    }

    .entry-summary-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 240px;
        gap: 0 20px;
    }

    .entry-summary h2,
    .entry-summary dl,
    .entry-summary p {
        grid-column: 1;
    }

    .entry-submit,
    .entry-cancel {
        grid-column: 2;
    }

    .entry-submit {
        grid-row: 1 / span 2;
        align-self: center;
    }
}

@media (max-width: 700px) {
    .entry-resources {
        grid-template-columns: 1fr;
    }

    .entry-documents:only-child {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .entry-documents:only-child h2 {
        margin-bottom: 8px;
    }

    .entry-documents:only-child a {
        padding: 9px 0;
        border-left: 0;
        border-bottom: 1px solid #edf0f2;
    }

    .entry-documents:only-child a:last-child {
        border-bottom: 0;
    }

    .entry-event-header {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 14px;
    }

    .entry-event-header .event-dates,
    .entry-event-header .event-dates + div {
        grid-column: 1 / -1;
    }

    .entry-event-header .event-dates {
        overflow-x: auto;
    }

    .entry-event-header > .badge {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .entry-event-header h1 {
        font-size: 21px;
    }

    .entry-account-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .login-required-panel,
    .login-required-summary {
        padding: 18px 14px;
    }

    .login-required-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .login-required-actions .btn {
        width: 100%;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-field-wide {
        grid-column: auto;
    }

    .form-field-small {
        max-width: none;
    }

    .article-item {
        grid-template-columns: minmax(0, 1fr) 84px;
        gap: 10px 14px;
    }

    .article-details {
        grid-column: 1 / -1;
    }

    .article-price {
        align-self: end;
    }

    .entry-summary-inner {
        display: block;
    }

    .entry-summary .entry-submit {
        margin-top: 14px;
    }
}

@media (max-width: 480px) {
    .entry-event-header .date-box {
        width: 66px;
    }

    .form-section-header,
    .form-section-body,
    .optional-section summary {
        padding-left: 14px;
        padding-right: 14px;
    }

    .transponder-row {
        grid-template-columns: minmax(0, 1fr) 76px;
    }
}

/* Nennungsbestätigung */

.confirmation-content {
    max-width: 1180px;
}

.confirmation-header {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    padding: 20px;
    background: #ffffff;
    border-left: 5px solid #218548;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.confirmation-mark {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e7f6ed;
    border-radius: 50%;
    color: #218548;
    font-size: 22px;
    font-weight: bold;
}

.confirmation-header h1 {
    margin: 3px 0 5px;
    font-size: 25px;
}

.confirmation-header p {
    color: #68717a;
    font-size: 13px;
}

.confirmation-reference {
    display: grid;
    gap: 4px;
    padding: 11px 13px;
    background: #f5f7f8;
    border-radius: 6px;
}

.confirmation-reference span {
    color: #707981;
    font-size: 9px;
    font-weight: bold;
    text-transform: uppercase;
}

.confirmation-reference strong {
    font-family: monospace;
    font-size: 14px;
}

.confirmation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 18px;
}

.confirmation-layout > *,
.confirmation-side {
    min-width: 0;
}

.confirmation-side {
    display: grid;
    gap: 16px;
}

.confirmation-status-panel {
    border-left: 5px solid #218548;
}

.confirmation-data-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.confirmation-data-list > div {
    display: grid;
    gap: 4px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f2;
}

.confirmation-data-list span {
    color: #707981;
    font-size: 11px;
}

.confirmation-data-list strong {
    font-size: 14px;
}

.confirmation-article-table th:not(:first-child),
.confirmation-article-table td:not(:first-child) {
    text-align: right;
}

.confirmation-actions {
    display: grid;
    gap: 8px;
}

.confirmation-actions .btn {
    width: 100%;
}

.confirmation-payment-panel {
    border-left: 5px solid #f0b429;
}

.confirmation-payment-summary {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
}

.confirmation-payment-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #68717a;
    font-size: 12px;
}

.confirmation-payment-summary strong {
    color: #1f2b35;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.confirmation-payment-total {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #edf0f2;
}

.confirmation-payment-total span,
.confirmation-payment-total strong {
    color: #1f2b35;
    font-size: 15px;
    font-weight: 800;
}

.confirmation-paypal-form {
    margin: 0;
}

.confirmation-paypal-button {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #ffc439;
    border-color: #e4ad20;
    color: #172c4f;
}

.confirmation-paypal-button:hover {
    background: #f2ba36;
    border-color: #d6a11c;
    color: #172c4f;
}

.confirmation-paypal-button strong {
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.confirmation-payment-note {
    margin-top: 10px;
    color: #68717a;
    font-size: 11px;
    line-height: 1.45;
}

.confirmation-payment-message {
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding: 10px 11px;
    border: 1px solid #cddfee;
    border-radius: 6px;
    background: #f2f7fc;
    color: #23415f;
    font-size: 12px;
    line-height: 1.4;
}

.confirmation-payment-message strong {
    font-size: 13px;
}

.confirmation-payment-message span {
    color: inherit;
}

.confirmation-payment-message.is-error {
    border-color: #efb8b8;
    background: #fff1f1;
    color: #8e2828;
}

.confirmation-payment-message.is-warning {
    border-color: #efd083;
    background: #fff8df;
    color: #765300;
}

.confirmation-payment-message.is-success {
    border-color: #b9e1c9;
    background: #edf9f2;
    color: #226b42;
}

@media (max-width: 900px) {
    .confirmation-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .confirmation-header {
        grid-template-columns: 40px minmax(0, 1fr);
        padding: 16px 14px;
    }

    .confirmation-mark {
        width: 38px;
        height: 38px;
    }

    .confirmation-header h1 {
        font-size: 21px;
    }

    .confirmation-reference {
        grid-column: 1 / -1;
    }

    .confirmation-data-list {
        grid-template-columns: 1fr;
    }
}

@media print {
    .entry-confirmation-page .top-header,
    .entry-confirmation-page .main-nav,
    .entry-confirmation-page .breadcrumb,
    .entry-confirmation-page .confirmation-payment-panel,
    .entry-confirmation-page .confirmation-actions,
    .entry-confirmation-page .footer {
        display: none;
    }

    .confirmation-content {
        max-width: none;
        padding: 0;
    }

    .confirmation-layout {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .confirmation-header,
    .section,
    .side-panel {
        break-inside: avoid;
        box-shadow: none;
    }
}

/* Live Timing */

.live-content {
    max-width: 1480px;
}

.live-race-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 20px;
    margin-bottom: 12px;
    padding: 16px 18px;
    background: #ffffff;
    border-left: 5px solid #dc2626;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.live-race-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
}

.live-race-title h1 {
    margin: 2px 0 4px;
    font-size: 24px;
}

.live-race-title p {
    color: #68717a;
    font-size: 12px;
}

.live-pulse {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    background: #dc2626;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #fee2e2;
    animation: live-pulse 1.5s ease-out infinite;
}

@keyframes live-pulse {
    0% { box-shadow: 0 0 0 3px rgba(220,38,38,.28); }
    70%, 100% { box-shadow: 0 0 0 9px rgba(220,38,38,0); }
}

.live-connection {
    display: flex;
    align-items: center;
    gap: 8px;
}

.connection-dot {
    width: 9px;
    height: 9px;
    background: #218548;
    border-radius: 50%;
}

.live-connection div {
    display: grid;
    gap: 2px;
}

.live-connection strong {
    font-size: 12px;
}

.live-connection small {
    color: #778089;
    font-size: 10px;
}

.live-clock-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.live-clock {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 11px 14px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 6px;
}

.live-clock span {
    color: #707981;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
}

.live-clock strong {
    color: #303840;
    font-size: 21px;
    font-variant-numeric: tabular-nums;
}

.live-clock-primary {
    background: #303840;
    border-color: #303840;
}

.live-clock-primary span {
    color: #c7d0d8;
}

.live-clock-primary strong {
    color: #ffffff;
}

.live-clock strong.timing-positive {
    color: #218548;
}

.live-clock strong.timing-negative {
    color: #c73d3d;
}

.live-ranking,
.live-laps {
    min-width: 0;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}

.live-ranking[hidden],
.live-laps[hidden] {
    display: none;
}

.live-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 58px;
    padding: 11px 14px;
    border-bottom: 1px solid #e7ebee;
}

.live-section-heading h2 {
    font-size: 16px;
}

.live-section-heading p {
    margin-top: 3px;
    color: #778089;
    font-size: 12px;
}

.live-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.live-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #68717a;
    font-size: 11px;
}

.live-legend i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.state-passed { background: #4f9b68; }
.state-finished { background: #4f9cac; }
.state-missed { background: #aeb8c1; }
.state-present { background: #d9bd5d; }
.state-locktime { background: #c95f5a; }
.state-last { background: #c783b7; }
.state-lost { background: #b56f49; }

.live-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.live-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.live-table th,
.live-table td {
    height: 47px;
    padding: 7px 10px;
    border-bottom: 1px solid #edf0f2;
    text-align: right;
    white-space: nowrap;
}

.live-timing-page .live-table td {
    font-size: 13px;
    line-height: 1.25;
}

.live-table th {
    height: 36px;
    background: #f5f7f8;
    color: #69727a;
    font-size: 10px;
    text-transform: uppercase;
}

.live-timing-page .live-table th {
    font-size: 10px;
    line-height: 1.2;
}

.live-table th:nth-child(-n+5),
.live-table td:nth-child(-n+5) {
    text-align: left;
}

.live-table tbody tr:hover {
    background-color: #f7fafc;
}

.live-position {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.live-position strong,
.live-table td:first-child > strong {
    min-width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #303840;
    border-radius: 4px;
    color: #ffffff;
    font-size: 14px;
}

.live-number {
    min-width: 31px;
    height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    line-height: 1;
}

.live-start-number {
    background: #eef2f5;
    color: #52606b;
    box-shadow: inset 0 0 0 1px #d1d9e0;
}

.live-car-number {
    min-width: 44px;
    background: #ffffff;
    color: #1f2a33;
    box-shadow: inset 0 0 0 1px #c7d0d8;
}

.lap-passed .live-start-number,
.lap-passed .live-car-number {
    background: #dff2e6;
    color: #1f6f3a;
    box-shadow: inset 0 0 0 1px #9ed3ae;
}

.live-position span {
    min-width: 18px;
    color: #778089;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
}

.live-table td:nth-child(5) strong,
.live-table td:nth-child(5) small {
    display: block;
}

.live-table td:nth-child(5) strong {
    font-size: 13px;
    line-height: 1.2;
}

.live-table td:nth-child(5) small {
    margin-top: 2px;
    color: #7b848c;
    font-size: 10px;
}

.live-table tbody tr[style*="--lap-progress"] {
    background-image: linear-gradient(to right, #3d8fd2 max(8px, var(--lap-progress)), transparent 0);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% 2px;
}

.live-table tbody tr.lap-locktime {
    background-image: linear-gradient(to right, #d13f3a max(8px, var(--lap-progress)), transparent 0);
}

.live-country {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: bold;
}

.live-country img,
.live-table td img {
    width: 25px;
    height: 16px;
    object-fit: contain;
}

.live-country span {
    font-size: 11px;
}

.live-table tbody tr.lap-passed {
    box-shadow: inset 4px 0 #72b989;
}

.live-table tbody tr.lap-finished {
    background-color: #eef9fb;
    box-shadow: inset 4px 0 #75b8c3;
}

.live-table tbody tr.lap-missed {
    background-color: #f7f8f9;
    box-shadow: inset 4px 0 #c6ced6;
}

.live-table tbody tr.lap-present {
    background-color: #fff9df;
    box-shadow: inset 4px 0 #d9bd5d;
}

.live-table tbody tr.lap-locktime {
    box-shadow: inset 4px 0 #c95f5a;
}

.live-table tbody tr.lap-lost {
    background-color: #fff3ed;
    box-shadow: inset 4px 0 #d39168;
    color: #6d3f2d;
}

.live-table tbody tr.lap-last {
    background-color: #fff1fb;
    box-shadow: inset 4px 0 #c783b7;
}

.pace-up,
.position-up { color: #327847; font-weight: bold; }
.pace-down,
.position-down { color: #9b4540; font-weight: bold; }
.pace-neutral { color: #788189; }

.live-mobile-list {
    display: none;
}

.live-laps {
    overflow: hidden;
}

.live-advertising {
    margin-top: 12px;
    padding: 14px 16px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}

.live-advertising[hidden] {
    display: none;
}

.live-advertising img,
.live-advertising iframe,
.live-advertising video {
    max-width: 100%;
}

.live-advertising p:first-child {
    margin-top: 0;
}

.live-advertising p:last-child {
    margin-bottom: 0;
}

.lap-feed {
    display: grid;
}

.lap-feed > div {
    display: grid;
    grid-template-columns: 80px minmax(160px, 1fr) minmax(220px, 1.5fr) 90px;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 8px 14px;
    border-bottom: 1px solid #edf0f2;
    font-size: 12px;
}

.lap-feed > div:last-child { border-bottom: 0; }
.lap-feed time,
.lap-feed span { color: #707981; }
.lap-feed b { text-align: right; font-variant-numeric: tabular-nums; }
.lap-feed .personal-best { background: #ebf8ef; }
.lap-feed .personal-best b { color: #218548; }

.live-footer-status {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
    color: #707981;
    font-size: 10px;
}

.live-footer-status a {
    margin-left: auto;
    color: #1f75bd;
    font-weight: bold;
}

.timing-focus .top-header,
.timing-focus .main-nav,
.timing-focus .live-breadcrumb,
.timing-focus > .footer {
    display: none;
}

.timing-focus .live-content {
    max-width: none;
    padding: 12px;
}

@media (max-width: 900px) {
    .live-race-header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .live-race-header > .btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

}

@media (max-width: 700px) {
    .timing-focus .live-content {
        padding: 8px;
    }

    .live-clock-strip {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 8px;
    }

    .live-clock {
        min-width: 0;
        gap: 1px;
        padding: 5px 8px;
    }

    .live-clock span {
        font-size: 7px;
    }

    .live-clock strong {
        font-size: 15px;
    }

    .live-race-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 12px;
        margin-bottom: 8px;
        padding: 10px 12px;
        border-left-width: 4px;
    }

    .live-race-title h1 {
        margin: 1px 0 2px;
        font-size: 20px;
    }

    .live-race-title p {
        font-size: 10px;
    }

    .live-race-title {
        gap: 9px;
    }

    .live-pulse {
        width: 9px;
        height: 9px;
        flex-basis: 9px;
        box-shadow: 0 0 0 4px #fee2e2;
    }

    .live-connection {
        gap: 6px;
    }

    .live-connection strong {
        font-size: 11px;
    }

    .live-connection small {
        font-size: 9px;
    }

    .live-race-header > .btn {
        grid-column: 1 / -1;
        min-height: 32px;
        padding: 6px 12px;
        justify-self: start;
    }

    .live-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .live-section-heading p,
    .live-legend {
        display: none;
    }

    .live-table-wrap {
        display: none;
    }

    .live-mobile-list {
        display: grid;
    }

    .live-driver {
        display: grid;
        grid-template-columns: 48px 48px minmax(0, 1fr);
        gap: 8px 11px;
        padding: 12px;
        border-bottom: 1px solid #e7ebee;
    }

    .live-driver:last-child {
        border-bottom: 0;
    }

    .live-driver.lap-passed {
        box-shadow: inset 4px 0 #72b989;
    }

    .live-driver.lap-finished {
        background-color: #eef9fb;
        box-shadow: inset 4px 0 #75b8c3;
    }

    .live-driver.lap-missed {
        background-color: #f7f8f9;
        box-shadow: inset 4px 0 #c6ced6;
    }

    .live-driver.lap-present {
        background-color: #fff9df;
        box-shadow: inset 4px 0 #d9bd5d;
    }

    .live-driver.lap-locktime {
        box-shadow: inset 4px 0 #c95f5a;
    }

    .live-driver.lap-lost {
        background-color: #fff3ed;
        box-shadow: inset 4px 0 #d39168;
        color: #6d3f2d;
    }

    .live-driver.lap-last {
        background-color: #fff1fb;
        box-shadow: inset 4px 0 #c783b7;
    }

    .driver-position {
        width: 44px;
        height: 34px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0 6px;
        background: #303840;
        border-radius: 5px;
        color: #ffffff;
        font-weight: bold;
    }

    .driver-number {
        width: 44px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        align-self: start;
        background: #ffffff;
        border-radius: 5px;
        box-shadow: inset 0 0 0 1px #c7d0d8;
        color: #1f2a33;
        font-size: 13px;
        font-weight: bold;
        line-height: 1;
    }

    .live-driver.lap-passed .driver-position,
    .live-driver.lap-passed .driver-number {
        background: #dff2e6;
        box-shadow: inset 0 0 0 1px #9ed3ae;
        color: #1f6f3a;
    }

    .live-driver.lap-passed .driver-position span {
        color: #2d7d48;
    }

    .live-driver.lap-passed .driver-position span::before {
        color: #4f9b68;
    }

    .driver-position strong {
        min-width: 0;
        font-size: 14px;
        line-height: 1;
        text-align: center;
    }

    .driver-position span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 15px;
        height: 16px;
        color: #c9d3dc;
        font-size: 9px;
        line-height: 1;
    }

    .driver-position span::before {
        content: "S";
        margin-right: 1px;
        color: #8fa0ad;
        font-size: 7px;
    }

    .driver-main {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .driver-main div {
        display: grid;
        gap: 2px;
    }

    .driver-main strong {
        font-size: 14px;
    }

    .driver-main span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: #747d85;
        font-size: 10px;
    }

    .driver-main span img {
        width: 18px;
        height: 12px;
        object-fit: contain;
    }

    .driver-stats {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 6px;
    }

    .driver-stats > span {
        display: grid;
        gap: 3px;
        padding: 7px;
        background: #f5f7f8;
        border-radius: 5px;
    }

    .driver-stats small {
        color: #7a838b;
        font-size: 8px;
        text-transform: uppercase;
    }

    .driver-stats strong {
        font-size: 11px;
        font-variant-numeric: tabular-nums;
    }

    .mobile-lap-progress {
        grid-column: 1 / -1;
        height: 3px;
        overflow: hidden;
        background: transparent;
    }

    .mobile-lap-progress i {
        display: block;
        height: 100%;
        background: #6ba4d3;
    }

    .lap-locktime .mobile-lap-progress i {
        background: #c95f5a;
    }

    .lap-feed > div {
        grid-template-columns: 64px minmax(0, 1fr) 70px;
        gap: 7px;
        padding: 9px 12px;
    }

    .lap-feed span {
        grid-column: 2 / -1;
        grid-row: 2;
        font-size: 10px;
    }

    .live-footer-status a {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 420px) {
    .live-clock-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .live-pulse { animation: none; }
}

/* Meldungsseite */

.message-content {
    max-width: 1040px;
}

.message-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.message-heading h1 {
    font-size: 28px;
}

.message-heading p {
    margin-top: 4px;
    color: #707981;
    font-size: 13px;
}

.message-list {
    display: grid;
    gap: 12px;
}

.message-item {
    --message-color: #1f75bd;
    --message-bg: #eef5fb;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 34px;
    align-items: start;
    gap: 14px;
    padding: 17px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-left: 5px solid var(--message-color);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.message-error {
    --message-color: #c62828;
    --message-bg: #fdeaea;
}

.message-warning {
    --message-color: #b26a00;
    --message-bg: #fff3dc;
}

.message-info {
    --message-color: #1769aa;
    --message-bg: #e8f2fb;
}

.message-success {
    --message-color: #218548;
    --message-bg: #e7f6ed;
}

.message-icon,
.message-empty-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--message-bg);
    border-radius: 50%;
    color: var(--message-color);
    font-size: 17px;
    font-weight: bold;
}

.message-body {
    min-width: 0;
}

.message-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.message-type {
    display: block;
    margin-bottom: 3px;
    color: var(--message-color);
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
}

.message-title-row h2 {
    font-size: 17px;
    line-height: 1.3;
}

.message-title-row time {
    flex-shrink: 0;
    color: #818991;
    font-size: 11px;
}

.message-body > p {
    margin-top: 8px;
    color: #515a62;
    font-size: 14px;
    line-height: 1.5;
}

.message-reference {
    display: inline-block;
    margin-top: 9px;
    padding: 5px 7px;
    background: #f3f5f7;
    border-radius: 4px;
    color: #626b73;
    font-family: monospace;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.message-reference[hidden] {
    display: none;
}

.message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 13px;
}

.message-close {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #778089;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.message-close:hover {
    background: #f0f2f4;
    color: #222;
}

.message-empty {
    padding: 46px 20px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    text-align: center;
}

.message-empty-icon {
    --message-color: #218548;
    --message-bg: #e7f6ed;
    margin-bottom: 12px;
}

.message-empty h2 {
    font-size: 19px;
}

.message-empty p {
    margin: 7px 0 16px;
    color: #707981;
    font-size: 13px;
}

.single-message-content {
    max-width: 820px;
    min-height: calc(100vh - 190px);
}

.single-message-wrap {
    min-height: 420px;
    display: grid;
    align-items: center;
}

.single-message-card {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 18px;
    padding: 24px;
}

.single-message-card .message-icon {
    width: 42px;
    height: 42px;
    font-size: 20px;
}

.single-message-card h1 {
    font-size: 22px;
    line-height: 1.3;
}

.single-message-card .message-body > p {
    max-width: 620px;
}

@media (max-width: 700px) {
    .message-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .message-heading .btn {
        align-self: flex-start;
    }

    .message-item {
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 10px;
        padding: 14px 12px;
    }

    .message-title-row {
        flex-direction: column;
        gap: 5px;
    }

    .message-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .message-actions .btn {
        width: 100%;
    }

    .single-message-content {
        min-height: auto;
    }

    .single-message-wrap {
        min-height: 320px;
    }

    .single-message-card {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 14px;
    }

    .single-message-card .message-icon {
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 420px) {
    .message-item {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .message-icon {
        width: 30px;
        height: 30px;
    }

    .message-close {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .message-body {
        grid-column: 1 / -1;
    }
}

/* Login */

.login-page {
    min-height: calc(100vh - 172px);
    display: grid;
    place-items: center;
    padding: 32px 20px 48px;
}

.login-panel {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border: 1px solid #e2e6ea;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    overflow: hidden;
}

.login-header {
    padding: 22px 24px 16px;
    border-bottom: 1px solid #edf0f2;
}

.login-header h1 {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 6px;
}

.login-header p {
    color: #666;
    font-size: 14px;
}

.login-form {
    padding: 22px 24px 24px;
    display: grid;
    gap: 16px;
}

.form-field {
    display: grid;
    gap: 7px;
}

.form-field label {
    color: #333;
    font-size: 13px;
    font-weight: bold;
}

.form-field input {
    height: 42px;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
    padding: 0 12px;
    background: #ffffff;
    color: #222;
    font-size: 14px;
}

.form-field input:focus {
    outline: 2px solid rgba(31,117,189,.18);
    border-color: #1f75bd;
}

.login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
}

.remember-login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #555;
}

.remember-login input {
    width: 16px;
    height: 16px;
}

.forgot-password {
    color: #1f75bd;
    font-weight: bold;
    white-space: nowrap;
}

.forgot-password:hover {
    color: #1762a0;
}

.login-submit {
    width: 100%;
    border: 1px solid #1f75bd;
    background: #1f75bd;
    color: #ffffff;
    border-radius: 8px;
    min-height: 42px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
}

.login-submit:hover {
    background: #1762a0;
}

.login-footer {
    padding-top: 2px;
    color: #666;
    font-size: 13px;
    text-align: center;
}

.login-footer a {
    color: #1f75bd;
    font-weight: bold;
}

.recovery-panel { max-width: 420px; }
.reset-password-panel { max-width: 420px; }
.recovery-panel .login-header h1 { margin-top: 5px; }
.reset-password-panel .login-header h1 { margin-top: 5px; }
.recovery-panel .login-header p { max-width: 400px; line-height: 1.5; }
.recovery-validation { margin: 0; font-size: 12px; }
.recovery-privacy { color: #707981; font-size: 11px; line-height: 1.5; text-align: center; }

.account-message {
    padding: 22px 24px 24px;
    display: grid;
    gap: 16px;
}

.account-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #dcfce7;
    color: #15803d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
}

.account-message p {
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

.account-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.account-actions .btn {
    flex: 1;
}

/* Hosts */

.page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.page-heading h1 {
    font-size: 28px;
    line-height: 1.2;
}

.page-heading p {
    margin-top: 5px;
    color: #666;
    font-size: 14px;
}

.host-toolbar,
.list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid #e2e6ea;
    border-radius: 8px;
}

.host-filters,
.list-filters {
    display: flex;
    gap: 10px;
    flex: 1;
}

.host-filters input,
.host-filters select,
.list-filters input,
.list-filters select {
    height: 40px;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
    background: #ffffff;
    color: #333;
    padding: 0 12px;
    font-size: 13px;
}

.host-filters input,
.list-filters input {
    width: min(360px, 100%);
}

.list-toolbar + .stats {
    margin-top: 14px;
}

.host-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 14px;
}

.host-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 18px;
    background: #ffffff;
    border-left: 5px solid #1f75bd;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: transform .15s, box-shadow .15s;
}

.host-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.10);
}

.host-country {
    min-height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 12px;
    background: #f0f3f6;
    border: 1px solid #dde3e8;
    border-left: 4px solid #1f75bd;
    border-radius: 8px;
    text-align: center;
}

.host-country strong {
    color: #1f75bd;
    font-size: 22px;
}

.host-country img {
    display: block;
    width: 52px;
    height: 34px;
    object-fit: contain;
}

.host-country span {
    color: #666;
    font-size: 12px;
}

.host-info h2 {
    font-size: 20px;
    line-height: 1.25;
}

.host-info h2 a {
    color: #222;
}

.host-info h2 a:hover {
    color: #1f75bd;
}

.host-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 8px;
    color: #666;
    font-size: 14px;
}

.host-meta strong {
    color: #333;
}

.host-actions {
    display: flex;
}

/* Veranstalter-Detailansicht */

.host-logo {
    width: 150px;
    min-height: 104px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #d7dde3;
    border-radius: 8px;
    box-shadow: inset 0 0 0 4px #f0f3f6;
    text-align: center;
}

.host-logo strong {
    color: #1f75bd;
    font-size: 26px;
    line-height: 1;
}

.host-logo span {
    color: #303840;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
}

.host-logo img {
    display: block;
    width: 100%;
    height: 80px;
    object-fit: contain;
}

.detail-copy {
    margin-bottom: 18px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
}

.section-link,
.section-body a:not(.btn) {
    color: #1f75bd;
    font-weight: bold;
}

.section-link.disabled {
    pointer-events: none;
    opacity: 0.5;
    cursor: default;
}

.host-event-list {
    display: grid;
    gap: 0;
}

.host-event-row {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #edf0f2;
}

.host-event-row.championship-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 16px;
}

.host-event-row.championship-row > div:nth-child(1) {
    grid-column: 1;
    min-width: 0;
}

.host-event-row.championship-row > div:nth-child(2) {
    grid-column: 2;
    justify-self: end;
    align-self: start;
}

.host-event-row.championship-row h3 {
    margin-bottom: 4px;
    font-size: 16px;
    line-height: 1.2;
}

.host-event-row.championship-row p {
    margin: 0;
    color: #6a737c;
    font-size: 12px;
    line-height: 1.45;
}

.host-event-row.championship-row .badges {
    margin-top: 0;
    justify-content: flex-start;
}

.host-event-row.championship-row .host-event-actions {
    flex-direction: row;
    justify-content: flex-end;
}

.host-event-row:first-child {
    padding-top: 0;
}

.host-event-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.host-event-date {
    min-height: 68px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f0f3f6;
    border-left: 4px solid #1f75bd;
    border-radius: 8px;
}

.host-event-date strong {
    font-size: 25px;
}

.host-event-date.same-month-range strong {
    font-size: 20px;
}

.host-event-date span,
.host-event-row p {
    color: #666;
    font-size: 12px;
}

.host-event-date.date-change {
    gap: 4px;
    padding: 8px 4px;
}

.date-change div {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.date-change div strong {
    font-size: 18px;
}

.date-change div span {
    font-size: 9px;
    font-weight: bold;
}

.date-change small {
    color: #888;
    font-size: 9px;
    font-weight: bold;
}

.host-event-row h3 {
    margin-bottom: 5px;
    font-size: 17px;
}

.host-event-row h3 a {
    color: #222;
}

.host-event-row .badges {
    margin-top: 9px;
}

.section-live {
    border-left: 5px solid #dc2626;
}

.active-event .host-event-date {
    border-left-color: #dc2626;
}

.host-event-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.host-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.host-facts div {
    padding: 10px 4px;
    background: #f7f9fb;
    border-radius: 8px;
    text-align: center;
}

.host-facts strong,
.host-facts span {
    display: block;
}

.host-facts strong {
    color: #1f75bd;
    font-size: 22px;
}

.host-facts span {
    margin-top: 4px;
    color: #666;
    font-size: 11px;
}

.result-count {
    color: #666;
    font-size: 13px;
    white-space: nowrap;
    align-self: end;
}

@media (max-width: 980px) {
    .detail-header {
        grid-template-columns: 1fr;
    }

    .action-stack {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .action-stack .btn {
        flex: 1;
    }

    .detail-layout {
        grid-template-columns: 1fr;
    }

    .support-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .content {
        padding: 16px 12px 32px;
    }

    .detail-header {
        gap: 16px;
        padding: 16px;
    }

    .detail-header .event-title {
        font-size: 22px;
    }

    .detail-header .event-dates {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .support-summary {
        grid-template-columns: 1fr;
    }

    .support-panel {
        padding: 16px;
    }

    .support-actions {
        flex-direction: column;
    }

    .support-actions .btn {
        width: 100%;
    }

    .info-grid {
        grid-template-columns: 1fr;
    }

    .table {
        min-width: 560px;
    }

    .table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .report-participants-table thead th:nth-child(n + 6),
    .report-participants-table tbody td:nth-child(n + 6) {
        display: none;
    }

    .event-class-table {
        min-width: 0;
    }

    .event-class-table thead {
        display: none;
    }

    .event-class-table tbody,
    .event-class-table tr,
    .event-class-table td {
        display: block;
        width: 100%;
    }

    .event-class-table tr {
        padding: 10px 0;
        border-bottom: 1px solid #dfe4e8;
    }

    .event-class-table tr:last-child {
        border-bottom: 0;
    }

    .event-class-table td {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 5px 0;
        border: 0;
    }

    .event-class-table td::before {
        content: attr(data-label);
        padding-top: 1px;
        color: #777;
        font-size: 11px;
        font-weight: bold;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .event-class-table tfoot {
        display: none;
    }

    .event-class-table .report-link-list {
        justify-content: flex-start;
    }

    .host-history-table {
        min-width: 0;
    }

    .host-history-table thead {
        display: none;
    }

    .host-history-table tbody,
    .host-history-table tr,
    .host-history-table td {
        display: block;
        width: 100%;
    }

    .host-history-table tr {
        padding: 10px 0;
        border-bottom: 1px solid #dfe4e8;
    }

    .host-history-table tr:first-child {
        padding-top: 0;
    }

    .host-history-table tr:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .host-history-table td {
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 10px;
        padding: 5px 0;
        border: 0;
    }

    .host-history-table td::before {
        content: attr(data-label);
        color: #777;
        font-size: 11px;
        font-weight: bold;
        text-transform: uppercase;
    }

    .status-line,
    .timeline-item {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .login-page {
        min-height: auto;
        padding: 24px 12px 36px;
    }

    .login-header,
    .login-form {
        padding-left: 18px;
        padding-right: 18px;
    }

    .login-options {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-heading,
    .host-toolbar,
    .host-filters,
    .list-toolbar,
    .list-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .host-filters input,
    .host-filters select,
    .list-filters input,
    .list-filters select {
        width: 100%;
    }

    .host-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .host-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .host-event-row {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .host-event-row.championship-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .host-event-row.championship-row > div:nth-child(1),
    .host-event-row.championship-row > div:nth-child(2) {
        grid-column: auto;
        justify-self: stretch;
    }

    .host-event-row.championship-row .host-event-actions {
        flex-direction: row;
    }

    .host-event-row > .btn {
        grid-column: 1 / -1;
    }

    .host-event-actions {
        grid-column: 1 / -1;
        flex-direction: row;
    }

    .host-event-actions .btn {
        min-width: 0;
    }

    .section-header,
    .side-panel-header,
    .section-body,
    .side-panel-body {
        padding-left: 14px;
        padding-right: 14px;
    }

    .side-panel-body a,
    .status-line span {
        overflow-wrap: anywhere;
    }
}

/* Mobile */

@media (max-width: 900px) {
    .toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .filters {
        flex-direction: column;
    }

    .stats {
        display: none;
    }

    .event-card {
        grid-template-columns: 1fr;
    }

    .host-card {
        grid-template-columns: 1fr;
    }

    .host-country {
        align-items: flex-start;
        min-height: 0;
        text-align: left;
    }

    .host-detail-header .host-logo {
        width: 150px;
        min-height: 76px;
        padding: 12px;
    }

    .host-actions {
        grid-column: auto;
    }

    .event-actions {
        justify-content: stretch;
    }

    .btn {
        flex: 1;
    }
}

@media (max-width: 600px) {
    .top-header-inner {
        min-height: 52px;
        gap: 8px;
        justify-content: space-between;
    }

    .host-detail-page .top-header-inner {
        padding: 6px 8px;
    }

    .host-detail-page .logo-area img {
        height: 48px;
    }

    .host-detail-page .header-actions {
        gap: 10px;
    }

    .host-detail-page .header-actions .logged-in-user {
        max-width: 150px;
    }

    .host-detail-page .breadcrumb {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .host-detail-page .host-logo {
        width: 120px;
    }

    .host-event-row {
        gap: 12px;
    }

    .host-event-row h3 {
        font-size: 15px;
    }

    .host-event-row .badges {
        gap: 5px;
    }

    .host-event-row .badge {
        padding: 5px 7px;
        font-size: 10px;
    }

    .section-header {
        align-items: flex-start;
    }

    .user-menu {
        flex-wrap: wrap;
        justify-content: center;
    }

    .event-dates {
        justify-content: flex-start;
    }
}

.menu-toggle {
    display: none;
    border: 0;
    background: #1f75bd;
    color: #fff;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 20px;
    cursor: pointer;
}

.mobile-overlay {
    display: none;
}

.mobile-menu {
    position: fixed;
    top: 0;
    left: -290px;
    width: 280px;
    height: 100vh;
    background: #2f363d;
    z-index: 1001;
    transition: left .2s ease;
    box-shadow: 8px 0 24px rgba(0,0,0,.25);
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-menu.open {
    left: 0;
}

.mobile-menu-header {
    height: 70px;
    padding: 0 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    color: #222;
}

.mobile-menu-header button {
    border: 0;
    background: transparent;
    font-size: 30px;
    cursor: pointer;
}

.mobile-apps {
    display: grid;
    gap: 10px;
    padding: 14px 18px 8px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.mobile-apps > span {
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: bold;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mobile-apps-list {
    display: grid;
    gap: 8px;
}

.mobile-apps-item {
    width: 100%;
    justify-content: flex-start;
    color: #ffffff;
    background: transparent;
    border-color: rgba(255,255,255,.2);
}

.mobile-apps-item:hover {
    color: #ffffff;
    background: #1f75bd;
    border-color: #1f75bd;
    box-shadow: none;
}

.mobile-menu a {
    display: block;
    color: #ffffff;
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 13px;
}

.mobile-submenu-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-weight: bold;
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: 13px;
    font-weight: bold;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-menu .global-search-trigger-mobile {
    width: 100%;
    height: auto;
    min-height: 48px;
    justify-content: flex-start;
    gap: 10px;
    padding: 15px 20px;
    border-radius: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
}

.mobile-menu .global-search-trigger-mobile:hover,
.mobile-menu .global-search-trigger-mobile:focus {
    background: #1f75bd;
    color: #ffffff;
}

.mobile-submenu-toggle:hover {
    background: #1f75bd;
}

.mobile-submenu-toggle::after {
    content: "▾";
    font-size: 12px;
    transition: transform .2s ease;
}

.mobile-submenu-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

.mobile-submenu {
    display: none;
    background: rgba(0,0,0,.16);
}

.mobile-submenu.open {
    display: block;
}

.mobile-submenu a {
    padding-left: 36px;
    font-weight: normal;
}

.mobile-menu a.active,
.mobile-menu a:hover {
    background: #1f75bd;
}

.mobile-menu-footer {
    margin-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-bottom: env(safe-area-inset-bottom);
}

.mobile-language {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.mobile-language label,
.mobile-language-label {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: bold;
}

.mobile-language .language-overlay-trigger {
    width: 100%;
    justify-content: flex-start;
    color: #ffffff;
}

@supports (-webkit-touch-callout: none) {
    .mobile-menu {
        height: 100dvh;
        padding-bottom: calc(28px + env(safe-area-inset-bottom));
    }

    .mobile-menu-footer {
        padding-bottom: calc(8px + env(safe-area-inset-bottom));
    }
}

.mobile-language .language-select {
    width: 100%;
    min-width: 0;
}

.mobile-language .logged-in-user {
    margin-top: 8px;
    color: rgba(255,255,255,.72);
}

.mobile-language .logged-in-user strong {
    color: #ffffff;
}

.mobile-language .theme-toggle-trigger-mobile {
    width: 100%;
    margin-top: 10px;
    justify-content: flex-start;
}

.mobile-menu .theme-toggle-trigger-mobile {
    min-height: 38px;
    padding: 0 12px;
}

@media (max-width: 768px) {
    .top-header-inner {
        min-height: 54px;
        gap: 10px;
        justify-content: space-between;
        padding: 6px 8px;
    }

    .logo-area {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
    }

    .logo-area img {
        height: 42px;
    }

    .header-action-row {
        align-items: center;
        gap: 8px;
        flex-wrap: nowrap;
    }

    .header-actions {
        align-items: center;
        flex-wrap: nowrap;
        justify-content: flex-end;
        margin-left: auto;
        gap: 0;
    }

    .theme-toggle-trigger {
        min-height: 32px;
        padding: 0 9px;
        flex: 0 0 auto;
    }

    .theme-toggle-trigger .theme-toggle-label {
        display: none;
    }

    .theme-toggle-trigger svg {
        width: 14px;
        height: 14px;
    }

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .main-nav {
        display: none;
    }

    .user-menu {
        display: none;
    }

    .header-apps {
        display: none;
    }

    .mobile-overlay.open {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 1000;
    }
}

@media (max-width: 430px) {
    .logo-area img {
        height: 34px;
    }

    .header-action-row {
        gap: 6px;
    }

    .theme-toggle-trigger {
        min-height: 30px;
        padding: 0 7px;
    }
}
/* My entries */
.entries-header { margin-bottom: 14px; }
.entries-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.entries-filters { display: inline-flex; padding: 3px; background: #e7ebee; border-radius: 7px; }
.entries-filter { min-height: 34px; padding: 7px 14px; border: 0; border-radius: 5px; background: transparent; color: #59636c; cursor: pointer; font-size: 12px; font-weight: bold; }
.entries-filter.is-active { background: #ffffff; color: #1f75bd; box-shadow: 0 1px 4px rgba(0,0,0,.10); }
.entries-result-count { color: #68727a; font-size: 12px; }
.entries-result-count strong { color: #26313a; font-size: 15px; }
.entries-list-section { overflow: hidden; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.entries-list-heading { padding: 16px 18px; border-bottom: 1px solid #e7ebee; }
.entries-list-heading h2 { font-size: 17px; }
.entries-list-heading p { margin-top: 3px; color: #707981; font-size: 12px; }
.entries-table-wrap { border: 0; border-radius: 0; }
.entries-table { width: 100%; min-width: 980px; }
.entries-table tr[hidden] { display: none !important; }
.entries-table th { white-space: nowrap; }
.entries-table td { vertical-align: middle; }
.entries-table td > small, .entry-deadline + small { display: block; margin-top: 4px; color: #778089; font-size: 10px; }
.entry-event-link { color: #1f75bd; font-size: 13px; font-weight: bold; }
.entry-event-link:hover { color: #1762a0; }
.entry-deadline { color: #555f68; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.entry-deadline.is-open { color: #278255; }
.entries-actions-heading { text-align: right; }
.entry-row-actions { display: flex; justify-content: flex-end; gap: 7px; }
.entry-row-actions .btn { min-height: 32px; padding: 7px 10px; font-size: 11px; white-space: nowrap; }
.entry-account-origin-cell { width: 92px; text-align: center; }
.entry-account-origin { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1px solid #a9d4bc; border-radius: 50%; background: #edf9f1; color: #278255; font-size: 14px; font-weight: bold; line-height: 1; }
.account-origin-tooltip { padding: 7px 9px; border: 1px solid #cbd5dc; border-radius: 4px; background: #26313a; color: #ffffff; box-shadow: 0 4px 12px rgba(0,0,0,.18); font-size: 11px; }
.entry-delete { border-color: #e2b9b9; color: #b42323; }
.entry-delete:hover { background: #fff1f1; border-color: #cf8585; }
.entries-empty { display: grid; gap: 5px; padding: 38px 18px; color: #374149; text-align: center; }
.entries-empty span { color: #707981; font-size: 12px; }
.entries-dialog[hidden] { display: none; }
.entries-dialog { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: 18px; }
.entries-dialog-backdrop { position: absolute; inset: 0; border: 0; background: rgba(31,38,44,.58); cursor: default; }
.entries-dialog-panel { position: relative; width: min(100%, 440px); overflow: hidden; background: #ffffff; border-radius: 8px; box-shadow: 0 18px 50px rgba(0,0,0,.24); }
.entries-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 18px; border-bottom: 1px solid #e7ebee; }
.entries-dialog-header h2 { font-size: 17px; }
.entries-dialog-header button { width: 32px; height: 32px; border: 0; background: transparent; color: #59636c; cursor: pointer; font-size: 24px; }
.entries-dialog-body { display: grid; gap: 10px; padding: 18px; color: #414a52; font-size: 13px; line-height: 1.5; }
.entries-dialog-warning { color: #a13030; font-size: 12px; }
.entries-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 18px; background: #f5f7f8; border-top: 1px solid #e7ebee; }
.entry-delete-confirm { background: #b42323; border-color: #b42323; color: #ffffff; }
.entry-delete-confirm:hover { background: #921d1d; border-color: #921d1d; }
.entries-dialog-open { overflow: hidden; }
.account-track-dialog .entries-dialog-panel { width: min(100%, 760px); }
.account-track-dialog-body { gap: 8px; }
.account-track-search-label { color: #59636c; font-size: 11px; font-weight: bold; }
.account-track-search { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #cbd3d8; border-radius: 4px; font: inherit; }
.account-track-search:focus { outline: 2px solid rgba(31,117,189,.25); border-color: #1f75bd; }
.account-track-search-widget { display: block; width: 100%; min-height: 38px; }
.account-track-map { min-height: 420px; background: #e9eef1; border: 1px solid #d8e0e4; border-radius: 5px; }
.account-track-selected { margin: 0; color: #59636c; font-size: 12px; font-variant-numeric: tabular-nums; }
.account-track-location-picker { display: grid; justify-items: start; gap: 5px; }
.account-track-location-picker .btn { min-height: 36px; }

@media (max-width: 700px) {
    .account-track-dialog { padding: 8px; }
    .account-track-map { min-height: 52vh; }
}

@media (max-width: 700px) {
    .entries-toolbar { align-items: stretch; flex-direction: column; gap: 9px; }
    .entries-filters { display: grid; grid-template-columns: repeat(3, 1fr); }
    .entries-filter { padding-inline: 8px; }
    .entries-result-count { align-self: flex-end; }
    .entries-table-wrap { overflow: visible; }
    .entries-table { min-width: 0; }
    .entries-table thead { display: none; }
    .entries-table tbody, .entries-table tr, .entries-table td { display: block; width: 100%; }
    .entries-table tr { padding: 14px 16px; border-bottom: 1px solid #e2e7ea; }
    .entries-table tr:last-child { border-bottom: 0; }
    .entries-table td { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; padding: 5px 0; border: 0; }
    .entries-table td::before { content: attr(data-label); color: #778089; font-size: 10px; font-weight: bold; text-transform: uppercase; }
    .entries-table td:first-child { display: block; padding-bottom: 11px; }
    .entries-table td:first-child::before { display: none; }
    .entry-row-actions { justify-content: flex-start; }
    .entries-dialog-actions .btn { flex: 1; }
}

.entries-empty[hidden] { display: none; }

/* Club events */
.club-access-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 13px 16px; background: #eef6fc; border: 1px solid #c9dfef; border-left: 5px solid #1f75bd; border-radius: 7px; }
.club-access-banner > div:first-child { display: grid; gap: 3px; }
.club-access-banner strong { font-size: 13px; }
.club-access-banner span:not(.badge) { color: #58656e; font-size: 11px; line-height: 1.4; }
.club-access-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.club-events-toolbar { align-items: flex-end; }
.club-filter-field { display: grid; gap: 5px; min-width: 260px; }
.club-filter-field label { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.club-event-filter { min-height: 38px; padding: 8px 34px 8px 10px; border: 1px solid #cfd7dd; border-radius: 6px; background: #ffffff; color: #26313a; font-size: 12px; font-weight: bold; }
.club-events-table { min-width: 940px; }
.club-early-label { display: block; margin-top: 10px !important; color: #0369a1 !important; font-weight: bold; }
.club-entry-action { background: #1f75bd; border-color: #1f75bd; color: #ffffff; }

@media (max-width: 700px) {
    .club-access-banner { align-items: flex-start; flex-direction: column; }
    .club-access-list { justify-content: flex-start; }
    .club-filter-field { min-width: 0; width: 100%; }
    .club-events-table { min-width: 0; }
}

/* Manuals */
.manuals-header { margin-bottom: 14px; }
.manual-downloads { overflow: hidden; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.manual-downloads-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid #e5e9ec; }
.manual-downloads-header h2 { font-size: 17px; }
.manual-downloads-header span { color: #707981; font-size: 11px; }
.manual-download-list { display: grid; }
.manual-download { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 72px; padding: 12px 18px; border-bottom: 1px solid #edf0f2; color: #29323a; }
.manual-download:last-child { border-bottom: 0; }
.manual-download:hover { background: #f6f9fb; }
.manual-file-type { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 28px; background: #fff0f0; border: 1px solid #efc8c8; border-radius: 4px; color: #ae2727; font-size: 10px; font-weight: bold; }
.manual-title { display: grid; gap: 5px; min-width: 0; }
.manual-title strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.manual-title small { color: #747e86; font-size: 10px; }
.manual-download-action { display: inline-flex; align-items: center; gap: 7px; color: #1f75bd; font-size: 11px; font-weight: bold; white-space: nowrap; }
.manual-download-action > span { font-size: 17px; line-height: 1; }

@media (max-width: 600px) {
    .manual-download { grid-template-columns: 40px minmax(0, 1fr); gap: 11px; padding: 13px 14px; }
    .manual-title strong { white-space: normal; }
    .manual-download-action { grid-column: 2; }
}

/* Vehicle profile management */
.profile-page-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.profile-page-header .btn { flex: 0 0 auto; }
.profile-management-layout { display: grid; grid-template-columns: 285px minmax(0, 1fr); align-items: start; gap: 16px; }
.profile-list-panel, .profile-detail-panel { min-width: 0; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.profile-list-panel { overflow: hidden; }
.profile-list-header { padding: 15px 16px; border-bottom: 1px solid #e5e9ec; }
.profile-list-header > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-list-header h2 { font-size: 16px; }
.profile-list-header span { color: #737c84; font-size: 10px; }
.profile-list { display: grid; }
.profile-list-item { display: grid; gap: 5px; width: 100%; padding: 14px 16px; border: 0; border-bottom: 1px solid #edf0f2; background: #ffffff; color: #354049; cursor: pointer; text-align: left; }
.profile-list-item:last-child { border-bottom: 0; }
.profile-list-item:hover { background: #f6f9fb; }
.profile-list-item.is-active { background: #eef6fc; box-shadow: inset 4px 0 #1f75bd; }
.profile-list-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.profile-list-title strong { font-size: 13px; }
.profile-list-item > span:not(.profile-list-title) { color: #56616a; font-size: 11px; }
.profile-list-item small { color: #7b848c; font-size: 9px; }
.profile-list-empty { display: grid; gap: 5px; padding: 30px 16px; text-align: center; }
.profile-list-empty[hidden], .profile-detail[hidden] { display: none; }
.profile-list-empty span { color: #737c84; font-size: 11px; }
.profile-detail-panel { overflow: hidden; }
.profile-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px; border-bottom: 1px solid #e5e9ec; }
.profile-detail-header h2 { margin: 4px 0; font-size: 22px; }
.profile-detail-header p { color: #737c84; font-size: 10px; }
.profile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.profile-actions .btn { min-height: 34px; padding: 7px 10px; font-size: 11px; }
.profile-delete { border-color: #e2b9b9; color: #b42323; }
.profile-detail-section { padding: 18px; border-bottom: 1px solid #edf0f2; }
.profile-detail-section h3 { margin-bottom: 13px; font-size: 14px; }
.profile-data-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px 18px; }
.profile-data-grid div { min-width: 0; }
.profile-data-grid dt { margin-bottom: 4px; color: #7b848c; font-size: 9px; font-weight: bold; text-transform: uppercase; }
.profile-data-grid dd { overflow-wrap: anywhere; color: #303940; font-size: 12px; font-weight: bold; }
.profile-detail-columns { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.profile-detail-columns .profile-detail-section { border-bottom: 0; }
.profile-detail-columns .profile-detail-section + .profile-detail-section { border-left: 1px solid #edf0f2; }
.profile-frequency { display: flex; align-items: center; gap: 10px; }
.profile-frequency-dot { width: 10px; height: 10px; flex: 0 0 10px; background: #278255; border-radius: 50%; box-shadow: 0 0 0 4px #dcfce7; }
.profile-frequency.is-inactive .profile-frequency-dot { background: #b42323; box-shadow: 0 0 0 4px #fee2e2; }
.profile-frequency.is-inactive strong { color: #9d2727; }
.profile-frequency div { display: grid; gap: 3px; }
.profile-frequency strong { font-size: 12px; }
.profile-frequency small { color: #737c84; font-size: 9px; }
.profile-transponders { display: grid; gap: 8px; }
.profile-transponders > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 9px 11px; background: #f6f8f9; border-radius: 5px; }
.profile-transponders span, .profile-transponders small { color: #737c84; font-size: 9px; }
.profile-transponders strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.profile-empty-value { color: #737c84; font-size: 11px; }
.profile-editor-panel { width: min(100%, 720px); max-height: calc(100vh - 36px); overflow-y: auto; }
.profile-editor-body { padding: 18px; }
#EditorProfileName[aria-invalid="true"] { border-color: #c62828; outline: 3px solid rgba(198,40,40,.1); }

.profile-editor-message { margin: 14px 18px 0; padding: 10px 12px; background: #fff1f1; border: 1px solid #efc7c7; border-radius: 6px; color: #9d2727; font-size: 12px; font-weight: bold; }
.profile-editor-message[hidden] { display: none; }
.profile-editor-transponders { display: grid; gap: 10px; }
.profile-editor-subheader { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.profile-editor-subheader > div { display: grid; gap: 2px; }
.profile-editor-subheader strong { font-size: 12px; }
.profile-editor-subheader small { color: #737c84; font-size: 10px; }
.profile-editor-transponder-list { display: grid; gap: 8px; }
.profile-editor-transponder-row { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; padding: 10px; background: #f6f8f9; border: 1px solid #e4e9ed; border-radius: 6px; }
#addProfileTransponder[hidden] { display: none; }

@media (max-width: 650px) {
    .profile-editor-subheader { align-items: stretch; flex-direction: column; }
    .profile-editor-transponder-row { grid-template-columns: 1fr; }
}


@media (max-width: 900px) {
    .profile-management-layout { grid-template-columns: 1fr; }
    .profile-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .profile-list-item { border-right: 1px solid #edf0f2; border-bottom: 0; }
    .profile-list-item.is-active { box-shadow: inset 0 -4px #1f75bd; }
    .profile-data-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .profile-page-header, .profile-detail-header { align-items: stretch; flex-direction: column; }
    .profile-page-header .btn { width: 100%; }
    .profile-list { grid-template-columns: 1fr; }
    .profile-list-item { border-right: 0; border-bottom: 1px solid #edf0f2; }
    .profile-list-item.is-active { box-shadow: inset 4px 0 #1f75bd; }
    .profile-actions { justify-content: stretch; }
    .profile-actions .btn { flex: 1; }
    .profile-data-grid, .profile-detail-columns { grid-template-columns: 1fr; }
    .profile-detail-columns .profile-detail-section + .profile-detail-section { border-top: 1px solid #edf0f2; border-left: 0; }
    .profile-transponders > div { grid-template-columns: 1fr auto; }
    .profile-transponders small { grid-column: 1 / -1; }
}

/* Account settings */
.settings-page-header { margin-bottom: 14px; }
.settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 16px; }
.settings-main { display: grid; gap: 16px; min-width: 0; }
.settings-section { overflow: hidden; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.settings-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 15px 18px; border-bottom: 1px solid #e7ebee; }
.settings-section-header h2 { font-size: 17px; }
.settings-section-header p { margin-top: 3px; color: #707981; font-size: 11px; line-height: 1.45; }
.settings-section-body { padding: 18px; }
.account-settings-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.account-settings-data > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 47px; border-bottom: 1px solid #edf0f2; }
.account-settings-data dt { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.account-settings-data dd { min-width: 0; color: #303940; font-size: 12px; font-weight: bold; }
.account-id-row dd { display: flex; align-items: center; gap: 8px; }
.account-id-row code { padding: 4px 7px; background: #f2f5f7; border-radius: 4px; color: #26313a; font-family: Consolas, monospace; font-size: 11px; letter-spacing: 0; }
.copy-account-id { padding: 4px 6px; border: 0; background: transparent; color: #1f75bd; cursor: pointer; font-size: 10px; font-weight: bold; }
.settings-status { display: inline-flex; align-items: center; gap: 6px; color: #278255; }
.settings-status::before { content: ""; width: 8px; height: 8px; background: #278255; border-radius: 50%; }
.settings-section-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; padding-top: 14px; border-top: 1px solid #edf0f2; }
.settings-provider-status { display: inline-flex; align-items: center; gap: 7px; color: #7a5b18; font-size: 10px; font-weight: bold; white-space: nowrap; }
.settings-provider-status > span { width: 8px; height: 8px; background: #d39a25; border-radius: 50%; }
.settings-provider-status.is-configured { color: #278255; }
.settings-provider-status.is-configured > span { background: #278255; }
.settings-copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.account-logo-field { gap: 8px; }
.account-logo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
    padding: 12px;
    border: 1px solid #dfe4e8;
    border-radius: 7px;
    background: #f7f9fb;
}
.account-logo-preview img {
    display: block;
    max-width: 220px;
    max-height: 82px;
    object-fit: contain;
}
.account-logo-preview span {
    color: #747e86;
    font-size: 12px;
    font-weight: bold;
}
.account-logo-preview.is-empty img,
.account-logo-preview:not(.is-empty) span {
    display: none;
}
.account-logo-dropzone { margin-top: 2px; }
.account-logo-dropzone .admin-file-dropzone-content { justify-items: start; text-align: left; }
.account-logo-dropzone .admin-file-dropzone-content strong { font-size: 12px; }
.account-logo-dropzone .admin-file-dropzone-content span { line-height: 1.4; }
.account-logo-dropzone .admin-file-selected { margin-top: 2px; }
.payment-form-message { margin-top: 14px; padding: 10px 12px; border-radius: 5px; font-size: 11px; }
.payment-form-message[hidden] { display: none; }
.payment-form-message.is-success { background: #edf9f2; border: 1px solid #b9e1c9; color: #226b42; }
.payment-form-message.is-error { background: #fff1f1; border: 1px solid #efb8b8; color: #8e2828; }
.danger-zone { border-color: #e5bcbc; }
.danger-zone .settings-section-header { background: #fff8f8; border-bottom-color: #efd7d7; }
.danger-zone .settings-section-header h2 { color: #9d2727; }
.danger-zone-content { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.danger-zone-content > div { display: grid; gap: 5px; }
.danger-zone-content strong { color: #762323; font-size: 12px; }
.danger-zone-content p { max-width: 650px; color: #6f777e; font-size: 11px; line-height: 1.5; }
.danger-button { flex: 0 0 auto; background: #b42323; border-color: #b42323; color: #ffffff; }
.danger-button:hover { background: #921d1d; border-color: #921d1d; }
.settings-summary { position: sticky; top: 18px; min-width: 0; }
.settings-summary-inner { padding: 17px; background: #ffffff; border: 1px solid #dfe4e8; border-top: 4px solid #1f75bd; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.settings-summary h2 { margin-bottom: 12px; font-size: 16px; }
.settings-summary dl div { display: grid; gap: 3px; padding: 10px 0; border-bottom: 1px solid #edf0f2; }
.settings-summary dt { color: #747e86; font-size: 9px; font-weight: bold; text-transform: uppercase; }
.settings-summary dd { font-size: 11px; font-weight: bold; }
.settings-summary p { margin-top: 13px; color: #737c84; font-size: 10px; line-height: 1.5; }
#confirmDeleteAccount:disabled { background: #b7bec4; border-color: #b7bec4; cursor: not-allowed; }

@media (max-width: 900px) {
    .settings-layout { grid-template-columns: 1fr; }
    .settings-summary { position: static; }
}
@media (max-width: 650px) {
    .settings-section-header, .danger-zone-content { align-items: stretch; flex-direction: column; }
    .account-settings-data { grid-template-columns: 1fr; }
    .account-settings-data > div { grid-template-columns: 100px minmax(0, 1fr); }
    .settings-section-actions { flex-direction: column-reverse; }
    .settings-section-actions .btn, .danger-button { width: 100%; }
    .settings-copy-field { grid-template-columns: 1fr; }
}

/* Entry edit/view */
.entry-edit-notice,
.entry-readonly-status { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 13px 16px; background: #f4f8fb; border: 1px solid #d7e4ed; border-left: 5px solid #1f75bd; border-radius: 7px; }
.entry-edit-notice > div,
.entry-readonly-status > div:first-child { display: grid; gap: 3px; }
.entry-edit-notice strong,
.entry-readonly-status strong { font-size: 13px; }
.entry-edit-notice span:not(.badge),
.entry-readonly-status span { color: #58656e; font-size: 11px; line-height: 1.4; }
.entry-readonly-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.entry-readonly-section .form-section-body { padding-top: 0; }
.readonly-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; padding: 18px; }
.readonly-data-grid > div { display: grid; gap: 4px; min-height: 48px; padding: 10px 0; border-bottom: 1px solid #edf0f2; }
.readonly-data-grid span,
.readonly-article-list span { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.readonly-data-grid strong,
.readonly-article-list strong { min-width: 0; color: #303940; font-size: 12px; line-height: 1.35; }
.readonly-wide { grid-column: 1 / -1; }
.readonly-article-list { display: grid; padding: 8px 18px 18px; }
.readonly-article-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 48px; border-bottom: 1px solid #edf0f2; }
.readonly-article-total { margin-top: 6px; padding-top: 10px; border-bottom: 0 !important; }
.readonly-article-total strong { color: #1f75bd; font-size: 15px; }
.entry-view-page .entry-submit { display: flex; align-items: center; justify-content: center; text-decoration: none; }

@media (max-width: 700px) {
    .entry-edit-notice,
    .entry-readonly-status { align-items: flex-start; flex-direction: column; }
    .entry-readonly-actions { width: 100%; justify-content: stretch; }
    .entry-readonly-actions .btn { flex: 1; text-align: center; }
    .readonly-data-grid { grid-template-columns: 1fr; gap: 0; }
    .readonly-article-list > div { grid-template-columns: 1fr; gap: 4px; padding: 10px 0; }
}


/* Admin entries */
.admin-entries-header { margin-bottom: 14px; }
.admin-entries-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.admin-entries-summary > div { display: grid; gap: 5px; padding: 13px 15px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 7px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.admin-entries-summary span { color: #707981; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.admin-entries-summary strong { color: #26313a; font-size: 23px; line-height: 1; }
.admin-entries-toolbar { align-items: flex-end; }
.admin-filter-field { display: grid; gap: 5px; min-width: 220px; }
.admin-filter-field label { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.admin-filter-field input,
.admin-filter-field select { min-height: 38px; padding: 8px 10px; border: 1px solid #cfd7dd; border-radius: 6px; background: #ffffff; color: #26313a; font-size: 12px; }
.admin-entries-table { min-width: 1180px; }
.admin-entry-stats { display: grid; gap: 4px; min-width: 118px; }
.admin-entry-stats span { color: #626c74; font-size: 10px; white-space: nowrap; }
.admin-entry-stats strong { color: #26313a; font-size: 12px; }
.admin-list-actions,
.admin-entry-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-list-actions { flex-wrap: nowrap; min-width: max-content; }
.admin-entry-actions { flex-wrap: nowrap; min-width: max-content; }
.admin-list-actions .btn,
.admin-entry-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 6px 9px; font-size: 10px; line-height: 1; text-align: center; white-space: nowrap; }
@media (max-width: 900px) {
    .admin-entries-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-filter-field { min-width: 0; width: 100%; }
    .admin-entries-table { min-width: 0; }
}
@media (max-width: 700px) {
    .admin-entries-summary { grid-template-columns: 1fr; }
    .admin-list-actions,
    .admin-entry-actions { flex-wrap: wrap; justify-content: flex-start; min-width: 0; }
    .admin-list-actions .btn,
    .admin-entry-actions .btn { flex: 1 1 96px; text-align: center; }
}


/* Reporting */
.reporting-content { display: grid; gap: 14px; }
.report-dashboard-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; background: #ffffff; border: 1px solid #dfe4e8; border-left: 5px solid #d9272e; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.report-overlay-content > .report-dashboard-header { margin-bottom: 18px; }
.report-dashboard-header-compact { align-items: center; }
.report-dashboard-header h1 { margin: 4px 0 6px; color: #111820; font-size: 30px; line-height: 1.1; }
.report-dashboard-header p { color: #56616b; font-size: 13px; line-height: 1.45; }
.report-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 10px; color: #46515b; font-size: 12px; }
.report-meta span { display: inline-flex; align-items: center; gap: 6px; }
.report-meta span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #1f75bd; }
.report-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; min-width: 260px; }
.report-download-stack { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.report-image-link { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.report-image-link,
.report-pdf-link { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.report-image-link svg,
.report-pdf-link svg { width: 14px; height: 14px; flex: 0 0 auto; }
.report-image-link.is-loading,
.report-image-link[aria-disabled="true"],
.report-pdf-link.is-loading,
.report-pdf-link[aria-disabled="true"] {
    opacity: .65;
    cursor: progress;
    pointer-events: none;
}
.report-toolbar { display: block; padding: 0; background: transparent; border: 0; box-shadow: none; }
.report-toolbar-tabs { margin-top: 12px; }
.report-class-selection .section-body { padding-top: 14px; }
.report-select-field { display: grid; gap: 5px; min-width: 210px; }
.report-select-field-wide { width: min(420px, 100%); }
.report-select-field-wide select { width: 100%; }
.report-select-field select { min-height: 38px; padding: 8px 34px 8px 10px; border: 1px solid #cfd7dd; border-radius: 6px; background: #ffffff; color: #26313a; font-size: 12px; }
.report-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; width: 100%; overflow: hidden; border: 1px solid #d6dde3; border-radius: 8px; background: #f7f9fb; }
.report-tabs a { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 68px; padding: 12px 14px; border-right: 1px solid #d6dde3; color: #33404a; font-size: 14px; font-weight: bold; text-decoration: none; }
.report-tabs a:last-child { border-right: 0; }
.report-tabs a.is-active,
.report-tabs a:hover { background: #eaf3fc; color: #155d99; }
.report-tabs a.is-active { box-shadow: inset 0 -3px 0 #d92b2b; }
.report-tabs-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #7c8a95; }
.report-tabs a.is-active .report-tabs-icon,
.report-tabs a:hover .report-tabs-icon { color: #155d99; }
.report-tabs-icon svg { width: 18px; height: 18px; }
.report-tabs-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-tabs-count { justify-self: end; display: inline-flex; align-items: center; justify-content: center; min-height: 20px; padding: 2px 7px; border-radius: 999px; background: #e5ebf1; color: #5f6972; font-size: 9px; font-weight: bold; white-space: nowrap; }
.report-tabs a.is-active .report-tabs-count,
.report-tabs a:hover .report-tabs-count { background: #dcebf7; color: #155d99; }
.report-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: 18px;
    margin-top: 18px;
    align-items: start;
}
.report-dashboard-grid-filtered {
    display: block;
}
.report-dashboard-grid-filtered .report-dashboard-column {
    display: block;
}
.report-dashboard-column {
    display: grid;
    gap: 18px;
    min-width: 0;
}
.report-dashboard-card {
    margin-bottom: 0;
}
.report-dashboard-card:last-child {
    margin-bottom: 0;
}
.event-header {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px 16px 20px;
}
.event-header__grid {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.event-header__copy {
    min-width: 0;
}
.event-header__copy h1 {
    margin: 0;
    color: #111820;
    font-size: 30px;
    line-height: 1.1;
}
.event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 10px;
    color: #46515b;
    font-size: 12px;
}
.event-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.event-meta svg,
.event-header .ui-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}
.filter-bar {
    display: flex;
    align-items: stretch;
}
.filter-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
    cursor: pointer;
}
.filter-control__icon,
.filter-control__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #6b7782;
    flex: 0 0 auto;
}
.filter-control__copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.filter-control__copy small {
    color: #68727c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
}
.filter-control__copy select {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #16212b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    appearance: none;
}
.tabs {
    position: sticky;
    top: 8px;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid #d6dde3;
    border-radius: 8px;
    background: #f7f9fb;
}
.tabs .tab {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 76px;
    padding: 12px 14px;
    border-right: 1px solid #d6dde3;
    color: #33404a;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.tabs .tab:last-child {
    border-right: 0;
}
.tabs .tab:hover,
.tabs .tab.is-active {
    background: #eaf3fc;
    color: #155d99;
}
.tabs .tab.is-active {
    box-shadow: inset 0 -3px 0 #1688dc;
}
.tabs .tab b {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #e5ebf1;
    color: #5f6972;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}
.tabs .tab:hover b,
.tabs .tab.is-active b {
    background: #dcebf7;
    color: #155d99;
}
.overview-column {
    display: grid;
    gap: 18px;
    min-width: 0;
}
.dashboard-card {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.dashboard-card__header,
.dashboard-card__header--stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px 10px;
}
.dashboard-card__header h2 {
    margin: 0;
    color: #16212b;
    font-size: 17px;
    line-height: 1.2;
}
.dashboard-card__header button {
    border: 0;
    background: transparent;
    color: #1f75bd;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.dashboard-card__header--stats h2 span {
    color: #1f75bd;
}
.overview-row,
.participant-open,
.feature-card,
.module-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 68px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    color: #26313a;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}
.overview-row:hover,
.participant-open:hover,
.feature-card:hover,
.module-card:hover {
    border-color: #aacce7;
    background: #f7fbff;
}
.overview-row__icon,
.participant-open__icon,
.feature-card__icon,
.module-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #1f75bd;
    flex: 0 0 auto;
}
.overview-row__icon svg,
.participant-open__icon svg,
.feature-card__icon svg,
.module-card__icon svg {
    width: 18px;
    height: 18px;
}
.overview-row__copy,
.participant-open > span:nth-child(2),
.feature-card > span:nth-child(2),
.module-card > span:nth-child(2) {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.overview-row__copy strong,
.participant-open strong,
.feature-card strong,
.module-card strong {
    color: #16212b;
    font-size: 15px;
    line-height: 1.25;
}
.overview-row__copy small,
.participant-open small,
.feature-card small,
.module-card small {
    color: #6d7780;
    font-size: 11px;
    line-height: 1.35;
}
.overview-row__arrow {
    color: #7c8a95;
    font-size: 24px;
    line-height: 1;
}
.participant-card .participant-open {
    grid-template-columns: auto minmax(0, 1fr) auto;
}
.participant-open__icon {
    color: #1f75bd;
}
.feature-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
}
.module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.module-card {
    min-height: 86px;
}
.module-card--yellow .module-card__icon,
.module-card__icon--yellow {
    color: #d29b00;
}
.report-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    background: #e5e5e5;
}
.report-stats span {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    background: #e5e5e5;
}
.report-stats strong {
    color: #16212b;
    font-size: 20px;
    line-height: 1.1;
}
.report-stats small {
    color: #747e86;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}
.schedule-day {
    display: grid;
    gap: 8px;
}
.tab-pane {
    display: block;
}
.report-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.report-summary-grid div { padding: 14px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.report-summary-grid span { display: block; margin-bottom: 5px; color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.report-summary-grid strong { color: #16212b; font-size: 20px; line-height: 1.1; }
.report-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.report-layout-simple { grid-template-columns: minmax(0, 1fr); }
.report-main,
.report-side { min-width: 0; }
.report-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.report-card { display: grid; gap: 5px; min-height: 98px; padding: 14px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; color: #26313a; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.report-card:hover { border-color: #aacce7; background: #f7fbff; }
.report-card span { color: #1f75bd; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.report-card strong { color: #16212b; font-size: 17px; line-height: 1.2; }
.report-card small { align-self: end; color: #6d7780; font-size: 11px; }
.report-card-primary { border-left: 4px solid #1f75bd; }
.report-overview-report-list .report-card {
    color: #1f75bd;
}
.report-overview-report-list .report-card strong {
    color: #155d99;
}
.report-overview-report-list .report-card small {
    color: #5f7f99;
}
.report-overview-entry {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.report-overview-entry-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.report-overview-entry-copy strong {
    font-size: 15px;
    line-height: 1.25;
}
.report-overview-entry-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}
.report-overview-action {
    min-width: 150px;
}
.report-overview-action-secondary {
    background: #ffffff;
    border: 1px solid #dfe4e8;
    color: #1f75bd;
}
.report-overview-action-secondary:hover {
    border-color: #aacce7;
    background: #f7fbff;
}
.report-manufacturer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.report-manufacturer-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}
.report-manufacturer-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.report-manufacturer-card h3 {
    margin: 0;
    color: #16212b;
    font-size: 18px;
}
.report-manufacturer-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eaf3fc;
    color: #1f75bd;
    font-size: 12px;
    font-weight: bold;
}
.report-manufacturer-card-body {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    align-self: stretch;
}
.report-manufacturer-chart {
    display: flex;
    align-items: center;
    justify-content: center;
}
.report-manufacturer-chart svg {
    width: 100%;
    max-width: 220px;
    height: auto;
}
.report-manufacturer-legend {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    align-content: center;
}
.report-manufacturer-legend li {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    min-width: 0;
    text-transform: uppercase;
}
.report-manufacturer-swatch {
    width: 12px;
    height: 12px;
    border-radius: 999px;
}
.report-manufacturer-label {
    min-width: 0;
    color: #26313a;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.report-manufacturer-legend strong {
    color: #16212b;
    font-size: 12px;
}
.report-manufacturer-percent {
    color: #5f6b75;
    font-size: 12px;
    white-space: nowrap;
}
.report-section .section-header p { margin-top: 3px; color: #68727a; font-size: 12px; }
.report-section .section-body,
.report-section .table-wrap { min-width: 0; max-width: 100%; }
.report-section .table-wrap { overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; }

.championship-report {
    background: #f4f6f8;
    color: #222;
}

.championship-report-page {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.championship-report .championship-hero {
    margin-bottom: 0;
}

.championship-report .championship-kicker {
    margin: 0 0 6px;
    color: #6a737c;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.championship-report .championship-section {
    padding: 0;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
    overflow: hidden;
}

.championship-report .championship-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.championship-report .championship-event-table,
.championship-report .championship-ranking-table {
    width: 100%;
    min-width: 760px;
    table-layout: fixed;
    border-collapse: collapse;
}

.championship-report .championship-event-table { min-width: 720px; }
.championship-report .championship-ranking-table { min-width: 980px; }

.championship-report .championship-event-table th,
.championship-report .championship-event-table td,
.championship-report .championship-ranking-table th,
.championship-report .championship-ranking-table td {
    padding: 10px 12px;
    vertical-align: top;
}

.championship-report .championship-event-table thead th,
.championship-report .championship-ranking-table thead th {
    background: #26313a;
    color: #ffffff;
    font-weight: bold;
    text-align: left;
    white-space: nowrap;
}

.championship-report .championship-event-table tbody tr:nth-child(even) td,
.championship-report .championship-ranking-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}

.championship-report .championship-event-table tbody tr:hover td,
.championship-report .championship-ranking-table tbody tr:hover td {
    background: #f4f9fd;
}

.championship-report .championship-event-table tbody td:nth-child(1),
.championship-report .championship-event-table thead th:nth-child(1) { width: 70px; text-align: center; }
.championship-report .championship-event-table tbody td:nth-child(3),
.championship-report .championship-event-table thead th:nth-child(3) { width: 180px; }
.championship-report .championship-event-table tbody td:nth-child(4),
.championship-report .championship-event-table thead th:nth-child(4),
.championship-report .championship-event-table tbody td:nth-child(5),
.championship-report .championship-event-table thead th:nth-child(5) { width: 70px; text-align: center; }

.championship-report .championship-ranking-table tbody td:nth-child(1),
.championship-report .championship-ranking-table thead th:nth-child(1) { width: 56px; text-align: center; }
.championship-report .championship-ranking-table tbody td:nth-child(2),
.championship-report .championship-ranking-table thead th:nth-child(2) { width: 72px; text-align: center; }
.championship-report .championship-ranking-table tbody td:nth-child(3),
.championship-report .championship-ranking-table thead th:nth-child(3) { width: 180px; font-weight: bold; }
.championship-report .championship-ranking-table tbody td:nth-child(4),
.championship-report .championship-ranking-table thead th:nth-child(4) { width: 72px; text-align: center; }
.championship-report .championship-ranking-table tbody td:nth-child(5),
.championship-report .championship-ranking-table thead th:nth-child(5) { width: 80px; text-align: center; }
.championship-report .championship-ranking-table tbody td:nth-child(6),
.championship-report .championship-ranking-table thead th:nth-child(6) { width: 86px; text-align: center; }

.championship-report .championship-ranking-table tbody td,
.championship-report .championship-event-table tbody td {
    overflow-wrap: anywhere;
    word-break: normal;
}

.championship-report .championship-ranking-table tbody td:first-child,
.championship-report .championship-event-table tbody td:first-child {
    font-weight: bold;
}

.championship-report .championship-ranking-table tbody td:first-child,
.championship-report .championship-event-table tbody td:nth-child(1),
.championship-report .championship-event-table tbody td:nth-child(4),
.championship-report .championship-event-table tbody td:nth-child(5),
.championship-report .championship-ranking-table tbody td:nth-child(2),
.championship-report .championship-ranking-table tbody td:nth-child(4),
.championship-report .championship-ranking-table tbody td:nth-child(5),
.championship-report .championship-ranking-table tbody td:nth-child(6) {
    text-align: center;
}

@media (max-width: 700px) {
    .championship-report-page {
        padding: 10px;
    }

    .championship-report .championship-hero {
        padding: 16px 18px;
    }

    .championship-report .championship-hero h1 {
        font-size: 24px;
    }

    .championship-report .section-header {
        padding: 14px 16px 12px;
    }

    .championship-report .section-header h2 {
        font-size: 17px;
    }

    .championship-report .championship-event-table,
    .championship-report .championship-ranking-table {
        min-width: 760px;
    }

    .championship-report .championship-event-table th,
    .championship-report .championship-event-table td,
    .championship-report .championship-ranking-table th,
    .championship-report .championship-ranking-table td {
        padding: 8px 10px;
        font-size: 12px;
    }
}
.report-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.report-list-single { grid-template-columns: 1fr; }
.report-list a { display: grid; gap: 3px; padding: 12px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 7px; color: #26313a; text-decoration: none; }
.report-list a:hover { border-color: #aacce7; background: #eef6fc; }
.report-list strong { font-size: 13px; }
.report-list span { color: #68727a; font-size: 11px; line-height: 1.4; }
.report-overview-list { gap: 10px; }
.report-overview-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 62px;
    padding: 12px 13px;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
}
.report-overview-item-primary,
.report-overview-item-secondary {
    grid-template-columns: 34px minmax(0, 1fr) auto auto;
    column-gap: 16px;
}
.report-overview-item:hover {
    border-color: #aacce7;
    background: #f7fbff;
}
.report-overview-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #eaf3fc;
    color: #1f75bd;
    font-size: 12px;
    font-weight: bold;
}
.report-overview-item-icon svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}
.report-overview-item-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding-left: 4px;
}
.report-overview-item-copy strong {
    color: #16212b;
    font-size: 12px;
    line-height: 1.2;
}
.report-overview-item-copy small {
    color: #68727a;
    font-size: 10px;
    line-height: 1.35;
}
.chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.chip--green {
    background: #dcfce7;
    color: #15803d;
}
.chip--blue {
    background: #eef6fc;
    color: #155d99;
}
.report-overview-item-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eef6fc;
    color: #155d99;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap;
}
.report-overview-item-badge-available,
.report-run-group-badge-available,
.report-run-item-badge-available,
.report-heat-category-badge {
    background: #dcfce7;
    color: #15803d;
}
.report-overview-item-chevron {
    color: #9aa5af;
    font-size: 24px;
    line-height: 1;
}
.report-overview-item-primary {
    border-left: 4px solid #1f75bd;
}
.report-overview-item-primary .report-overview-item-icon {
    background: #1f75bd;
    color: #ffffff;
}
.report-overview-item-secondary .report-overview-item-icon {
    background: #e6eef8;
    color: #4f7fbf;
}
.report-overview-item-icon-schedule {
    background: #eaf3fc;
    color: #1f75bd;
}
.report-overview-item-icon-participants {
    background: #eaf6ef;
    color: #278255;
}
.report-overview-item-icon-manufacturer {
    background: #fff3e8;
    color: #c97a1b;
}
.report-overview-item-icon-arrangement {
    background: #f1eefe;
    color: #7a56cf;
}
.report-overview-item-icon-ranking {
    background: #fff8df;
    color: #b8860b;
}
.report-heat-category-card {
    padding: 0 !important;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
}
.report-heat-category-card.report-class-block {
    padding: 0 !important;
    gap: 0 !important;
}
.report-heat-category-toggle {
    display: grid;
    gap: 0;
}
.report-heat-category-toggle > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 60px;
    padding: 12px 13px;
    background: #f7f9fb;
    border-bottom: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    cursor: pointer;
    list-style: none;
}
.report-heat-category-toggle > summary::-webkit-details-marker { display: none; }
.report-heat-category-toggle > summary > div {
    display: grid;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}
.report-heat-category-toggle > summary h3 {
    margin: 0;
}
.report-heat-category-toggle > summary small {
    color: #68727a;
    font-size: 11px;
    line-height: 1.35;
}
.report-heat-category-toggle > summary::after {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-top: 1px;
    margin-right: 4px;
    border-right: 2px solid #8e98a2;
    border-bottom: 2px solid #8e98a2;
    border-radius: 1px;
    transform: rotate(45deg);
    color: #8e98a2;
    transition: transform .15s ease;
}
.report-heat-category-toggle > summary .chip {
    margin-left: auto;
    flex: 0 0 auto;
}
.report-heat-category-toggle[open] > summary::after {
    transform: rotate(-135deg);
}
.report-heat-category-toggle[open] > summary {
    border-bottom: 1px solid #e3e8ec;
}
.report-heat-category-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #e6f4ea;
    color: #1f7a3e;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap;
}
.report-heat-category-card .report-class-list {
    padding: 12px 13px 13px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.report-heat-category-card + .report-heat-category-card {
    margin-top: -2px;
}
.report-run-group-card {
    padding: 0;
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.035);
    overflow: hidden;
}
.report-run-group-toggle {
    display: grid;
    gap: 0;
}
.report-run-group-toggle > summary {
    display: block;
    padding: 0;
    list-style: none;
    cursor: pointer;
}
.report-run-group-toggle > summary::-webkit-details-marker { display: none; }
.report-run-group-toggle > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    padding: 8px 14px;
    background: #ffffff;
    border-bottom: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.report-run-group-toggle > summary .chip {
    margin-left: auto;
}
.report-run-group-toggle[open] > summary .report-run-group-chevron::before {
    transform: rotate(-135deg);
}
.report-run-group-card h4 {
    margin: 0;
    color: #16212b;
    font-size: 13px;
    line-height: 1.1;
    display: grid;
    gap: 1px;
}
.report-run-group-card h4 small {
    color: #68727a;
    font-size: 9px;
    line-height: 1.1;
    font-weight: normal;
}
.report-run-group-copy {
    display: grid;
    gap: 0;
    min-width: 0;
}
.report-run-group-icon {
    display: none;
}
.report-run-group-badge,
.report-run-item-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eaf3fc;
    color: #155d99;
    font-size: 9px;
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap;
}
.report-run-group-badge-available,
.report-run-item-badge-available {
    background: #e6f4ea;
    color: #1f7a3e;
}
.report-run-item-badge {
    justify-self: end;
}
.report-run-group-chevron,
.report-run-item-chevron {
    position: relative;
    width: 16px;
    height: 16px;
    color: #8e98a2;
}
.report-run-group-chevron::before,
.report-run-item-chevron::before {
    content: "";
    position: absolute;
    inset: 3px 4px 4px 3px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    border-radius: 1px;
}
.report-run-item-chevron {
    width: auto;
    height: auto;
    color: #9aa5af;
    font-size: 20px;
    line-height: 1;
}
.report-run-item-chevron::before {
    content: "›";
    position: static;
    inset: auto;
    border: 0;
    transform: none;
    border-radius: 0;
}
.phase__title {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex: 1 1 auto;
}
.report-heat-category-toggle > summary::after {
    content: none;
    display: none;
}
.report-heat-category-toggle > summary > .phase__title {
    display: flex;
}
.report-heat-category-toggle > summary > .phase__title > strong,
.report-heat-category-toggle > summary > .phase__title > em {
    display: block;
}
.report-run-group-toggle > summary > .group__title {
    display: flex;
}
.report-run-group-card .report-run-strip {
    display: grid;
    gap: 6px;
    padding: 10px 14px 14px;
    background: #ffffff;
}
.report-run-group-card .report-run-strip a {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto 16px;
    align-items: center;
    justify-content: stretch;
    min-height: 46px;
    padding: 10px 12px;
    background: #ffffff;
    border-color: #e3e8ec;
    border-radius: 10px;
    color: #26313a;
    text-align: left;
    box-shadow: 0 2px 8px rgba(0,0,0,.03);
}
.report-run-group-card .report-run-strip a:hover {
    border-color: #aacce7;
    background: #f7fbff;
}
.report-run-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #1f75bd;
}
.report-run-item-icon svg {
    width: 13px;
    height: 13px;
}
.report-run-item-copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}
.report-run-item-copy strong {
    color: #16212b;
    font-size: 13px;
    line-height: 1.15;
}
.report-run-item-copy small {
    color: #68727a;
    font-size: 9px;
    line-height: 1.15;
}
.report-run-item-badge {
    background: #eef6fc;
    color: #155d99;
    justify-self: end;
}
.report-run-item-chevron {
    color: #8e98a2;
    justify-self: end;
}
.report-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.report-two-column .section { margin-bottom: 0; }
.report-class-list { display: grid; gap: 12px; }
.report-class-block { display: grid; gap: 12px; padding: 14px; background: #f7f9fb; border: 1px solid #e1e6ea; border-radius: 8px; }
.report-class-block header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.report-class-block h3 { margin-bottom: 3px; color: #16212b; font-size: 18px; }
.report-class-block p { color: #68727a; font-size: 12px; line-height: 1.4; }
.report-run-group { display: grid; gap: 10px; padding-top: 0; border-top: 0; }
.report-run-group h4 { margin: 0; color: #16212b; font-size: 16px; line-height: 1.35; }
.report-link-matrix { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.report-link-matrix a,
.report-run-strip a { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 6px 9px; border: 1px solid #d6dde3; border-radius: 6px; background: #ffffff; color: #1f75bd; font-size: 11px; font-weight: bold; text-align: center; text-decoration: none; }
.report-link-matrix a:hover,
.report-run-strip a:hover { border-color: #1f75bd; background: #eaf3fc; }
.report-run-strip { display: flex; flex-wrap: wrap; gap: 6px; }
.report-run-strip a { min-width: 54px; min-height: 28px; color: #33404a; font-size: 10px; }
.report-overlay-open { overflow: hidden; }
.report-overlay[hidden] { display: none; }
.report-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 22px; }
.report-overlay-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(20, 30, 38, .62); cursor: default; }
.report-overlay-panel { position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(1180px, 100%); max-height: min(900px, calc(100vh - 44px)); background: #ffffff; border-radius: 8px; box-shadow: 0 22px 70px rgba(0,0,0,.24); overflow: hidden; }
.report-overlay-header { display: flex; align-items: flex-start; justify-content: flex-end; gap: 16px; padding: 16px 18px; border-bottom: 1px solid #e1e6ea; }
.report-overlay-header h2 { margin: 0; color: #16212b; font-size: 20px; line-height: 1.25; }
.report-overlay-header p { margin: 4px 0 0; color: #68727a; font-size: 12px; }
.report-overlay-close { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid #d6dde3; border-radius: 6px; background: #ffffff; color: #33404a; font-size: 24px; line-height: 1; cursor: pointer; }
.report-overlay-close:hover { border-color: #1f75bd; color: #1f75bd; }
.event-booking-overlay .report-overlay-header { justify-content: space-between; align-items: center; }
.event-booking-overlay .report-overlay-header h2 { flex: 1 1 auto; margin: 0; text-align: left; }
.report-overlay-body { min-height: 280px; overflow: auto; padding: 18px; background: #f7f9fb; }
.report-overlay-content { min-width: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.report-overlay-loading,
.report-overlay-message { padding: 20px; color: #68727a; font-size: 14px; text-align: center; }
.booking-count-trigger {
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f75bd;
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.booking-count-trigger:hover,
.booking-count-trigger:focus {
    color: #155d99;
    text-decoration: underline;
}

.booking-count-tooltip {
    display: inline-block;
    width: max-content;
    max-width: 280px;
    padding: 0;
    border: 1px solid #1f75bd;
    border-radius: 8px;
    background: #1f75bd;
    box-shadow: 0 14px 28px rgba(15, 35, 55, .22);
}

.booking-count-tooltip .ui-tooltip-content {
    position: relative;
    display: block;
    padding: 6px 9px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
}

.booking-count-tooltip .ui-tooltip-content::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 10px;
    height: 10px;
    margin-left: -5px;
    background: #1f75bd;
    border-right: 1px solid #1f75bd;
    border-bottom: 1px solid #1f75bd;
    transform: rotate(45deg);
}

.booking-count-summary {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    white-space: nowrap;
}

.booking-count-summary > span {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.event-bookings-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border: 1px solid #dfe4e8;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}
.event-bookings-table th,
.event-bookings-table td {
    padding: 9px 8px;
    vertical-align: middle;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: anywhere;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 1px solid #edf0f2;
}
.event-bookings-table td {
    font-size: 12px;
    color: #26313a;
}
.event-bookings-table th {
    padding: 8px 8px;
    font-size: 10px;
    background: #f5f8fb;
    color: #6d7780;
    text-transform: uppercase;
    letter-spacing: 0;
}
.event-bookings-table tbody tr:last-child td {
    border-bottom: 0;
}
.event-bookings-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}
.event-bookings-table tbody tr:hover td {
    background: #eef6fc;
}
.event-bookings-table td:nth-child(1),
.event-bookings-table td:nth-child(2),
.event-bookings-table td:nth-child(3),
.event-bookings-table td:nth-child(1)::before,
.event-bookings-table td:nth-child(2)::before,
.event-bookings-table td:nth-child(3)::before {
    white-space: nowrap;
}
.event-bookings-table .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 9px;
    white-space: nowrap;
}
.event-bookings-table .col-pos { width: 4.5%; }
.event-bookings-table .col-nr { width: 5.5%; }
.event-bookings-table .col-country { width: 5.5%; }
.event-bookings-table .col-name { width: 11%; }
.event-bookings-table .col-prename { width: 10%; }
.event-bookings-table .col-class { width: 11%; }
.event-bookings-table .col-club { width: 16.5%; }
.event-bookings-table .col-model { width: 11.5%; }
.event-bookings-table .col-engine { width: 9%; }
.event-bookings-table .col-body { width: 9%; }
.event-bookings-table .col-tire { width: 8.5%; }
.event-bookings-table .col-radio { width: 9%; }
.event-bookings-table .col-battery { width: 9%; }
.event-bookings-table .col-status { width: 6.5%; }

@media (max-width: 900px) {
    .report-overlay-body { padding: 12px; }

    .event-bookings-table,
    .event-bookings-table tbody,
    .event-bookings-table thead,
    .event-bookings-table tr,
    .event-bookings-table td {
        display: block;
        width: 100%;
    }

    .event-bookings-table {
        min-width: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    .event-bookings-table thead {
        display: none;
    }

    .event-bookings-table tbody tr {
        margin-bottom: 12px;
        padding: 8px 10px;
        background: #ffffff;
        border: 1px solid #dfe4e8;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .03);
    }

    .event-bookings-table tbody tr td {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 10px;
        padding: 7px 0;
        border-bottom: 1px solid #edf0f2;
        background: transparent !important;
        text-overflow: clip;
    }

    .event-bookings-table tbody tr td:last-child {
        border-bottom: 0;
    }

    .event-bookings-table tbody tr td::before {
        content: attr(data-label);
        color: #747e86;
        font-size: 10px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0;
    }

    .event-bookings-table .badge {
        justify-self: start;
    }
}

@media (max-width: 540px) {
    .event-bookings-table tbody tr td {
        grid-template-columns: minmax(96px, 36%) minmax(0, 1fr);
        gap: 8px;
        align-items: start;
    }

    .event-bookings-table tbody tr td::before {
        padding-top: 1px;
        line-height: 1.3;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .event-bookings-table tbody tr td > * {
        justify-self: end;
        text-align: right;
    }

    .event-bookings-table tbody tr td .badge {
        justify-self: end;
    }
}
.report-overview-table { min-width: 760px; }
.report-overview-table small { display: block; margin-top: 2px; color: #68727a; font-size: 10px; }
.report-overview-table a { color: #1f75bd; font-weight: bold; text-decoration: none; }
.report-export-actions { display: grid; gap: 8px; }
.report-export-actions .btn { justify-content: center; }
.report-tabs-left { justify-content: flex-start; width: 100%; }
.run-result-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.run-result-summary div { display: grid; gap: 4px; padding: 13px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 7px; }
.run-result-summary span { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.run-result-summary strong { color: #16212b; font-size: 20px; line-height: 1.1; }
.run-result-summary small { color: #68727a; font-size: 11px; }
.run-result-table { min-width: 920px; }
.run-result-table td small,
.report-detail-table td small {
    display: block;
    margin-top: 3px;
    color: #68727a;
    font-size: 10px;
    line-height: 1.25;
}
.run-result-table td small:empty,
.report-detail-table td small:empty {
    display: none;
    margin: 0;
}
.report-detail-table { min-width: 900px; }
.report-participants-table { min-width: 1280px; }
.report-schedule-table { table-layout: fixed; min-width: 920px; }
.report-schedule-table col.col-section { width: 17%; }
.report-schedule-table col.col-group { width: 12%; }
.report-schedule-table col.col-heat { width: 17%; }
.report-schedule-table col.col-starttime { width: 8%; }
.report-schedule-table col.col-runtime { width: 8%; }
.report-schedule-table col.col-comment { width: 22%; }
.report-schedule-table col.col-marshal { width: 16%; }
.ranking-table { table-layout: fixed; width: 100%; min-width: 960px; }
.ranking-table col.col-rank { width: 5%; }
.ranking-table col.col-number { width: 6%; }
.ranking-table col.col-country { width: 9%; }
.ranking-table col.col-driver { width: 22%; }
.ranking-table col.col-club { width: 19%; }
.ranking-table col.col-laps { width: 6%; }
.ranking-table col.col-points { width: 8%; }
.ranking-table col.col-pointsinfo { width: 16%; }
.ranking-table col.col-besttime { width: 10%; }
.ranking-table col.col-heatinfo { width: 11%; }
.ranking-table col.col-rnd { width: 6%; }
.ranking-table col.col-endtime { width: 10%; }
.ranking-table col.col-details { width: 5.5%; }
.ranking-points-info { margin-top: 6px; color: #68727a; font-size: 11px; line-height: 1.35; }
.ranking-points-info-content {
    word-break: normal;
    overflow-wrap: normal;
}
.ranking-heat-details { margin-top: 4px; }
.ranking-heat-details summary { cursor: pointer; color: #1f75bd; font-size: 11px; font-weight: bold; }
.ranking-heat-details summary::-webkit-details-marker { display: none; }
.ranking-heat-details-body { margin-top: 8px; padding: 10px; background: #f7f9fb; border: 1px solid #dfe4e8; border-radius: 7px; }
.ranking-heat-table-wrap { overflow-x: auto; }
.ranking-heat-table { min-width: 760px; margin: 0; }
.ranking-heat-table tr.is-counted td { background: #eef9f1; }
.ranking-heat-table tr.is-not-counted td { background: #fffdf8; }
.ranking-heat-table td,
.ranking-heat-table th {
    vertical-align: middle !important;
}
.heat-counted-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    vertical-align: middle;
}
.heat-counted-icon svg {
    width: 14px;
    height: 14px;
}
.heat-counted-yes {
    color: #278255;
    background: #eaf6ef;
}
.heat-counted-no {
    color: #c43d3d;
    background: #faecec;
}
.ranking-details-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    border: 0;
    background: transparent;
    color: #1f75bd;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}
.ranking-details-cell { text-align: right; }
.ranking-details-icon {
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: auto;
    border-radius: 6px;
}
.ranking-details-icon:hover,
.ranking-details-icon:focus {
    background: #edf4fa;
    outline: none;
}
.ranking-details-icon svg {
    width: 16px;
    height: 16px;
}
.ranking-table tr.ranking-heat-details-row[hidden] {
    display: none !important;
}
.ranking-heat-details-row td {
    border-top: 0;
    background: #ffffff;
}
.report-group-table { table-layout: fixed; width: 100%; min-width: 900px; }
.report-group-table col.col-start { width: 6%; }
.report-group-table col.col-number { width: 6%; }
.report-group-table col.col-country { width: 12%; }
.report-group-table col.col-driver { width: 30%; }
.report-group-table col.col-club { width: 28%; }
.report-group-table col.col-transponder { width: 18%; }
.report-position { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 6px; background: #26313a; color: #ffffff; font-size: 12px; }
.report-flag { display: inline-flex; align-items: center; gap: 7px; font-weight: bold; }
.report-flag img { width: 22px; height: 14px; object-fit: cover; border: 1px solid #d4d9de; }
.report-group-list { display: grid; gap: 14px; }
.report-group-card { overflow: hidden; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.report-group-card header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; background: #f7f9fb; border-bottom: 1px solid #e3e8ec; }
.report-group-card h2 { color: #26313a; font-size: 17px; }
.report-group-card header span { color: #68727a; font-size: 12px; font-weight: bold; }
.report-group-card .table-wrap { border: 0; border-radius: 0; }
.ranking-table { min-width: 960px; }
.run-lap-table { min-width: 980px; }
.run-lap-table td.is-best-lap {
    background: #eaf3fc;
    color: #155d99;
    font-weight: bold;
}
.run-lap-heatmap-table { min-width: 980px; }
.run-lap-heatmap-table td {
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.run-lap-heatmap-table td.has-value {
    transition: background-color .15s ease, color .15s ease;
}
.run-lap-heatmap-table td.is-empty {
    color: #8a949c;
    background: #f8fafb;
}
.run-lap-heatmap-table tr.is-zero-lap td {
    opacity: .72;
}
.report-heatmap-section .heatmap-legend {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    color: #5e6871;
    font-size: 12px;
    font-weight: bold;
}
.report-heatmap-section .heatmap-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.report-heatmap-section .heatmap-legend i {
    width: 18px;
    height: 12px;
    border-radius: 3px;
    background: #1f75bd;
}
.report-heatmap-section .heatmap-legend .heatmap-legend-slow {
    background: #edf4fb;
    border: 1px solid #cfd9e2;
}
.report-gap-chart {
    padding: 12px;
    background: #f7f9fb;
    border: 1px solid #e3e8ec;
    border-radius: 8px;
}
.report-gap-chart svg {
    display: block;
    width: 100%;
    height: auto;
    min-height: 260px;
    background: #ffffff;
    border: 1px solid #e3e8ec;
    border-radius: 7px;
}
.report-gap-grid-line {
    stroke: #e2e7eb;
    stroke-width: 1;
}
.report-gap-axis-label,
.report-gap-lap-label {
    fill: #6d7780;
    font-size: 12px;
    font-weight: bold;
}
.report-gap-lap-label {
    text-anchor: middle;
}
.report-gap-line {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .9;
}
.report-gap-chart-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px 13px;
    max-width: 620px;
}
.report-gap-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #59636c;
    font-size: 11px;
    font-weight: bold;
}
.report-gap-chart-legend i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: 0 0 10px;
}
.pace-distribution-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #59636c;
    font-size: 11px;
    font-weight: bold;
}
.pace-distribution-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.pace-distribution-legend i {
    display: inline-block;
    width: 24px;
    height: 8px;
    border-radius: 999px;
    background: #1f75bd;
}
.pace-distribution-legend .pace-legend-average {
    width: 4px;
    height: 18px;
    background: #d69a22;
}
.pace-distribution-list {
    display: grid;
    gap: 10px;
}
.pace-distribution-row {
    display: grid;
    grid-template-columns: minmax(170px, 240px) minmax(220px, 1fr) minmax(250px, 330px);
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #e3e8ec;
    border-radius: 8px;
}
.pace-driver {
    display: grid;
    gap: 3px;
}
.pace-driver strong {
    color: #17212b;
    font-size: 14px;
}
.pace-driver span {
    color: #6d7780;
    font-size: 11px;
    font-weight: bold;
}
.pace-range {
    position: relative;
    height: 26px;
}
.pace-range-track,
.pace-range-bar,
.pace-average-marker {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.pace-range-track {
    left: 0;
    right: 0;
    height: 8px;
    background: #e5ebf0;
    border-radius: 999px;
}
.pace-range-bar {
    min-width: 8px;
    height: 12px;
    background: linear-gradient(90deg, #1f75bd, #6aa3d8);
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(31, 117, 189, .22);
}
.pace-average-marker {
    z-index: 1;
    width: 4px;
    height: 24px;
    margin-left: -2px;
    background: #d69a22;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #ffffff;
}
.pace-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    color: #17212b;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}
.pace-values span {
    display: grid;
    gap: 2px;
}
.pace-values b {
    color: #66717a;
    font-size: 10px;
    text-transform: uppercase;
}
.run-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.run-analysis-grid article { padding: 14px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 8px; }
.run-analysis-grid h3 { margin-bottom: 12px; color: #26313a; font-size: 16px; }
.position-chart { margin-bottom: 14px; padding: 14px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 8px; }
.position-chart-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.position-chart-header h3 { color: #26313a; font-size: 16px; }
.position-chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 12px; }
.position-chart-legend span { display: inline-flex; align-items: center; gap: 6px; color: #59636c; font-size: 11px; font-weight: bold; }
.position-chart-legend span::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.position-chart svg { display: block; width: 100%; height: auto; min-height: 210px; background: #ffffff; border: 1px solid #e3e8ec; border-radius: 7px; }
.position-chart-grid line { stroke: #e2e7eb; stroke-width: 1; }
.position-chart-axis text { fill: #6d7780; font-size: 12px; font-weight: bold; }
.position-line { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.position-chart-points { fill: currentColor; stroke: #ffffff; stroke-width: 2; }
.position-chart .driver-1 { color: #1f75bd; }
.position-chart .driver-2 { color: #2f9e44; }
.position-chart .driver-3 { color: #d39a25; }
.position-chart .driver-4 { color: #c45a9a; }
.run-bars { display: grid; gap: 10px; }
.run-bars div { display: grid; grid-template-columns: 110px minmax(0, 1fr) 54px; align-items: center; gap: 10px; }
.run-bars span { overflow: hidden; color: #374149; font-size: 12px; font-weight: bold; text-overflow: ellipsis; white-space: nowrap; }
.run-bars strong { display: block; height: 8px; border-radius: 999px; background: #1f75bd; }
.run-bars em { color: #68727a; font-size: 11px; font-style: normal; text-align: right; }
.run-analysis-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.run-analysis-notes div { display: grid; gap: 4px; padding: 12px; background: #ffffff; border: 1px solid #e3e8ec; border-radius: 7px; }
.run-analysis-notes strong { color: #26313a; font-size: 13px; }
.run-analysis-notes span { color: #68727a; font-size: 12px; line-height: 1.45; }
.report-analysis-chart { margin-bottom: 14px; padding: 14px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 8px; }
.report-analysis-chart-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.report-analysis-chart-header h3,
.report-analysis-card h3 { color: #16212b; font-size: 16px; line-height: 1.3; }
.report-analysis-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 13px; }
.report-analysis-legend span { display: inline-flex; align-items: center; gap: 6px; color: #59636c; font-size: 11px; font-weight: bold; }
.report-analysis-legend i { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; }
.report-position-chart { display: block; width: 100%; height: auto; min-height: 230px; background: #ffffff; border: 1px solid #e3e8ec; border-radius: 7px; }
.report-position-grid-line { stroke: #dfe5e9; stroke-width: 1; }
.report-position-axis-label,
.report-position-round-label { fill: #69737c; font-size: 16px; font-weight: bold; }
.report-position-round-label { text-anchor: middle; }
.report-position-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.report-position-point { stroke: #ffffff; stroke-width: 3; }
.report-analysis-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.report-analysis-card { padding: 14px; background: #f7f9fb; border: 1px solid #e3e8ec; border-radius: 8px; }
.report-analysis-card h3 { margin-bottom: 12px; }
.report-analysis-bar-row { display: grid; grid-template-columns: 112px minmax(0, 1fr) 62px; align-items: center; gap: 10px; margin-bottom: 10px; }
.report-analysis-bar-row:last-child { margin-bottom: 0; }
.report-analysis-bar-row span { overflow: hidden; color: #16212b; font-size: 12px; font-weight: bold; text-overflow: ellipsis; white-space: nowrap; }
.report-analysis-bar-row div { height: 8px; overflow: hidden; background: #e4eaf0; border-radius: 999px; }
.report-analysis-bar-row i { display: block; height: 100%; background: #1f75bd; border-radius: inherit; }
.report-analysis-bar-row strong { color: #43505a; font-size: 11px; font-weight: normal; text-align: right; }

@media (max-width: 1050px) {
    .report-layout { grid-template-columns: 1fr; }
    .report-side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .report-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 850px) {
    .report-dashboard-header,
    .report-class-block header,
    .report-heat-category-toggle > summary { align-items: stretch; flex-direction: column; }
    .report-toolbar-tabs { display: none; }
    .tabs { display: none; }
    .report-run-group-toggle > summary,
    .report-run-group-card .report-run-strip a {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .event-header__grid,
    .dashboard-card__header,
    .dashboard-card__header--stats {
        align-items: flex-start;
        flex-direction: column;
    }
    .overview-layout {
        grid-template-columns: 1fr;
    }
    .module-grid,
    .report-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-heat-category-toggle > summary > .phase__title {
        width: 100%;
        display: grid;
        gap: 3px;
    }
    .report-heat-category-toggle > summary > .phase__title strong { font-size: 14px; }
    .report-heat-category-toggle > summary > .phase__title em { font-size: 9px; }
    .phase__tools {
        justify-content: space-between;
    }
    .report-run-group-toggle > summary > .group__title {
        display: grid;
        gap: 3px;
    }
    .group__title strong { font-size: 13px; }
    .group__title small { font-size: 9px; }
    .group__tools { gap: 8px; }
    .group__tools .chip { display: none; }
    .run-list { padding: 8px; }
    .run-button {
        min-height: 40px;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 9px;
        padding: 3px;
    }
    .run-button .chip { display: none; }
    .run-button__icon { width: 35px; height: 35px; }
    .report-run-item-badge,
    .report-run-group-badge {
        display: none;
    }
    .report-hero-actions { justify-content: flex-start; }
    .report-dashboard-grid { gap: 14px; margin-top: 14px; }
    .report-dashboard-column { gap: 14px; }
    .report-summary-grid,
    .run-result-summary,
    .report-quick-grid,
    .report-list,
    .report-two-column,
    .report-link-matrix,
    .report-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-overview-table { min-width: 0; }
    .run-result-table,
    .report-detail-table,
    .report-participants-table,
    .report-group-table,
    .ranking-table,
    .run-lap-table { min-width: 0; }
    .report-manufacturer-grid {
        grid-template-columns: 1fr;
    }
    .report-manufacturer-card-body {
        grid-template-columns: 1fr;
    }
    .report-overview-item,
    .report-overview-item-primary,
    .report-overview-item-secondary {
        grid-template-columns: 32px minmax(0, 1fr) auto;
        min-height: 0;
    }
    .report-overview-item-badge {
        display: none;
    }
    .report-overview-entry {
        align-items: stretch;
        flex-direction: column;
    }
    .report-overview-entry-actions {
        width: 100%;
        justify-content: stretch;
    }
    .report-overview-action {
        flex: 1 1 0;
        min-width: 0;
    }
    .ranking-table {
        display: block;
        width: 100%;
        max-width: 100%;
        table-layout: auto;
    }
    .ranking-table colgroup {
        display: none;
    }
    .run-analysis-grid,
    .report-analysis-grid,
    .run-analysis-notes { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .report-dashboard-header { padding: 16px; }
    .report-dashboard-header h1 { font-size: 24px; }
    .report-dashboard-grid { gap: 12px; margin-top: 12px; }
    .event-header {
        padding: 18px 0 12px;
    }
    .event-header__copy h1 {
        font-size: 24px;
    }
    .filter-control {
        padding: 12px 14px;
    }
    .report-download-stack .btn {
        flex: 0 0 auto;
        min-height: 0;
        padding: 8px 12px;
    }
    .report-summary-grid,
    .run-result-summary,
    .report-quick-grid,
    .report-list,
    .report-two-column,
    .report-link-matrix,
    .report-manufacturer-grid,
    .module-grid,
    .report-side { grid-template-columns: 1fr; }
    .overview-row,
    .participant-open,
    .feature-card,
    .module-card {
        min-height: 0;
        padding: 11px 12px;
    }
    .report-card { min-height: 0; }
    .report-overview-item,
    .report-overview-item-primary,
    .report-overview-item-secondary {
        gap: 10px;
        padding: 11px 12px;
    }
    .report-heat-category-toggle > summary {
        min-height: 62px;
        padding: 12px 13px;
    }
    .report-heat-category-card .report-class-list {
        padding: 12px 13px 13px;
    }
    .report-run-group-toggle > summary {
        min-height: 56px;
        padding: 11px 11px;
    }
    .run-list { padding: 8px; }
    .run-button {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 9px;
        min-height: 40px;
        padding: 3px;
    }
    .run-button .chip { display: none; }
    .run-button__icon { width: 35px; height: 35px; }
}

@media (max-width: 700px) {
    .run-result-table,
    .report-detail-table,
    .report-group-table,
    .ranking-table,
    .run-lap-table { min-width: 0; }
    .run-result-table thead,
    .report-detail-table thead,
    .report-group-table thead,
    .ranking-table thead,
    .run-lap-table thead { display: none; }
    .run-result-table tbody,
    .run-result-table tr,
    .run-result-table td,
    .report-detail-table tbody,
    .report-detail-table tr,
    .report-detail-table td,
    .report-group-table tbody,
    .report-group-table tr,
    .report-group-table td,
    .ranking-table tbody,
    .ranking-table tr,
    .ranking-table td,
    .run-lap-table tbody,
    .run-lap-table tr,
    .run-lap-table td { display: block; width: 100%; }
    .ranking-table tbody,
    .ranking-table tr,
    .report-group-table tbody,
    .report-group-table tr {
        box-sizing: border-box;
        max-width: 100%;
    }
    .run-result-table tr,
    .report-detail-table tr,
    .report-group-table tr,
    .ranking-table tr,
    .run-lap-table tr { padding: 13px 14px; border-bottom: 1px solid #e2e7ea; }
    .run-result-table tr:last-child,
    .report-detail-table tr:last-child,
    .report-group-table tr:last-child,
    .ranking-table tr:last-child,
    .run-lap-table tr:last-child { border-bottom: 0; }
    .run-result-table td,
    .report-detail-table td,
    .report-group-table td,
    .ranking-table td,
    .run-lap-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: start; gap: 10px; padding: 5px 0; border: 0; text-align: left; }
    .report-schedule-table {
        display: block;
        width: 100%;
        max-width: 100%;
        table-layout: auto;
    }
    .report-group-table {
        display: block;
        width: 100%;
        max-width: 100%;
        table-layout: auto;
    }
    .report-group-card .table-wrap {
        box-sizing: border-box;
        padding: 18px;
        overflow: hidden;
    }
    .report-schedule-table colgroup {
        display: none;
    }
    .report-group-table colgroup {
        display: none;
    }
    .report-schedule-table tbody,
    .report-schedule-table tr {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }
    .report-group-table tbody,
    .report-group-table tr {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }
    .report-schedule-table td {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 8px;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        padding: 4px 0;
    }
    .report-schedule-table td:first-child {
        display: grid;
        grid-template-columns: 74px minmax(0, 1fr);
        align-items: start;
        justify-content: stretch;
        gap: 8px;
        padding: 4px 0;
    }
    .report-schedule-table td:empty {
        display: none;
    }
    .report-schedule-table td:nth-child(4),
    .report-schedule-table td:nth-child(5) {
        align-items: center;
    }
    .ranking-table td {
        grid-template-columns: 72px minmax(0, 1fr);
        box-sizing: border-box;
        width: 100%;
    }
    .ranking-table tr.is-winner td,
    .report-detail-table tr.is-winner td {
        background: transparent;
    }
    .ranking-points-info-content {
        display: block;
        align-self: start;
        margin: 0;
        padding: 0;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
        line-height: 1.25;
    }
    .ranking-heat-info-content {
        display: inline;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
        line-height: 1.25;
    }
    .ranking-points-info-content br {
        display: none;
    }
    .ranking-heat-info-content br {
        display: none;
    }
    .ranking-points-info-content > * {
        display: inline;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .ranking-heat-info-content > * {
        display: inline;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .run-result-table td::before,
    .report-detail-table td::before,
    .report-group-table td::before,
    .ranking-table td::before,
    .run-lap-table td::before { content: attr(data-label); padding-top: 3px; color: #778089; font-size: 10px; font-weight: bold; line-height: 1.25; text-transform: uppercase; }
    .run-result-table td:first-child,
    .report-detail-table td:first-child,
    .report-group-table td:first-child,
    .ranking-table td:first-child,
    .run-lap-table td:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
    .run-result-table td:first-child::before,
    .report-detail-table td:first-child::before,
    .report-group-table td:first-child::before,
    .ranking-table td:first-child::before,
    .run-lap-table td:first-child::before { content: attr(data-label); }
    .report-schedule-table td:first-child {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 8px;
        padding: 4px 0;
    }
    .ranking-table tr.ranking-heat-details-row {
        width: 100%;
        padding: 0;
        border-bottom: 0;
    }
    .ranking-table .ranking-heat-details-row > td {
        display: block;
        padding: 0;
        width: 100%;
        max-width: none;
    }
    .ranking-table .ranking-heat-details-row > td::before {
        display: none;
        content: "";
    }
    .ranking-heat-details-body {
        box-sizing: border-box;
        display: block;
        width: 100%;
        max-width: none;
        margin: 8px 0 12px;
        padding: 8px;
        border-left: 0;
        border-right: 0;
        border-radius: 7px;
        overflow: visible;
    }
    .ranking-heat-table-wrap {
        display: block;
        width: 100%;
        overflow-x: visible;
    }
    .ranking-heat-table {
        display: block;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
    }
    .ranking-heat-table thead {
        display: none;
    }
    .ranking-heat-table tbody,
    .ranking-heat-table tr {
        display: block;
        box-sizing: border-box;
        width: 100%;
    }
    .ranking-heat-table tr {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
        column-gap: 10px;
        row-gap: 6px;
        margin-bottom: 8px;
        padding: 8px 10px;
        border: 1px solid #e2e7ea;
        border-radius: 7px;
    }
    .ranking-heat-table tr:last-child {
        margin-bottom: 0;
    }
    .ranking-heat-table td,
    .ranking-heat-table td:first-child {
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding: 4px 0;
        border: 0;
        text-align: left;
        min-width: 0;
        font-size: 12px;
    }
    .ranking-heat-table td > * {
        min-width: 0;
    }
    .ranking-heat-table td::before,
    .ranking-heat-table td:first-child::before {
        display: block;
        content: attr(data-label);
        color: #778089;
        font-size: 9px;
        font-weight: bold;
        line-height: 1.15;
        margin-bottom: 3px;
        text-transform: uppercase;
        white-space: normal;
    }
    .run-lap-table td:first-child { display: block; }
    .run-lap-table td:first-child::before { display: none; }
    .run-lap-table td.is-best-lap { margin: 2px -6px; padding: 7px 6px; border-radius: 6px; }
    .report-position { min-width: 34px; height: 34px; font-size: 13px; }
    .run-bars div { grid-template-columns: 1fr 48px; gap: 5px 10px; }
    .run-bars span { grid-column: 1 / -1; white-space: normal; }
    .run-bars strong { height: 7px; }
    .run-analysis-grid article { padding: 12px; }
    .run-analysis-notes { gap: 8px; }
    .position-chart { padding: 10px; }
    .position-chart-header { flex-direction: column; gap: 8px; }
    .position-chart-legend { justify-content: flex-start; }
    .position-chart svg { min-height: 180px; }
    .pace-distribution-row { grid-template-columns: 1fr; }
    .pace-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .report-analysis-chart { padding: 10px; }
    .report-analysis-chart-header { flex-direction: column; gap: 8px; }
    .report-analysis-legend { justify-content: flex-start; }
    .report-position-chart { min-height: 190px; }
    .report-analysis-bar-row { grid-template-columns: 1fr 54px; gap: 5px 10px; }
    .report-analysis-bar-row span { grid-column: 1 / -1; white-space: normal; }
    .report-analysis-card { padding: 12px; }
    .report-group-card header { align-items: flex-start; flex-direction: column; gap: 4px; }
    .report-section .table-wrap,
    .report-group-card .table-wrap,
    .ranking-heat-table-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .report-group-card .table-wrap {
        padding: 10px 10px 12px;
        overflow: auto;
    }

    .run-result-table,
    .report-detail-table,
    .report-group-table,
    .ranking-table,
    .run-lap-table,
    .report-schedule-table {
        display: table;
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
    }

    .report-schedule-table { min-width: 820px; }
    .report-group-table { min-width: 760px; }
    .ranking-table { min-width: 860px; }
    .run-result-table,
    .report-detail-table { min-width: 820px; }
    .run-lap-table { min-width: 760px; }

    .run-result-table thead,
    .report-detail-table thead,
    .report-group-table thead,
    .ranking-table thead,
    .run-lap-table thead,
    .report-schedule-table thead {
        display: table-header-group;
    }

    .run-result-table tbody,
    .report-detail-table tbody,
    .report-group-table tbody,
    .ranking-table tbody,
    .run-lap-table tbody,
    .report-schedule-table tbody {
        display: table-row-group;
    }

    .run-result-table tr,
    .report-detail-table tr,
    .report-group-table tr,
    .ranking-table tr,
    .run-lap-table tr,
    .report-schedule-table tr {
        display: table-row;
        padding: 0;
        border-bottom: 1px solid #e2e7ea;
    }

    .run-result-table td,
    .report-detail-table td,
    .report-group-table td,
    .ranking-table td,
    .run-lap-table td,
    .report-schedule-table td {
        display: table-cell;
        width: auto;
        min-width: 0;
        padding: 7px 10px;
        border: 0;
        text-align: left;
        vertical-align: top;
    }

    .run-result-table td::before,
    .report-detail-table td::before,
    .report-group-table td::before,
    .ranking-table td::before,
    .run-lap-table td::before,
    .report-schedule-table td::before {
        display: none;
        content: none;
    }

    .run-result-table td:first-child,
    .report-detail-table td:first-child,
    .report-group-table td:first-child,
    .ranking-table td:first-child,
    .run-lap-table td:first-child,
    .report-schedule-table td:first-child {
        display: table-cell;
        gap: 0;
        padding-bottom: 7px;
    }

    .report-group-table td:first-child,
    .report-schedule-table td:first-child {
        grid-template-columns: none;
        align-items: initial;
        justify-content: initial;
    }

    .ranking-heat-details-body {
        padding: 10px;
    }

    .ranking-heat-table tr {
        grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
        column-gap: 8px;
        row-gap: 4px;
        margin-bottom: 6px;
        padding: 6px 8px;
    }

    .ranking-heat-table td,
    .ranking-heat-table td:first-child {
        font-size: 11px;
    }

    .ranking-heat-table td::before,
    .ranking-heat-table td:first-child::before {
        font-size: 8px;
    }
}


/* Admin entry list */
.admin-entry-list-header { margin-bottom: 14px; }
.admin-entry-list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 13px 16px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.admin-entry-list-meta { display: grid; gap: 3px; }
.admin-entry-list-meta strong { color: #26313a; font-size: 13px; }
.admin-entry-list-meta span { color: #707981; font-size: 11px; }
.admin-entry-list-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.admin-entry-list-table { overflow: hidden; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.admin-participants-table { min-width: 1120px; }
.admin-participants-table .admin-class-row td { padding: 0; background: #e4e6e8; border-bottom: 1px solid #d1d6da; }
.admin-class-row div { display: grid; gap: 7px; padding: 12px 14px; }
.admin-class-row strong { color: #374149; font-size: 13px; }
.admin-class-row span { color: #606a72; font-size: 11px; font-style: italic; }
.admin-participants-table tr.is-highlighted td { background: #fff4a3; }
.admin-entry-status { display: inline-flex; align-items: center; gap: 6px; color: #59636c; font-size: 10px; font-weight: bold; white-space: nowrap; }
.admin-entry-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #a5adb5; }
.admin-entry-status.is-paid::before { background: #28a745; }
.admin-entry-status.is-open::before { background: #e53935; }
.admin-entry-status.is-refunded::before { background: #d39a25; }
.admin-entry-status.is-refunded { color: #7a5b18; }
.admin-payment-status { display: grid; gap: 5px; min-width: 112px; }
.admin-payment-status select { min-height: 28px; padding: 4px 24px 4px 7px; border: 1px solid #cfd7dd; border-radius: 5px; background: #ffffff; color: #26313a; font-size: 10px; }

.participant-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.participant-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 5px 8px; font-size: 10px; line-height: 1; text-align: center; white-space: nowrap; }

.participant-move { border-color: #c9dfef; color: #1f75bd; }
.participant-move:hover { background: #eef6fc; border-color: #9fc7e5; }
.participant-remove { background: #fff8f8; }


@media (max-width: 900px) {
    .admin-entry-list-toolbar { align-items: stretch; flex-direction: column; }
    .admin-entry-list-actions { justify-content: flex-start; }
    .admin-participants-table { min-width: 0; }
}
@media (max-width: 700px) {
    .admin-participants-table .admin-class-row td { display: block; }
    .admin-participants-table .admin-class-row td::before { display: none; }
    .participant-actions { justify-content: flex-start; }
    .participant-actions .btn { flex: 1 1 86px; text-align: center; }
}


/* Admin event management */
.admin-events-header { margin-bottom: 14px; }
.admin-events-list .entries-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-events-table { min-width: 1220px; }
.admin-event-config { display: grid; gap: 4px; min-width: 160px; }
.admin-event-config span { color: #626c74; font-size: 10px; white-space: nowrap; }
.admin-event-config strong { color: #26313a; font-size: 12px; }
.admin-event-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 520px; margin-left: auto; }
.admin-event-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 6px 9px; font-size: 10px; line-height: 1; text-align: center; text-decoration: none; white-space: nowrap; }
.admin-event-actions .btn-icon { flex: 0 0 auto; width: 13px; height: 13px; margin-right: 5px; }
.admin-documents-panel { width: min(100%, 920px); max-height: calc(100vh - 36px); overflow-y: auto; }
.admin-documents-form .form-validation-message { margin: 14px 18px 0; }
.admin-documents-body { display: grid; gap: 18px; padding: 18px; }
.admin-documents-section { padding: 17px; background: #f5f6f7; border: 1px solid #e1e5e8; border-radius: 7px; }
.admin-documents-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.admin-documents-section-header h3 { margin-bottom: 3px; color: #374149; font-size: 18px; }
.admin-documents-section-header p { color: #68727a; font-size: 12px; line-height: 1.45; }
.admin-documents-section-header > span { color: #1f75bd; font-size: 11px; font-weight: bold; white-space: nowrap; }
.admin-documents-list { display: grid; gap: 8px; }
.admin-document-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 7px; }
.admin-document-item strong { display: block; overflow: hidden; color: #26313a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-document-item span { display: block; margin-top: 3px; color: #737c84; font-size: 10px; }
.admin-document-item .check-field { margin: 0; padding: 0; background: transparent; border: 0; }
.admin-document-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-document-actions .btn { min-height: 28px; padding: 5px 8px; font-size: 10px; white-space: nowrap; }
.admin-documents-upload-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 14px;
    align-items: stretch;
}
.admin-documents-upload-grid > * {
    min-width: 0;
}
.admin-file-dropzone,
.admin-documents-meta {
    height: 100%;
}
.admin-documents-meta {
    align-content: start;
}
.admin-documents-meta { gap: 10px; }
.admin-documents-meta.is-disabled { opacity: .62; }
.admin-document-target-field { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; }
.admin-document-target-field legend { margin-bottom: 2px; color: #33404a; font-size: 12px; font-weight: bold; }
.admin-document-target-field .check-field { margin: 0; padding: 0; gap: 7px; background: transparent; border: 0; }
.admin-document-target-field.has-error {
    padding: 10px 12px 12px;
    border: 1px solid #c62828;
    border-radius: 6px;
    background: #fff7f7;
}
.admin-fields-panel,
.admin-articles-panel { width: min(100%, 900px); max-height: calc(100vh - 36px); overflow-y: auto; }
.admin-fields-form .form-validation-message,
.admin-articles-form .form-validation-message { margin: 14px 18px 0; }
.admin-fields-body,
.admin-articles-body { display: grid; gap: 18px; padding: 18px; }
.admin-fields-section,
.admin-articles-section { padding: 17px; background: #f5f6f7; border: 1px solid #e1e5e8; border-radius: 7px; }
.admin-fields-section-header,
.admin-articles-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.admin-fields-section-header h3,
.admin-articles-section-header h3 { margin-bottom: 3px; color: #374149; font-size: 18px; }
.admin-fields-section-header p,
.admin-articles-section-header p { color: #68727a; font-size: 12px; line-height: 1.45; }
.admin-fields-section-header > span,
.admin-articles-section-header > span { color: #1f75bd; font-size: 11px; font-weight: bold; white-space: nowrap; }
.admin-fields-list,
.admin-articles-list { display: grid; gap: 8px; }
.admin-field-item,
.admin-article-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 7px; }
.admin-field-item strong,
.admin-article-item strong { display: block; overflow: hidden; color: #26313a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-field-item span,
.admin-article-item span { display: block; margin-top: 3px; color: #737c84; font-size: 10px; }
.admin-field-item select { min-height: 32px; padding: 5px 8px; border: 1px solid #cfd7dd; border-radius: 5px; background: #ffffff; color: #26313a; font-size: 11px; }
.admin-field-item .check-field { margin: 0; padding: 0; background: transparent; border: 0; }
.admin-field-actions,
.admin-article-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-field-actions .btn,
.admin-article-actions .btn { min-height: 28px; padding: 5px 8px; font-size: 10px; white-space: nowrap; }
.admin-fields-create-grid,
.admin-articles-create-grid { gap: 10px 14px; }
.admin-field-required,
.admin-article-required { grid-column: 1 / -1; margin: 0; }
.admin-event-edit-panel { width: min(100%, 920px); max-height: calc(100vh - 36px); overflow-y: auto; }
.admin-event-edit-form .form-validation-message { margin: 14px 18px 0; }
.admin-event-edit-body { display: grid; gap: 18px; padding: 18px; }
.admin-event-edit-section { padding: 17px; background: #f5f6f7; border: 1px solid #e1e5e8; border-radius: 7px; }
.admin-event-edit-section-header { margin-bottom: 13px; }
.admin-event-edit-section-header h3 { margin-bottom: 3px; color: #374149; font-size: 18px; }
.admin-event-edit-grid { gap: 10px 14px; }
.admin-event-edit-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin-bottom: 14px; }
.admin-event-edit-options .check-field,
.admin-event-paypal-toggle { margin: 0; padding: 0; background: transparent; border: 0; }
@media (max-width: 680px) {
    .admin-event-edit-body { padding: 14px; }
    .admin-event-edit-section { padding: 14px; }
    .admin-event-edit-options { grid-template-columns: 1fr; }
}
.admin-event-text-panel { width: min(100%, 980px); max-height: calc(100vh - 36px); overflow-x: hidden; overflow-y: auto; }
.admin-event-text-form .form-validation-message { margin: 14px 18px 0; }
.admin-event-text-body { display: grid; gap: 0; padding: 18px; }
.admin-event-text-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.admin-event-text-tabs button { min-height: 34px; padding: 7px 12px; border: 1px solid #cfd7dd; border-radius: 6px; background: #ffffff; color: #33404a; font-size: 12px; font-weight: bold; cursor: pointer; }
.admin-event-text-tabs button.is-active { border-color: #1f75bd; background: #eaf3fc; color: #155d99; }
.admin-event-text-body rte-box,
.admin-event-text-body .richtexteditor,
.admin-event-text-body .rte-container,
.richtext-editor { box-sizing: border-box; width: 100% !important; max-width: 100% !important; min-height: 260px; }
.admin-event-text-body rte-box,
.admin-event-text-body .richtexteditor,
.admin-event-text-body .rte-container { overflow-x: auto; }

@media (max-width: 900px) {
    .admin-events-table { min-width: 0; }
    .admin-events-list .entries-list-heading { align-items: flex-start; flex-direction: column; }
    .admin-event-actions { justify-content: flex-start; max-width: none; margin-left: 0; }
    .admin-document-item { grid-template-columns: 1fr; }
    .admin-document-actions { justify-content: flex-start; }
    .admin-documents-upload-grid { grid-template-columns: 1fr; }
    .admin-field-item { grid-template-columns: 1fr; }
    .admin-article-item { grid-template-columns: 1fr; }
    .admin-field-actions { justify-content: flex-start; }
    .admin-article-actions { justify-content: flex-start; }
}


/* Admin members */
.admin-members-header { margin-bottom: 14px; }
.admin-member-add-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 520px); align-items: start; gap: 18px; margin-bottom: 14px; padding: 16px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.035); }
.admin-member-add-panel h2 { margin-bottom: 4px; color: #26313a; font-size: 18px; }
.admin-member-add-panel p { color: #68727a; font-size: 12px; line-height: 1.45; }
.admin-member-add-form { display: grid; gap: 6px; }
.admin-member-add-form label { color: #747e86; font-size: 10px; font-weight: bold; text-transform: uppercase; }
.admin-member-add-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.admin-member-add-control input { min-height: 38px; padding: 8px 10px; border: 1px solid #cfd7dd; border-radius: 6px; background: #ffffff; color: #26313a; font-size: 12px; }
.admin-members-table { min-width: 1120px; }
.admin-members-table td:nth-child(1),
.admin-members-table th:nth-child(1) { width: 42px; }
.admin-members-table td:nth-child(2),
.admin-members-table th:nth-child(2) { width: 82px; }
.admin-members-table td:nth-child(8),
.admin-members-table th:nth-child(8) { width: 120px; }
.admin-member-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-member-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 5px 8px; font-size: 10px; line-height: 1; white-space: nowrap; }
.admin-member-toggle { border-color: #c9dfef; color: #1f75bd; }
.admin-member-toggle:hover { background: #eef6fc; border-color: #9fc7e5; }

@media (max-width: 900px) {
    .admin-member-add-panel { grid-template-columns: 1fr; }
    .admin-members-table { min-width: 0; }
    .admin-member-actions { justify-content: flex-start; }
}
@media (max-width: 700px) {
    .admin-member-add-control { grid-template-columns: 1fr; }
    .admin-member-actions .btn { flex: 1; text-align: center; }
}
@media (max-width: 700px) {
    .admin-event-actions .btn { flex: 1 1 126px; text-align: center; }
    .admin-documents-body { padding: 14px; }
    .admin-documents-section { padding: 14px; }
    .admin-documents-section-header { flex-direction: column; gap: 6px; }
    .admin-document-actions .btn { flex: 1; text-align: center; }
    .admin-fields-body { padding: 14px; }
    .admin-fields-section { padding: 14px; }
    .admin-fields-section-header { flex-direction: column; gap: 6px; }
    .admin-field-actions .btn { flex: 1; text-align: center; }
    .admin-articles-body { padding: 14px; }
    .admin-articles-section { padding: 14px; }
    .admin-articles-section-header { flex-direction: column; gap: 6px; }
    .admin-article-actions .btn { flex: 1; text-align: center; }
    .admin-event-text-body { padding: 14px; }
    .richtext-editor { min-height: 210px; }
}


/* Admin mail overlay */
.admin-mail-panel { width: min(100%, 820px); max-height: calc(100vh - 36px); overflow-y: auto; }
.admin-mail-form .form-validation-message { margin: 14px 18px 0; }
.admin-mail-body { display: grid; gap: 18px; padding: 18px; }
.admin-mail-group { margin: 0; padding: 0; border: 0; }
.admin-mail-group legend { margin-bottom: 10px; color: #374149; font-size: 17px; font-weight: normal; }
.admin-mail-group .check-field { margin-bottom: 7px; padding: 0; background: transparent; border: 0; }
.admin-mail-group .check-field span { font-size: 12px; }
.admin-mail-message-fields .form-grid { gap: 10px 14px; }
.admin-mail-message-fields textarea { min-height: 190px; resize: vertical; }

.admin-file-dropzone { position: relative; display: grid; gap: 10px; padding: 16px; border: 1px dashed #aebac3; border-radius: 7px; background: #f7f9fa; transition: border-color .15s ease, background .15s ease; }
.admin-file-dropzone.is-dragging { background: #eef6fc; border-color: #1f75bd; }
.admin-file-dropzone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.admin-file-dropzone-content { display: grid; justify-items: center; gap: 6px; color: #59636c; text-align: center; }
.admin-file-dropzone-content strong { color: #26313a; font-size: 13px; }
.admin-file-dropzone-content span { font-size: 11px; }
.admin-file-selected { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; background: #ffffff; border: 1px solid #dfe4e8; border-radius: 6px; }
.admin-file-selected[hidden] { display: none; }
.admin-file-selected span { overflow: hidden; color: #26313a; font-size: 12px; font-weight: bold; text-overflow: ellipsis; white-space: nowrap; }


@media (max-width: 700px) {
    .admin-mail-body { padding: 14px; }
    .admin-mail-message-fields textarea { min-height: 150px; }
}


/* Admin import overlay */
.admin-import-panel { width: min(100%, 860px); max-height: calc(100vh - 36px); overflow-y: auto; }
.admin-import-form .form-validation-message { margin: 14px 18px 0; }
.admin-import-body { display: grid; gap: 18px; padding: 18px; }
.admin-import-help,
.admin-import-upload { padding: 17px; background: #f5f6f7; border: 1px solid #e1e5e8; border-radius: 7px; }
.admin-import-help h3,
.admin-import-upload h3 { margin-bottom: 12px; color: #374149; font-size: 18px; }
.admin-import-help p,
.admin-import-upload p,
.admin-import-help li,
.admin-import-help dd { color: #4c5660; font-size: 12px; line-height: 1.55; }
.admin-import-help ul { margin: 5px 0 18px 18px; }
.admin-import-help dl { display: grid; gap: 5px; margin: 12px 0 18px; }
.admin-import-help dl div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 8px; }
.admin-import-help dt { color: #26313a; font-size: 12px; font-weight: bold; }
.admin-import-sections { margin: 14px 0 18px; padding: 12px; background: #ffffff; border: 1px solid #dde5ec; border-radius: 6px; }
.admin-import-sections h4 { margin: 0 0 8px; color: #26313a; font-size: 13px; }
.admin-import-section-list { display: grid; gap: 6px; }
.admin-import-section-list > div { display: grid; grid-template-columns: minmax(70px, auto) minmax(0, 1fr); gap: 10px; align-items: center; font-size: 12px; }
.admin-import-section-list code { padding: 4px 7px; background: #f2f5f7; border-radius: 4px; color: #26313a; font-family: Consolas, monospace; font-size: 11px; letter-spacing: 0; }
.admin-import-upload .admin-file-dropzone { margin-top: 12px; background: #ffffff; }
.admin-import-upload .admin-file-dropzone.is-dragging { background: #eef6fc; border-color: #1f75bd; }

@media (max-width: 700px) {
    .admin-import-body { padding: 14px; }
    .admin-import-help dl div { grid-template-columns: 1fr; gap: 2px; }
}

/* Dark mode */
body.dark-mode {
    background: #0f141a;
    color: #e6edf3;
    color-scheme: dark;
}

body.dark-mode a {
    color: #8ab4ff;
}

body.dark-mode .top-header,
body.dark-mode .main-nav,
body.dark-mode .sub-nav,
body.dark-mode .mobile-menu {
    background: #0f1720;
    color: #e6edf3;
}

body.dark-mode .top-header,
body.dark-mode .main-nav,
body.dark-mode .sub-nav,
body.dark-mode .mobile-menu,
body.dark-mode .header-actions,
body.dark-mode .header-action-row,
body.dark-mode .mobile-menu-header,
body.dark-mode .mobile-menu-footer {
    border-color: #24303d;
}

body.dark-mode .top-header-inner,
body.dark-mode .main-nav-inner,
body.dark-mode .sub-nav-inner,
body.dark-mode .footer-inner,
body.dark-mode .mobile-menu,
body.dark-mode .language-overlay-panel,
body.dark-mode .global-search-panel,
body.dark-mode .entries-dialog-panel {
    color: #e6edf3;
}

body.dark-mode .account-registration-header,
body.dark-mode .entry-event-header,
body.dark-mode .entry-account-notice,
body.dark-mode .form-validation-message,
body.dark-mode .class-selection-prompt,
body.dark-mode .form-section,
body.dark-mode .organizer-message,
body.dark-mode .entry-documents,
body.dark-mode .entry-summary-inner,
body.dark-mode .login-required-panel,
body.dark-mode .login-required-summary,
body.dark-mode .login-panel,
body.dark-mode .account-message,
body.dark-mode .support-summary-card,
body.dark-mode .support-panel,
body.dark-mode .support-links a,
body.dark-mode .event-card,
body.dark-mode .host-card,
body.dark-mode .host-country,
body.dark-mode .championship-card,
body.dark-mode .report-section,
body.dark-mode .report-class-block,
body.dark-mode .report-dashboard-header,
body.dark-mode .section,
body.dark-mode .toolbar,
body.dark-mode .host-toolbar,
body.dark-mode .list-toolbar,
body.dark-mode .report-toolbar,
body.dark-mode .entries-toolbar,
body.dark-mode .entries-list-section,
body.dark-mode .entries-list-heading,
body.dark-mode .admin-events-summary,
body.dark-mode .admin-documents-section,
body.dark-mode .admin-fields-section,
body.dark-mode .admin-articles-section,
body.dark-mode .admin-event-edit-section,
body.dark-mode .admin-import-help,
body.dark-mode .admin-import-upload,
body.dark-mode .admin-mail-group,
body.dark-mode .message-card,
body.dark-mode .global-search-result,
body.dark-mode .language-overlay-options a {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
}

body.dark-mode .entries-toolbar {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

body.dark-mode .report-dashboard-header h1,
body.dark-mode .report-dashboard-header p,
body.dark-mode .report-meta,
body.dark-mode .event-header__copy h1,
body.dark-mode .event-meta {
    color: #e6edf3;
}

body.dark-mode .filter-control,
body.dark-mode .overview-row,
body.dark-mode .participant-open,
body.dark-mode .feature-card,
body.dark-mode .module-card,
body.dark-mode .report-stats span {
    background: #101822;
    border-color: #24303d;
    color: #e6edf3;
    border-radius: 0px;
}

body.dark-mode .filter-control:hover,
body.dark-mode .overview-row:hover,
body.dark-mode .participant-open:hover,
body.dark-mode .feature-card:hover,
body.dark-mode .module-card:hover {
    background: #182232;
    border-color: #3e536a;
}

body.dark-mode .event-meta,
body.dark-mode .filter-control__copy small,
body.dark-mode .overview-row__copy small,
body.dark-mode .participant-open small,
body.dark-mode .feature-card small,
body.dark-mode .module-card small,
body.dark-mode .report-stats small {
    color: #9aa8b5;
}

body.dark-mode .filter-control__copy select,
body.dark-mode .overview-row__copy strong,
body.dark-mode .participant-open strong,
body.dark-mode .feature-card strong,
body.dark-mode .module-card strong,
body.dark-mode .dashboard-card__header h2 {
    color: #e6edf3;
}

body.dark-mode .report-stats strong {
    color: var(--green);
}

body.dark-mode .tabs {
    background: #101822;
    border-color: #293545;
}

body.dark-mode .tabs .tab {
    background: #101822;
    border-right-color: #24303d;
    color: #d8e2ec;
}

body.dark-mode .tabs .tab:hover,
body.dark-mode .tabs .tab.is-active {
    background: #182232;
    color: #8ab4ff;
}

body.dark-mode .tabs .tab b {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .tabs .tab:hover b,
body.dark-mode .tabs .tab.is-active b {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .dashboard-card__header button {
    color: #8ab4ff;
}

body.dark-mode .overview-row__icon,
body.dark-mode .participant-open__icon,
body.dark-mode .feature-card__icon,
body.dark-mode .module-card__icon {
    color: #9fc2dd;
}

body.dark-mode .module-card__icon--yellow,
body.dark-mode .module-card--yellow .module-card__icon {
    color: #f0c14b;
}

body.dark-mode .report-stats span {
    background: #302d2f
}

body.dark-mode .report-tabs {
    background: #101822;
    border-color: #293545;
}

body.dark-mode .report-tabs a {
    background: #101822;
    border-right-color: #24303d;
    color: #d8e2ec;
}

body.dark-mode .report-tabs a.is-active,
body.dark-mode .report-tabs a:hover {
    background: #182232;
    color: #8ab4ff;
}

body.dark-mode .report-tabs a.is-active .report-tabs-count,
body.dark-mode .report-tabs a:hover .report-tabs-count {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .report-overview-item,
body.dark-mode .report-list a {
    background: #101822;
    border-color: #24303d;
    color: #e6edf3;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 10px;
}

body.dark-mode .report-overview-item:hover,
body.dark-mode .report-list a:hover {
    background: #182232;
    border-color: #3e536a;
}

body.dark-mode .report-overview-item-copy strong,
body.dark-mode .report-list strong,
body.dark-mode .report-class-block h3 {
    color: #e6edf3;
}

body.dark-mode .report-overview-item-copy small,
body.dark-mode .report-list span,
body.dark-mode .report-class-block p,
body.dark-mode .report-heat-category-toggle > summary small {
    color: #9aa8b5;
}

body.dark-mode .report-overview-item-icon,
body.dark-mode .report-overview-item-badge {
    background: #203243;
    color: #9fc2dd;
}
body.dark-mode .report-overview-item-badge-available,
body.dark-mode .report-run-group-badge-available,
body.dark-mode .report-run-item-badge-available {
    background: #193626;
    color: #95e0ad;
}
body.dark-mode .report-heat-category-badge {
    background: #193626;
    color: #95e0ad;
}
body.dark-mode .chip--green {
    background: #193626;
    color: #95e0ad;
}
body.dark-mode .chip--blue {
    background: #203243;
    color: #e20916;
}

body.dark-mode .report-overview-item-primary {
    border-left-color: #4c8fe8;
}

body.dark-mode .report-overview-item-primary .report-overview-item-icon {
    background: #4c8fe8;
    color: #ffffff;
}

body.dark-mode .report-overview-item-secondary .report-overview-item-icon,
body.dark-mode .report-overview-item-icon-schedule,
body.dark-mode .report-overview-item-icon-participants,
body.dark-mode .report-overview-item-icon-manufacturer,
body.dark-mode .report-overview-item-icon-arrangement,
body.dark-mode .report-overview-item-icon-ranking {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .report-group-card {
    background: #101822;
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .report-class-block,
body.dark-mode .report-heat-category-card,
body.dark-mode .report-run-group-card {
    background: #101822;
    border-color: #6e6e6e;
    color: #e6edf3;
}

body.dark-mode .report-heat-category-card .report-class-list,
body.dark-mode .report-run-group-card .report-run-strip {
    background: #171c22;
}

body.dark-mode .report-heat-category-toggle > summary {
    background: #101822;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-color: #6e6e6e;
}

body.dark-mode .report-heat-category-toggle[open] > summary {
    background: #242a30;
    border-bottom-color: #6e6e6e;
}

body.dark-mode .report-run-group-toggle > summary {
    background: #101822;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

body.dark-mode .report-run-group-toggle[open] > summary {
    background: #242a30;
    border-bottom-color: #6e6e6e;
}

body.dark-mode .report-run-group-card .report-run-strip {
    padding: 9px 10px 12px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

body.dark-mode .report-run-group-card .report-run-strip a {
    background: #101822;
    border-color: #6e6e6e;
    border-radius: 10px;
    box-shadow: none;
}

body.dark-mode .report-run-group-card .report-run-strip a:hover {
    background: #242a30;
    border-color: #6e6e6e;
}

body.dark-mode .phase,
body.dark-mode .group,
body.dark-mode .run-button {
    background: #101822;
    border-color: #6e6e6e;
    color: #e6edf3;
}

body.dark-mode .phase[open] > summary,
body.dark-mode .group[open] > summary {
    background: #242a30;
    border-bottom-color: #6e6e6e;
}

body.dark-mode .phase__content,
body.dark-mode .run-list {
    background: #171c22;
}

body.dark-mode .phase__title strong,
body.dark-mode .group__title strong,
body.dark-mode .run-button__copy strong {
    color: #e6edf3;
}

body.dark-mode .phase__title em,
body.dark-mode .group__title small,
body.dark-mode .run-button__copy small {
    color: #9aa8b5;
}

body.dark-mode .run-button:hover {
    background: #242a30;
    border-color: #6e6e6e;
}

body.dark-mode .run-button__icon,
body.dark-mode .accordion-chevron {
    color: #aeb9c3;
    border-color: #48545f;
}

body.dark-mode .report-heat-category-card .report-class-list {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

body.dark-mode .report-run-group-copy h4 small,
body.dark-mode .report-run-item-copy small {
    color: #9aa8b5;
}

body.dark-mode .report-run-item-icon {
    color: #9fc2dd;
}

body.dark-mode .report-run-group-chevron,
body.dark-mode .report-run-item-chevron,
body.dark-mode .accordion-chevron {
    color: #9aa5af;
}

body.dark-mode .report-class-block header,
body.dark-mode .report-heat-category-toggle > summary,
body.dark-mode .report-run-group-toggle > summary {
    background: #101822;
    border-color: #6e6e6e;
}

body.dark-mode .report-class-block h3,
body.dark-mode .report-run-group h4,
body.dark-mode .report-heat-category-toggle > summary h3,
body.dark-mode .phase__title strong,
body.dark-mode .group__title strong {
    color: #e6edf3;
}

body.dark-mode .report-class-block p,
body.dark-mode .report-run-group small,
body.dark-mode .report-heat-category-toggle > summary small,
body.dark-mode .phase__title em,
body.dark-mode .group__title small {
    color: #9aa8b5;
}

body.dark-mode .report-link-matrix a,
body.dark-mode .report-run-strip a,
body.dark-mode .report-run-group-card .report-run-strip a {
    background: #101822;
    border-color: #6e6e6e;
    color: #cfe0f1;
}

body.dark-mode .report-run-group-card .report-run-item-copy strong {
    color: #e6edf3;
}

body.dark-mode .report-run-group-card .report-run-item-copy small {
    color: #9aa8b5;
}

body.dark-mode .report-run-group-card .report-run-item-icon {
    color: #aeb9c3;
}

body.dark-mode .report-run-group-card .report-run-item-chevron {
    color: #9aa8b5;
}

body.dark-mode .report-link-matrix a:hover,
body.dark-mode .report-run-strip a:hover,
body.dark-mode .report-run-group-card .report-run-strip a:hover {
    background: #242a30;
    border-color: #6e6e6e;
}

body.dark-mode .ranking-heat-details-body {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .ranking-heat-details-row td {
    background: #101822;
}

body.dark-mode .ranking-details-toggle {
    color: #8ab4ff;
}

body.dark-mode .ranking-details-icon:hover,
body.dark-mode .ranking-details-icon:focus {
    background: #182232;
}

body.dark-mode .ranking-heat-table th {
    background: #1a2330;
    border-color: #24303d;
    color: #9aa8b5;
}

body.dark-mode .ranking-heat-table td {
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .ranking-heat-table tr.is-counted td {
    background: #13241b;
}

body.dark-mode .ranking-heat-table tr.is-not-counted td {
    background: #201d12;
}

body.dark-mode .report-group-card header {
    background: #151e29;
    border-bottom-color: #24303d;
}

body.dark-mode .report-group-card h2,
body.dark-mode .report-group-card header span {
    color: #e6edf3;
}

body.dark-mode .report-group-card .table-wrap {
    background: transparent;
}

body.dark-mode .report-group-table th {
    background: #1a2330;
    border-color: #24303d;
    color: #9aa8b5;
}

body.dark-mode .report-group-table td {
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .report-group-table tr:nth-child(even) td {
    background: #131a23;
}

body.dark-mode .report-group-table tr:nth-child(odd) td {
    background: #10171f;
}

body.dark-mode .report-group-table tr:hover td {
    background: #182232;
}

body.dark-mode .report-flag img {
    border-color: #24303d;
}

body.dark-mode .report-overview-item-chevron,
body.dark-mode .report-heat-category-toggle > summary::after,
body.dark-mode .accordion-chevron {
    color: #9aa8b5;
    border-right-color: #9aa8b5;
    border-bottom-color: #9aa8b5;
}

body.dark-mode .report-heat-category-toggle > summary {
    background: #101822;
    border-bottom-color: #6e6e6e;
}

body.dark-mode .report-heat-category-toggle[open] > summary {
    border-bottom-color: #6e6e6e;
}

body.dark-mode .host-toolbar,
body.dark-mode .list-toolbar,
body.dark-mode .club-events-toolbar {
    background: #151e29;
    border-color: #293545;
}

body.dark-mode .club-events-toolbar {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

body.dark-mode .host-filters,
body.dark-mode .list-filters {
    background: transparent;
}

body.dark-mode .host-filters input,
body.dark-mode .host-filters select,
body.dark-mode .list-filters input,
body.dark-mode .list-filters select,
body.dark-mode .club-event-filter {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .club-filter-field label {
    color: #9aa8b5;
}

body.dark-mode .club-access-banner {
    background: #101822;
    border-color: #24303d;
    border-left-color: #4c8fe8;
}

body.dark-mode .club-access-banner strong,
body.dark-mode .club-access-banner span:not(.badge) {
    color: #e6edf3;
}

body.dark-mode .club-access-list .badge.login {
    background: #17364a;
    color: #9dd7ff;
}

body.dark-mode .profile-list-panel,
body.dark-mode .profile-detail-panel {
    background: #151e29;
    border-color: #293545;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .profile-list-header,
body.dark-mode .profile-detail-header,
body.dark-mode .profile-detail-section,
body.dark-mode .profile-detail-columns .profile-detail-section + .profile-detail-section {
    border-color: #24303d;
}

body.dark-mode .profile-list-header h2,
body.dark-mode .profile-list-header span,
body.dark-mode .profile-list-item strong,
body.dark-mode .profile-list-item > span:not(.profile-list-title),
body.dark-mode .profile-list-item small,
body.dark-mode .profile-list-empty strong,
body.dark-mode .profile-list-empty span,
body.dark-mode .profile-detail-header h2,
body.dark-mode .profile-detail-header p,
body.dark-mode .profile-detail-section h3,
body.dark-mode .profile-data-grid dt,
body.dark-mode .profile-data-grid dd,
body.dark-mode .profile-frequency strong,
body.dark-mode .profile-frequency small,
body.dark-mode .profile-transponders span,
body.dark-mode .profile-transponders small,
body.dark-mode .profile-empty-value {
    color: #e6edf3;
}

body.dark-mode .profile-list-header span,
body.dark-mode .profile-list-item > span:not(.profile-list-title),
body.dark-mode .profile-list-item small,
body.dark-mode .profile-list-empty span,
body.dark-mode .profile-detail-header p,
body.dark-mode .profile-frequency small,
body.dark-mode .profile-transponders span,
body.dark-mode .profile-transponders small,
body.dark-mode .profile-empty-value {
    color: #9aa8b5;
}

body.dark-mode .profile-list-item {
    background: #101822;
    border-bottom-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .profile-list-item:hover {
    background: #182232;
}

body.dark-mode .profile-list-item.is-active {
    background: #182232;
    box-shadow: inset 4px 0 #4c8fe8;
}

body.dark-mode .profile-detail-columns .profile-detail-section + .profile-detail-section {
    border-left-color: #24303d;
}

body.dark-mode .profile-data-grid dd,
body.dark-mode .profile-transponders > div {
    color: #e6edf3;
}

body.dark-mode .profile-transponders > div {
    background: #101822;
    border: 1px solid #24303d;
}

body.dark-mode .profile-editor-panel {
    background: #111922;
    border-color: #283545;
    box-shadow: 0 20px 60px rgba(0,0,0,.55);
}

body.dark-mode .profile-editor-body {
    background: #111922;
}

body.dark-mode .profile-editor-message {
    background: #2a1820;
    border-color: #70404f;
    color: #ffb8be;
}

body.dark-mode .profile-editor-subheader small,
body.dark-mode .profile-editor-transponder-row label,
body.dark-mode .profile-editor-transponder-row .form-hint {
    color: #9aa8b5;
}

body.dark-mode .profile-editor-subheader strong {
    color: #e6edf3;
}

body.dark-mode .profile-editor-transponder-row {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .profile-editor-transponder-row .form-field input,
body.dark-mode .profile-editor-transponder-row .form-field select,
body.dark-mode .profile-editor-transponder-row .form-field textarea {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .profile-frequency-dot {
    box-shadow: 0 0 0 4px #203243;
}

body.dark-mode .profile-frequency.is-inactive .profile-frequency-dot {
    box-shadow: 0 0 0 4px #3a1d22;
}

body.dark-mode .profile-actions .btn,
body.dark-mode .profile-delete {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .profile-actions .btn:hover,
body.dark-mode .profile-delete:hover {
    background: #1c2734;
    border-color: #4a6280;
}

body.dark-mode .entries-filters {
    background: #101822;
    border: 1px solid #24303d;
}

body.dark-mode .entries-filter {
    color: #9aa8b5;
}

body.dark-mode .entries-filter.is-active {
    background: #18212c;
    color: #e6edf3;
    box-shadow: none;
}

body.dark-mode .detail-header,
body.dark-mode .section,
body.dark-mode .side-panel {
    background: #151e29 !important;
    border-color: #293545 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .admin-entry-list-toolbar,
body.dark-mode .admin-entry-list-table {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
}

body.dark-mode .admin-entry-list-toolbar {
    border: 1px solid #293545;
}

body.dark-mode .admin-entry-list-meta strong,
body.dark-mode .admin-entry-list-meta span,
body.dark-mode .entries-list-heading h2,
body.dark-mode .entries-list-heading p {
    color: #e6edf3;
}

body.dark-mode .admin-entry-list-toolbar select,
body.dark-mode .admin-filter-field select,
body.dark-mode #adminEntryState,
body.dark-mode .admin-payment-status select {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-entry-list-toolbar select:focus,
body.dark-mode .admin-filter-field select:focus,
body.dark-mode #adminEntryState:focus,
body.dark-mode .admin-payment-status select:focus {
    border-color: #5b8ee6;
    box-shadow: 0 0 0 2px rgba(91, 142, 230, .18);
}

body.dark-mode .entries-list-section {
    background: #151e29;
    border-color: #293545;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .section-header,
body.dark-mode .side-panel-header {
    border-color: #24303d;
    background: #151e29;
}

body.dark-mode .section-body,
body.dark-mode .side-panel-body {
    background: #151e29;
}

body.dark-mode .info-item {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .info-label {
    color: #9aa8b5;
}

body.dark-mode .info-value {
    color: #e6edf3;
}

body.dark-mode .class-list span {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .section-subsection {
    border-top-color: #24303d;
}

body.dark-mode .report-link-list a {
    background: #18212c;
    border-color: #334152;
    color: #9fc0ff;
}

body.dark-mode .report-link-list a:hover {
    background: #1c2734;
    border-color: #5b8ee6;
    color: #ffffff;
}

body.dark-mode .table th {
    background: #1a2330;
    border-color: #24303d;
    color: #9aa8b5;
}

body.dark-mode .table td {
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .table tfoot th,
body.dark-mode .table tfoot td {
    background: #101822;
    border-top-color: #2a394a;
    color: #f3f7fb;
}

body.dark-mode .table tfoot .badge,
body.dark-mode .table .badge {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .map-embed {
    border: 1px solid #24303d;
    background: #101822;
}

body.dark-mode .account-registration-header::before,
body.dark-mode .section::before,
body.dark-mode .event-card::before,
body.dark-mode .host-card::before,
body.dark-mode .championship-card::before,
body.dark-mode .report-section::before {
    background: #4c8fe8;
}

body.dark-mode .support-summary-card span,
body.dark-mode .support-panel p,
body.dark-mode .support-links a span,
body.dark-mode .account-registration-header p,
body.dark-mode .entry-event-header .event-meta,
body.dark-mode .entry-event-header .event-meta strong,
body.dark-mode .entry-event-header .date-box,
body.dark-mode .entry-account-notice span,
body.dark-mode .form-section-header p,
body.dark-mode .optional-section summary small,
body.dark-mode .organizer-message-content,
body.dark-mode .entry-documents small,
body.dark-mode .entry-summary dt,
body.dark-mode .entry-summary p,
body.dark-mode .login-required-panel > p,
body.dark-mode .login-required-summary dt,
body.dark-mode .login-required-summary dd,
body.dark-mode .event-card small,
body.dark-mode .host-card small,
body.dark-mode .championship-card small,
body.dark-mode .report-section small,
body.dark-mode .report-class-block small,
body.dark-mode .global-search-result small,
body.dark-mode .language-overlay-options a small,
body.dark-mode .admin-documents-section p,
body.dark-mode .admin-fields-section p,
body.dark-mode .admin-articles-section p,
body.dark-mode .admin-event-edit-section p,
body.dark-mode .admin-import-help p,
body.dark-mode .admin-import-help li,
body.dark-mode .admin-import-help dd,
body.dark-mode .admin-mail-group legend {
    color: #9aa8b5;
}

body.dark-mode .admin-documents-section,
body.dark-mode .admin-document-item,
body.dark-mode .admin-file-dropzone,
body.dark-mode .admin-file-selected,
body.dark-mode .admin-document-target-field.has-error,
body.dark-mode .admin-import-sections {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .admin-documents-section-header h3,
body.dark-mode .admin-documents-section-header > div > p,
body.dark-mode .admin-document-item strong,
body.dark-mode .admin-document-item span,
body.dark-mode .admin-file-dropzone-content strong,
body.dark-mode .admin-file-dropzone-content span,
body.dark-mode .admin-file-selected span,
body.dark-mode .admin-document-target-field legend,
body.dark-mode .admin-import-sections h4,
body.dark-mode .admin-import-section-list code {
    color: #e6edf3;
}

body.dark-mode .admin-import-section-list code {
    background: #18212c;
    border: 1px solid #334152;
    color: #9fc0ff;
}

body.dark-mode .admin-documents-section-header > span {
    color: #9fc0ff;
}

body.dark-mode .admin-document-actions .btn {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-file-dropzone.is-dragging,
body.dark-mode .admin-import-upload .admin-file-dropzone.is-dragging {
    background: #182232;
    border-color: #5b8ee6;
}

body.dark-mode .admin-import-upload .admin-file-dropzone,
body.dark-mode .admin-file-dropzone-content,
body.dark-mode .admin-document-target-field .check-field,
body.dark-mode .admin-documents-meta,
body.dark-mode .admin-document-target-field {
    background: transparent;
}

body.dark-mode .admin-import-upload {
    display: grid;
    align-content: start;
}

body.dark-mode .admin-import-upload .admin-file-dropzone {
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
    min-height: 0;
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .admin-import-upload .admin-file-dropzone-content {
    padding: 4px 0 2px;
    color: #9aa8b5;
}

body.dark-mode .admin-import-upload .admin-file-dropzone-content strong,
body.dark-mode .admin-import-upload .admin-file-dropzone-content span {
    color: #e6edf3;
}

body.dark-mode .admin-import-upload .admin-file-selected {
    background: #18212c;
    border-color: #334152;
}

body.dark-mode .admin-import-form .entries-dialog-actions {
    background: #101822;
    border-top-color: #24303d;
}

body.dark-mode .admin-document-target-field.has-error {
    background: #2a1820;
    border-color: #70404f;
}

body.dark-mode .admin-import-sections {
    border-color: #24303d;
}

body.dark-mode .admin-mail-body {
    background: transparent;
}

body.dark-mode .admin-mail-group legend {
    color: #e6edf3;
}

body.dark-mode .admin-mail-group .check-field {
    background: transparent;
    border: 0;
}

body.dark-mode .admin-mail-message-fields .form-field label {
    color: #d8e2ec;
}

body.dark-mode .admin-mail-message-fields textarea {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-attachment-field {
    background: transparent;
}

body.dark-mode .admin-file-dropzone {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .admin-file-dropzone-content {
    color: #9aa8b5;
}

body.dark-mode .admin-file-dropzone-content strong,
body.dark-mode .admin-file-dropzone-content span {
    color: #e6edf3;
}

body.dark-mode .admin-file-selected {
    background: #18212c;
    border-color: #334152;
}

body.dark-mode .admin-file-selected span {
    color: #e6edf3;
}

body.dark-mode .admin-event-text-body .richtexteditor,
body.dark-mode .admin-event-text-body .rte-container,
body.dark-mode .admin-event-text-body .rte-box,
body.dark-mode .admin-event-text-body .richtext-editor {
    background: #101822;
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .admin-event-text-body .richtexteditor *,
body.dark-mode .admin-event-text-body .rte-container *,
body.dark-mode .admin-event-text-body .rte-box *,
body.dark-mode .admin-event-text-body .richtext-editor * {
    color: inherit;
}

body.dark-mode .admin-event-text-body .richtexteditor iframe,
body.dark-mode .admin-event-text-body .rte-container iframe,
body.dark-mode .admin-event-text-body .rte-box iframe,
body.dark-mode .admin-event-text-body .richtext-editor iframe,
body.dark-mode .admin-event-text-body .richtexteditor textarea,
body.dark-mode .admin-event-text-body .rte-container textarea,
body.dark-mode .admin-event-text-body .rte-box textarea,
body.dark-mode .admin-event-text-body .richtext-editor textarea,
body.dark-mode .admin-event-text-body [contenteditable="true"] {
    background: #101822 !important;
    color: #e6edf3 !important;
}

body.dark-mode .admin-event-text-body .richtexteditor [class*="toolbar"],
body.dark-mode .admin-event-text-body .rte-container [class*="toolbar"],
body.dark-mode .admin-event-text-body .rte-box [class*="toolbar"],
body.dark-mode .admin-event-text-body .richtext-editor [class*="toolbar"] {
    background: #151e29;
    border-color: #24303d;
}

body.dark-mode .admin-event-text-body .richtexteditor [class*="toolbar"] button,
body.dark-mode .admin-event-text-body .rte-container [class*="toolbar"] button,
body.dark-mode .admin-event-text-body .rte-box [class*="toolbar"] button,
body.dark-mode .admin-event-text-body .richtext-editor [class*="toolbar"] button,
body.dark-mode .admin-event-text-body .richtexteditor [class*="toolbar"] .btn,
body.dark-mode .admin-event-text-body .rte-container [class*="toolbar"] .btn,
body.dark-mode .admin-event-text-body .rte-box [class*="toolbar"] .btn,
body.dark-mode .admin-event-text-body .richtext-editor [class*="toolbar"] .btn {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-event-text-tabs button {
    background: #18212c;
    border-color: #334152;
    color: #cdd6df;
}

body.dark-mode .admin-event-text-tabs button.is-active {
    background: #232a31;
    border-color: #4c8fe8;
    color: #eef1f4;
}

body.dark-mode .admin-event-text-tabs button:hover,
body.dark-mode .admin-event-text-tabs button:focus {
    background: #1d2934;
    border-color: #5b8ee6;
    color: #ffffff;
}

body.dark-mode .btn,
body.dark-mode button,
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .btn {
    background: #18212c;
}

body.dark-mode .entry-event-header,
body.dark-mode .entry-account-notice,
body.dark-mode .form-validation-message,
body.dark-mode .class-selection-prompt,
body.dark-mode .form-section,
body.dark-mode .organizer-message,
body.dark-mode .entry-documents,
body.dark-mode .entry-summary-inner,
body.dark-mode .login-required-panel,
body.dark-mode .login-required-summary,
body.dark-mode .login-panel,
body.dark-mode .account-message {
    background: #151e29;
    border-color: #293545;
}

body.dark-mode .login-header,
body.dark-mode .login-form {
    background: #151e29;
}

body.dark-mode .login-header {
    border-bottom-color: #24303d;
}

body.dark-mode .login-header h1 {
    color: #f3f7fb;
}

body.dark-mode .login-header p,
body.dark-mode .login-footer,
body.dark-mode .login-footer a,
body.dark-mode .recovery-privacy {
    color: #9aa8b5;
}

body.dark-mode .login-panel .form-field label {
    color: #d8e2ec;
}

body.dark-mode .login-options {
    color: #d8e2ec;
}

body.dark-mode .remember-login {
    color: #d8e2ec;
}

body.dark-mode .forgot-password {
    color: #9fc0ff;
}

body.dark-mode .login-submit {
    background: #2f73c9;
    border-color: #2f73c9;
    color: #ffffff;
}

body.dark-mode .login-submit:hover {
    background: #3a81d8;
}

body.dark-mode .account-message {
    color: #e6edf3;
}

body.dark-mode .account-status-icon {
    background: #1c2a38;
    color: #95e0ad;
}

body.dark-mode .entry-event-header {
    border-left-color: #4c8fe8;
}

body.dark-mode .entry-account-notice {
    border-color: #2a3a4d;
    background: #101822;
}

body.dark-mode .class-selection-prompt {
    border-color: #2a394a;
    background: #101822;
}

body.dark-mode .form-validation-message {
    background: #2a1820;
    border-color: #70404f;
    border-left-color: #d06577;
    color: #f4c7d0;
}

body.dark-mode .form-validation-message strong,
body.dark-mode .form-validation-message p,
body.dark-mode .form-validation-message li {
    color: #f4c7d0;
}

body.dark-mode .form-section-header,
body.dark-mode .optional-section summary,
body.dark-mode .entry-documents a,
body.dark-mode .login-required-summary dl div,
body.dark-mode .entry-summary dl div {
    border-color: #24303d;
}

body.dark-mode .form-section-header,
body.dark-mode .optional-section summary,
body.dark-mode .organizer-message,
body.dark-mode .entry-documents,
body.dark-mode .entry-summary-inner,
body.dark-mode .login-required-panel,
body.dark-mode .login-required-summary {
    background: #151e29;
}

body.dark-mode .form-section-body,
body.dark-mode .entry-summary-inner,
body.dark-mode .login-required-panel,
body.dark-mode .login-required-summary {
    color: #e6edf3;
}

body.dark-mode .form-section-header h2,
body.dark-mode .optional-section summary strong,
body.dark-mode .entry-summary h2,
body.dark-mode .login-required-panel h2,
body.dark-mode .login-required-summary h2,
body.dark-mode .entry-documents h2,
body.dark-mode .organizer-message h2 {
    color: #f3f7fb;
}

body.dark-mode .form-field label,
body.dark-mode .check-field,
body.dark-mode .check-field small,
body.dark-mode .form-hint,
body.dark-mode .entry-cancel,
body.dark-mode .account-benefits li,
body.dark-mode .support-links a strong,
body.dark-mode .support-contact strong {
    color: #d8e2ec;
}

body.dark-mode .check-field {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .check-field.privacy-field span {
    white-space: normal;
}

body.dark-mode .form-field input,
body.dark-mode .form-field select,
body.dark-mode .form-field textarea {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .form-field input:disabled {
    background: #101822;
    color: #8a97a6;
}

body.dark-mode .form-field input::placeholder,
body.dark-mode .form-field textarea::placeholder {
    color: #738294;
}

body.dark-mode .form-field input:focus,
body.dark-mode .form-field select:focus,
body.dark-mode .form-field textarea:focus {
    border-color: #5b8ee6;
    outline-color: rgba(91,142,230,.18);
}

body.dark-mode .entry-documents a,
body.dark-mode .document-list a {
    color: #9fc0ff;
}

body.dark-mode .organizer-message-content {
    color: #d8e2ec;
}

body.dark-mode .entry-documents small,
body.dark-mode .document-list small {
    background: #223244;
    color: #bed0e2;
}

body.dark-mode .organizer-message-content,
body.dark-mode .entry-event-header .event-meta,
body.dark-mode .entry-event-header .event-meta span,
body.dark-mode .entry-summary dd,
body.dark-mode .login-required-summary dd {
    color: #e6edf3;
}

body.dark-mode .btn:hover,
body.dark-mode button:hover,
body.dark-mode input:hover,
body.dark-mode select:hover,
body.dark-mode textarea:hover,
body.dark-mode .btn:focus,
body.dark-mode button:focus,
body.dark-mode input:focus,
body.dark-mode select:focus,
body.dark-mode textarea:focus {
    border-color: #5b8ee6;
}

body.dark-mode .btn:hover {
    background: #1d2934;
}

body.dark-mode .btn.btn-primary,
body.dark-mode .btn-primary {
    background: #2f73c9;
    border-color: #2f73c9;
    color: #ffffff;
}

body.dark-mode .btn.entry-delete,
body.dark-mode .entry-delete,
body.dark-mode .btn-danger {
    background: #2a1820;
    border-color: #70404f;
    color: #f4c7d0;
}

body.dark-mode .table,
body.dark-mode .table thead th,
body.dark-mode .table tbody td {
    border-color: #273241;
}

body.dark-mode .table thead th {
    background: #1a2330;
    color: #dbe6f2;
}

body.dark-mode .table tbody tr:nth-child(even) td {
    background: #131a23;
}

body.dark-mode .table tbody tr:nth-child(odd) td {
    background: #10171f;
}

body.dark-mode .table tbody tr:hover td {
    background: #182232;
}

body.dark-mode .language-overlay,
body.dark-mode .global-search-overlay,
body.dark-mode .entries-dialog,
body.dark-mode .report-overlay {
    background: rgba(8, 12, 18, 0.42);
}

body.dark-mode .entries-dialog-backdrop,
body.dark-mode .language-overlay-backdrop,
body.dark-mode .global-search-backdrop,
body.dark-mode .report-overlay-backdrop {
    background: rgba(8, 12, 18, 0.42);
}

body.dark-mode .language-overlay-panel,
body.dark-mode .global-search-panel,
body.dark-mode .entries-dialog-panel,
body.dark-mode .report-overlay-panel {
    background: #111922;
    border-color: #283545;
    box-shadow: 0 20px 60px rgba(0,0,0,.55);
}

body.dark-mode .language-overlay-header,
body.dark-mode .global-search-header,
body.dark-mode .entries-dialog-header,
body.dark-mode .entries-dialog-body,
body.dark-mode .entries-dialog-actions,
body.dark-mode .admin-mail-body,
body.dark-mode .admin-import-body,
body.dark-mode .admin-event-text-body {
    border-color: #24303d;
}

body.dark-mode .global-search-header h2 {
    color: #eef1f4;
}

body.dark-mode .entries-dialog-header h2,
body.dark-mode .report-overlay-header h2 {
    color: #eef1f4;
}

body.dark-mode .global-search-close {
    color: #a8b2bc;
}

body.dark-mode .entries-dialog-header button,
body.dark-mode .report-overlay-close {
    background: #101822;
    border-color: #24303d;
    color: #a8b2bc;
}

body.dark-mode .entries-dialog-header button:hover,
body.dark-mode .entries-dialog-header button:focus,
body.dark-mode .global-search-close:hover,
body.dark-mode .global-search-close:focus {
    background: #1d2934;
    color: #ffffff;
}

body.dark-mode .report-overlay-close:hover,
body.dark-mode .report-overlay-close:focus {
    background: #1d2934;
    border-color: #3a7fe0;
    color: #ffffff;
}

body.dark-mode .global-search-field input {
    border-color: #24303d;
    background: #101822;
    color: #eef1f4;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
    appearance: none;
}

body.dark-mode .global-search-field input::placeholder {
    color: #8f9cab;
}

body.dark-mode .global-search-tabs button {
    border-color: #24303d;
    background: #101822;
    color: #d7dde3;
}

body.dark-mode .global-search-tabs button.is-active,
body.dark-mode .global-search-tabs button:hover,
body.dark-mode .global-search-tabs button:focus {
    border-color: #3a7fe0;
    background: #182333;
    color: #eef1f4;
}

body.dark-mode .global-search-result {
    border-color: #24303d;
    background: #101822;
    color: #e6edf3;
}

body.dark-mode .global-search-result:hover,
body.dark-mode .global-search-result:focus {
    border-color: #3e536a;
    background: #182232;
}

body.dark-mode .global-search-result strong {
    color: #eef1f4;
}

body.dark-mode .global-search-result small {
    color: #9aa8b5;
}

body.dark-mode .global-search-result span {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .global-search-state {
    color: #9aa8b5;
}

body.dark-mode .global-search-result:hover,
body.dark-mode .language-overlay-options a:hover,
body.dark-mode .support-links a:hover {
    background: #182232;
    border-color: #3e536a;
}

body.dark-mode .entries-dialog-actions {
    background: #101822;
}

body.dark-mode .entries-dialog-body {
    background: #111922;
}

body.dark-mode .report-overlay-body {
    background: #111922;
}

body.dark-mode #reportImageBlocksBackdrop {
    background: rgba(8, 12, 18, 0.42) !important;
}

body.dark-mode #reportImageBlocksDialog {
    background: #111922 !important;
    border-color: #283545 !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.55) !important;
    color: #e6edf3 !important;
}

body.dark-mode #reportImageBlocksDialog h2 {
    color: #e6edf3 !important;
}

body.dark-mode #reportImageBlocksDialog .report-image-blocks-description {
    color: #9aa8b5 !important;
}

body.dark-mode #reportImageBlocksDialog .report-image-blocks-item {
    color: #e6edf3 !important;
}

body.dark-mode #reportImageBlocksDialog .report-image-blocks-item input {
    accent-color: #4c8fe8;
}

body.dark-mode #reportImageBlocksDialog .btn {
    background: #182232;
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode #reportImageBlocksDialog .btn.btn-primary {
    background: #2f78d4;
    border-color: #2f78d4;
    color: #ffffff;
}

body.dark-mode .report-export-actions {
    background: transparent;
}

body.dark-mode .submenu {
    background: #111922;
    border: 1px solid #293545;
    box-shadow: 0 12px 28px rgba(0,0,0,.45);
}

body.dark-mode .submenu a {
    background: #111922;
    border-color: #24303d;
    color: #d8e2ec;
}

body.dark-mode .submenu a.active {
    background: #1f75bd;
    border-color: #1f75bd;
    color: #ffffff;
    box-shadow: inset 3px 0 0 rgba(255,255,255,.25);
}

body.dark-mode .submenu a:hover {
    background: #182232;
    color: #8ab4ff;
}

body.dark-mode .main-nav a.active {
    background: #1f75bd;
    color: #ffffff;
}

body.dark-mode .header-apps > span {
    color: #93a4b3;
}

body.dark-mode .header-apps-item,
body.dark-mode .mobile-apps-item {
    background: #18212c !important;
    border-color: #334152 !important;
    color: #e6edf3 !important;
}

body.dark-mode .header-apps-item:hover,
body.dark-mode .mobile-apps-item:hover {
    background: #1c2734 !important;
    border-color: #4a6280 !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.22);
}

body.dark-mode .header-apps-badge,
body.dark-mode .mobile-apps-badge {
    color: inherit;
}

body.dark-mode .language-overlay-trigger {
    background: transparent;
    border: 0;
    color: #e6edf3;
}

body.dark-mode .language-overlay-trigger:hover,
body.dark-mode .language-overlay-trigger:focus {
    color: #8ab4ff;
}

body.dark-mode .mobile-language .language-overlay-trigger {
    background: transparent;
    border: 0;
}

body.dark-mode .global-search-trigger {
    color: #e6edf3;
}

body.dark-mode .global-search-trigger:hover,
body.dark-mode .global-search-trigger:focus {
    background: #18212c;
    color: #8ab4ff;
}

body.dark-mode .theme-toggle-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #334152;
    border-radius: 6px;
    background: #18212c;
    color: #e6edf3;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
}

body.dark-mode .stats {
    gap: 14px;
}

body.dark-mode .stat-card {
    background: #151e29 !important;
    border-color: #293545 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .stat-card .value {
    color: #66a6ff;
}

body.dark-mode .stat-card .label {
    color: #9aa8b5;
}

body.dark-mode .host-country {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .host-country strong {
    color: #66a6ff;
}

body.dark-mode .host-country span {
    color: #9aa8b5;
}

body.dark-mode .host-country img {
    background: #0d131b;
    border: 1px solid #24303d;
    border-radius: 6px;
}

body.dark-mode .status-line {
    border-bottom-color: #24303d;
}

body.dark-mode .status-line strong {
    color: #d8e2ec;
}

body.dark-mode .host-detail-page .side-panel-body .status-line strong,
body.dark-mode .host-detail-page .side-panel-body .status-line span {
    color: #d8e2ec;
}

body.dark-mode .host-detail-page .side-panel-body .status-line a {
    color: #8ab4ff;
}

body.dark-mode .live-race-header,
body.dark-mode .live-clock,
body.dark-mode .live-ranking,
body.dark-mode .live-laps,
body.dark-mode .live-advertising {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
}

body.dark-mode .live-race-header {
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .live-race-title p,
body.dark-mode .live-connection small,
body.dark-mode .live-section-heading p,
body.dark-mode .live-table td:nth-child(5) small,
body.dark-mode .lap-feed time,
body.dark-mode .lap-feed span,
body.dark-mode .live-footer-status {
    color: #9aa8b5;
}

body.dark-mode .live-clock-primary {
    background: #243242;
    border-color: #243242;
}

body.dark-mode .live-clock span,
body.dark-mode .live-section-heading h2,
body.dark-mode .live-legend span,
body.dark-mode .live-table th,
body.dark-mode .lap-feed b,
body.dark-mode .live-race-title h1,
body.dark-mode .live-connection strong {
    color: #e6edf3;
}

body.dark-mode .live-table th {
    background: #1a2330;
    border-bottom-color: #24303d;
}

body.dark-mode .live-table th,
body.dark-mode .live-table td {
    border-bottom-color: #24303d;
}

body.dark-mode .live-table tbody tr:hover {
    background-color: #182232;
}

body.dark-mode .live-table td,
body.dark-mode .live-table td:nth-child(5) strong,
body.dark-mode .live-country span {
    color: #e6edf3;
}

body.dark-mode .live-position strong,
body.dark-mode .live-table td:first-child > strong {
    background: #243242;
    color: #ffffff;
}

body.dark-mode .live-start-number {
    background: #18212c;
    color: #c9d4df;
    box-shadow: inset 0 0 0 1px #334152;
}

body.dark-mode .live-car-number {
    background: #101822;
    color: #e6edf3;
    box-shadow: inset 0 0 0 1px #334152;
}

body.dark-mode .lap-passed .live-start-number,
body.dark-mode .lap-passed .live-car-number {
    background: #173626;
    color: #9dd7ad;
    box-shadow: inset 0 0 0 1px #2f6643;
}

body.dark-mode .live-table tbody tr.lap-finished {
    background-color: #13242a;
}

body.dark-mode .live-table tbody tr.lap-missed {
    background-color: #111922;
}

body.dark-mode .live-table tbody tr.lap-present {
    background-color: #272215;
}

body.dark-mode .live-table tbody tr.lap-locktime {
    background-color: #2a1820;
}

body.dark-mode .live-table tbody tr.lap-lost {
    background-color: #281a14;
    color: #f0c1a7;
}

body.dark-mode .live-table tbody tr.lap-last {
    background-color: #271724;
}

body.dark-mode .live-table tbody tr[style*="--lap-progress"] {
    background-image: linear-gradient(to right, #4c8fe8 max(8px, var(--lap-progress)), transparent 0);
}

body.dark-mode .live-table tbody tr.lap-locktime {
    background-image: linear-gradient(to right, #d06a66 max(8px, var(--lap-progress)), transparent 0);
}

body.dark-mode .live-ranking,
body.dark-mode .live-laps,
body.dark-mode .live-advertising {
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .lap-feed > div {
    border-bottom-color: #24303d;
}

body.dark-mode .lap-feed .personal-best {
    background: #173626;
}

body.dark-mode .live-footer-status a {
    color: #8ab4ff;
}

body.dark-mode .host-logo {
    background: #101822;
    border-color: #24303d;
    box-shadow: inset 0 0 0 4px #18212c;
}

body.dark-mode .host-logo span {
    color: #9aa8b5;
}

body.dark-mode .host-event-date {
    background: #101822;
    border-left-color: #4c8fe8;
    color: #e6edf3;
}

body.dark-mode .host-event-date span,
body.dark-mode .host-event-row p,
body.dark-mode .date-change small {
    color: #9aa8b5;
}

body.dark-mode .host-facts div {
    background: #101822;
    border: 1px solid #24303d;
}

body.dark-mode .host-facts strong {
    color: #66a6ff;
}

body.dark-mode .host-facts span {
    color: #9aa8b5;
}

body.dark-mode .admin-entries-summary > div {
    background: #151e29;
    border-color: #293545;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .admin-entries-summary span {
    color: #9aa8b5;
}

body.dark-mode .admin-entries-summary strong {
    color: #e6edf3;
}

body.dark-mode .admin-members-summary > div,
body.dark-mode .admin-member-add-panel,
body.dark-mode .admin-members-toolbar,
body.dark-mode .admin-members-list,
body.dark-mode .admin-members-empty {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
}

body.dark-mode .admin-members-toolbar {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

body.dark-mode .admin-member-add-panel h2,
body.dark-mode .admin-member-add-panel p,
body.dark-mode .admin-members-list .entries-list-heading h2,
body.dark-mode .admin-members-list .entries-list-heading p {
    color: #e6edf3;
}

body.dark-mode .admin-member-add-form label,
body.dark-mode .admin-members-toolbar label,
body.dark-mode .admin-filter-field label {
    color: #9aa8b5;
}

body.dark-mode .admin-member-add-control input,
body.dark-mode .admin-filter-field input,
body.dark-mode .admin-filter-field select,
body.dark-mode .admin-member-add-control button {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-members-table th {
    background: #1a2330;
    border-color: #24303d;
    color: #9aa8b5;
}

body.dark-mode .admin-members-table td {
    background: #101822;
    border-color: #24303d;
    color: #e6edf3;
}

body.dark-mode .admin-members-table tr:nth-child(even) td {
    background: #131a23;
}

body.dark-mode .admin-members-table tr:hover td {
    background: #182232;
}

body.dark-mode .admin-member-toggle,
body.dark-mode .admin-member-remove,
body.dark-mode .admin-member-actions .btn {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .admin-member-toggle:hover,
body.dark-mode .admin-member-remove:hover {
    background: #1c2734;
    border-color: #4a6280;
}

body.dark-mode .admin-members-empty {
    border-top-color: #24303d;
}

body.dark-mode .settings-section,
body.dark-mode .danger-zone,
body.dark-mode .account-settings-summary,
body.dark-mode .payment-provider-form,
body.dark-mode .settings-section-body {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
}

body.dark-mode .settings-summary-inner {
    background: #151e29;
    border-color: #293545;
    color: #e6edf3;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .settings-summary h2,
body.dark-mode .settings-summary dt,
body.dark-mode .settings-summary dd,
body.dark-mode .settings-summary p {
    color: #e6edf3;
}

body.dark-mode .settings-summary dt {
    color: #9aa8b5;
}

body.dark-mode .settings-summary dl div {
    border-bottom-color: #24303d;
}

body.dark-mode .settings-section-header {
    background: #151e29;
    border-bottom-color: #24303d;
}

body.dark-mode .settings-section-header h2,
body.dark-mode .settings-section-header p,
body.dark-mode .account-settings-data dt,
body.dark-mode .account-settings-data dd,
body.dark-mode .payment-provider-form label,
body.dark-mode .payment-provider-form .form-hint {
    color: #e6edf3;
}

body.dark-mode .account-settings-data > div {
    border-bottom-color: #24303d;
}

body.dark-mode .account-logo-preview {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .account-logo-preview span {
    color: #9aa8b5;
}

body.dark-mode .account-logo-dropzone,
body.dark-mode .account-logo-dropzone .admin-file-dropzone {
    background: #101822;
    border-color: #24303d;
}

body.dark-mode .account-logo-dropzone .admin-file-dropzone-content {
    color: #9aa8b5;
}

body.dark-mode .account-logo-dropzone .admin-file-dropzone-content strong,
body.dark-mode .account-logo-dropzone .admin-file-dropzone-content span {
    color: #e6edf3;
}

body.dark-mode .settings-section-actions {
    border-top-color: #24303d;
}

body.dark-mode .settings-provider-status {
    color: #f2c47b;
}

body.dark-mode .settings-provider-status.is-configured {
    color: #95e0ad;
}

body.dark-mode .settings-provider-status > span {
    background: #d39a25;
}

body.dark-mode .settings-provider-status.is-configured > span {
    background: #278255;
}

body.dark-mode .danger-zone .settings-section-header {
    background: #2a1820;
    border-bottom-color: #70404f;
}

body.dark-mode .danger-zone .settings-section-header h2,
body.dark-mode .danger-zone .settings-section-header p {
    color: #ffb8be;
}

body.dark-mode .manual-downloads {
    background: #151e29;
    border-color: #293545;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

body.dark-mode .manual-downloads-header {
    border-bottom-color: #24303d;
}

body.dark-mode .manual-downloads-header h2,
body.dark-mode .manual-downloads-header span,
body.dark-mode .manual-title strong,
body.dark-mode .manual-title small {
    color: #e6edf3;
}

body.dark-mode .manual-download {
    color: #e6edf3;
    border-bottom-color: #24303d;
}

body.dark-mode .manual-download:hover {
    background: #182232;
}

body.dark-mode .manual-file-type {
    background: #2a1820;
    border-color: #70404f;
    color: #ffb8be;
}

body.dark-mode .manual-download-action {
    color: #9fc0ff;
}

body.dark-mode .date-box {
    background: #151e29 !important;
    border-color: #293545 !important;
}

body.dark-mode .date-month {
    background: #2a3440 !important;
    color: #ffffff !important;
}

body.dark-mode .date-year {
    color: #9aa8b5 !important;
}

body.dark-mode .date-separator {
    color: #93a4b3 !important;
}

body.dark-mode .badge.country {
    background: #24324d;
    color: #9ec3ff;
}

body.dark-mode .badge.report {
    background: #203243;
    color: #9fc2dd;
}

body.dark-mode .badge.live {
    background: #183a58;
    color: #8cc4ff;
}

body.dark-mode .badge.live-pending {
    background: #1c242f;
    color: #b1bcc7;
}

body.dark-mode .badge.live-now {
    background: #3a1d22;
    color: #ffb8be;
}

body.dark-mode .badge.open {
    background: #193626;
    color: #95e0ad;
}

body.dark-mode .badge.login {
    background: #17364a;
    color: #9dd7ff;
}

body.dark-mode .badge.contract {
    background: #28224a;
    color: #c6b3ff;
}

body.dark-mode .badge.notopen {
    background: #202833;
    color: #b6c0cb;
}

body.dark-mode .badge.closed {
    background: #3a1d22;
    color: #ffb8be;
}

body.dark-mode .badge.standby {
    background: #3c2d19;
    color: #f2c47b;
}

body.dark-mode .public-event-card,
body.dark-mode .event-card {
    background: #151e29 !important;
    border-color: #293545 !important;
}

body.dark-mode .public-event-subline,
body.dark-mode .public-event-meta,
body.dark-mode .events-summary-note,
body.dark-mode .events-section-title p,
body.dark-mode .event-meta,
body.dark-mode .event-title a,
body.dark-mode .event-meta strong {
    color: #9aa8b5 !important;
}

body.dark-mode .public-event-actions .btn,
body.dark-mode .event-actions .btn {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .entry-edit-notice,
body.dark-mode .entry-readonly-status {
    background: #101822;
    border-color: #24303d;
    border-left-color: #4c8fe8;
}

body.dark-mode .entry-edit-notice strong,
body.dark-mode .entry-readonly-status strong {
    color: #f3f7fb;
}

body.dark-mode .entry-edit-notice span:not(.badge),
body.dark-mode .entry-readonly-status span {
    color: #9aa8b5;
}

body.dark-mode .readonly-data-grid > div,
body.dark-mode .readonly-article-list > div {
    border-bottom-color: #24303d;
}

body.dark-mode .readonly-data-grid span,
body.dark-mode .readonly-article-list span {
    color: #9aa8b5;
}

body.dark-mode .readonly-data-grid strong,
body.dark-mode .readonly-article-list strong {
    color: #e6edf3;
}

body.dark-mode .readonly-article-total strong {
    color: #9fc0ff;
}

body.dark-mode .theme-toggle-trigger:hover,
body.dark-mode .theme-toggle-trigger:focus {
    border-color: #5b8ee6;
    background: #1c2734;
    color: #ffffff;
}

body.dark-mode .theme-toggle-trigger svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

body.dark-mode .theme-toggle-trigger .theme-toggle-core,
body.dark-mode .theme-toggle-trigger .theme-toggle-sun,
body.dark-mode .theme-toggle-trigger .theme-toggle-moon {
    stroke: currentColor;
    fill: currentColor;
}

body.dark-mode .theme-toggle-trigger.is-dark .theme-toggle-sun {
    opacity: 0;
}

body.dark-mode .theme-toggle-trigger:not(.is-dark) .theme-toggle-moon {
    opacity: 0;
}

body.dark-mode .theme-toggle-trigger-mobile {
    width: 100%;
    justify-content: flex-start;
    margin-top: 8px;
}

body.dark-mode .mobile-menu .global-search-trigger-mobile,
body.dark-mode .mobile-menu .theme-toggle-trigger-mobile {
    background: #18212c;
    border-color: #334152;
    color: #e6edf3;
}

body.dark-mode .mobile-menu .global-search-trigger-mobile:hover,
body.dark-mode .mobile-menu .global-search-trigger-mobile:focus,
body.dark-mode .mobile-menu .theme-toggle-trigger-mobile:hover,
body.dark-mode .mobile-menu .theme-toggle-trigger-mobile:focus {
    background: #1d2a38;
    border-color: #5b8ee6;
    color: #ffffff;
}

/* Reporting prototype overrides */
.reporting-content {
    gap: 0;
}

.reporting-content .report-dashboard-grid {
    gap: 18px;
    margin-top: 18px;
}

.reporting-content .overview-column {
    gap: 16px;
}

.reporting-content .dashboard-card,
.reporting-content .report-section {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.reporting-content .dashboard-card__header {
    min-height: 58px;
    padding: 12px 17px;
    border-bottom: 1px solid var(--line-soft);
    background: #e5e5e5;
}

.reporting-content .dashboard-card__header h2 {
    font-size: 19px;
}

.reporting-content .dashboard-card__header h2 span {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    height: 24px;
    margin-left: 4px;
    padding: 0 7px;
    border-radius: 999px;
    color: #5a6877;
    background: #edf1f4;
    font-size: 11px;
}

.reporting-content .dashboard-card__header > button {
    font-size: 12px;
    font-weight: 850;
}

.reporting-content .dashboard-card__header--stats {
    align-items: center;
}

.reporting-content .report-stats {
    display: flex;
    align-items: center;
}

.reporting-content .report-stats > span {
    min-width: 92px;
    display: grid;
    gap: 2px;
    padding: 0 14px;
    text-align: center;
    border-left: 1px solid var(--line-soft);
}

.reporting-content .report-stats > span:first-child {
    border-left: 0;
}

.reporting-content .report-stats strong {
    font-size: 19px;
}

.reporting-content .report-stats small {
    font-size: 10px;
}

.reporting-content .overview-list {
    display: grid;
}

.reporting-content .overview-row {
    min-height: 49px;
    padding: 8px 14px;
    border: 0;
    border-bottom: 1px solid var(--line-soft);
    border-radius: 0;
    box-shadow: none;
}

.reporting-content .overview-row:hover {
    background: #f8fbfd;
}

.reporting-content .overview-row__copy strong {
    font-size: 12px;
}

.reporting-content .overview-row__copy small {
    font-size: 10px;
}

.reporting-content .participant-open {
    min-height: 88px;
    padding: 15px 18px;
    border-radius: 0;
    box-shadow: none;
}

.reporting-content .participant-open strong {
    font-size: 16px;
}

.reporting-content .feature-card {
    padding: 27px;
}

.reporting-content .feature-card h3 {
    margin: 0 0 5px;
    font-size: 21px;
}

.reporting-content .module-grid {
    gap: 13px;
}

.reporting-content .module-card {
    grid-template-columns: auto 1fr auto;
    gap: 15px;
    padding: 5px;
    border-radius: 12px;
    box-shadow: var(--shadow);
}

.reporting-content .module-card__icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 22px;
}

.reporting-content .module-card strong {
    font-size: 17px;
}

.reporting-content .module-card small {
    color: var(--muted);
}

.reporting-content .module-card > span:last-child,
.reporting-content .participant-open > span:last-child,
.reporting-content .overview-row__arrow {
    font-size: 12px;
}

.reporting-content .module-card--yellow .module-card__icon,
.reporting-content .module-card__icon--yellow {
    color: #8c7300;
    background: #fff3b7;
}

html[data-theme="dark"] .reporting-content {
    background: #101317;
}

html[data-theme="dark"] .reporting-content .event-meta,
html[data-theme="dark"] .reporting-content .event-meta .ui-icon,
html[data-theme="dark"] .reporting-content .filter-control__copy small,
html[data-theme="dark"] .reporting-content .filter-control__chevron,
html[data-theme="dark"] .reporting-content .tab,
html[data-theme="dark"] .reporting-content .report-stats small,
html[data-theme="dark"] .reporting-content .overview-row__arrow,
html[data-theme="dark"] .reporting-content .participant-open > span:last-child,
html[data-theme="dark"] .reporting-content .module-card > span:last-child {
    color: #9ba7b3;
}

html[data-theme="dark"] .reporting-content .back-button,
html[data-theme="dark"] .reporting-content .event-meta__class,
html[data-theme="dark"] .reporting-content .event-meta__class .ui-icon,
html[data-theme="dark"] .reporting-content .filter-control__icon,
html[data-theme="dark"] .reporting-content .overview-row__icon,
html[data-theme="dark"] .reporting-content .schedule-day__link,
html[data-theme="dark"] .reporting-content .participant-open__icon,
html[data-theme="dark"] .reporting-content .feature-card__icon,
html[data-theme="dark"] .reporting-content .eyebrow {
    color: #808a94;
}

html[data-theme="dark"] .reporting-content .filter-bar,
html[data-theme="dark"] .reporting-content .tabs,
html[data-theme="dark"] .reporting-content .dashboard-card,
html[data-theme="dark"] .reporting-content .report-section,
html[data-theme="dark"] .reporting-content .overview-row,
html[data-theme="dark"] .reporting-content .participant-open,
html[data-theme="dark"] .reporting-content .phase,
html[data-theme="dark"] .reporting-content .group,
html[data-theme="dark"] .reporting-content .run-button,
html[data-theme="dark"] .reporting-content .feature-card,
html[data-theme="dark"] .reporting-content .module-card {
    color: var(--ink);
    background: #1b2026;
}

html[data-theme="dark"] .reporting-content .filter-bar,
html[data-theme="dark"] .reporting-content .tabs {
    background: rgba(27, 32, 38, .96);
}

html[data-theme="dark"] .reporting-content .event-header,
html[data-theme="dark"] .reporting-content .filter-bar,
html[data-theme="dark"] .reporting-content .report-dashboard-header {
    background: #101317;
}

html[data-theme="dark"] .reporting-content .filter-control {
    border-color: #24303d;
    background: #101822;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] .reporting-content .event-state {
    background: #1b2026;
    border-color: #24303d;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .reporting-content .filter-control select {
    color: #e6edf3;
}

html[data-theme="dark"] .reporting-content .dashboard-card__header {
    background: #302d2f;
}

html[data-theme="dark"] .reporting-content .dashboard-card__header h2 span,
html[data-theme="dark"] .reporting-content .tab b {
    color: #b5bec7;
    background: #2c333a;
}

html[data-theme="dark"] .reporting-content .tab.is-active {
    color: #fff;
    background: #232a31;
}

html[data-theme="dark"] .reporting-content .tab.is-active::after {
    background: #e20916;
}

html[data-theme="dark"] .reporting-content .overview-row:hover,
html[data-theme="dark"] .reporting-content .participant-open:hover,
html[data-theme="dark"] .reporting-content .run-button:hover,
html[data-theme="dark"] .reporting-content .module-card:hover {
    background: #242b32;
}

html[data-theme="dark"] .reporting-content .phase[open] > summary,
html[data-theme="dark"] .reporting-content .group[open] > summary {
    background: #242a30;
}

html[data-theme="dark"] .reporting-content .phase__content {
    background: #14191f;
}

html[data-theme="dark"] .reporting-content .run-list {
    background: #171c22;
}

html[data-theme="dark"] .reporting-content .run-button__icon {
    color: #aeb9c3;
    border-color: #48545f;
}

html[data-theme="dark"] .reporting-content .participant-open__icon,
html[data-theme="dark"] .reporting-content .feature-card__icon,
html[data-theme="dark"] .reporting-content .module-card__icon {
    background: #203343;
}

html[data-theme="dark"] .reporting-content .module-card__icon--yellow,
html[data-theme="dark"] .reporting-content .module-card--yellow .module-card__icon {
    color: #f2d86e;
    background: #403a20;
}

body.dark-mode .reporting-content {
    background: #101317;
}

body.dark-mode .reporting-content .event-meta,
body.dark-mode .reporting-content .event-meta .ui-icon,
body.dark-mode .reporting-content .filter-control__copy small,
body.dark-mode .reporting-content .filter-control__chevron,
body.dark-mode .reporting-content .tab,
body.dark-mode .reporting-content .report-stats small,
body.dark-mode .reporting-content .overview-row__arrow,
body.dark-mode .reporting-content .participant-open > span:last-child,
body.dark-mode .reporting-content .module-card > span:last-child {
    color: #9ba7b3;
}

body.dark-mode .reporting-content .back-button,
body.dark-mode .reporting-content .event-meta__class,
body.dark-mode .reporting-content .event-meta__class .ui-icon,
body.dark-mode .reporting-content .filter-control__icon,
body.dark-mode .reporting-content .overview-row__icon,
body.dark-mode .reporting-content .schedule-day__link,
body.dark-mode .reporting-content .participant-open__icon,
body.dark-mode .reporting-content .feature-card__icon,
body.dark-mode .reporting-content .eyebrow {
    color: #808a94;
}

body.dark-mode .reporting-content .filter-bar,
body.dark-mode .reporting-content .tabs,
body.dark-mode .reporting-content .dashboard-card,
body.dark-mode .reporting-content .report-section,
body.dark-mode .reporting-content .overview-row,
body.dark-mode .reporting-content .participant-open,
body.dark-mode .reporting-content .phase,
body.dark-mode .reporting-content .group,
body.dark-mode .reporting-content .run-button,
body.dark-mode .reporting-content .feature-card,
body.dark-mode .reporting-content .module-card {
    color: var(--ink) !important;
    background: #1b2026 !important;
}

body.dark-mode .reporting-content .filter-bar,
body.dark-mode .reporting-content .tabs {
    background: rgba(27, 32, 38, .96) !important;
}

body.dark-mode .reporting-content .event-header,
body.dark-mode .reporting-content .filter-bar,
body.dark-mode .reporting-content .report-dashboard-header {
    background: #101317 !important;
}

body.dark-mode .reporting-content .filter-control {
    border-color: #24303d !important;
    background: #101822 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .18) !important;
}

body.dark-mode .reporting-content .event-state {
    background: #1b2026 !important;
    border-color: #24303d !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
}

body.dark-mode .reporting-content .filter-control select {
    color: #e6edf3 !important;
}

body.dark-mode .reporting-content .dashboard-card,
body.dark-mode .reporting-content .report-section {
    border-color: #26313b !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .24) !important;
}

body.dark-mode .reporting-content .dashboard-card__header {
    background: transparent !important;
    border-bottom-color: #26313b !important;
}

body.dark-mode .reporting-content .dashboard-card__header h2,
body.dark-mode .reporting-content .dashboard-card__header h2 span,
body.dark-mode .reporting-content .dashboard-card__header > button {
    color: #eef1f4 !important;
}

body.dark-mode .reporting-content .dashboard-card__header h2 span,
body.dark-mode .reporting-content .tab b {
    background: #2c333a !important;
    color: #b5bec7 !important;
}

body.dark-mode .reporting-content .tab.is-active {
    color: #fff;
    background: #232a31;
}

body.dark-mode .reporting-content .tab.is-active::after {
    background: #e20916;
}

body.dark-mode .reporting-content .overview-row:hover,
body.dark-mode .reporting-content .participant-open:hover,
body.dark-mode .reporting-content .run-button:hover,
body.dark-mode .reporting-content .module-card:hover {
    background: #242b32;
}

body.dark-mode .reporting-content .phase[open] > summary,
body.dark-mode .reporting-content .group[open] > summary {
    background: #242a30;
}

body.dark-mode .reporting-content .phase__content {
    background: #14191f;
}

body.dark-mode .reporting-content .run-list {
    background: #171c22;
}

body.dark-mode .reporting-content .report-stats > span {
    border-left-color: #26313b;
}

body.dark-mode .reporting-content .run-button__icon {
    color: #aeb9c3;
    border-color: #48545f;
}

body.dark-mode .reporting-content .participant-open__icon,
body.dark-mode .reporting-content .feature-card__icon,
body.dark-mode .reporting-content .module-card__icon {
    background: #203343;
}

body.dark-mode .reporting-content .module-card__icon--yellow,
body.dark-mode .reporting-content .module-card--yellow .module-card__icon {
    color: #f2d86e;
    background: #403a20;
}
