.valid-lift {

    background-color: #2e7d32 !important;

    color: #fff !important;

    font-weight: bold;

}

.invalid-lift {

    background-color: #c62828 !important;

    color: #fff !important;

    font-weight: bold;

}

body {

    background: #181818;

    color: #fff;

    font-family: Arial, sans-serif;

    margin: 0;

    padding: 0;

}

html, body {

    min-height: 100%;

}

#tables-root {

    box-sizing: border-box;

    width: 100%;

    padding: 12px 16px 18px;

}



.group-table {

    margin-bottom: 60px;

}

.group-title {

    font-size: 2em;

    margin: 30px 0 10px 0;

    color: transparent;

    background: linear-gradient(180deg, #9ac8ff 30%, #9ac8ff 60%, #7b9dff 100%);

    background-clip: text;

    -webkit-background-clip: text;

    text-align: center;

}

.dropdown-multi {

    background: #232b3b;

    color: #fff;

    border: 1px solid #555;

    border-radius: 8px;

    padding: 10px;

    font-size: 1.2em;

    min-width: 220px;

}

.dropdown-multi option {

    background: #232b3b;

    color: #fff;

}

.table-container {

    width: 100%;

    overflow-x: auto;

    overflow-y: hidden;

}

table {

    width: 100%;

    border-collapse: collapse;

    margin: 0 auto;

    background: #232b3b;

    box-shadow: 0 0 20px #0008;
    table-layout: auto;
}

th, td {

    padding: 10px 8px;

    border: 1px solid #444;

    text-align: center;

    font-size: 1.7em;

}

tr { height: 62px; }          
th, td { 
  height: 62px; 
  vertical-align: middle;
}

td{
  white-space: nowrap;         
  overflow: visible;           
  text-overflow: clip;     
}

th {

    background: #333;

    color: transparent;

    background: linear-gradient(180deg, #9ac8ff 30%, #9ac8ff 60%, #7b9dff 100%);

    background-clip: text;

    -webkit-background-clip: text;

    font-weight: bold;

}
td:nth-child(1),
th:nth-child(1){
  text-align: left;
}

th:nth-child(1){
  text-align: center;
}

td:nth-child(2),
th:nth-child(2){
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

td:nth-child(3),
th:nth-child(3){
  white-space: nowrap;
}

tr.group-separator td {

    background: #181818;

    height: 18px;

    border: none;

}

tr.pair {

    background: #2e2e2e;

}

tr.single {

    background: #232323;

}

.highlight {

    background: #2a2a2a;

}



#toggle-button {

    background: #fff;

    color: #232b3b;

    border: 1px solid #555;

    border-radius: 8px;

    padding: 5px 10px;

    font-size: 1.2em;

    cursor: pointer;

}



@media (max-width: 900px) {

    th, td { font-size: 0.95em; padding: 7px 4px; }

    .group-title { font-size: 1.2em; }

}



@media (max-width: 600px) {

    th, td { font-size: 0.8em; padding: 4px 2px; }

    .group-title { font-size: 1em; }

    .dropdown-multi { font-size: 1em; min-width: 120px; }

}



/* Encadrement blanc pour le current lifter */

tr.current-lifter-row td {

    border-top: 3px solid #ffffff;

    border-bottom: 3px solid #ffffff;

}

tr.current-lifter-row td:first-child {

    border-left: 3px solid #ffffff;

}

tr.current-lifter-row td:last-child {

    border-right: 3px solid #ffffff;

}

@media (min-width: 1400px) and (min-height: 900px) {

    body {

        overflow: hidden;

    }

    #tables-root {

        height: 100vh;

        overflow: auto;

        padding: 8px 10px 12px;

    }

    .group-table {

        margin-bottom: 20px;

    }

    .group-title {

        font-size: 1.35em;

        margin: 8px 0 6px 0;

    }

    table {

        table-layout: fixed;

    }

    th, td {

        padding: 5px 4px;

        font-size: 0.92em;

        line-height: 1.05;

    }

    tr {

        height: 38px;

    }

    th, td {

        height: 38px;

    }

    th {

        white-space: normal;

    }

    td {

        overflow: hidden;

        text-overflow: ellipsis;

    }

    th:nth-child(1),
    td:nth-child(1) {

        width: 15%;

    }

    th:nth-child(2),
    td:nth-child(2) {

        width: 10%;

    }

    th:nth-child(3),
    td:nth-child(3) {

        width: 5%;

    }

    th:nth-child(4),
    td:nth-child(4) {

        width: 6%;

    }

    th:nth-last-child(-n+4),
    td:nth-last-child(-n+4) {

        width: 7%;

    }

}

