/*
Template Name: Velzon - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: support@themesbrand.com
File: Custom Css File
*/
/*  poháry barvy  */
.text-bronze{
    color: #6e581e;
}
.text-gold{
    color: #d5bb16;
}
.text-silver{
    color: #9d9d9d;
}
.custom-tooltip {

}



/*  řádky tabulek na profilu  */
#eventsTable tbody tr:nth-child(odd) {
    background-color: #fefefe; /* Světle šedá pro liché řádky */
    color:#000000;
}
#eventsTable tbody tr:nth-child(even) {
    background-color: #83b5af; /* Bílá pro sudé řádky */
    color:#000000;
}
#eventsTable tbody tr:hover {

}
.dataTables_filter input {
    width: auto; /* Nebo zadej konkrétní šířku jako 300px */
    padding: 0.3rem; /* Zvýšení vnitřního odsazení */
    font-size: 1rem; /* Velikost písma */
}
input[type="number"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rotating {
    animation: spin 1s linear infinite;
}

.gridjs-container {
    background-color: #1e1e2d;
    color: #c3cbe4;
    border: 1px solid #2c2f4a;
}

.gridjs-wrapper {
    background-color: #1e1e2d;
    box-shadow: 0 1px 3px rgba(0,0,0,.5);
    border-color: #2c2f4a;
}

.gridjs-head,
.gridjs-footer {
    background-color: #2a2e42;
    border-color: #3a3f58;
    color: #c3cbe4;
}

.gridjs-footer {
    box-shadow: none;
}

.gridjs-table {
    color: #c3cbe4;
}

td.gridjs-td,
th.gridjs-th {
    background-color: #1e1e2d;
    border: 1px solid #2f334d;
}

.gridjs-tr:hover td {
    background-color: #2a2e42;
}

.gridjs-tr-selected td {
    background-color: #3a4061;
}

th.gridjs-th {
    background-color: #2a2e42;
    color: #c3cbe4;
}

th.gridjs-th-sort:hover,
th.gridjs-th-sort:focus {
    background-color: #323650;
}

.gridjs-pagination .gridjs-pages button {
    background-color: #2a2e42;
    border: 1px solid #3a3f58;
    color: #c3cbe4;
}

.gridjs-pagination .gridjs-pages button:hover {
    background-color: #3a4061;
    color: #fff;
}

.gridjs-pagination .gridjs-pages button.gridjs-currentPage {
    background-color: #4c5a87;
    font-weight: 700;
}

.gridjs-pagination .gridjs-summary {
    color: #a3acc4;
}

input.gridjs-input {
    background-color: #252a3a;
    border: 1px solid #3a3f58;
    color: #e0e6f6;
}

input.gridjs-input:focus {
    border-color: #6a8ae2;
    box-shadow: 0 0 0 2px rgba(106,138,226,.5);
}

.gridjs-sort-neutral,
.gridjs-sort-asc,
.gridjs-sort-desc {
    filter: brightness(0.85);
}

.editor-img-left {
    float: left;
    margin-right: 15px;
    max-width: 300px;
    height: auto;
}

.countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, sans-serif;
    color: #fff;
}

