:root {
    --fep-admin-dark: var(--fep-dark, #17070a);
    --fep-admin-dark-2: var(--fep-dark-2, #3a0b10);
    --fep-admin-red: var(--fep-red, #d90416);
    --fep-admin-red-2: var(--fep-red-2, #ff1f2d);
    --fep-admin-soft: var(--fep-soft, #fff5f5);
    --fep-admin-soft-2: var(--fep-soft-2, #fff8e8);
    --fep-admin-text: var(--fep-text, #111827);
    --fep-admin-muted: var(--fep-muted, #64748b);
    --fep-admin-border: var(--fep-border, #ead6d6);
}

body.fep-admin-page,
body.fep-admin-page button,
body.fep-admin-page input,
body.fep-admin-page select,
body.fep-admin-page textarea {
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
}

body.fep-admin-page .btContentHolder {
    background: linear-gradient(180deg, #fff8f8 0%, #ffffff 42%);
}

body.fep-admin-page .bt_bb_layout_boxed_1200 .bt_bb_port {
    max-width: 1220px;
}

body.fep-admin-page .bt_bb_column_content {
    text-align: left;
}

body.fep-admin-page .bt_bb_column_content_inner {
    max-width: 1080px;
    margin: 0 auto 18px auto;
}

body.fep-admin-page .fep-admin-title {
    max-width: 1080px;
    margin: 0 auto 18px auto;
    padding: 18px 20px;
    background: linear-gradient(135deg, var(--fep-admin-dark), var(--fep-admin-dark-2), var(--fep-admin-red));
    border: 0 !important;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(23, 7, 10, .14);
}

body.fep-admin-page .fep-admin-title .bt_bb_headline_content,
body.fep-admin-page .fep-admin-title .bt_bb_headline_content span {
    color: #ffffff;
    font-family: "Montserrat", Arial, Helvetica, sans-serif !important;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
}

body.fep-admin-page .fep-admin-subtitle,
body.fep-admin-page .fep-admin-success,
body.fep-admin-page .fep-admin-link-title {
    margin: 0 0 14px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--fep-admin-dark);
}

body.fep-admin-page .fep-admin-success {
    color: #047857;
}

body.fep-admin-page .fep-admin-link-title a {
    color: var(--fep-admin-red);
    text-decoration: none;
}

body.fep-admin-page .fep-admin-form,
body.fep-admin-page .fep-admin-filter-form,
body.fep-admin-page .fep-admin-pdf-form,
body.fep-admin-page .fep-license-player-card {
    background: #ffffff;
    border: 1px solid var(--fep-admin-border);
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(23, 7, 10, .08);
}

body.fep-admin-page .fep-admin-section-heading {
    margin: 0 0 14px 0;
    padding: 16px 18px;
    border-radius: 8px;
    background: var(--fep-admin-soft);
    border: 1px solid var(--fep-admin-border);
}

body.fep-admin-page .fep-admin-section-heading span {
    display: block;
    color: var(--fep-admin-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .9px;
    text-transform: uppercase;
}

body.fep-admin-page .fep-admin-section-heading strong {
    display: block;
    margin-top: 4px;
    color: var(--fep-admin-text);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}

body.fep-admin-page .fep-admin-danger-form {
    border-color: #fecaca;
    background: #fff7f7;
}

body.fep-admin-page .fep-admin-pdf-form {
    background: var(--fep-admin-soft-2);
    border-color: #f3d6a2;
}

body.fep-admin-page .fep-admin-search-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0;
    color: var(--fep-admin-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}

body.fep-admin-page .fep-admin-search-divider::before,
body.fep-admin-page .fep-admin-search-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--fep-admin-border);
}

body.fep-admin-page .fep-license-form-table,
body.fep-admin-page .fep-license-filter-table {
    width: 100% !important;
    border: 0;
    border-collapse: separate;
    border-spacing: 0 10px;
    background: transparent !important;
}

body.fep-admin-page .fep-license-form-table td,
body.fep-admin-page .fep-license-filter-table td {
    border: 0;
    padding: 0;
    color: var(--fep-admin-text);
    font-size: 14px !important;
    font-weight: 800;
    line-height: 1.3;
}

body.fep-admin-page .fep-license-form-table tr:nth-child(odd) td,
body.fep-admin-page .fep-license-filter-table tr:nth-child(odd) td {
    padding-top: 8px;
    color: var(--fep-admin-muted);
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: .9px;
    text-transform: uppercase;
}

body.fep-admin-page .fep-license-form-table input[type="text"],
body.fep-admin-page .fep-license-form-table select,
body.fep-admin-page .fep-license-filter-table select,
body.fep-admin-page .fep-admin-search-form input[type="text"] {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    border: 1px solid var(--fep-admin-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--fep-admin-text);
    padding: 10px 12px;
    font-size: 15px !important;
    font-weight: 700;
    outline: none;
}

body.fep-admin-page .fep-license-form-table input[readonly],
body.fep-admin-page .fep-license-form-table select[readonly] {
    background: #f8fafc;
    color: #475569;
}

body.fep-admin-page .fep-license-form-table input:focus,
body.fep-admin-page .fep-license-form-table select:focus,
body.fep-admin-page .fep-license-filter-table select:focus {
    border-color: var(--fep-admin-red);
    box-shadow: 0 0 0 3px rgba(217, 4, 22, .12);
}

body.fep-admin-page .fep-admin-primary-btn,
body.fep-admin-page .fep-admin-danger-btn {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .4px;
    text-transform: uppercase;
}

body.fep-admin-page .fep-admin-primary-btn {
    background: linear-gradient(135deg, var(--fep-admin-red), var(--fep-admin-red-2)) !important;
}

body.fep-admin-page .fep-admin-danger-btn {
    background: #991b1b !important;
}

body.fep-admin-page .fep-admin-help {
    max-width: 1080px;
    margin: 12px auto;
    color: var(--fep-admin-muted);
    font-size: 13px;
    font-weight: 800;
}

body.fep-admin-page .fep-admin-empty-state,
body.fep-admin-page .fep-admin-results-bar {
    margin: 14px 0;
    padding: 16px 18px;
    border-radius: 8px;
    border: 1px solid var(--fep-admin-border);
    background: #ffffff;
}

body.fep-admin-page .fep-admin-empty-state strong,
body.fep-admin-page .fep-admin-results-bar strong {
    display: block;
    color: var(--fep-admin-text);
    font-size: 17px;
    font-weight: 900;
}

body.fep-admin-page .fep-admin-empty-state span,
body.fep-admin-page .fep-admin-results-bar span {
    display: block;
    margin-top: 4px;
    color: var(--fep-admin-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

body.fep-admin-page .fep-license-player-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 0 auto 12px auto;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.fep-admin-page .fep-license-player-card:hover {
    border-color: rgba(217, 4, 22, .45);
    box-shadow: 0 10px 28px rgba(23, 7, 10, .12);
    transform: translateY(-1px);
}

body.fep-admin-page .fep-admin-candidate-list {
    margin-top: 14px;
}

body.fep-admin-page .fep-license-candidate-card {
    padding: 14px;
    box-shadow: 0 6px 18px rgba(23, 7, 10, .07);
}

body.fep-admin-page .fep-admin-success-box {
    margin: 0 0 16px 0;
    padding: 14px 16px;
    border-radius: 8px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
}

body.fep-admin-page .fep-admin-success-box strong {
    display: block;
    color: #047857;
    font-size: 16px;
    font-weight: 900;
}

body.fep-admin-page .fep-admin-success-box span {
    display: block;
    margin-top: 3px;
    color: #065f46;
    font-size: 13px;
    font-weight: 700;
}

body.fep-admin-page .fep-club-management-list {
    display: grid;
    gap: 12px;
}

body.fep-admin-page .fep-club-management-card {
    background: #ffffff;
    border: 1px solid var(--fep-admin-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(23, 7, 10, .08);
    overflow: hidden;
}

body.fep-admin-page .fep-club-management-card summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

body.fep-admin-page .fep-club-management-card summary::-webkit-details-marker {
    display: none;
}

body.fep-admin-page .fep-club-management-card summary span {
    color: var(--fep-admin-text);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.25;
}

body.fep-admin-page .fep-club-management-card summary small {
    color: var(--fep-admin-muted);
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

body.fep-admin-page .fep-club-management-body {
    padding: 0 18px 18px 18px;
    border-top: 1px solid #f3eeee;
}

body.fep-admin-page .fep-club-data-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 16px;
}

body.fep-admin-page .fep-club-data-grid div {
    border: 1px solid var(--fep-admin-border);
    border-radius: 8px;
    padding: 12px;
    background: #fffafa;
}

body.fep-admin-page .fep-club-data-grid span {
    display: block;
    color: var(--fep-admin-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}

body.fep-admin-page .fep-club-data-grid strong {
    display: block;
    margin-top: 4px;
    color: var(--fep-admin-text);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    word-break: break-word;
}

body.fep-admin-page .fep-club-card-action {
    margin-top: 14px;
}

body.fep-inscripciones-page .fep-inscription-filter-form {
    max-width: 760px;
    margin: 0 auto 18px auto;
}

body.fep-inscripciones-page .fep-inscritos-list {
    max-width: 980px;
}

body.fep-admin-page .fep-license-player-main strong {
    display: block;
    color: var(--fep-admin-text);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
}

body.fep-admin-page .fep-license-player-main span {
    display: block;
    margin-top: 3px;
    color: var(--fep-admin-muted);
    font-size: 12px;
    font-weight: 800;
}

body.fep-admin-page .fep-license-player-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.fep-admin-page .fep-license-player-actions input[type="submit"] {
    min-width: 128px;
}

@media (min-width: 900px) {
    body.fep-admin-page .bt_bb_wrapper {
        max-width: 1220px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: minmax(340px, 420px) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
        padding: 0 18px;
        box-sizing: border-box;
    }

    body.fep-admin-page .bt_bb_wrapper > .bt_bb_section {
        min-width: 0;
    }

    body.fep-admin-page .bt_bb_wrapper > .bt_bb_section:first-child .bt_bb_column_content_inner,
    body.fep-admin-page .bt_bb_wrapper > .bt_bb_section:first-child .fep-admin-title {
        max-width: none;
    }

    body.fep-admin-page .bt_bb_wrapper > .bt_bb_section:nth-child(2) .bt_bb_column_content_inner {
        max-width: none;
    }

    body.fep-admin-page .fep-admin-title .bt_bb_headline_content,
    body.fep-admin-page .fep-admin-title .bt_bb_headline_content span {
        font-size: 21px;
    }

    body.fep-admin-page .fep-license-player-card {
        grid-template-columns: minmax(0, 1fr) 180px;
        padding: 15px 16px;
    }

    body.fep-inscripciones-page .bt_bb_wrapper {
        display: block;
        max-width: 1180px;
    }

    body.fep-inscripciones-page .bt_bb_wrapper > .bt_bb_section:first-child .bt_bb_column_content_inner,
    body.fep-inscripciones-page .bt_bb_wrapper > .bt_bb_section:first-child .fep-admin-title,
    body.fep-inscripciones-page .bt_bb_wrapper > .bt_bb_section:nth-child(2) .bt_bb_column_content_inner {
        max-width: 980px;
    }
}

body.fep-admin-page .fep-license-mail-status img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

@media (max-width: 700px) {
    body.fep-admin-page .bt_bb_column_content_inner,
    body.fep-admin-page .fep-admin-title {
        max-width: calc(100vw - 28px);
    }

    body.fep-admin-page .fep-club-management-card summary {
        align-items: flex-start;
        flex-direction: column;
    }

    body.fep-admin-page .fep-club-management-card summary small {
        text-align: left;
    }

    body.fep-admin-page .fep-club-data-grid {
        grid-template-columns: 1fr;
    }

    body.fep-admin-page .fep-license-player-card {
        grid-template-columns: 1fr;
    }

    body.fep-admin-page .fep-license-player-actions {
        justify-content: space-between;
    }
}
