/* ============================================================
   Hose Flux - Estilos Modulares para Planeación y Despacho
   ============================================================ */

/* Badges de Estado Operativo (Una sola línea horizontal) */
.status-badge-pending,
.status-badge-progress,
.status-badge-completed {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
}

.status-badge-pending {
    background-color: #FFFBEB !important;
    color: #D97706 !important;
    border: 1px solid #FDE68A !important;
}

.status-badge-progress {
    background-color: #EFF6FF !important;
    color: #2563EB !important;
    border: 1px solid #BFDBFE !important;
}

.status-badge-completed {
    background-color: #ECFDF5 !important;
    color: #059669 !important;
    border: 1px solid #A7F3D0 !important;
}

/* Badges de Tipo de Mantenimiento */
.badge-cvo,
.badge-pvo,
.badge-cal,
.badge-diligencia {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.badge-cvo {
    background-color: #FEF3C7 !important;
    color: #B45309 !important;
}

.badge-pvo {
    background-color: #DBEAFE !important;
    color: #1D4ED8 !important;
}

.badge-cal {
    background-color: #FEF9C3 !important;
    color: #A16207 !important;
}

.badge-diligencia {
    background-color: #F3E8FF !important;
    color: #7E22CE !important;
}

/* Pestañas de Navegación */
.scope-tab-btn {
    transition: all 0.2s ease;
    border-bottom: 2px solid transparent;
}

.scope-tab-btn.active {
    color: #2563EB !important;
    border-bottom-color: #2563EB !important;
    font-weight: 700 !important;
}

.scope-tab-btn:not(.active) {
    color: #64748B !important;
}

.scope-tab-btn:not(.active):hover {
    color: #0F172A !important;
}

/* Contenedor de la Tabla y Menú de Acciones (Evita cortes) */
#planning-view-table {
    min-height: 300px;
    padding-bottom: 90px; /* Margen para que el menú flote sin ser cortado */
    overflow: visible !important;
}

.action-menu-dropdown {
    position: absolute !important;
    right: 0 !important;
    z-index: 50 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

/* Fila Completada */
.row-task-completed {
    background-color: #F8FAFC !important;
}

.row-task-completed .task-strikethrough {
    text-decoration: line-through;
    color: #94A3B8 !important;
}

/* ============================================================
   FORMATO DE IMPRESIÓN OFICIAL (LANDSCAPE / SERVINPRO)
   ============================================================ */
@media screen {
    #print-sheet-wrapper {
        display: none;
    }
}

@media print {
    @page {
        size: letter landscape;
        margin: 8mm 8mm;
    }

    body {
        background-color: #ffffff !important;
        color: #000000 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    aside, header, #planning-header-actions, #planning-filter-bar, #planning-view-table, #planning-view-cards, .no-print-area {
        display: none !important;
    }

    main {
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    #print-sheet-wrapper {
        display: block !important;
        width: 100% !important;
    }

    .report-table-print {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 8pt !important;
    }

    .report-table-print th {
        background-color: #2563EB !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        border: 1px solid #1D4ED8 !important;
        padding: 5px 4px !important;
        text-align: center !important;
        font-size: 7.5pt !important;
        text-transform: uppercase !important;
    }

    .report-table-print td {
        border: 1px solid #94A3B8 !important;
        padding: 5px 4px !important;
        font-size: 8pt !important;
        color: #0F172A !important;
    }

    .report-table-print tr {
        page-break-inside: avoid !important;
    }

    .print-header-blue {
        background-color: #1E3A8A !important;
        color: #ffffff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        text-align: center !important;
        padding: 6px !important;
        border-radius: 4px !important;
        margin-bottom: 8px !important;
    }
}