/* ============================================================
   PROGRAMACIÓN DE FACTURACIÓN — MÓVIL (hasta 767px)
   Sistema de Administración de Condominios
   ============================================================
   El módulo no tenía ninguna hoja responsive: era de los dos últimos del
   sistema sin ella. Su aspecto en el teléfono era lo que dijera el JavaScript,
   escrito celda por celda, y no había dónde ajustarlo.

   Lleva lo mínimo para que se comporte como los demás módulos ya corregidos.
   Si al usarlo en el teléfono aparece algo más que ajustar, este es el sitio.
   ============================================================ */

@media screen and (max-width: 767px) {

    /* ── Tablas ─────────────────────────────────────────────
       Un solo tamaño, el de css/styles.css, igual que en Historial de Pagos,
       Cuentas por Pagar y Proveedores.

       Lleva !important porque tiene que ganarle a los tamaños que el
       JavaScript escribe en cada celda. Es una medida de transición: cuando
       esas celdas pasen a clases, sobra. */
    #moduleContainer[data-module="programacion-facturacion"] table th,
    #moduleContainer[data-module="programacion-facturacion"] table td {
        font-size: var(--tabla-texto-movil) !important;
        padding: 7px 6px !important;
        vertical-align: top !important;
    }

    /* Los rótulos, centrados y de una línea: alinearlos arriba deja un hueco
       debajo tan alto como la fila. */
    #moduleContainer[data-module="programacion-facturacion"] table thead th {
        vertical-align: middle !important;
        line-height: 1.2 !important;
    }

    /* ── La tabla se desplaza, no se comprime ───────────────
       Sin esto el navegador reparte el ancho según el contenido y las columnas
       quedan del tamaño de su palabra más larga: lo que no se puede partir se
       sale de su celda y se dibuja encima de la vecina. */
    #moduleContainer[data-module="programacion-facturacion"] .table-container,
    #moduleContainer[data-module="programacion-facturacion"] .table-responsive {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        max-width: 100vw !important;
    }

    /* ── Cabecera del módulo en columna ─────────────────────
       Título y acciones no caben en una línea de teléfono. */
    #moduleContainer[data-module="programacion-facturacion"] .module-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    /* ── Formularios a una columna ──────────────────────────
       Dos campos por fila dejan cada uno en la mitad de un teléfono, donde no
       cabe ni una fecha. */
    #moduleContainer[data-module="programacion-facturacion"] .form-row {
        flex-direction: column !important;
        gap: 10px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .form-row > * {
        width: 100% !important;
    }
}

/* Adaptacion completa de Calendario, Configuracion y Excepciones. */
@media screen and (max-width: 767px) {
    #moduleContainer[data-module="programacion-facturacion"],
    #moduleContainer[data-module="programacion-facturacion"] .pf-module {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-module {
        padding: 8px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-header {
        padding: 9px !important;
        margin-bottom: 9px !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 5px rgba(15, 23, 42, .08) !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-header > .u-fila-centro {
        display: block !important;
        min-width: 0;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-header h2 {
        overflow: hidden;
        font-size: 12px !important;
        line-height: 1.25;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-header h2 i {
        margin-right: 5px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-header p {
        display: none;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px !important;
        width: 100%;
        margin-top: 9px;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-tabs button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        width: 100%;
        min-width: 0;
        height: 34px;
        min-height: 34px;
        padding: 5px 4px !important;
        border-radius: 6px !important;
        font-size: 9px !important;
        line-height: 1;
        white-space: nowrap;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-content,
    #moduleContainer[data-module="programacion-facturacion"] .pf-content > div,
    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-panel,
    #moduleContainer[data-module="programacion-facturacion"] .pf-eventos-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-layout,
    #moduleContainer[data-module="programacion-facturacion"] .pf-config-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-panel,
    #moduleContainer[data-module="programacion-facturacion"] .pf-eventos-panel,
    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel,
    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-panel {
        padding: 10px !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 5px rgba(15, 23, 42, .08) !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-panel > .a-d-flex:first-child {
        margin-bottom: 8px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-panel > .a-d-flex:first-child button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        padding: 0 !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-panel h3 {
        font-size: 13px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-grid {
        gap: 2px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-calendario-grid > div {
        min-width: 0;
        min-height: 38px !important;
        padding: 4px 1px !important;
        font-size: 9px;
        box-sizing: border-box;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-dia {
        border-radius: 4px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-eventos-panel h4,
    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel h3,
    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-panel h3 {
        font-size: 12px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel label,
    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-panel {
        font-size: 10px !important;
        line-height: 1.3;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel input:not([type="checkbox"]),
    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel select {
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0;
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel input[type="checkbox"] {
        flex: 0 0 18px;
    }

    #moduleContainer[data-module="programacion-facturacion"] #recordatorios-list > div {
        align-items: flex-start !important;
        font-size: 10px;
        line-height: 1.3;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-acciones-config {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 6px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-acciones-config > button {
        grid-column: 1 / -1;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-acciones-config-grupo {
        display: contents !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-acciones-config button,
    #moduleContainer[data-module="programacion-facturacion"] .pf-config-panel > div > button,
    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-panel > button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-height: 34px;
        padding: 5px 8px !important;
        font-size: 9px !important;
        line-height: 1.15;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-bottom: 10px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-grid > div {
        min-width: 0;
        padding: 9px !important;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-grid h4 {
        margin-bottom: 5px !important;
        font-size: 11px;
    }

    #moduleContainer[data-module="programacion-facturacion"] .pf-excepciones-grid p {
        font-size: 9px !important;
        line-height: 1.3;
    }
}