.countdown-item {
    background-color: #555;
    padding: 0;
    margin: 0 3px;
    border-radius: 3px;
    text-align: center;
    min-width: 35px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.countdown-value {
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1;
    padding: 5px 8px;
    margin-bottom: 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

.countdown-label {
    font-size: 0.8em;
    text-transform: uppercase;
    color: #000;
    background-color: #ddd;
    padding: 2px 0;
    width: 100%;
    box-sizing: border-box;
    font-weight: bold;
}

.countdown-separator {
    font-size: 1.8em;
    font-weight: bold;
    color: #555;
    margin: 0 -1px;
}

table.table-hover-process tbody tr:hover {
    background-color: #4a4949 !important;
    transition: all 0.2s ease-in-out; /* Plynulý přechod všech změn během 0.2 sekundy */
}



/* Styly pro vizuál šipkového progress baru */
.progress-step-arrow-visuals {
    display: flex;
    align-items: stretch;
    padding: 0;
    margin: 0;
    list-style: none;
}

.progress-step-arrow-visuals .nav-item {
    flex-grow: 1;
    position: relative;
    overflow: visible;
    z-index: 1;
}

.progress-step-arrow-visuals .nav-item:last-child {
    margin-right: 0; /* Poslední nemá šipku ani extra mezeru */
}

/* Styly pro samotná tlačítka (nav-link) uvnitř položek */
.progress-step-arrow-visuals .nav-link {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 0.8rem 1.5rem;

    /* Základní stav: Neaktivní / nedokončené (Step 3 a dál) */
    color: var(--vz-body-color) !important; /* Šedý text */
    background-color: var(--vz-light) !important; /* Světle šedé pozadí (skoro bílé) */

    border-radius: 0 !important;
    transition: all 0.3s ease-in-out;
    position: relative;
    z-index: 2;
}

/* Styly pro "done" (dokončené/prošlé) kroky (Step 1) */
.progress-step-arrow-visuals .nav-link.done {
    background-color: var(--vz-info) !important; /* Modré pozadí */
    color: var(--vz-white) !important; /* Bílý text */
}

/* Styly pro "active" (aktuální) krok (Step 2) */
.progress-step-arrow-visuals .nav-link.active {
    /* Použijeme subtle variantu info barvy pro pozadí */
    background-color: var(--vz-info-bg-subtle, rgba(41, 156, 219, 0.15)) !important; /* Světle modré pozadí */
    color: var(--vz-info) !important; /* Tyrkysově modrý text */
}

/* Pseudoelement pro šipky - výchozí stav (za Step 2 a Step 3) */
.progress-step-arrow-visuals .nav-item::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -1.6rem; /* Posun šipky doprava */
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 1.8rem solid transparent;
    border-bottom: 1.8rem solid transparent;

    /* Šipka za neaktivním krokem (jako za Step 2 nebo Step 3) */
    border-left: 1.6rem solid var(--vz-light) !important; /* Světle šedá šipka */

    z-index: 1;
}

/* Barvy šipek podle stavu nav-linku před nimi */

/* Šipka za dokončeným krokem (za Step 1) */
.progress-step-arrow-visuals .nav-item .nav-link.done + &::after {
    /* Šipka je světlejší, aby navazovala na Step 2 */
    border-left-color: var(--vz-info-bg-subtle, rgba(41, 156, 219, 0.15)) !important; /* Světle modrá šipka */
}

/* Šipka za aktivním krokem (za Step 2) */
.progress-step-arrow-visuals .nav-item .nav-link.active + &::after {
    /* Šipka je světlejší, aby navazovala na Step 3 */
    border-left-color: var(--vz-light) !important; /* Světle šedá šipka */
}

/* Důležité: Skrytí šipky pro poslední položku */
.progress-step-arrow-visuals .nav-item:last-child::after {
    display: none !important;
}

/* Generické styly pro turnajové tabulky zápasů */
.tournament-match-table {
    table-layout: auto;
    width: 100%;
}

/* Hlavičky tabulky */
.tournament-match-table thead th {
    border-bottom: 2px solid #838383;
    vertical-align: middle;
    padding: 0.75rem;
}

/* Tělo tabulky */
.tournament-match-table tbody td {
    vertical-align: middle;
    padding: 0.75rem;
}

/* Zajištění transparentního pozadí pro TR (řádky) */
.tournament-match-table tbody tr.match-row,
.tournament-match-table tbody tr:nth-child(odd),
.tournament-match-table tbody tr:nth-child(even) {
    background-color: transparent !important;
    background-image: none !important;
}

/* Styly pro VÍTĚZNÝ tým - gradient se snižuje (slábne) k výsledkům */
.td-winner-left {
    /* Původní: background: linear-gradient(to right, rgb(117, 166, 94), rgba(144, 238, 144, 0)) !important; */
    background: linear-gradient(to right,
    rgb(117, 166, 94) 0%, /* Plná zelená na začátku */
    rgba(144, 238, 144, 0) 75%) !important; /* Transparentní už na 10% šířky buňky */
}

.td-winner-right {
    /* Původní: background: linear-gradient(to left, rgb(117, 166, 94), rgba(144, 238, 144, 0)) !important; */
    background: linear-gradient(to left,
    rgb(117, 166, 94) 0%, /* Plná zelená na začátku */
    rgba(144, 238, 144, 0) 75%) !important; /* Transparentní už na 10% šířky buňky */
}

/* Pokud chceš podobný efekt i pro poražené týmy, uprav i tyto styly */
.td-loser-left {
    background: linear-gradient(to right, rgba(255, 99, 71, 0.4) 0%, rgba(255, 99, 71, 0) 75%) !important;
}

.td-loser-right {
    background: linear-gradient(to left, rgba(255, 99, 71, 0.4) 0%, rgba(255, 99, 71, 0) 75%) !important;
}
/* Styl pro ikonu hotového zápasu */
.status-icon {
    font-size: 1.8em;
    color: #28a745;
    vertical-align: middle;
    line-height: 1;
    display: block;
    text-align: center;
}




/* IZITOAST CSS */
/* jemný “custom look” */
.iziToast.bph-balloon {
    border-radius: 8px;

}
.iziToast.bph-balloon .iziToast-body {
    padding: 26px 20px;
}

/* avatar kulatý */
.iziToast.bph-balloon .iziToast-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.iziToast.bph-balloon .iziToast-body > .iziToast-icon {
    font-size: 26px !important;
}

.iziToast.bph-balloon .iziToast-progressbar {
    height: 6px;
    border-radius: 4px;
    overflow: hidden;
}

.iziToast.bph-balloon .iziToast-progressbar div {
    height: 100%;
}


/* ======================================================= */
/* Styly aplikované POUZE pro větší obrazovky (desktop)  */
/* ======================================================= */
@media (min-width: 768px) {
    .tournament-match-table {
        table-layout: fixed;
    }

    .tournament-match-table thead th {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .tournament-match-table th:nth-child(1),
    .tournament-match-table td:nth-child(1) {
        width: 40px;
        text-align: center;
        font-weight: bold;
    }

    .tournament-match-table th:nth-child(2),
    .tournament-match-table td:nth-child(2) {
        width: 40px;
        text-align: center;
        font-weight: bold;
    }

    .tournament-match-table th:nth-child(3),
    .tournament-match-table td:nth-child(3) {
        width: auto;
        min-width: 150px;
        padding-right: 15px;
        text-align: end;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tournament-match-table th:nth-child(4),
    .tournament-match-table td:nth-child(4) {
        width: 120px;
    }

    .tournament-match-table th:nth-child(5),
    .tournament-match-table td:nth-child(5) {
        width: auto;
        min-width: 150px;
        padding-left: 15px;
        text-align: start;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tournament-match-table th:nth-child(6),
    .tournament-match-table td:nth-child(6) {
        width: 80px;
        text-align: center;
        padding: 0.25rem;
    }
}

/* ============================================== */
/* MOBILNÍ STYLY (POD 768PX ŠÍŘKY) */
/* ============================================== */
@media (max-width: 767.98px) {

    .iziToast.bph-balloon .iziToast-message {
        line-height: 1.4;
        margin-top: 2px;
        font-size: 16px !important;
    }
    .iziToast.bph-balloon .iziToast-body {
        padding: 20px 16px !important;
    }

    .iziToast.bph-balloon .iziToast-body > .iziToast-icon {
        visibility: visible;
    }


    .table-responsive > .table,
    .tournament-match-table {
        table-layout: auto !important;
        width: auto !important;
    }

    .table-responsive > .table thead th,
    .tournament-match-table thead th,
    .table-responsive > .table tbody td,
    .tournament-match-table tbody td {
        overflow: visible !important;
        text-overflow: clip !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0.5rem;
    }

    .tournament-match-table td:nth-child(1),
    .tournament-match-table td:nth-child(2),
    .tournament-match-table td:nth-child(6) {
        min-width: 40px;
        text-align: center;
    }
    .tournament-match-table td:nth-child(3),
    .tournament-match-table td:nth-child(5) {
        min-width: 120px;
        text-align: left;
    }
    .tournament-match-table td:nth-child(4) {
        min-width: 100px;
        text-align: center;
    }
}

/* Notif panel – taby vždy v jednom řádku (Admin) */
#notificationDropdown .dropdown-head .nav-tabs-custom {
    flex-wrap: nowrap;
    white-space: nowrap;
}
#notificationDropdown .dropdown-head .nav-tabs-custom .nav-item {
    flex-shrink: 0;
}

/* Tabulky – akční tlačítka v jednom řádku i na mobilu */
.table td.action-cell {
    white-space: nowrap;
}
.table td .d-flex.flex-nowrap {
    flex-wrap: nowrap;
}

/* BPPL Admin + obecně: stejné kompaktní filtry jako v pl-uikit (.pl-stats-filters); Admin nelinkuje pl-uikit.css */
.pl-stats-filters {
    gap: 8px !important;
}
.pl-stats-filters .btn {
    min-width: 51px;
    padding: 5.5px 11px;
    border-radius: 7px;
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.1;
    border-width: 1px;
    transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 767.98px) {
    .pl-stats-filters .btn {
        min-width: 46px;
        padding: 5px 8px;
        font-size: 0.72rem;
        border-radius: 6px;
    }
}

/* BPPL Admin – ztučnění barevných stat buněk (stejně jako .pl-uikit tabulky) */
.table.table-dark tbody td.text-success,
.table.table-dark tbody td.text-danger,
.table.table-dark tbody td.text-warning,
.table.table-dark tbody td.text-info {
    font-weight: 700;
}

/* BPPL Admin – stejný badge B jako ve veřejném PL */
.badge.pl-team-b-badge {
    font-weight: 800;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    border: 1px solid rgba(0, 0, 0, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
