:root{
    --lf-dark-bg:#07111a;
    --lf-dark-bg-2:#0b1723;
    --lf-dark-panel:#0f1b28;
    --lf-dark-panel-2:#152333;
    --lf-dark-panel-3:#1a2a3c;
    --lf-dark-soft:#132131;
    --lf-dark-soft-2:#18293c;
    --lf-dark-border:rgba(255,255,255,.08);
    --lf-dark-text:#edf4fb;
    --lf-dark-muted:#9db0c4;
    --lf-dark-title:#ffffff;
    --lf-dark-green:#22c06f;
    --lf-dark-green-2:#179458;
    --lf-dark-blue:#60a5fa;
    --lf-dark-blue-2:#93c5fd;
    --lf-dark-amber:#f4b65f;
    --lf-dark-red:#ff7373;
    --lf-dark-shadow:0 20px 50px rgba(0,0,0,.34);
    --lf-dark-shadow-soft:0 10px 26px rgba(0,0,0,.24);
}

/* =========================================================
   BASE
   ========================================================= */

body.lf-theme-dark{
    background:
        radial-gradient(circle at top left, rgba(34,192,111,.10), transparent 22%),
        radial-gradient(circle at top right, rgba(96,165,250,.10), transparent 20%),
        linear-gradient(180deg, var(--lf-dark-bg) 0%, var(--lf-dark-bg-2) 100%);
    color:var(--lf-dark-text);
}

body.lf-theme-dark,
body.lf-theme-dark p,
body.lf-theme-dark li,
body.lf-theme-dark span,
body.lf-theme-dark small{
    color:inherit;
}

body.lf-theme-dark a{
    color:#a9d0ff;
}

body.lf-theme-dark a:hover{
    color:#d5e8ff;
}

body.lf-theme-dark .text-muted,
body.lf-theme-dark .lf-muted{
    color:var(--lf-dark-muted) !important;
}

body.lf-theme-dark h1,
body.lf-theme-dark h2,
body.lf-theme-dark h3,
body.lf-theme-dark h4,
body.lf-theme-dark h5,
body.lf-theme-dark h6{
    color:var(--lf-dark-title);
}

/* =========================================================
   NAVBAR
   ========================================================= */

body.lf-theme-dark .lf-navbar{
    background:rgba(7,13,21,.88);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,.06);
    box-shadow:0 8px 30px rgba(0,0,0,.28);
}

body.lf-theme-dark .lf-brand-title{
    color:#fff;
}

