/**
 * Estilos para el frontend de Flota RAC
 * Diseño basado en referencia visual
 */

:root {
    --flota-rac-primary: #1e5fa8;
    --flota-rac-primary-hover: #174a85;
    --flota-rac-light-blue: #e8f4fc;
    --flota-rac-border: #c5dff0;
    --flota-rac-text: #333;
    --flota-rac-text-light: #555;
    --flota-rac-white: #fff;
}

.flota-rac-buscar-container {
    max-width: 100% !important;
    margin: 20px 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
}

/* Columna del formulario */
.flota-rac-form-column {
    flex: 0 0 380px !important;
    max-width: 380px !important;
}

.flota-rac-titulo {
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    color: var(--flota-rac-primary) !important;
    margin: 0 0 20px 0 !important;
}

/* Formulario de búsqueda */
.flota-rac-form {
    margin: 0 !important;
}

.flota-rac-input-wrapper {
    margin-bottom: 15px !important;
}

.flota-rac-input-wrapper input[type="text"] {
    width: 100% !important;
    padding: 12px 15px !important;
    font-size: 0.9rem !important;
    color: var(--flota-rac-text-light) !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s !important;
}

.flota-rac-input-wrapper input[type="text"]:focus {
    border-color: var(--flota-rac-primary) !important;
}

.flota-rac-input-wrapper input[type="text"]::placeholder {
    color: #999 !important;
    font-size: 0.85rem !important;
}

.flota-rac-btn {
    display: block !important;
    width: 100% !important;
    padding: 12px 20px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--flota-rac-white) !important;
    background: var(--flota-rac-primary) !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    text-align: center !important;
}

.flota-rac-btn:hover {
    background: var(--flota-rac-primary-hover) !important;
}

.flota-rac-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.flota-rac-btn-loading {
    display: inline-flex ;
    align-items: center;
    justify-content: center;
}

/* Spinner */
.flota-rac-spinner {
    width: 20px;
    height: 20px;
    animation: flota-rac-spin 1s linear infinite;
}

@keyframes flota-rac-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Columna de resultados */
.flota-rac-results-column {
    flex: 1  !important;
    min-width: 400px !important;
}

/* Tabla de resultados tipo grid */
.flota-rac-resultado-titulo {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--flota-rac-primary) !important;
    margin: 0 0 10px 0 !important;
}

.flota-rac-resultado-grid {
    border: 1px solid var(--flota-rac-border) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: var(--flota-rac-white) !important;
}

.flota-rac-resultado-row {
    display: flex !important;
    border-bottom: 1px solid var(--flota-rac-border) !important;
}

.flota-rac-resultado-row:last-child {
    border-bottom: none !important;
}

.flota-rac-resultado-cell {
    display: flex !important;
    flex: 1 !important;
    border-right: 1px solid var(--flota-rac-border) !important;
}

.flota-rac-resultado-cell:last-child {
    border-right: none !important;
}

.flota-rac-resultado-label {
    background: var(--flota-rac-light-blue) !important;
    padding: 10px 12px !important;
    font-weight: 500 !important;
    color: var(--flota-rac-text) !important;
    min-width: 110px !important;
    font-size: 0.9rem !important;
    border-right: 1px solid var(--flota-rac-border) !important;
}

.flota-rac-resultado-value {
    padding: 10px 12px !important;
    color: var(--flota-rac-text-light) !important;
    font-size: 0.9rem !important;
    flex: 1 !important;
    background: var(--flota-rac-white) !important;
}

/* Mensaje de no resultados */
.flota-rac-no-resultados {
    margin-top: 20px !important;
}

.flota-rac-mensaje-vacio {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 30px 20px !important;
    background: #fff8e6 !important;
    border: 1px solid #ffe0a3 !important;
    border-radius: 4px !important;
    text-align: center !important;
}

.flota-rac-icon-warning {
    width: 40px !important;
    height: 40px !important;
    color: #f59e0b !    important;
}

.flota-rac-mensaje-vacio p {
    font-size: 1rem !important;
    color: var(--flota-rac-text) !important;
    margin: 0 !important;
}

/* Responsive */
@media screen and (max-width: 768px) {
    .flota-rac-buscar-container {
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    .flota-rac-form-column {
        flex: 1 !important;
        max-width: 100%;
        width: 100%;
    }
    
    .flota-rac-results-column {
        min-width: 100%;
    }
    
    .flota-rac-resultado-row {
        flex-direction: column !important;
    }
    
    .flota-rac-resultado-cell {
        border-right: none !important;
        border-bottom: 1px solid var(--flota-rac-border) !important;
    }
    
    .flota-rac-resultado-cell:last-child {
        border-bottom: none !important;
    }
    
    .flota-rac-resultado-row:last-child .flota-rac-resultado-cell {
        border-bottom: 1px solid var(--flota-rac-border) !important;
    }
    
    .flota-rac-resultado-row:last-child .flota-rac-resultado-cell:last-child {
        border-bottom: none !important  ;
    }
}
