/* =========================================================
   Selectores — mismo diseño que Asignar números ganadores
   Aplica a TODOS los <select> del sistema (excepto AM/PM)
   ========================================================= */

:root {
    --banca-select-pro-h: 52px;
    --banca-select-pro-radius: 17px;
    --banca-select-pro-fs: 16px;
    --banca-select-pro-fw: 1000;
    --banca-select-pro-color: #0b2a55;
    --banca-select-pro-border: rgba(13, 71, 161, .24);
    --banca-select-pro-bg: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
    --banca-select-pro-arrow-1: linear-gradient(45deg, transparent 50%, #0d47a1 50%);
    --banca-select-pro-arrow-2: linear-gradient(135deg, #0d47a1 50%, transparent 50%);
}

/* Contenedores principales + clases legacy */
:is(
    .banca-wrap select,
    .ventas-page select,
    .cs-shell select,
    .venta-admin-wrap select,
    .listas-card select,
    .usuarios-wrap select,
    .rifas-tab select,
    .bn-card select,
    .cfxn-card select,
    .cf-root select,
    .cfd-root select,
    .cb-shell select,
    .pr-shell select,
    .pr-panel select,
    .ap-panel select,
    .ganador-pro-wrap select,
    .rest-wrap select,
    select.banca-select-pro,
    select.select-usuario,
    select.select-sorteo,
    select.select-xl,
    select.select-lista,
    select.listas-sorteo-select,
    select.listas-juego-select,
    select.va-select-pro,
    select.cfxn-select,
    select.cf-select,
    select.cfd-select,
    select.bn-select,
    select.cs-select,
    select.cb-select,
    select.recibir-qr-listero-select-top,
    select.rifa-filtro-sorteo,
    select.rifa-select-sorteo,
    select.tipo-sorteo-select,
    select.juego-select-mobile-safe,
    select.pr-select,
    select.ap-select,
    select.pr-input,
    select.select-juego,
    select.wa2-select,
    .ganador-pro-selector-box select.input,
    .historial-filtros select.input,
    .listas-filtros select.input,
    .venta-admin-field select.input,
    .consulta-campo select.input,
    .recibir-qr-manual-filtros select.input,
    .recibir-qr-listero-top select.input,
    .form-row select.input,
    .modal-lista select,
    .modal-dif select.input
):not(.hora-ampm-mobile-safe):not(.no-banca-select-pro) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: var(--banca-select-pro-h) !important;
    min-height: var(--banca-select-pro-h) !important;
    border-radius: var(--banca-select-pro-radius) !important;
    font-size: var(--banca-select-pro-fs) !important;
    font-weight: var(--banca-select-pro-fw) !important;
    letter-spacing: .2px !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    color: var(--banca-select-pro-color) !important;
    background: var(--banca-select-pro-arrow-1), var(--banca-select-pro-arrow-2), var(--banca-select-pro-bg) !important;
    background-position: calc(100% - 22px) 23px, calc(100% - 15px) 23px, 0 0 !important;
    background-size: 7px 7px, 7px 7px, 100% 100% !important;
    background-repeat: no-repeat !important;
    border: 1px solid var(--banca-select-pro-border) !important;
    box-shadow: 0 14px 28px rgba(13, 71, 161, .10), inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    padding: 0 48px 0 16px !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    line-height: 1.2 !important;
}

:is(
    .banca-wrap select,
    .ventas-page select,
    .cs-shell select,
    .venta-admin-wrap select,
    .listas-card select,
    .usuarios-wrap select,
    .rifas-tab select,
    .bn-card select,
    .cfxn-card select,
    .cf-root select,
    .cfd-root select,
    .cb-shell select,
    .pr-shell select,
    .pr-panel select,
    .ap-panel select,
    .ganador-pro-wrap select,
    .rest-wrap select,
    select.banca-select-pro,
    select.select-usuario,
    select.select-sorteo,
    select.select-xl,
    select.select-lista,
    select.listas-sorteo-select,
    select.listas-juego-select,
    select.va-select-pro,
    select.cfxn-select,
    select.cf-select,
    select.cfd-select,
    select.bn-select,
    select.cs-select,
    select.cb-select,
    select.recibir-qr-listero-select-top,
    select.rifa-filtro-sorteo,
    select.rifa-select-sorteo,
    select.tipo-sorteo-select,
    select.juego-select-mobile-safe,
    select.pr-select,
    select.ap-select,
    select.pr-input,
    select.select-juego,
    select.wa2-select,
    .ganador-pro-selector-box select.input,
    .historial-filtros select.input,
    .listas-filtros select.input,
    .venta-admin-field select.input,
    .consulta-campo select.input,
    .recibir-qr-manual-filtros select.input,
    .recibir-qr-listero-top select.input,
    .form-row select.input,
    .modal-lista select,
    .modal-dif select.input
):not(.hora-ampm-mobile-safe):not(.no-banca-select-pro):hover {
    background: linear-gradient(45deg, transparent 50%, #1e88e5 50%), linear-gradient(135deg, #1e88e5 50%, transparent 50%), linear-gradient(180deg, #ffffff 0%, #eaf3ff 100%) !important;
    background-position: calc(100% - 22px) 23px, calc(100% - 15px) 23px, 0 0 !important;
    background-size: 7px 7px, 7px 7px, 100% 100% !important;
    background-repeat: no-repeat !important;
    border-color: rgba(30, 136, 229, .55) !important;
}

:is(
    .banca-wrap select,
    .ventas-page select,
    .cs-shell select,
    .venta-admin-wrap select,
    .listas-card select,
    .usuarios-wrap select,
    .rifas-tab select,
    .bn-card select,
    .cfxn-card select,
    .cf-root select,
    .cfd-root select,
    .cb-shell select,
    .pr-shell select,
    .pr-panel select,
    .ap-panel select,
    .ganador-pro-wrap select,
    .rest-wrap select,
    select.banca-select-pro,
    select.select-usuario,
    select.select-sorteo,
    select.select-xl,
    select.select-lista,
    select.listas-sorteo-select,
    select.listas-juego-select,
    select.va-select-pro,
    select.cfxn-select,
    select.cf-select,
    select.cfd-select,
    select.bn-select,
    select.cs-select,
    select.cb-select,
    select.recibir-qr-listero-select-top,
    select.rifa-filtro-sorteo,
    select.rifa-select-sorteo,
    select.tipo-sorteo-select,
    select.juego-select-mobile-safe,
    select.pr-select,
    select.ap-select,
    select.pr-input,
    select.select-juego,
    select.wa2-select,
    .ganador-pro-selector-box select.input,
    .historial-filtros select.input,
    .listas-filtros select.input,
    .venta-admin-field select.input,
    .consulta-campo select.input,
    .recibir-qr-manual-filtros select.input,
    .recibir-qr-listero-top select.input,
    .form-row select.input,
    .modal-lista select,
    .modal-dif select.input
):not(.hora-ampm-mobile-safe):not(.no-banca-select-pro):focus {
    border-color: #1e88e5 !important;
    box-shadow: 0 0 0 4px rgba(30, 136, 229, .16), 0 18px 34px rgba(30, 136, 229, .16) !important;
}

:is(
    .banca-wrap select,
    .ventas-page select,
    .cs-shell select,
    .venta-admin-wrap select,
    .listas-card select,
    .usuarios-wrap select,
    .rifas-tab select,
    .bn-card select,
    .cfxn-card select,
    .cf-root select,
    .cfd-root select,
    .cb-shell select,
    .pr-shell select,
    .pr-panel select,
    .ap-panel select,
    .ganador-pro-wrap select,
    .rest-wrap select,
    select.banca-select-pro,
    select.select-usuario,
    select.select-sorteo,
    select.select-xl,
    select.select-lista,
    select.listas-sorteo-select,
    select.listas-juego-select,
    select.va-select-pro,
    select.cfxn-select,
    select.cf-select,
    select.cfd-select,
    select.bn-select,
    select.cs-select,
    select.cb-select,
    select.recibir-qr-listero-select-top,
    select.rifa-filtro-sorteo,
    select.rifa-select-sorteo,
    select.tipo-sorteo-select,
    select.juego-select-mobile-safe,
    select.pr-select,
    select.ap-select,
    select.pr-input,
    select.select-juego,
    select.wa2-select,
    .ganador-pro-selector-box select.input,
    .historial-filtros select.input,
    .listas-filtros select.input,
    .venta-admin-field select.input,
    .consulta-campo select.input,
    .recibir-qr-manual-filtros select.input,
    .recibir-qr-listero-top select.input,
    .form-row select.input,
    .modal-lista select,
    .modal-dif select.input
):not(.hora-ampm-mobile-safe):not(.no-banca-select-pro) option {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    padding: 10px !important;
}

/* Etiquetas al estilo ganador-pro */
:is(
    .ganador-pro-selector-box .form-row label,
    .filtro > label,
    .listas-sorteo-head-main,
    .listas-sorteo-head-lista,
    .venta-admin-field label,
    .consulta-campo label,
    .cfxn-lbl,
    .cb-label,
    .cf-label,
    .cfd-label,
    .bn-filter label,
    .cs-label,
    .va-label,
    .recibir-qr-field label,
    .pr-field label,
    .ap-field label,
    .form-row > label
) {
    font-size: .88rem !important;
    font-weight: 1000 !important;
    color: #0b2a55 !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
}

@media (max-width: 700px) {
    :is(
        .banca-wrap select,
        .ventas-page select,
        .cs-shell select,
        .venta-admin-wrap select,
        .listas-card select,
        .usuarios-wrap select,
        .rifas-tab select,
        .bn-card select,
        .cfxn-card select,
        .cf-root select,
        .cfd-root select,
        .cb-shell select,
        select.banca-select-pro,
        select.select-usuario,
        select.select-sorteo,
        select.cs-select,
        select.cb-select,
        select.cf-select,
        select.cfd-select,
        select.bn-select
    ):not(.hora-ampm-mobile-safe):not(.no-banca-select-pro) {
        font-size: 16px !important;
        min-height: 48px !important;
        height: 48px !important;
    }
}