body.lf-theme-dark .lf-brand-subtitle{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-toggler{
    border-color:rgba(255,255,255,.10);
    background:rgba(255,255,255,.03);
}

body.lf-theme-dark .navbar .nav-link{
    color:#d9e6f2;
}

body.lf-theme-dark .navbar .nav-link:hover,
body.lf-theme-dark .navbar .nav-link.active{
    background:rgba(255,255,255,.06);
    color:#fff;
}

body.lf-theme-dark .btn-lf{
    background:linear-gradient(135deg, var(--lf-dark-green) 0%, var(--lf-dark-green-2) 100%);
    color:#fff;
    box-shadow:0 12px 24px rgba(34,192,111,.22);
}

body.lf-theme-dark .btn-lf:hover,
body.lf-theme-dark .btn-lf:focus{
    background:linear-gradient(135deg, #2ad67d 0%, #1aa661 100%);
    color:#fff;
}

body.lf-theme-dark .btn-lf-outline{
    border:1px solid rgba(255,255,255,.12);
    color:#edf4fb;
    background:rgba(255,255,255,.02);
}

body.lf-theme-dark .btn-lf-outline:hover,
body.lf-theme-dark .btn-lf-outline:focus{
    background:rgba(255,255,255,.06);
    color:#fff;
    border-color:rgba(255,255,255,.20);
}

/* =========================================================
   HERO / USERBAR / FOOTER
   ========================================================= */

body.lf-theme-dark .lf-userbar{
    background:linear-gradient(180deg, rgba(15,27,40,.96) 0%, rgba(21,35,51,.96) 100%);
    border:1px solid var(--lf-dark-border);
    box-shadow:var(--lf-dark-shadow-soft);
}

body.lf-theme-dark .lf-hero{
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.08), transparent 20%),
        radial-gradient(circle at 15% 10%, rgba(255,255,255,.06), transparent 18%),
        linear-gradient(135deg, #0f2b22 0%, #123044 52%, #153c66 100%);
    box-shadow:0 28px 60px rgba(0,0,0,.26);
}

body.lf-theme-dark .lf-hero p,
body.lf-theme-dark .lf-hero .text-muted{
    color:rgba(255,255,255,.82) !important;
}

body.lf-theme-dark .lf-stat-card{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

body.lf-theme-dark .lf-footer{
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(8,14,22,.90);
}

/* =========================================================
   CARDS / PANELS / SOFT BOXES
   ========================================================= */

body.lf-theme-dark .lf-card,
body.lf-theme-dark .card{
    border:1px solid var(--lf-dark-border);
    border-radius:22px;
    box-shadow:var(--lf-dark-shadow);
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
    color:var(--lf-dark-text);
}

body.lf-theme-dark .lf-card:hover{
    box-shadow:0 24px 50px rgba(0,0,0,.32);
}

body.lf-theme-dark .lf-card-header,
body.lf-theme-dark .card-header,
body.lf-theme-dark .card-footer{
    background:var(--lf-dark-panel-3);
    border-color:var(--lf-dark-border);
    color:var(--lf-dark-text);
}

body.lf-theme-dark .lf-soft-box,
body.lf-theme-dark .lf-chart-wrap{
    background:linear-gradient(180deg, var(--lf-dark-panel-2) 0%, var(--lf-dark-panel-3) 100%);
    border:1px solid var(--lf-dark-border);
    color:var(--lf-dark-text);
}

body.lf-theme-dark .lf-empty-icon{
    color:var(--lf-dark-green);
}

/* =========================================================
   FORMS
   ========================================================= */

body.lf-theme-dark .form-label{
    color:#dce8f4;
}

body.lf-theme-dark .form-control,
body.lf-theme-dark .form-select{
    border-color:rgba(255,255,255,.10);
    color:var(--lf-dark-text);
    background:#0d1722;
}

body.lf-theme-dark .form-select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    padding-right:2.85rem;
    cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23d7e7f7' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 1rem center;
    background-size:16px 16px;
}

body.lf-theme-dark .form-select:hover{
    border-color:rgba(148,197,255,.42);
    background-color:#102031;
}

body.lf-theme-dark .form-select:disabled{
    cursor:not-allowed;
    opacity:.78;
}

body.lf-theme-dark .form-control:focus,
body.lf-theme-dark .form-select:focus{
    border-color:rgba(96,165,250,.46);
    box-shadow:0 0 0 .25rem rgba(96,165,250,.14);
    background:#101c29;
    color:#fff;
}

body.lf-theme-dark .lf-torneo-meta{
    gap:.6rem;
    color:#edf5ff;
    font-size:.96rem;
}

body.lf-theme-dark .lf-torneo-meta > div{
    display:flex;
    align-items:flex-start;
    gap:.38rem;
    line-height:1.34;
}

body.lf-theme-dark .lf-torneo-meta strong{
    color:#98e0c9;
    font-weight:800;
}

body.lf-theme-dark .lf-readonly,
body.lf-theme-dark .lf-readonly:disabled{
    background:linear-gradient(180deg, #142131 0%, #172739 100%) !important;
    border-color:rgba(255,255,255,.08) !important;
    color:#aebfd0 !important;
}

/* =========================================================
   CLASIFICACIÓN
   ========================================================= */

body.lf-theme-dark .clf-hero-compact{
    background:linear-gradient(135deg, #123123 0%, #123b5a 100%);
    box-shadow:0 18px 40px rgba(0,0,0,.24);
}

body.lf-theme-dark .clf-hero-compact .clf-sub{
    color:rgba(255,255,255,.84);
}

body.lf-theme-dark .clf-table-card .table{
    color:var(--lf-dark-text);
}

body.lf-theme-dark .clf-table-card thead th{
    color:#b5c7d9;
    border-bottom:1px solid rgba(255,255,255,.08);
}

body.lf-theme-dark .clf-table-card tbody td{
    border-color:rgba(255,255,255,.06);
}

body.lf-theme-dark .clf-rank,
body.lf-theme-dark .clf-name,
body.lf-theme-dark .clf-points-main{
    color:#fff;
}

body.lf-theme-dark .clf-login,
body.lf-theme-dark .clf-mini{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .clf-points-sub,
body.lf-theme-dark .clf-accent-blue{
    color:#7db8ff;
}

body.lf-theme-dark .clf-accent-amber{
    color:#ffca7b;
}

body.lf-theme-dark .clf-accent-green{
    color:#57d98f;
}

body.lf-theme-dark .clf-you{
    background:rgba(34,192,111,.18);
    color:#8ff0b7;
}

body.lf-theme-dark .clf-info-card{
    border:1px solid var(--lf-dark-border);
    box-shadow:var(--lf-dark-shadow-soft);
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
}

/* =========================================================
   DASHBOARD TORNEO
   ========================================================= */

body.lf-theme-dark .lf-dash-hero{
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
    border:1px solid var(--lf-dark-border);
    box-shadow:var(--lf-dark-shadow-soft);
}

body.lf-theme-dark .lf-dash-kicker{
    color:#7db8ff;
}

body.lf-theme-dark .lf-dash-title,
body.lf-theme-dark .lf-dash-mainstat__value,
body.lf-theme-dark .lf-dash-mini__value,
body.lf-theme-dark .lf-quad-box__value{
    color:#fff;
}

body.lf-theme-dark .lf-dash-sub,
body.lf-theme-dark .lf-dash-mainstat__label,
body.lf-theme-dark .lf-dash-note,
body.lf-theme-dark .lf-dash-empty,
body.lf-theme-dark .lf-dash-mini__label,
body.lf-theme-dark .lf-quad-box__label{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-dash-pill{
    background:var(--lf-dark-panel-3);
    border:1px solid var(--lf-dark-border);
}

body.lf-theme-dark .lf-dash-pill--blue{
    border-color:rgba(96,165,250,.24);
    background:rgba(96,165,250,.08);
}

body.lf-theme-dark .lf-dash-pill--amber{
    border-color:rgba(244,182,95,.22);
    background:rgba(244,182,95,.08);
}

body.lf-theme-dark .lf-dash-pill__label{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-dash-pill__value{
    color:#fff;
}

body.lf-theme-dark .lf-dash-card{
    border:1px solid var(--lf-dark-border);
    box-shadow:var(--lf-dark-shadow-soft);
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
}

body.lf-theme-dark .lf-dash-mini,
body.lf-theme-dark .lf-quad-box,
body.lf-theme-dark .lf-info-grid div{
    background:var(--lf-dark-soft);
    border:1px solid var(--lf-dark-border);
}

body.lf-theme-dark .lf-info-grid span{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-info-grid strong{
    color:#fff;
}

body.lf-theme-dark .lf-dash-empty{
    background:var(--lf-dark-soft);
    border:1px dashed rgba(255,255,255,.14);
}

/* =========================================================
   RANK / MEMBERS
   ========================================================= */

body.lf-theme-dark .lf-rank-item,
body.lf-theme-dark .lf-member-item{
    border:1px solid var(--lf-dark-border);
    background:linear-gradient(180deg, var(--lf-dark-panel-2) 0%, var(--lf-dark-panel-3) 100%);
}

body.lf-theme-dark .lf-rank-item__pos{
    background:rgba(96,165,250,.12);
    color:#8fc2ff;
}

body.lf-theme-dark .lf-rank-item__name,
body.lf-theme-dark .lf-rank-item__pts,
body.lf-theme-dark .lf-member-item__name{
    color:#fff;
}

body.lf-theme-dark .lf-rank-item__sub,
body.lf-theme-dark .lf-member-item__sub{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-rank-item__you{
    background:rgba(34,192,111,.18);
    color:#8ff0b7;
}

body.lf-theme-dark .lf-member-item__role{
    color:#8fc2ff;
    background:rgba(96,165,250,.14);
}

/* =========================================================
   ACCESS CARDS
   ========================================================= */

body.lf-theme-dark .lf-access-card{
    border:1px solid var(--lf-dark-border);
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
    color:#fff;
    box-shadow:var(--lf-dark-shadow-soft);
}

body.lf-theme-dark .lf-access-card:hover{
    border-color:rgba(96,165,250,.20);
    color:#fff;
}

body.lf-theme-dark .lf-access-card__icon{
    background:var(--lf-dark-soft);
    color:#8fc2ff;
}

body.lf-theme-dark .lf-access-card__title{
    color:#fff;
}

body.lf-theme-dark .lf-access-card__sub{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-access-card__count{
    background:rgba(96,165,250,.14);
    color:#8fc2ff;
}

/* =========================================================
   BUTTONS SOFT
   ========================================================= */

body.lf-theme-dark .btn-lf-soft{
    border-color:rgba(255,255,255,.10);
}

body.lf-theme-dark .btn-lf-soft-blue{
    background:rgba(96,165,250,.08);
    border-color:rgba(96,165,250,.18);
    color:#8fc2ff;
}

body.lf-theme-dark .btn-lf-soft-blue:hover{
    background:rgba(96,165,250,.14);
    border-color:rgba(96,165,250,.28);
    color:#cfe4ff;
}

body.lf-theme-dark .btn-lf-soft-green{
    background:rgba(34,192,111,.08);
    border-color:rgba(34,192,111,.18);
    color:#84ebb1;
}

body.lf-theme-dark .btn-lf-soft-green:hover{
    background:rgba(34,192,111,.14);
    border-color:rgba(34,192,111,.28);
    color:#c8ffde;
}

body.lf-theme-dark .btn-lf-soft-orange{
    background:rgba(244,182,95,.08);
    border-color:rgba(244,182,95,.18);
    color:#ffcd82;
}

body.lf-theme-dark .btn-lf-soft-orange:hover{
    background:rgba(244,182,95,.14);
    border-color:rgba(244,182,95,.28);
    color:#ffe1ad;
}

body.lf-theme-dark .btn-lf-soft-red{
    background:rgba(255,115,115,.08);
    border-color:rgba(255,115,115,.18);
    color:#ff9b9b;
}

body.lf-theme-dark .btn-lf-soft-red:hover{
    background:rgba(255,115,115,.14);
    border-color:rgba(255,115,115,.28);
    color:#ffd0d0;
}

/* =========================================================
   MATCHES
   ========================================================= */

body.lf-theme-dark .lf-match-row{
    border:1px solid var(--lf-dark-border);
    background:linear-gradient(180deg, var(--lf-dark-panel-2) 0%, var(--lf-dark-panel-3) 100%);
}

body.lf-theme-dark .lf-match-row__datetime{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-match-row__team{
    color:#e9f3fb;
}

body.lf-theme-dark .lf-match-row__team span{
    color:inherit;
}

body.lf-theme-dark .lf-match-row__score{
    color:#fff;
}

/* =========================================================
   TORNEOS LIST
   ========================================================= */

body.lf-theme-dark .lf-torneo-row{
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%);
    border:1px solid var(--lf-dark-border);
    box-shadow:var(--lf-dark-shadow-soft);
}

body.lf-theme-dark .lf-torneo-row__title{
    color:#fff;
}

body.lf-theme-dark .lf-torneo-row__desc{
    color:var(--lf-dark-muted);
}

body.lf-theme-dark .lf-torneo-row__meta{
    color:#bfd0df;
}

/* =========================================================
   CHIPS / LINKS / FACE
   ========================================================= */

body.lf-theme-dark .lf-link-chip{
    background:var(--lf-dark-soft);
    border:1px solid var(--lf-dark-border);
    color:#8fc2ff;
}

body.lf-theme-dark .lf-link-chip:hover{
    background:var(--lf-dark-soft-2);
    border-color:rgba(96,165,250,.18);
    color:#d4e8ff;
}

body.lf-theme-dark .fj-face{
    background:#0b1723;
}

/* =========================================================
   BOOTSTRAP COMMON OVERRIDES
   ========================================================= */

body.lf-theme-dark .bg-white,
body.lf-theme-dark .bg-light,
body.lf-theme-dark .bg-body,
body.lf-theme-dark .bg-body-tertiary{
    background:var(--lf-dark-panel) !important;
    color:var(--lf-dark-text) !important;
}

body.lf-theme-dark .text-dark{
    color:#fff !important;
}

body.lf-theme-dark .table{
    color:var(--lf-dark-text);
    --bs-table-bg:transparent;
    --bs-table-striped-bg:rgba(255,255,255,.02);
    --bs-table-hover-bg:rgba(255,255,255,.04);
    --bs-table-border-color:rgba(255,255,255,.08);
}

body.lf-theme-dark .table > :not(caption) > * > *{
    background-color:transparent !important;
    color:inherit;
    border-bottom-color:rgba(255,255,255,.08);
}

body.lf-theme-dark .table thead th{
    color:#fff;
}

body.lf-theme-dark .modal-content,
body.lf-theme-dark .dropdown-menu,
body.lf-theme-dark .list-group-item,
body.lf-theme-dark .offcanvas,
body.lf-theme-dark .accordion-item{
    background:var(--lf-dark-panel);
    color:var(--lf-dark-text);
    border-color:rgba(255,255,255,.08);
}

body.lf-theme-dark .accordion-button{
    background:var(--lf-dark-panel-3);
    color:#fff;
}

body.lf-theme-dark .accordion-button:not(.collapsed){
    background:var(--lf-dark-soft);
    color:#fff;
}

body.lf-theme-dark .page-link{
    background:var(--lf-dark-panel);
    border-color:rgba(255,255,255,.08);
    color:#cfe4ff;
}

body.lf-theme-dark .page-link:hover{
    background:var(--lf-dark-panel-3);
    color:#fff;
}

body.lf-theme-dark .badge.text-bg-light{
    background:var(--lf-dark-soft) !important;
    color:#edf4fb !important;
}

body.lf-theme-dark .rounded-circle.bg-light,
body.lf-theme-dark .rounded-pill.bg-light{
    background:var(--lf-dark-soft) !important;
    color:#cfe4ff !important;
}

/* Tabla clasificación en dark */
body.lf-theme-dark .table tbody td strong,
body.lf-theme-dark .table tbody th strong{
    color:#f3f8fd !important;
}

body.lf-theme-dark .table tbody tr.table-success,
body.lf-theme-dark .table tbody tr.table-success > td,
body.lf-theme-dark .table tbody tr.table-success > th{
    background:rgba(34,192,111,.16) !important;
    color:#edf4fb !important;
}

body.lf-theme-dark .table tbody tr.table-success td strong,
body.lf-theme-dark .table tbody tr.table-success th strong{
    color:#ffffff !important;
}

body.lf-theme-dark .badge.text-bg-success{
    background:#1f9d62 !important;
    color:#ffffff !important;
}

/* =========================================================
   MODAL JUGADORES / SELECTOR
   ========================================================= */

body.lf-theme-dark .modal-content{
    background:linear-gradient(180deg, #0f1b28 0%, #152333 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:#edf4fb !important;
    box-shadow:0 24px 60px rgba(0,0,0,.38);
}

body.lf-theme-dark .modal-header,
body.lf-theme-dark .modal-footer{
    border-color:rgba(255,255,255,.08) !important;
}

body.lf-theme-dark .modal-title{
    color:#ffffff !important;
}

body.lf-theme-dark .lf-modal-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

body.lf-theme-dark .lf-modal-player{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:18px;
    background:linear-gradient(180deg, #132131 0%, #18293c 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
}

body.lf-theme-dark .lf-modal-player:hover{
    border-color:rgba(96,165,250,.18) !important;
    background:linear-gradient(180deg, #162638 0%, #1c3045 100%) !important;
}

body.lf-theme-dark .lf-modal-meta{
    flex:1 1 auto;
    min-width:0;
}

body.lf-theme-dark .lf-modal-name{
    color:#ffffff !important;
    font-weight:800;
    line-height:1.15;
}

body.lf-theme-dark .lf-modal-sub{
    color:#9db0c4 !important;
    font-size:.92rem;
    line-height:1.2;
}

body.lf-theme-dark .lf-modal-face{
    width:52px;
    height:52px;
    flex:0 0 52px;
    object-fit:cover;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.08);
    background:#0b1723;
}

body.lf-theme-dark .lf-modal-team{
    width:28px;
    height:28px;
    flex:0 0 28px;
    object-fit:contain;
    filter:none;
}

body.lf-theme-dark .lf-modal-player .btn.btn-lf{
    flex:0 0 auto;
    white-space:nowrap;
}

/* Buscador / filtros dentro del modal */
body.lf-theme-dark .modal-body .form-control,
body.lf-theme-dark .modal-body .form-select{
    background:#0d1722 !important;
    border:1px solid rgba(255,255,255,.10) !important;
    color:#edf4fb !important;
}

body.lf-theme-dark .modal-body .form-control::placeholder{
    color:#7f93a8 !important;
}

body.lf-theme-dark .modal-body .form-control:focus,
body.lf-theme-dark .modal-body .form-select:focus{
    background:#101c29 !important;
    border-color:rgba(96,165,250,.45) !important;
    color:#fff !important;
    box-shadow:0 0 0 .25rem rgba(96,165,250,.12) !important;
}

/* Botón eliminar */
body.lf-theme-dark .modal-body .btn-outline-danger{
    color:#ff9b9b !important;
    border-color:rgba(255,115,115,.35) !important;
    background:rgba(255,115,115,.05) !important;
}

body.lf-theme-dark .modal-body .btn-outline-danger:hover{
    color:#fff !important;
    background:rgba(255,115,115,.14) !important;
    border-color:rgba(255,115,115,.48) !important;
}

/* Scrollbar opcional del listado */
body.lf-theme-dark .lf-modal-list::-webkit-scrollbar{
    width:10px;
}

body.lf-theme-dark .lf-modal-list::-webkit-scrollbar-track{
    background:#0d1722;
    border-radius:10px;
}

body.lf-theme-dark .lf-modal-list::-webkit-scrollbar-thumb{
    background:#22384f;
    border-radius:10px;
}

body.lf-theme-dark .lf-modal-list::-webkit-scrollbar-thumb:hover{
    background:#2b4866;
}

/* =========================================================
   TORNEO CARD MODULE
   ========================================================= */

body.lf-theme-dark .lf-tcard-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

body.lf-theme-dark .lf-tcard{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    padding:18px 20px;
    border:1px solid var(--lf-dark-border);
    border-radius:24px;
    box-shadow:var(--lf-dark-shadow-soft);
    background:linear-gradient(90deg, rgba(15,27,40,.98) 0%, rgba(21,35,51,.98) 100%);
}

@media (min-width: 992px){
    body.lf-theme-dark .lf-tcard{
        grid-template-columns:minmax(0,1fr) 220px;
        align-items:center;
    }
}

body.lf-theme-dark .lf-tcard__main{
    min-width:0;
}

body.lf-theme-dark .lf-tcard__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}

body.lf-theme-dark .lf-tcard__title{
    margin:0;
    font-size:1.35rem;
    font-weight:800;
    letter-spacing:-.02em;
    color:#fff;
}

body.lf-theme-dark .lf-tcard__desc{
    margin:8px 0 0;
    color:var(--lf-dark-muted);
    max-width:760px;
}

body.lf-theme-dark .lf-tcard__badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

body.lf-theme-dark .lf-tcard-badge{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:700;
    line-height:1;
    border:1px solid transparent;
}

body.lf-theme-dark .lf-tcard-badge--ok{
    background:rgba(34,192,111,.16);
    color:#9df0bf;
    border-color:rgba(34,192,111,.22);
}

body.lf-theme-dark .lf-tcard-badge--warn{
    background:rgba(244,182,95,.12);
    color:#ffd28f;
    border-color:rgba(244,182,95,.22);
}

body.lf-theme-dark .lf-tcard-badge--soft{
    background:rgba(255,255,255,.06);
    color:#edf4fb;
    border-color:rgba(255,255,255,.08);
}

body.lf-theme-dark .lf-tcard-badge--count{
    gap:7px;
    background:rgba(96,165,250,.12);
    color:#d7e9ff;
    border-color:rgba(96,165,250,.22);
}

body.lf-theme-dark .lf-tcard-badge--count i{
    font-size:.78rem;
    opacity:.92;
}

body.lf-theme-dark .lf-tcard__meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:14px;
    color:#bfd0df;
    font-size:.92rem;
}

body.lf-theme-dark .lf-tcard__meta strong{
    color:#fff;
}

body.lf-theme-dark .lf-tcard__rules{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

body.lf-theme-dark .lf-tcard-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    color:#dce8f4;
    font-size:.79rem;
    line-height:1;
}

body.lf-theme-dark .lf-tcard-pill i{
    color:#8fc2ff;
}

body.lf-theme-dark .lf-tcard__side{
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:stretch;
}

body.lf-theme-dark .lf-tcard__actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
}

body.lf-theme-dark .lf-tcard-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:0 16px;
    border-radius:16px;
    text-decoration:none;
    font-weight:800;
    transition:.18s ease;
    border:1px solid transparent;
}

body.lf-theme-dark .lf-tcard-action--primary{
    background:linear-gradient(135deg, var(--lf-dark-green) 0%, var(--lf-dark-green-2) 100%);
    color:#fff;
    box-shadow:0 12px 24px rgba(34,192,111,.18);
    flex:1 1 auto;
}

body.lf-theme-dark .lf-tcard-action--primary:hover{
    color:#fff;
    transform:translateY(-1px);
}

body.lf-theme-dark .lf-tcard-action--soft{
    width:46px;
    padding:0;
    background:rgba(96,165,250,.08);
    border-color:rgba(96,165,250,.20);
    color:#9bc7ff;
}

body.lf-theme-dark .lf-tcard-action--soft:hover{
    color:#d9ebff;
    background:rgba(96,165,250,.14);
}

body.lf-theme-dark .lf-tcard-auto{
display: flex;
    align-items: center;

    gap: 12px;

    padding: 2px 4px;
    border-radius: 18px;

}

body.lf-theme-dark .lf-tcard-auto__label{
    font-size:.9rem;
    font-weight:700;
    color:#edf4fb;
}

body.lf-theme-dark .lf-toggle{
    position:relative;
    width:52px;
    height:30px;
    flex:0 0 52px;
}

body.lf-theme-dark .lf-toggle input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}

body.lf-theme-dark .lf-toggle__track{
    position:relative;
    display:block;
    width:52px;
    height:30px;
    border-radius:999px;
    background:#67788c;
    transition:.2s ease;
    box-shadow:inset 0 2px 4px rgba(0,0,0,.20);
}

body.lf-theme-dark .lf-toggle__track::after{
    content:'';
    position:absolute;
    top:4px;
    left:4px;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 8px rgba(16,24,40,.22);
    transition:.2s ease;
}

body.lf-theme-dark .lf-toggle input:checked + .lf-toggle__track{
    background:var(--lf-dark-green);
}

body.lf-theme-dark .lf-toggle input:checked + .lf-toggle__track::after{
    transform:translateX(22px);
}

@media (max-width: 991.98px){
    body.lf-theme-dark .lf-tcard__head{
        flex-direction:column;
    }

    body.lf-theme-dark .lf-tcard__side{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    body.lf-theme-dark .lf-tcard__actions{
        flex:1 1 auto;
        justify-content:stretch;
    }

    body.lf-theme-dark .lf-tcard-action--primary{
        flex:1 1 auto;
    }

    body.lf-theme-dark .lf-tcard-auto{
        flex:0 0 auto;
        min-width:auto;
        margin-left:auto;
        padding:8px 10px;
        gap:8px;
        white-space:nowrap;
    }

    body.lf-theme-dark .lf-tcard-auto__label{
        font-size:.82rem;
    }
}

@media (max-width: 575.98px){
    body.lf-theme-dark .lf-tcard{
        padding:16px;
    }

    body.lf-theme-dark .lf-tcard__title{
        font-size:1.22rem;
    }

    body.lf-theme-dark .lf-tcard__desc{
        font-size:.94rem;
    }

    body.lf-theme-dark .lf-tcard__side{
        gap:8px;
    }

    body.lf-theme-dark .lf-tcard__actions{
        gap:8px;
    }

    body.lf-theme-dark .lf-tcard-action{
        min-height:42px;
        border-radius:14px;
    }

    body.lf-theme-dark .lf-tcard-action--soft{
        width:42px;
    }

    body.lf-theme-dark .lf-tcard-action--primary{
        padding:0 12px;
        font-size:.95rem;
    }

    body.lf-theme-dark .lf-tcard-auto{
        padding:6px 8px;
        border-radius:14px;
        gap:7px;
    }

    body.lf-theme-dark .lf-tcard-auto__label{
        font-size:.78rem;
    }

    body.lf-theme-dark .lf-toggle{
        width:46px;
        height:28px;
        flex:0 0 46px;
    }

    body.lf-theme-dark .lf-toggle__track::after{
        width:22px;
        height:22px;
    }

    body.lf-theme-dark .lf-toggle input:checked + .lf-toggle__track::after{
        transform:translateX(18px);
    }
}

.lf-torneo-headbar{
    display:grid;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.lf-torneo-headbar__title-row{
    display:flex;
    align-items:center;
    flex:1 1 auto;
    min-width:0;
}

.lf-torneo-headbar__title-row h2{
    margin:0;
    font-size:24px;
    font-weight:800;
    line-height:1;
}

.lf-torneo-headbar__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    margin-left:auto;
}

.lf-torneo-headbar__actions .form-select{
    width:240px;
    min-width:240px;
    height:52px;
    border-radius:16px;
}

@media (max-width: 767.98px){
    .lf-torneo-headbar{
        flex-direction:column;
        align-items:stretch;
        gap:12px;
    }

    .lf-torneo-headbar__title-row{
        justify-content:center;
        flex:0 0 auto;
    }

    .lf-torneo-headbar__title-row h2{
        font-size:22px;
    }

    .lf-torneo-headbar__actions{
        width:100%;
        margin-left:0;
    }

    .lf-torneo-headbar__actions .form-select{
        width:100%;
        min-width:0;
    }
}

.clf-state-box{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(12,28,48,.92), rgba(9,22,39,.92));
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.clf-state-box__icon{
    width:40px;
    height:40px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    font-size:18px;
}

.clf-state-box__title{
    font-weight:800;
    color:#ffffff;
    line-height:1.2;
    margin-bottom:4px;
}

.clf-state-box__text{
    color:rgba(230,238,248,.82);
    line-height:1.45;
}

.clf-state-box--info .clf-state-box__icon{
    background:rgba(62,166,255,.14);
    color:#69b8ff;
    border:1px solid rgba(105,184,255,.24);
}

.clf-state-box--warn .clf-state-box__icon{
    background:rgba(255,183,77,.14);
    color:#ffbd59;
    border:1px solid rgba(255,189,89,.24);
}
/* =========================================================
   DARK MOBILE MENU - FOOTBALL STYLE
   ========================================================= */

body.lf-theme-dark .lf-toggler{
    color:#eef6ff;
    border-color:rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(18,31,46,.96) 0%, rgba(10,18,28,.96) 100%);
    box-shadow:0 12px 28px rgba(0,0,0,.34);
}

body.lf-theme-dark .lf-toggler:hover{
    background:linear-gradient(180deg, rgba(24,42,63,.98) 0%, rgba(12,22,34,.98) 100%);
}

body.lf-theme-dark .lf-toggler__ball{
    color:#8be0b2;
}

@media (max-width: 991.98px){
    body.lf-theme-dark .lf-mobile-menu-panel{
        border-color:rgba(255,255,255,.07);
        background:
            radial-gradient(circle at 82% 18%, rgba(34,192,111,.18), transparent 22%),
            linear-gradient(180deg, rgba(7,13,21,.98) 0%, rgba(12,21,33,.98) 100%);
        box-shadow:0 18px 42px rgba(0,0,0,.34);
    }

    body.lf-theme-dark .lf-mobile-menu-panel .nav-link{
        color:#edf4fb;
        background:rgba(255,255,255,.035);
        border-color:rgba(255,255,255,.07);
    }

    body.lf-theme-dark .lf-mobile-menu-panel .nav-link:hover,
    body.lf-theme-dark .lf-mobile-menu-panel .nav-link.active{
        background:rgba(34,192,111,.12);
        border-color:rgba(34,192,111,.18);
        color:#ffffff;
    }

    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-menu{
        background:linear-gradient(180deg, rgba(13,24,38,.98) 0%, rgba(17,30,45,.98) 100%);
        border:1px solid rgba(255,255,255,.07);
        box-shadow:0 14px 30px rgba(0,0,0,.26);
    }

    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item{
        color:#dfeaf6;
    }

    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item:hover,
    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item.active{
        background:rgba(255,255,255,.06);
        color:#fff;
    }

    body.lf-theme-dark .lf-account-chip{
        color:var(--lf-dark-muted);
    }
}

body.lf-theme-dark .lf-modal-team--badge{
    background:#0b1723;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 24px rgba(0,0,0,.28);
}

body.lf-theme-dark .lf-modal-chip{
    background:#122132;
    color:#d8e6f5;
}

body.lf-theme-dark .lf-modal-form--empty{
    color:#8ea4bc;
}

body.lf-theme-dark .lf-modal-form__pill{
    background:#122132;
}

body.lf-theme-dark .lf-modal-form__pill.lf-slot-points--red{ color:#ffb4ab; background:rgba(179,35,24,.18); }
body.lf-theme-dark .lf-modal-form__pill.lf-slot-points--black{ color:#e7edf4; background:#243244; }
body.lf-theme-dark .lf-modal-form__pill.lf-slot-points--orange{ color:#ffd08a; background:rgba(178,90,0,.22); }
body.lf-theme-dark .lf-modal-form__pill.lf-slot-points--green{ color:#9ae6b4; background:rgba(15,123,67,.22); }
body.lf-theme-dark .lf-modal-form__pill.lf-slot-points--blue{ color:#9ec5ff; background:rgba(29,78,216,.22); }


@media (min-width: 992px){
    body.lf-theme-dark .lf-mobile-menu-panel{
        background:linear-gradient(180deg, rgb(7 13 21 / 100%) 0%, rgb(12 21 33 / 100%) 100%);
        border-color:rgba(255,255,255,.09);
        box-shadow:0 22px 48px rgba(0,0,0,.42);
        backdrop-filter:none;
        isolation:isolate;
        overflow:clip;
        z-index:2000;
    }

    body.lf-theme-dark .lf-mobile-menu-panel::after{
        background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0));
        opacity:.32;
    }

    body.lf-theme-dark .lf-mobile-menu-panel .nav-link{
        color:#edf4fb;
        background:rgba(255,255,255,.035);
        border-color:rgba(255,255,255,.07);
    }

    body.lf-theme-dark .lf-mobile-menu-panel .nav-link:hover,
    body.lf-theme-dark .lf-mobile-menu-panel .nav-link.active{
        background:rgba(34,192,111,.12);
        border-color:rgba(34,192,111,.18);
        color:#fff;
    }

    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-menu{
        background:linear-gradient(180deg, rgba(13,24,38,.98) 0%, rgba(17,30,45,.98) 100%);
        border:1px solid rgba(255,255,255,.07);
        box-shadow:0 14px 30px rgba(0,0,0,.26);
    }

    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item{color:#dfeaf6}
    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item:hover,
    body.lf-theme-dark .lf-mobile-menu-panel .dropdown-item.active{background:rgba(255,255,255,.06);color:#fff}
}


/* =========================================================
   SELECT SHELL / CARET HELPERS
   ========================================================= */
body.lf-theme-dark .lf-select-shell{
    position:relative;
}

body.lf-theme-dark .lf-select-shell > .form-select{
    padding-right:3.35rem !important;
    background-image:none !important;
}

body.lf-theme-dark .lf-select-shell__caret{
    position:absolute;
    top:50%;
    right:1rem;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1rem;
    height:1rem;
    color:#dcebff;
    opacity:.95;
    pointer-events:none;
    font-size:.82rem;
    text-shadow:0 1px 8px rgba(0,0,0,.28);
}

body.lf-theme-dark .lf-select-shell:hover .lf-select-shell__caret,
body.lf-theme-dark .lf-select-shell:focus-within .lf-select-shell__caret{
    color:#ffffff;
}

/* =========================================================
   TOURNAMENT SUMMARY READABILITY
   ========================================================= */
body.lf-theme-dark #torneoResumenContainer .lf-torneo-meta{
    color:#e9f2fb;
}

body.lf-theme-dark #torneoResumenContainer .lf-torneo-meta > div{
    color:#eef4fb;
}

body.lf-theme-dark #torneoResumenContainer .lf-torneo-meta > div strong{
    color:#9fd6ff;
    font-weight:700;
}


/* =========================================================
   ESTADO JUGADOR EN TEMA OSCURO
   ========================================================= */
body.lf-theme-dark .lf-modal-player--doubt{
    border-color:rgba(245,158,11,.26) !important;
    background:linear-gradient(180deg, #272012 0%, #1a2b3d 100%) !important;
}

body.lf-theme-dark .lf-modal-player--out{
    border-color:rgba(239,68,68,.24) !important;
    background:linear-gradient(180deg, #2b1618 0%, #1a2b3d 100%) !important;
}

body.lf-theme-dark .lf-modal-status-meta.lf-status-badge--doubt{
    color:#ffd28f !important;
}

body.lf-theme-dark .lf-modal-status-meta.lf-status-badge--out{
    color:#ffb4b4 !important;
}

body.lf-theme-dark .lf-slot--status-doubt .lf-slot-face{
    box-shadow:0 0 0 3px rgba(245,158,11,.94), 0 10px 26px rgba(245,158,11,.25) !important;
}

body.lf-theme-dark .lf-slot--status-out .lf-slot-face{
    box-shadow:0 0 0 3px rgba(239,68,68,.92), 0 10px 26px rgba(239,68,68,.22) !important;
}


/* =========================================================
   ESTADOS CON ICONOS (ABRIL 2026)
   ========================================================= */
body.lf-theme-dark .lf-status-icon{
    box-shadow:0 8px 18px rgba(0,0,0,.24);
}

body.lf-theme-dark .lf-status-icon--plain{
    background:transparent !important;
    box-shadow:none !important;
}

body.lf-theme-dark .lf-status-icon--warning{
    background:#f59e0b;
    color:#fff;
}

body.lf-theme-dark .lf-status-icon--danger{
    background:#dc2626;
    color:#fff;
}

body.lf-theme-dark .lf-modal-status-note{
    background:rgba(255,255,255,.06);
    color:#dfe8f4;
}

body.lf-theme-dark .lf-modal-status-note--warning{
    color:#ffd58a;
    background:rgba(245,158,11,.16);
}

body.lf-theme-dark .lf-modal-status-note--danger{
    color:#ffb4b4;
    background:rgba(220,38,38,.14);
}

body.lf-theme-dark .lf-modal-player--doubt,
body.lf-theme-dark .lf-modal-player--out{
    border-color:var(--lf-dark-border) !important;
    background:linear-gradient(180deg, var(--lf-dark-panel) 0%, var(--lf-dark-panel-2) 100%) !important;
}

body.lf-theme-dark .lf-slot--status-doubt .lf-slot-face,
body.lf-theme-dark .lf-slot--status-out .lf-slot-face{
    box-shadow:0 10px 26px rgba(0,0,0,.22) !important;
    filter:none !important;
}
