
        /* -------------------------------- --- */
        /* --- Body Styles --- */
        /* -------------------------------- --- */

        body {
            margin: 0;
            padding: 0;
            font-family: 'Poppins', sans-serif;
            display: none;
            user-select: none;
        }
    
        /* -------------------------------- --- */
        /* --- Bank Card Container Styles --- */
        /* -------------------------------- --- */

        .bank-card-container {
            display: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            height: 18%;
            z-index: 1000;
            cursor: grab;
            user-select: none;
        }
    
        .bank-card {
            height: 100%;
            width: auto;
            object-fit: contain;
            pointer-events: none;
            user-select: none;
        }
    
        /* -------------------------------- --- */
        /* --- TPE Container Styles --- */
        /* -------------------------------- --- */

        .tpe-container {
            display: none;
            width: 16%;
            height: 58%;
            position: absolute;
            right: 1%;
            bottom: 5%;
            overflow: hidden;
            user-select: none;
        }
    
        .tpe-image {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 5px;
            pointer-events: none;
            user-select: none;
            -webkit-user-drag: none;
        }
    
        .tpe-job-label {
            position: absolute;
            top: 26%;
            left: 49%;
            transform: translate(-50%, -50%);
            font-size: 0.7vw;
            color: #2b688c;
            white-space: nowrap;
            text-align: center;
            font-weight: bold;
            text-transform: uppercase;
            user-select: none;
        }
    
        /* -------------------------------- --- */
        /* --- Menu Container Styles --- */
        /* -------------------------------- --- */

        .menu-container {
            position: absolute;
            top: 38.5%;
            left: 49%;
            transform: translate(-50%, -50%);
            width: 59.5%;
            display: flex;
            flex-direction: column;
            gap: 0.2vh;
            user-select: none;
        }
    
        .menu-button {
            background-color: #3b58728a;
            color: #fff;
            padding: 0.75vh;
            text-align: left;
            border: none;
            font-size: 0.65vw;
            cursor: pointer;
            transition: background-color 0.2s ease;
            user-select: none;
        }
    
        .menu-button:hover {
            background-color: #3b5872b6;
        }
    
        .menu-button:active {
            background-color: #2b3e50;
        }
    
        .menu-button.disabled {
            cursor: not-allowed;
            opacity: 0.5;
        }
    
        /* -------------------------------- --- */
        /* --- Transaction Container Styles --- */
        /* -------------------------------- --- */

        .transaction-container {
            display: none;
            position: absolute;
            top: 44%;
            left: 49%;
            transform: translate(-50%, -50%);
            width: 50%;
            text-align: center;
            user-select: none;
        }
    
        .transaction-label {
            color: #ffffff;
            font-size: 0.8vw;
            margin-bottom: 0.5vh;
            white-space: nowrap;
            font-weight: bold;
            text-align: center;
            text-transform: uppercase;
            user-select: none;
        }
    
        .transaction-field {
            width: 90%;
            padding: 0.7vh;
            border: 1px solid #2b688c;
            border-radius: 4px;
            background-color: #3b58728a;
            color: #fff;
            font-size: 0.9vw;
            text-align: center;
            user-select: none;
            pointer-events: none;
        }
    
        .transaction-logo {
            width: 70%;
            margin-top: 1.5vh;
            object-fit: contain;
            user-select: none;
            -webkit-user-drag: none;
        }
    
        /* -------------------------------- --- */
        /* --- Code Container Styles --- */
        /* -------------------------------- --- */

        .code-container {
            display: none;
            position: absolute;
            top: 42.5%;
            left: 49%;
            transform: translate(-50%, -50%);
            width: 50%;
            text-align: center;
            user-select: none;
        }
    
        .code-label {
            color: #ffffff;
            font-size: 1vw;
            white-space: nowrap;
            font-weight: bold;
            text-align: center;
            text-transform: uppercase;
            user-select: none;
        }
    
        /* -------------------------------- --- */
        /* --- Success and Error Containers Styles --- */
        /* -------------------------------- --- */

        .success-container {
            display: none;
            position: absolute;
            top: 42.5%;
            left: 47%;
            transform: translate(-50%, -50%);
            width: 50%;
            text-align: center;
            user-select: none;
        }
    
        .error-container {
            display: none;
            position: absolute;
            top: 42.5%;
            left: 48.5%;
            transform: translate(-50%, -50%);
            width: 50%;
            text-align: center;
            user-select: none;
        }
    
        .success-label, .error-label {
            color: #ffffff;
            font-size: 0.9vw;
            white-space: nowrap;
            font-weight: bold;
            text-align: center;
            text-transform: uppercase;
            user-select: none;
        }
    
        /* -------------------------------- --- */
        /* --- Input Container Styles --- */
        /* -------------------------------- --- */

        .input-container {
            display: none;
            position: absolute;
            top: 42.5%;
            left: 49%;
            transform: translate(-50%, -50%);
            width: 50%;
            text-align: center;
            user-select: none;
        }
    
        .input-label {
            color: #ffffff;
            font-size: 1vw;
            margin-bottom: 0.5vh;
            white-space: nowrap;
            font-weight: bold;
            text-align: center;
            text-transform: uppercase;
            user-select: none;
        }
    
        .input-field {
            width: 90%;
            padding: 0.7vh;
            border: 1px solid #2b688c;
            border-radius: 4px;
            background-color: #3b58728a;
            color: #fff;
            font-size: 0.9vw;
            text-align: center;
            user-select: none;
            pointer-events: none;
        }
    
        /* -------------------------------- --- */
        /* --- History List Container Styles --- */
        /* -------------------------------- --- */

        .history-list-container {
            position: absolute;
            top: 44%;
            left: 49%;
            transform: translate(-50%, -50%);
            width: 59.5%;
            max-height: 18vh;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            gap: 0.2vh;
            user-select: none;
        }
    
        .history-list-container::-webkit-scrollbar {
            width: 2px;
        }
    
        .history-list-container::-webkit-scrollbar-track {
            background: #2b3e50;
            border-radius: 4px;
        }
    
        .history-list-container::-webkit-scrollbar-thumb {
            background-color: #3b5872;
            border-radius: 4px;
        }
    
        .history-list-container::-webkit-scrollbar-thumb:hover {
            background-color: #4a6a85;
        }
    
        .history-item {
            background-color: #3b58728a;
            color: #fff;
            padding: 0.75vh;
            text-align: left;
            border: none;
            font-size: 0.6vw;
            cursor: pointer;
            transition: background-color 0.2s ease;
            user-select: none;
        }
    
        .history-item:hover {
            background-color: #3b5872b6;
        }
    
        .history-item:active {
            background-color: #2b3e50;
        }
    
        .history-item.disabled {
            cursor: not-allowed;
            opacity: 0.5;
        }
    
        /* -------------------------------- --- */
        /* --- Number Button Container Styles --- */
        /* -------------------------------- --- */

        .buttons-container {
            position: absolute;
            bottom: 6%;
            left: 49%;
            transform: translateX(-50%);
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: repeat(4, 1fr);
            column-gap: 0.9vh;
            row-gap: 1vh;
            width: 71%;
            height: 23%;
        }
    
        .num-button {
            position: relative;
            width: 100%;
            height: 100%;
            padding: 0;
            text-align: center;
            font-size: 0.85vw;
            border: none;
            border-radius: 6px;
            background-color: transparent;
            color: #fff;
            cursor: pointer;
            overflow: hidden;
        }
    
        .num-button::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0);
            transform: translate(-50%, -50%);
            transition: width 0.3s ease, height 0.3s ease;
        }
    
        .num-button:hover::after {
            width: 30%;
            height: 50%;
        }
    
        .num-button.cancel,
        .num-button.back,
        .num-button.validate,
        .num-button.dot,
        .num-button.zero,
        .num-button.empty,
        .num-button.function,
        .num-button.power {
            background-color: transparent;
        }
    
        .num-button.empty {
            pointer-events: none;
        }
            
        /* -------------------------------- --- */
        /* --- Player List Container Styles --- */
        /* -------------------------------- --- */

        .players-list-container {
            position: absolute;
            top: 28.5%; 
            left: 19.25%;
            width: 59.5%;
            max-height: 18vh;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            gap: 0.2vh;
            user-select: none;
            justify-content: flex-start;
            align-items: flex-start; 
        }
    
        .players-list-container::-webkit-scrollbar {
            width: 2px;
        }
    
        .players-list-container::-webkit-scrollbar-track {
            background: #2b3e50;
            border-radius: 3px;
        }
    
        .players-list-container::-webkit-scrollbar-thumb {
            background-color: #3b58728a;
            border-radius: 3px;
        }
    
        .players-list-container::-webkit-scrollbar-thumb:hover {
            background-color: #3b5872b6;
        }
    
        .players-list-container::-webkit-scrollbar-thumb:active {
            background-color: #2b3e50;
        }
    
        .player-button {
            background-color: #3b58728a;
            color: #fff;
            padding: 0.75vh;
            text-align: left;
            border: none;
            font-size: 0.65vw;
            cursor: pointer;
            transition: background-color 0.2s ease;
            user-select: none;
            width: 100%; 
        }
    
        .player-button:hover {
            background-color: #3b5872b6;
        }
    
        .player-button:active {
            background-color: #2b3e50;
        }
    
        .player-button.disabled {
            cursor: not-allowed;
            opacity: 0.5;
        }
